Skip to content

chore: bump tools version and update the webpage#47

Merged
snipsnipsnip merged 8 commits intoexteditor:mainfrom
snipsnipsnip:tool-bump-and-docs
Oct 22, 2025
Merged

chore: bump tools version and update the webpage#47
snipsnipsnip merged 8 commits intoexteditor:mainfrom
snipsnipsnip:tool-bump-and-docs

Conversation

@snipsnipsnip
Copy link
Copy Markdown
Member

@snipsnipsnip snipsnipsnip commented Oct 22, 2025

Summary by CodeRabbit

  • Documentation

    • Enhanced project documentation and website navigation.
  • Chores

    • Updated build tool dependencies.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Oct 22, 2025

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 @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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.

📥 Commits

Reviewing files that changed from the base of the PR and between cdfea2a and fed8778.

⛔ Files ignored due to path filters (1)
  • yarn.lock is 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)
📝 Walkthrough

Summary by CodeRabbit

  • Documentation

    • Enhanced project documentation and site navigation with clarified startup mechanism details and improved cover page messaging.
    • Added internationalization link to the site navigation for translation support.
  • Chores

    • Updated build tool dependencies.

Walkthrough

This 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

Cohort / File(s) Summary
Repository documentation
.devin/wiki.json, doc/design.md
Added .devin/wiki.json with Ghostbird architecture notes describing execution contexts and layers; extensively rewrote doc/design.md to clarify startup mechanism terminology, constructor patterns, and automatic-instantiation scope restrictions.
GitHub Pages site
.github/site/coverpage.md, index.html, index.mjs, navbar.md
Updated coverpage.md with new blockquote-style text and adjusted video sizing; enhanced index.html with OG meta tags and blockquote margin normalization; refactored index.mjs routes to use explicit arrow-function handlers and centralized urlFor path resolution; added new navbar.md with navigation links and external translation reference.
Build tooling
package.json, tools/tsdown_config.ts
Bumped tsdown to ^0.15.9 and web-ext to ^9.0.0 in package.json; refactored tsdown_config.ts plugin conditionals from logical AND to ternary expressions returning null when not releasing.

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 index.mjs, which introduces new logic patterns and centralized URL handling. The extensive documentation rewrite in design.md requires careful reading but contains no functional code changes. Dependency bumps and build configuration tweaks are straightforward.

Possibly related PRs

Poem

🐰 A Wiki sprouts where architects dwell,
Routes redirect through Docsify's spell,
Designs grow clear, from fuzzy to bright,
Build tools refined with ternary light,
Ghostbird's home now documented just right!

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description Check ⚠️ Warning The pull request has no description provided by the author. The repository's description template requires several key sections including the current behavior, new behavior, manual testing steps, and a licensing agreement. All required sections are entirely missing, making the description completely blank rather than incomplete. This provides no context about the motivation, scope, or testing procedures for the changes, which significantly impacts reviewer understanding and code maintainability. The author must add a pull request description following the template structure. At minimum, this should explain what behavior is being changed or improved, describe the testing procedure, and confirm agreement to the dual-licensing terms. The description is essential for reviewers to understand the purpose and scope of the changes across the multiple files being modified.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed The PR title "chore: bump tools version and update the webpage" is partially related to the changeset. It accurately reflects two significant aspects of the changes: the dependency version bumps (tsdown and web-ext in package.json) and the webpage/site updates (.github/site files). However, the title does not capture other notable changes such as the documentation updates in doc/design.md, the new .devin/wiki.json file, or modifications to tools/tsdown_config.ts. The title correctly identifies real components of the change but doesn't encompass the full scope of the modifications.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link
Copy Markdown

codecov bot commented Oct 22, 2025

Codecov Report

❌ Patch coverage is 0% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 46.97%. Comparing base (4ea6e36) to head (fed8778).
⚠️ Report is 9 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
Components Coverage Δ
app 32.47% <ø> (ø)
ghosttext 49.18% <ø> (ø)
infra 44.00% <ø> (ø)

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4ea6e36 and cdfea2a.

⛔ Files ignored due to path filters (1)
  • yarn.lock is 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) to replace(/^[/]+/, '') 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 urlFor is cleaner and more maintainable than raw HTML anchors.


52-53: LGTM!

The navbar configuration properly integrates with the new navbar.md file 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:

  1. Configuration format: The project uses inline webExt configuration in package.json, not external .js config files. The inline configuration format is fully supported and compatible with v9.

  2. Node.js version: Web-ext v9 requires Node.js v20+ for building/releasing. The project doesn't explicitly constrain Node.js in the engines field, 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 webExt configuration (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.cover aligns with Docsify theming best practices.


23-23: Navigation consolidation is properly implemented and correctly configured.

The navbar is successfully loaded by index.mjs with loadNavbar: "navbar.md" and mergeNavbar: true. The navbar.md contains all intended navigation paths (README, FAQ, BUILDING, CONTRIBUTING, doc/* resources, and Translation link), and index.mjs routing configuration supports these paths through regex patterns in the routes object and the search array. 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 in src/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 in startup_*.ts files

The rewritten documentation significantly improves clarity on the startup mechanism for maintainers.

@snipsnipsnip snipsnipsnip added this pull request to the merge queue Oct 22, 2025
Merged via the queue into exteditor:main with commit 4884a84 Oct 22, 2025
8 checks passed
@snipsnipsnip snipsnipsnip deleted the tool-bump-and-docs branch October 22, 2025 16:27
@github-project-automation github-project-automation bot moved this from 📥️Inbox to 🪺Experimental in Ghostbird Issues Oct 22, 2025
@snipsnipsnip snipsnipsnip moved this from 🪺Experimental to ✅Closed in Ghostbird Issues Oct 24, 2025
@snipsnipsnip snipsnipsnip linked an issue Oct 29, 2025 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

[Task] Website with some screenshots

1 participant