Skip to content

Conversation

@snipsnipsnip
Copy link
Member

No description provided.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 27, 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 16 minutes and 37 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 d2ef78c and 0f90faf.

📒 Files selected for processing (4)
  • .github/site/homepage.md (0 hunks)
  • .github/site/index.html (1 hunks)
  • .github/site/index.mjs (5 hunks)
  • README.md (3 hunks)
📝 Walkthrough

Summary by CodeRabbit

Release Notes

  • Documentation
    • Removed legacy homepage file
    • Significantly expanded README with clearer project description, supported editors information, and collapsible changelog/milestones tracking
    • Updated website metadata and security attributes for improved presentation

Walkthrough

Updates the Docsify site configuration by removing homepage.md, refactoring index.html with enhanced security attributes and module imports, converting index.mjs to local package imports with new utility functions, and expanding README.md with reorganized changelog and project details.

Changes

Cohort / File(s) Summary
Documentation Site Removal
\.github/site/homepage.md
File removed entirely, eliminating the published homepage content including installation guidance, usage flow, and contributor information.
Docsify Site Infrastructure
\.github/site/index.html
Head section rewritten with import map, added integrity and crossorigin attributes for CSS and scripts, replaced direct script loading with module/script import approach, expanded and updated meta/OG tags, improved document structure.
Docsify Site Logic
\.github/site/index.mjs
Converted imports from CDN URLs to package-style imports (mermaid, docsify), moved mermaid initialization to end of file, updated redirect builder formatting, changed tryRedirect return type to string/undefined, added fixEmoji utility, updated hook pipeline with nullish coalescing chain, removed homepage configuration from site config, added design route, added dynamic search plugin import.
Project Documentation
README.md
Expanded initial project description, added collapsible "Changelog & Milestones" section, reorganized milestones/changelog entries with enhanced bullet points and narrative formatting, expanded Future section with sub-items, updated content structure and project references.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Specific areas requiring attention:
    • index.html security attributes (integrity, crossorigin) and import map validation
    • index.mjs hook pipeline logic and nullish coalescing chain for edge cases with redirect/emoji/footer
    • index.mjs return type contract changes for tryRedirect (string vs undefined) and impact on consumers
    • README.md changelog structure consistency and formatting across version entries

Possibly related PRs

Poem

🐰 With module maps and integrity true,
The site grows secure, its structure anew.
Homepage departs, yet docs stand tall,
Emoji fixes and redirects—we've got it all! 📧✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description Check ⚠️ Warning The pull request description is completely empty, with no content provided by the author. The repository's description template requires multiple sections including licensing agreement, current behavior, new behavior, manual testing steps, and optional additional notes. None of these required sections have been filled out, making the description substantially incomplete and failing to meet the expected standard for pull request documentation.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed The title "Update README and the webpage" clearly relates to the main changes in this pull request. The changeset includes modifications to README.md (updated description, added changelog section, reorganized milestones) and updates to the website files (.github/site/index.html and .github/site/index.mjs), along with the removal of homepage.md. The title accurately captures the primary focus of these changes without being vague or generic, though it does not emphasize the complete removal of the homepage file.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

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

codecov bot commented Oct 27, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 59.22%. Comparing base (01367a0) to head (0f90faf).
⚠️ Report is 7 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
Components Coverage Δ
app 64.20% <ø> (ø)
ghosttext 93.91% <ø> (ø)
infra 47.21% <ø> (ø)

Copy link
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: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 01367a0 and d2ef78c.

📒 Files selected for processing (4)
  • .github/site/homepage.md (0 hunks)
  • .github/site/index.html (1 hunks)
  • .github/site/index.mjs (5 hunks)
  • README.md (3 hunks)
💤 Files with no reviewable changes (1)
  • .github/site/homepage.md
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-10-24T17:47:26.692Z
Learnt from: snipsnipsnip
PR: exteditor/ghostbird#48
File: .github/site/index.mjs:28-39
Timestamp: 2025-10-24T17:47:26.692Z
Learning: In `.github/site/index.mjs`, the `tryRedirect` function's JSON detection using `text.startsWith('{"redirectTo":"')` is intentionally strict and does not need to be tolerant of whitespace or alternative JSON formatting.

Applied to files:

  • .github/site/index.mjs
🔇 Additional comments (8)
README.md (1)

11-15: LGTM! Excellent documentation improvements.

The expanded description clearly explains Ghostbird's purpose and integration with GhostText, and the collapsible changelog section significantly improves readability. The reformatted milestones with consistent indentation and bullet points make the roadmap much easier to scan.

Also applies to: 111-202

.github/site/index.html (2)

3-40: LGTM! Clean, modern HTML structure.

The restructured head section with proper formatting, modular script loading, and well-organized metadata improves both maintainability and readability.

Also applies to: 55-61


16-35: Security improvements confirmed; manual hash verification required.

The import map and Subresource Integrity (SRI) hashes are properly configured. However, I cannot verify the hashes match the actual CDN resources in this environment. Please manually confirm that each integrity hash in the import map and CSS link corresponds to the correct CDN resource versions before merging.

.github/site/index.mjs (5)

1-2: LGTM! Package imports align with import map.

The conversion to package-style imports correctly matches the import map definitions in index.html, enabling better dependency management and SRI protection.


19-19: LGTM! Improved code clarity.

The explicit return type documentation and explicit undefined return improve code clarity without changing functionality. The JSON formatting with spacing is a minor cosmetic improvement.

Also applies to: 24-24, 36-36


39-44: LGTM! Simple fix for emoji compatibility.

The fixEmoji function addresses Docsify's lack of support for the newer nest_with_eggs emoji (Unicode 14.0) by replacing the shortcode with the actual character. The implementation is straightforward and serves its purpose.


49-49: LGTM! Well-structured hook pipeline.

The updated pipeline with tryRedirect(text) ?? addFooter(fixEmoji(text), vm) ?? text cleanly chains redirect handling, emoji fixing, and footer addition. The JSDoc type annotation improves IDE support.

Also applies to: 107-111


117-120: LGTM! Proper initialization ordering.

Moving mermaid initialization and search plugin loading after the Docsify configuration prevents race conditions and ensures proper setup order. Using startOnLoad: false with manual mermaid.run() invocation in the hook (line 112) gives explicit control over rendering timing.

Also, use SRI and an importmap.
* Copied the introduction text from website
* Collapse the roadmap
It seems Docsify isn't happy when the homepage is not named `README.md` as
it behaves oddly with plugins. Remove `homepage.md` and simply use the
original `README.md` instead.
@snipsnipsnip snipsnipsnip added this pull request to the merge queue Oct 27, 2025
Merged via the queue into exteditor:main with commit dd59338 Oct 27, 2025
8 checks passed
@snipsnipsnip snipsnipsnip deleted the rm-homepage-md branch October 27, 2025 10:21
@github-project-automation github-project-automation bot moved this from 📥️Inbox to 🪺Experimental in Ghostbird Issues Oct 27, 2025
@snipsnipsnip snipsnipsnip moved this from 🪺Experimental to ✅Closed in Ghostbird Issues Oct 29, 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