Skip to content

fix: add help: URI handler to redirect to GNOME help website#494

Closed
castrojo wants to merge 2 commits into
mainfrom
fix/help-uri-handler
Closed

fix: add help: URI handler to redirect to GNOME help website#494
castrojo wants to merge 2 commits into
mainfrom
fix/help-uri-handler

Conversation

@castrojo
Copy link
Copy Markdown
Contributor

@castrojo castrojo commented Jun 4, 2026

Problem

Bluefin removes yelp, leaving no registered handler for help: and ghelp: URI schemes. This breaks the Nautilus Templates folder tooltip's Learn More button (help:gnome-help/files-templates), which shows "No Apps Available". The secondary "Find more in Software" failure is from gnome-software also being removed.

Closes projectbluefin/bluefin#306

Solution

Add a minimal shell script (/usr/bin/bluefin-help) and .desktop file that registers as the x-scheme-handler/help and x-scheme-handler/ghelp handler. When invoked, it translates the URI into the equivalent help.gnome.org URL and opens it in the default browser.

URI mapping:

  • help:gnome-help/files-templateshttps://help.gnome.org/users/gnome-help/stable/files-templates.html
  • help:<app>/<page>https://help.gnome.org/users/<app>/stable/<page>.html
  • help:<app>https://help.gnome.org/users/<app>/stable/

Files land in system_files/bluefin/ (not shared) since this is specific to Bluefin variants that remove yelp — Aurora keeps yelp and should not be affected.

Summary by CodeRabbit

  • New Features

    • Added Bluefin Help desktop application launcher for convenient access to GNOME help documentation.
  • Documentation

    • Reorganized audit documentation with enhanced cross-references and supplementary materials.
    • Updated findings index with new audit follow-up entries.

@dosubot dosubot Bot added size:XS This PR changes 0-9 lines, ignoring generated files. area/gnome Anything GNOME related kind/enhancement New feature, don't implement without a spec and consensus labels Jun 4, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jun 4, 2026

Review Change Stack

Warning

Review limit reached

@castrojo, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 52 minutes and 48 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, 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 include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f6e2a668-40a4-4c95-bccc-65793d1a8a3d

📥 Commits

Reviewing files that changed from the base of the PR and between 79396b1 and fb26366.

📒 Files selected for processing (3)
  • docs/skills/INDEX.md
  • docs/skills/acmm-audit-level1-followup.md
  • docs/skills/acmm-audit-level1.md
📝 Walkthrough

Walkthrough

This PR adds a GNOME help URI handler desktop entry and publishes a second-pass ACMM Level 1 audit documenting five new blindspots, systemic obstacles, updated recommendations, and revised issue tracking with parity matrices. The help handler addresses the missing help URI scheme support (issue #306), while the audit report refactors the main audit doc to point readers to a comprehensive follow-up document with findings and action items.

Changes

GNOME Help URI Handler Registration

Layer / File(s) Summary
Help URI scheme handler registration
system_files/bluefin/usr/share/applications/bluefin-help.desktop
Desktop entry registers "Bluefin Help" as the system handler for GNOME help MIME types (x-scheme-handler/help and x-scheme-handler/ghelp), enabling help URIs to be opened via xdg-open instead of triggering application-not-found errors.

ACMM Level 1 Second-Pass Audit Report

Layer / File(s) Summary
New blindspot findings and system analysis
docs/skills/acmm-audit-level1-followup.md, docs/skills/INDEX.md, docs/skills/acmm-audit-level1.md
Introduces five new blindspots (BS-1.12–1.16) covering stale migration-status.md, disabled pr-e2e.yml e2e job, missing cron automation in migration-test.yml, floating @main tags in bonedigger.yml, and lack of machine-readable consumer contract verification. Includes updated feedback mechanisms, structural obstacles revealing parity-matrix staleness and split documentation sources, cross-references from the main audit doc, and index entry for the new follow-up document.
Level 2 action items and recovery steps
docs/skills/acmm-audit-level1-followup.md
Updates Level 2 recommendations (R-11 through R-15): deletion of stale migration-status.md with content migration, re-enabling and documenting the disabled pr-e2e e2e job, adding weekly cron schedule to migration-test.yml, requiring inline @main exemption comments in bonedigger.yml, and proposing a Justfile-based contract verification mechanism for out-of-org action consumers.
Updated parity matrix and prioritized issue batch
docs/skills/acmm-audit-level1-followup.md
Section 8 presents an updated parity matrix showing component-artifact status with new outcomes for disabled pre-merge e2e and manual-only migration tests. Section 9 reorders and adds issues in the "Complete Issue Batch — Updated Priority Order" table to reflect follow-up findings and blocking relationships.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • ahmedadan
  • hanthor

Poem

🐰 A help scheme now handles, a listener so keen,
GNOME links flow freely, no errors between—
And audit reports bloom with findings so bright,
Five blindspots revealed, the system in sight! 🌟

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Out of Scope Changes check ❓ Inconclusive The documentation changes (audits, lessons learned) and desktop file are primarily scoped to the help URI handler fix. The audit documents appear supplementary but document findings from a broader audit not directly related to this specific fix. The PR includes documentation updates (acmm audit, lessons learned) that appear unrelated to the help URI handler fix. Clarify whether these should be in a separate PR or explain their connection to this change.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the main change: adding a help URI handler that redirects to GNOME help website, which directly addresses the problem of broken help links.
Description check ✅ Passed The description comprehensively covers the problem, solution, URI mapping details, and placement rationale. It clearly explains the context and implementation approach, following best practices for PR descriptions.
Linked Issues check ✅ Passed The PR adds a .desktop file and references a shell script to handle help: and ghelp: URI schemes, directly addressing issue #306's requirement to restore functional help URI handling and open GNOME help pages instead of showing 'No Apps Available'.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/help-uri-handler

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.

@castrojo castrojo force-pushed the fix/help-uri-handler branch 2 times, most recently from c354254 to 045a43e Compare June 4, 2026 23:31
Copy link
Copy Markdown

@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

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@system_files/bluefin/usr/bin/bluefin-help`:
- Around line 29-33: The script currently treats a trailing slash URI (where
PAGE is empty) as a page and ends up opening ".../stable/.html"; update the
branch that decides between app-index and page by checking for an empty PAGE as
well as PAGE == APP: in the conditional around PAGE and APP (the existing
elif/else block), change the test so that if PAGE is empty (e.g. [[ -z "${PAGE}"
]] ) or PAGE equals APP ( "${PAGE}" == "${APP}" ) it opens
"https://help.gnome.org/users/${APP}/stable/" otherwise it opens the page URL
"https://help.gnome.org/users/${APP}/stable/${PAGE}.html".
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: ffe76196-f7f4-4dcf-ac08-7c2dac68bf80

📥 Commits

Reviewing files that changed from the base of the PR and between 935194d and f34fed0.

📒 Files selected for processing (2)
  • system_files/bluefin/usr/bin/bluefin-help
  • system_files/bluefin/usr/share/applications/bluefin-help.desktop

Comment on lines +29 to +33
elif [[ "${PAGE}" == "${APP}" ]]; then
# No slash → only an app name was given
xdg-open "https://help.gnome.org/users/${APP}/stable/"
else
xdg-open "https://help.gnome.org/users/${APP}/stable/${PAGE}.html"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Handle trailing-slash app URIs to avoid malformed .html targets.

help:<app>/ currently falls into the page branch and opens .../stable/.html. Treat empty PAGE as app-index routing.

Suggested fix
-if [[ -z "${APP}" ]]; then
+if [[ -z "${APP}" ]]; then
     xdg-open "https://help.gnome.org/"
-elif [[ "${PAGE}" == "${APP}" ]]; then
+elif [[ "${PAGE}" == "${APP}" || -z "${PAGE}" ]]; then
     # No slash → only an app name was given
     xdg-open "https://help.gnome.org/users/${APP}/stable/"
 else
     xdg-open "https://help.gnome.org/users/${APP}/stable/${PAGE}.html"
 fi
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
elif [[ "${PAGE}" == "${APP}" ]]; then
# No slash → only an app name was given
xdg-open "https://help.gnome.org/users/${APP}/stable/"
else
xdg-open "https://help.gnome.org/users/${APP}/stable/${PAGE}.html"
elif [[ "${PAGE}" == "${APP}" || -z "${PAGE}" ]]; then
# No slash → only an app name was given
xdg-open "https://help.gnome.org/users/${APP}/stable/"
else
xdg-open "https://help.gnome.org/users/${APP}/stable/${PAGE}.html"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@system_files/bluefin/usr/bin/bluefin-help` around lines 29 - 33, The script
currently treats a trailing slash URI (where PAGE is empty) as a page and ends
up opening ".../stable/.html"; update the branch that decides between app-index
and page by checking for an empty PAGE as well as PAGE == APP: in the
conditional around PAGE and APP (the existing elif/else block), change the test
so that if PAGE is empty (e.g. [[ -z "${PAGE}" ]] ) or PAGE equals APP (
"${PAGE}" == "${APP}" ) it opens "https://help.gnome.org/users/${APP}/stable/"
otherwise it opens the page URL
"https://help.gnome.org/users/${APP}/stable/${PAGE}.html".

Bluefin removes yelp, leaving no handler for help: and ghelp: URI
schemes. This breaks the Nautilus Templates folder tooltip's
"Learn More" button (help:gnome-help/files-templates).

Add a minimal shell script and .desktop file that intercepts
x-scheme-handler/help and x-scheme-handler/ghelp and redirects
to the equivalent page on help.gnome.org.

Closes projectbluefin/bluefin#306

Assisted-by: Claude Sonnet 4.6 via GitHub Copilot CLI
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@castrojo castrojo force-pushed the fix/help-uri-handler branch from 045a43e to 8388793 Compare June 4, 2026 23:35
@castrojo castrojo requested review from a team and repires as code owners June 4, 2026 23:35
@dosubot dosubot Bot added size:S This PR changes 10-29 lines, ignoring generated files. size:XL This PR changes 500-999 lines, ignoring generated files. and removed size:XS This PR changes 0-9 lines, ignoring generated files. size:S This PR changes 10-29 lines, ignoring generated files. labels Jun 4, 2026
acmm-audit-level1.md was 637 lines, exceeding the 500-line hard limit
enforced by the skill-drift check. Extract sections 7-9 (follow-up
findings, updated parity matrix, complete issue batch) to new reference
file acmm-audit-level1-followup.md. Update INDEX.md accordingly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@castrojo
Copy link
Copy Markdown
Contributor Author

castrojo commented Jun 5, 2026

Closing in favor of #501 which cherry-picks just the help URI handler fix on top of current main. PR #494 had accumulated 613 commits of divergence which made it unmergeable without a massive rebase. The docs/skills changes in this PR that aren't already in main can be sent as separate targeted PRs if needed.

@castrojo castrojo closed this Jun 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/gnome Anything GNOME related kind/enhancement New feature, don't implement without a spec and consensus size:XL This PR changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[bug] Templates folder tooltip error

1 participant