Skip to content

Conversation

@AdemolaAri
Copy link
Contributor

@AdemolaAri AdemolaAri commented Oct 23, 2025

Summary

This is a feature request (#4322) to have goose auto-download and install updates when available. This change adds that functionality.

Type of Change

  • Feature
  • Bug fix
  • Refactor / Code quality
  • Performance improvement
  • Documentation
  • Tests
  • Security fix
  • Build / Release
  • Other (specify below)

Testing

Manual testing of the actual build. I added console.log statements and followed the follwing steps

  1. Build the app. cd ui/desktop / npm run package / npm run make
  2. Open the executable file and saw updates auto-downloaded to download folder
  3. confirmed the right releases was auto-downloaded (tested on Mac only)

Note: because these builds are unsigned, i wasn't able to test the auto-install part. I believe that should work as well.

Related Issues

Relates to #ISSUE_ID
Discussion: LINK (if any)

#4322

Screenshots/Demos (for UX changes)

Before:

image

After:
image
|
|
image
|
|
image

Email:

Signed-off-by: AdemolaAri <ademola.ari@gmail.com>
…logic

Signed-off-by: AdemolaAri <ademola.ari@gmail.com>
Signed-off-by: AdemolaAri <ademola.ari@gmail.com>
@AdemolaAri AdemolaAri force-pushed the feat/AutomaticUpdateInstallation branch from bdab6cc to ddccbb6 Compare October 23, 2025 22:36
@taniandjerry
Copy link
Contributor

Thank you for your contribution! Let me add the tags, and tag teammates for review.

@DOsinga @alexhancock @michaelneale @jamadeo @zanesq @angelahning

As we are in the weekend in AU and in the states, expect a review come Monday, ET! @AdemolaAri

@taniandjerry taniandjerry requested review from a team, DOsinga, alexhancock and zanesq October 24, 2025 20:35
@taniandjerry taniandjerry added hacktoberfest Issues awarding points for Hacktoberfest 2025! large Weight label for Hacktoberfest 2025 issues labels Oct 24, 2025
@zanesq
Copy link
Collaborator

zanesq commented Oct 27, 2025

Thanks @AdemolaAri! I tested locally and it seems to download the update but it didn't actually install it after restart does it work for you?

Also a few minor things with the experience:

  1. This existed already but the tray icon has a dot that an update is available but when clicking it just opens settings, can you fix that so it opens the app tab in settings?
Screenshot 2025-10-27 at 3 39 39 PM 2. The prompt after downloading still shows the text to the user to extract the file and move to Applications. After clicking this it open downloads it closes the app. Can we improve this experience a bit? Screenshot 2025-10-27 at 3 38 59 PM

@AdemolaAri
Copy link
Contributor Author

@zanesq , auto-install did not work for me on mac. from my findings, it seems Mac does not allow auto-install of unsigned app which is what builds locally. to really test auto-install, we'll need a signed app - which I believe only the app owners can do. chatGPT breakdown and references to this (https://chatgpt.com/share/690015a1-9500-800a-96a9-830079e13087)

I'll work on those other items.

@zanesq
Copy link
Collaborator

zanesq commented Oct 28, 2025

.bundle

@zanesq
Copy link
Collaborator

zanesq commented Oct 28, 2025

ok thanks looking into how we can test a signed version of this.. also if you want to look at #5424 while you are at it

@taniandjerry
Copy link
Contributor

quick heads up timing wise! @zanesq - Hacktoberfest has a deadline where all PRs need to be merged by October 31st (Friday). To make sure contributor PRs like this one hit that deadline on time, aiming to have these PRs reviewed and approved (if we're able) by EOD tomorrow (October 30th)! Let me know if you think it's possible for this one 🙏 and thank you for working on this, @AdemolaAri !

@zanesq
Copy link
Collaborator

zanesq commented Oct 29, 2025

Not sure if this will make it unfortunately since there are still changes requested and we need to test in an actual signed release. I'll try to get a signed release tested with the current changes so we can rule that out at least.

@zanesq
Copy link
Collaborator

zanesq commented Oct 29, 2025

after the requested changes are made and approved if this doesn't break anything we can merge to main to test on a signed build and revert if needed

@AdemolaAri
Copy link
Contributor Author

@taniandjerry , I'm sorry I've not been able to work on the other things I need for this - I do not have access to my computer until this Friday. It's fine if this doesn't count towards HacktoberFest. I plan to get the updates on this PR out sometime this weekend

@taniandjerry
Copy link
Contributor

@taniandjerry , I'm sorry I've not been able to work on the other things I need for this - I do not have access to my computer until this Friday. It's fine if this doesn't count towards HacktoberFest. I plan to get the updates on this PR out sometime this weekend

That is amazing. Since your submission would likely pass beyond hacktoberfest, but you've been working on this feature with @zanesq that will make an impact on users for goose, I'll definitely be sure we are able to reward you in some way for still working on this. 🤗 ❤️ looking forward to getting this across the finish line!

@zanesq
Copy link
Collaborator

zanesq commented Oct 29, 2025

@michaelneale made a signed build to test from this branch but I get the following error message Update Available but no download URL found for platform: darwin, arch: arm64 does that happen for you?

image

@AdemolaAri
Copy link
Contributor Author

AdemolaAri commented Oct 30, 2025

@michaelneale made a signed build to test from this branch but I get the following error message Update Available but no download URL found for platform: darwin, arch: arm64 does that happen for you?

image

@zanesq interesting. I believe you're hitting this code block, I added https://github.com/block/goose/pull/5345/files#r2457676532 . I encountered this when the app detects that there's a new version available, but when the code scans the release version repository it couldn't find a build for that assetName. Yeah, I thought I resolved it by making the assetName search case insensitive but might need some cleanups there

@zanesq
Copy link
Collaborator

zanesq commented Oct 30, 2025

not latest version its 1.11.0 in the screenshot and latest is 1.12.1

- Modify SettingsRoute component to extract section from URL search params
- Extend viewOptions to include section from URL if provided
- Ensure backwards compatibility with existing location.state and history.state methods
- Improve flexibility for deep linking to specific settings sections

Signed-off-by: AdemolaAri <ademola.ari@gmail.com>
Signed-off-by: AdemolaAri <ademola.ari@gmail.com>
Signed-off-by: AdemolaAri <ademola.ari@gmail.com>
@AdemolaAri
Copy link
Contributor Author

AdemolaAri commented Nov 3, 2025

@zanesq , Now when you click the Update Available button, it navigates to the correct section of Setting page.

Also, fixed Update Available but no download URL found for platform: darwin, arch: arm64, this is a Goose vs goose text issue. i had normalized the values during comparison but missed one .lowercase() addition.

Please review and let me know :)

@AdemolaAri AdemolaAri force-pushed the feat/AutomaticUpdateInstallation branch from 6f5955f to 5026922 Compare November 4, 2025 19:26
@zanesq
Copy link
Collaborator

zanesq commented Nov 11, 2025

Thanks tested latest signed build from this branch and the download did work but the progress bar was jumpy until it finally downloaded (see below for recording)

Kapture.2025-11-10.at.16.41.58.mp4

It didn't do the auto install but did open the downloads directory with the download.

Since its downloading now I think we can merge this after fixing the jumpy progress bar if you want to take a look at that then we can come back to the auto install in another PR later.

@AdemolaAri
Copy link
Contributor Author

AdemolaAri commented Nov 11, 2025

Thanks tested latest signed build from this branch and the download did work but the progress bar was jumpy until it finally downloaded (see below for recording)

Kapture.2025-11-10.at.16.41.58.mp4
It didn't do the auto install but did open the downloads directory with the download.

Since its downloading now I think we can merge this after fixing the jumpy progress bar if you want to take a look at that then we can come back to the auto install in another PR later.

oh yeah, turns out i already worked on a fix for that but holding off on pushing it. If all looks good, we can get this merged and revisit auto install.

- Add debounce mechanism to prevent UI flickering during download progress
- Round download percentage to reduce unnecessary state updates
- Implement progress update throttling in GitHub updater
- Add cleanup for progress timeout to prevent memory leaks
- Optimize progress reporting frequency to reduce render cycles
Reduces unnecessary re-renders and improves overall update download experience by implementing more efficient progress tracking mechanisms.

Signed-off-by: AdemolaAri <ademola.ari@gmail.com>
@zanesq
Copy link
Collaborator

zanesq commented Nov 11, 2025

Still jumpy for me, also it seems to kick it off twice after it finishes it tries again to download at the end. Please verify it works on your end in the app. One more thing since auto install isn't working we should change that language to not say it will be auto installed after restart before we merge.

Kapture.2025-11-11.at.09.04.14.mp4

…ved progress handling

Signed-off-by: AdemolaAri <ademola.ari@gmail.com>
@AdemolaAri
Copy link
Contributor Author

@zanesq i'm back at this. sorry i was away for a few weeks.

Jumpy download bar should be fixed now.

Screen.Recording.2025-11-29.at.10.45.59.PM.mov

And I added the appropriate wording around auto-downloading but not auto-installing. I also added an 'open downloads and quit' action in the dialog to take users to the download folder and auto-quit the app removing one manual step at least.

Screen.Recording.2025-11-29.at.10.48.31.PM.mov

It does seem like auto-install works when the download is done thru the native electron path. The github fallback path seem to not be able to do auto-install for some reason. (I'm limited by not being able to do/test a signed build so just going by the code logic)

Pls test again and let me know how it goes.

Copy link
Collaborator

@zanesq zanesq left a comment

Choose a reason for hiding this comment

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

Verified LGTM thanks!

@zanesq zanesq merged commit c3c71a2 into block:main Dec 1, 2025
16 checks passed
tlongwell-block added a commit that referenced this pull request Dec 1, 2025
* origin/main:
  Feat/automatic update installation (#5345)
  fix: Added "Merged consecutive assistant messages" to the acceptable issues for moim injection check (#5933)
  fix: anthropic provider model fetching (#5932)
  [MCP-UI] add CSP for images to proxy HTML (#5931)
  fix: correct typo in blog post (AIMDOEL -> AIMODEL) (#5902)
  feat: @goose in terminal (native terminal support) (#5887)
  docs: adding AI-friendly features (#5918)
  Blog/advent of ai announcement (#5917)
  Extension selector behind ALPHA flag (#5892)
zanesq added a commit that referenced this pull request Dec 1, 2025
* 'main' of github.com:block/goose:
  Feat: Added custom headers and toggle keyring CLI options (#5017)
  Feat/automatic update installation (#5345)
  fix: Added "Merged consecutive assistant messages" to the acceptable issues for moim injection check (#5933)
  fix: anthropic provider model fetching (#5932)
  [MCP-UI] add CSP for images to proxy HTML (#5931)
katzdave added a commit that referenced this pull request Dec 1, 2025
…nses-streaming

* 'main' of github.com:block/goose:
  Feat/automatic update installation (#5345)
  fix: Added "Merged consecutive assistant messages" to the acceptable issues for moim injection check (#5933)
  fix: anthropic provider model fetching (#5932)
  [MCP-UI] add CSP for images to proxy HTML (#5931)
  fix: correct typo in blog post (AIMDOEL -> AIMODEL) (#5902)
  feat: @goose in terminal (native terminal support) (#5887)
  docs: adding AI-friendly features (#5918)
  Blog/advent of ai announcement (#5917)
  Extension selector behind ALPHA flag (#5892)
  blog: typo fixes (#5896)
  blog: fixing img url (#5895)
  blog: MCPs for Developers (#5884)
  docs: Extension Manager MCP (#5883)
  Update cleanup marker logic for Fedora users. (#5868)
  Improve AWS credential loading and configuration handling in BedrockProvider  (#5699)
zanesq added a commit that referenced this pull request Dec 2, 2025
…0-5147

* 'main' of github.com:block/goose: (243 commits)
  chore: upgrade npm packages (#5951)
  feat: ActionRequired (#5897)
  feat(acp): support loading sessions in acp (#5942)
  docs: add videos to multi-model page (#5938)
  docs: promote planning guide (#5934)
  fix: use a lock to ensure only need to run tunnel just in case multiple go… (#5885)
  Feat: Added custom headers and toggle keyring CLI options (#5017)
  Feat/automatic update installation (#5345)
  fix: Added "Merged consecutive assistant messages" to the acceptable issues for moim injection check (#5933)
  fix: anthropic provider model fetching (#5932)
  [MCP-UI] add CSP for images to proxy HTML (#5931)
  fix: correct typo in blog post (AIMDOEL -> AIMODEL) (#5902)
  feat: @goose in terminal (native terminal support) (#5887)
  docs: adding AI-friendly features (#5918)
  Blog/advent of ai announcement (#5917)
  Extension selector behind ALPHA flag (#5892)
  blog: typo fixes (#5896)
  blog: fixing img url (#5895)
  blog: MCPs for Developers (#5884)
  docs: Extension Manager MCP (#5883)
  ...

# Conflicts:
#	crates/goose-server/src/routes/config_management.rs
#	crates/goose/src/providers/mod.rs
#	ui/desktop/openapi.json
#	ui/desktop/src/api/sdk.gen.ts
#	ui/desktop/src/api/types.gen.ts
#	ui/desktop/src/components/ProgressiveMessageList.tsx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hacktoberfest Issues awarding points for Hacktoberfest 2025! large Weight label for Hacktoberfest 2025 issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants