chore: bump tools version and update the webpage#47
chore: bump tools version and update the webpage#47snipsnipsnip merged 8 commits intoexteditor:mainfrom
Conversation
|
Warning Rate limit exceeded@snipsnipsnip has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 17 minutes and 27 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (8)
📝 WalkthroughSummary by CodeRabbit
WalkthroughThis pull request adds repository architecture documentation, refactors GitHub Pages site configuration with Docsify routing and metadata improvements, clarifies design documentation about startup mechanisms, and updates build dependencies (tsdown and web-ext versions) along with plugin configuration. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes The changes are primarily documentation and configuration updates with moderate complexity. The most involved change is the Docsify route refactoring in Possibly related PRs
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report❌ Patch coverage is Additional details and impacted files
|
There was a problem hiding this comment.
Actionable comments posted: 2
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
yarn.lockis excluded by!**/yarn.lock,!**/*.lock
📒 Files selected for processing (8)
.devin/wiki.json(1 hunks).github/site/coverpage.md(1 hunks).github/site/index.html(1 hunks).github/site/index.mjs(3 hunks).github/site/navbar.md(1 hunks)doc/design.md(1 hunks)package.json(1 hunks)tools/tsdown_config.ts(2 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-10-21T08:49:33.239Z
Learnt from: snipsnipsnip
PR: exteditor/ghostbird#46
File: .github/site/index.mjs:8-14
Timestamp: 2025-10-21T08:49:33.239Z
Learning: In `.github/site/index.mjs`, the `urlFor` function intentionally uses `encodeURIComponent(path.slice(1))` on the entire path rather than encoding each segment separately. This is a deliberate security measure to prevent XSS attacks by causing issues with paths containing special characters.
Applied to files:
.github/site/index.mjs
🧬 Code graph analysis (1)
tools/tsdown_config.ts (1)
tools/codecov.ts (1)
codecov(11-24)
🔇 Additional comments (13)
.github/site/coverpage.md (1)
3-5: LGTM!The blockquote styling and video width adjustment improve the presentation of the cover page.
tools/tsdown_config.ts (2)
104-104: LGTM!The explicit ternary operator makes the conditional plugin inclusion clearer and is likely required by the updated tsdown version (^0.15.9).
118-118: LGTM!Consistent with the change on line 104, using the explicit ternary operator for conditional plugin inclusion.
.devin/wiki.json (1)
1-7: LGTM!The architectural documentation provides valuable context about Ghostbird's structure, execution contexts, layers, and tooling. This will help developers understand the codebase organization.
.github/site/index.mjs (4)
14-14: LGTM!The change from
slice(1)toreplace(/^[/]+/, '')is an improvement as it removes all leading slashes rather than just the first character, making the path sanitization more robust.Based on learnings.
35-36: LGTM!Using Markdown links with
urlForis cleaner and more maintainable than raw HTML anchors.
52-53: LGTM!The navbar configuration properly integrates with the new
navbar.mdfile added in this PR.
58-60: LGTM!The refactored route handlers using arrow functions are cleaner and more consistent with modern JavaScript conventions.
package.json (1)
89-89: No action required — web-ext v9 is compatible with the current configuration.The breaking changes identified in web-ext v9 do not affect this project:
Configuration format: The project uses inline
webExtconfiguration in package.json, not external.jsconfig files. The inline configuration format is fully supported and compatible with v9.Node.js version: Web-ext v9 requires Node.js v20+ for building/releasing. The project doesn't explicitly constrain Node.js in the
enginesfield, but the use of ES modules ("type": "module") and yarn@4.10.3 indicates compatibility with modern Node versions. No configuration changes are needed.The
webExtconfiguration (lines 52-65) and scripts (web-ext run,web-ext build) will work without modification..github/site/index.html (2)
12-14: Style addition looks good for Docsify integration.The blockquote margin normalization in
section.coveraligns with Docsify theming best practices.
23-23: Navigation consolidation is properly implemented and correctly configured.The navbar is successfully loaded by
index.mjswithloadNavbar: "navbar.md"andmergeNavbar: true. Thenavbar.mdcontains all intended navigation paths (README, FAQ, BUILDING, CONTRIBUTING, doc/* resources, and Translation link), andindex.mjsrouting configuration supports these paths through regex patterns in theroutesobject and thesearcharray. Route handling is properly configured to redirect file and directory requests to GitHub resources.doc/design.md (2)
326-347: Flowchart accurately represents the instantiation logic flow.The decision tree properly covers the main branches: singleton check, argument preparation, unique vs. array instances, and alias resolution. This visual aid complements the textual explanation well.
302-325: Documentation accurately reflects the dependency injection system implementation.Verification confirms:
- Static properties (
isSingleton,wantArray,aliases) are actively used across 30+ classes insrc/app-background/,src/ghosttext-adaptor/,src/thunderbird/, etc.- The
wireless()function correctly scans for and processes these properties as documented- Constructor pattern expectations match actual implementations (e.g.,
compose_tab_detector.ts,button_menu.ts)- Test file and FAQ references exist and validate the system
- Architectural restriction to
root/modules is properly enforced instartup_*.tsfilesThe rewritten documentation significantly improves clarity on the startup mechanism for maintainers.
8b2dda1 to
fed8778
Compare
Summary by CodeRabbit
Documentation
Chores