Skip to content

Conversation

@The-Best-Codes
Copy link
Collaborator

@The-Best-Codes The-Best-Codes commented Jan 7, 2026

Summary

Adding a .flatpak to the Linux bundle. This allows Linux users to install goose easily via Flatpak, and goose can later be added to the Flathub registry.
See related discussion in Discord:
https://discord.com/channels/1287729918100246654/1458170369163661608

Type of Change

  • Feature

AI Assistance

  • This PR was created or reviewed with AI assistance

Testing

Manually testing and working on Arch Linux.

@The-Best-Codes The-Best-Codes self-assigned this Jan 7, 2026
@The-Best-Codes
Copy link
Collaborator Author

If anyone is manually testing this on Linux, you can run this:

npm run make -- --platform=linux --targets=@electron-forge/maker-flatpak

To skip the rpm and deb builds and just test with flatpak.

@The-Best-Codes The-Best-Codes changed the title fix: add flatpak support for linux feat: add flatpak support for linux Jan 8, 2026
Signed-off-by: The-Best-Codes <[email protected]>
Signed-off-by: The-Best-Codes <[email protected]>
@The-Best-Codes The-Best-Codes marked this pull request as ready for review January 9, 2026 23:09
Copy link
Collaborator Author

@The-Best-Codes The-Best-Codes left a comment

Choose a reason for hiding this comment

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

Ready for review

Signed-off-by: The-Best-Codes <[email protected]>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds Flatpak support to the Linux desktop app distribution, enabling Linux users to install goose via Flatpak and prepare for potential Flathub registry inclusion. The implementation adds the necessary Electron Forge maker, configures the Flatpak build with runtime version 25.08, and updates the CI workflow to build and upload Flatpak packages.

Key Changes:

  • Adds @electron-forge/maker-flatpak dependency to package.json
  • Configures Flatpak builder in forge.config.ts with permissions, runtime settings, and a custom libbz2 shim
  • Updates Linux CI workflow to install Flatpak tools and build .flatpak packages

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 5 comments.

File Description
ui/desktop/package.json Adds @electron-forge/maker-flatpak@^7.10.2 as a dev dependency
ui/desktop/package-lock.json Adds flatpak maker and related dependencies (@malept/electron-installer-flatpak, @malept/flatpak-bundler) with transitive dependencies
ui/desktop/forge.config.ts Configures Flatpak maker with runtime 25.08, permissions (finishArgs), and custom libbz2-shim module
.github/workflows/bundle-desktop-linux.yml Installs flatpak, flatpak-builder, and elfutils; adds Flathub remote; builds .flatpak package; uploads as separate artifact
Files not reviewed (1)
  • ui/desktop/package-lock.json: Language not supported

@michaelneale
Copy link
Collaborator

some strong suggestions from copilot here - are they relevant? (perhaps it does know about the actions - given it is made by github) but it is hard to know.

@michaelneale
Copy link
Collaborator

@The-Best-Codes if you needed to test on a real action, could change or add a temporary workflow which targets this branch and runs it there (then can remove it when we know it works - I have done that before) as github actions are really a pain TBH to test

@The-Best-Codes
Copy link
Collaborator Author

@michaelneale As best I can tell, at least 4 of the 5 from Copilot are irrelevant 😅

if you needed to test on a real action, could change or add a temporary workflow which targets this branch and runs it there (then can remove it when we know it works - I have done that before) as github actions are really a pain TBH to test

Sounds like a plan. I will do that 👍

Signed-off-by: The-Best-Codes <[email protected]>
Signed-off-by: The-Best-Codes <[email protected]>
Signed-off-by: The-Best-Codes <[email protected]>
@The-Best-Codes
Copy link
Collaborator Author

Also, for testing actions locally, if you've got a powerful enough machine, I highly recommend act :)

Signed-off-by: The-Best-Codes <[email protected]>
Signed-off-by: The-Best-Codes <[email protected]>
@The-Best-Codes
Copy link
Collaborator Author

The-Best-Codes commented Jan 12, 2026

@alexhancock Not ready to merge FYI. Thanks for reviewing! ❤️

@The-Best-Codes The-Best-Codes requested a review from a team as a code owner January 12, 2026 19:52
Copy link
Collaborator Author

@The-Best-Codes The-Best-Codes left a comment

Choose a reason for hiding this comment

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

If the tests pass, this is ready to merge now 😀

@The-Best-Codes
Copy link
Collaborator Author

Ewww merge conflicts. Let me fix those.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 12, 2026

PR Preview Action v1.6.3
Preview removed because the pull request was closed.
2026-01-14 18:26 UTC

@taniandjerry
Copy link
Contributor

Merge conflicts have been resolved by @The-Best-Codes , just needs final re-review!

@alexhancock
Copy link
Collaborator

@taniandjerry If you stamp it as well we will have the requisite devrel approval (given the docs updates) and can merge.

@alexhancock alexhancock merged commit 20b8cbd into main Jan 14, 2026
28 of 30 checks passed
@alexhancock alexhancock deleted the best/flatpak branch January 14, 2026 18:21
lifeizhou-ap added a commit that referenced this pull request Jan 15, 2026
* main:
  fixed 0 token in openrouter steaming (#6493)
  feat(goose-acp): enable parallel sessions with isolated agent state (#6392)
  copilot instruction to flag prelease docs (#6504)
  docs: acp mcp support (#6491)
  feat: add flatpak support for linux (#6387)
  fix(code_execution): serialize record_result output as JSON (#6495)
  perf(google): avoid accumulating thoughtSignatures across conversation history (#6462)
  fix(openai): make tool_call arguments optional and fix silent stream termination (#6309)
  fix: Improve error messages for invalid tool calls (#6483)
zanesq added a commit that referenced this pull request Jan 15, 2026
…ased

* 'main' of github.com:block/goose:
  Fix popular topics not starting chat when clicked (#6508)
  fix[desktop]: deeplink ui repeat on refresh (#6469)
  fixed test compilation on main branch (#6512)
  fix: correctly parse extension name from tool call for MCP apps (#6482)
  fixed 0 token in openrouter steaming (#6493)
  feat(goose-acp): enable parallel sessions with isolated agent state (#6392)
  copilot instruction to flag prelease docs (#6504)
  docs: acp mcp support (#6491)
  feat: add flatpak support for linux (#6387)
zanesq added a commit that referenced this pull request Jan 16, 2026
* 'main' of github.com:block/goose: (28 commits)
  chore(deps): bump aiohttp from 3.13.0 to 3.13.3 in /scripts/provider-error-proxy (#6539)
  chore(deps): bump brotli from 1.1.0 to 1.2.0 in /scripts/provider-error-proxy (#6538)
  docs: temp correction for agent directory (#6544)
  chore: upgrade rmcp (#6516)
  docs: clarify directory in /documentation readme (#6541)
  Release 1.20.0
  Standalone mcp apps (#6458)
  don't add escaping to the command field (#6519)
  Fix popular topics not starting chat when clicked (#6508)
  fix[desktop]: deeplink ui repeat on refresh (#6469)
  fixed test compilation on main branch (#6512)
  fix: correctly parse extension name from tool call for MCP apps (#6482)
  fixed 0 token in openrouter steaming (#6493)
  feat(goose-acp): enable parallel sessions with isolated agent state (#6392)
  copilot instruction to flag prelease docs (#6504)
  docs: acp mcp support (#6491)
  feat: add flatpak support for linux (#6387)
  fix(code_execution): serialize record_result output as JSON (#6495)
  perf(google): avoid accumulating thoughtSignatures across conversation history (#6462)
  fix(openai): make tool_call arguments optional and fix silent stream termination (#6309)
  ...
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.

6 participants