Skip to content

fix: register goose:// scheme handler in Flatpak desktop entry - #10461

Merged
alexhancock merged 3 commits into
aaif-goose:mainfrom
AgarwalManas:fix-flatpak-mimetype
Jul 15, 2026
Merged

fix: register goose:// scheme handler in Flatpak desktop entry#10461
alexhancock merged 3 commits into
aaif-goose:mainfrom
AgarwalManas:fix-flatpak-mimetype

Conversation

@AgarwalManas

Copy link
Copy Markdown
Contributor

Summary

Fixes #10441

The Flatpak build's generated desktop entry has no MimeType, so the host
OS never registers Goose as the handler for goose:// URLs and the
extension-page install buttons do nothing when installed via Flatpak. The
runtime setAsDefaultProtocolClient('goose') call cannot register a handler
from inside the sandbox — the exported desktop entry is the only
registration path, and the deb/rpm builds already ship it via their
desktopTemplate files.

Fix: set mimeType: ['x-scheme-handler/goose'] in the maker-flatpak options
in ui/desktop/forge.config.ts. The flatpak installer's desktop template
emits MimeType=x-scheme-handler/goose; from this option, matching the
deb/rpm entries.

Testing

  • Verified @electron-forge/maker-flatpak@7.11.1 passes this option through
    to @malept/electron-installer-flatpak, and rendered that installer's
    desktop template with this config to confirm the generated entry gains the
    MimeType line (identical to the deb/rpm entries).
  • Ran the repo's Bundle Desktop (Linux) workflow against this branch on my
    fork — both variants built and packaged the Flatpak successfully:
    https://github.com/AgarwalManas/goose/actions/runs/29342667698
  • Not tested: runtime click-through of the extension install flow on a
    Flatpak install.

Related Issues

Relates to #10441

Screenshots/Demos (for UX changes)

N/A — packaging config change only; no UX change.

The Flatpak build's generated .desktop file has no MimeType entry, so the
host OS never registers Goose as the handler for goose:// URLs and the
extension-page install buttons do nothing when installed via Flatpak. The
runtime setAsDefaultProtocolClient('goose') call cannot register a handler
from inside the sandbox; the exported desktop entry is the only
registration path.

Set mimeType in the maker-flatpak options so the installer's desktop
template emits MimeType=x-scheme-handler/goose;, matching the entry the
deb/rpm desktop templates already ship.

Fixes aaif-goose#10441

Co-Authored-By: Claude <noreply@anthropic.com>
Comment thread ui/desktop/forge.config.ts Outdated
@alexhancock
alexhancock merged commit 6621ed2 into aaif-goose:main Jul 15, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Flatpak desktop file missing the MimeType entry

3 participants