Skip to content

fix: respect package-managed updates and user preferences - #3346

Open
afonsojramos wants to merge 7 commits into
mainfrom
feat/managed-updates
Open

afonsojramos wants to merge 7 commits into
mainfrom
feat/managed-updates

Conversation

@afonsojramos

@afonsojramos afonsojramos commented Oct 1, 2026 •

Copy link
Copy Markdown
Member

Summary

Gitify keeps updating itself by default and leaves updates to the package manager only where one owns them, so a Scoop installation no longer gets a second copy installed outside Scoop's directory. A persistent Default / On / Off choice under Settings > System lets every user decide.

  • Automatic updates default to off for Scoop (detected from its installation metadata), Flatpak, and Snap. deb, rpm, Homebrew, AppImage, direct downloads, and unidentified installations keep them on.
  • Package maintainers can select the managed default with an empty disable-auto-updates file in the resources directory or GITIFY_DISABLE_AUTO_UPDATE=1 in the launcher.
  • Turning updates off cancels scheduled checks and active downloads, prevents installation on quit, and changes the tray item to View releases.

On macOS, the native update handoff waits for Restart or for a quit with updates on, because an update already handed to Squirrel cannot be revoked. A plain quit installs without relaunching. A failed later check keeps a downloaded update installable, while a replacement download drops the ready state until it finishes.

Validation

  • pnpm check, pnpm i18n:check, and all 2,179 unit tests pass.
  • Checked the Settings choice in a local Linux build: the captions follow Default, On, and Off, and the choice persists.
  • Native package-manager installations and the Windows/macOS installer flows have not been exercised on their platforms.

Closes #3283

@afonsojramos
afonsojramos requested a review from setchy as a code owner October 1, 2026 00:55
@github-actions github-actions Bot added the bug Something isn't working label Oct 1, 2026
@sonarqubecloud

sonarqubecloud Bot commented Oct 1, 2026

Copy link
Copy Markdown

@setchy

setchy commented Oct 4, 2026 •

Copy link
Copy Markdown
Member

This does seem to be a recurring question... my hope is we maintain a user-base which keeps up with our releases and doesn't drift behind 🥲

@setchy
setchy self-requested a review October 25, 2026 16:31

@setchy setchy left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks Afonso — nice work, and the tests around flipping the setting quickly are great.

some new feedback areas to consider:

  1. Rebase. Conflicts with main in 8 files. When resolving: drop the Settings snapshot (main deleted it in #3514), and re-check the new radio buttons against the updated Settings layout (#3492–#3496). Then re-run the unit and visual tests.

  2. Defaults — shall we keep Gitify keep handling updates itself where it can.

  • Off: Scoop (the bug in #3283), Flatpak, Snap.
  • On: deb, rpm, Homebrew, AppImage, direct downloads, and anything we can't identify.

That lets us delete the dpkg/rpm/pacman ownership checks and their tests — less code, no commands at startup. Keep the packager marker/env var, and keep Off available to everyone. Heads up: #3374 (FlatPark) wraps our .deb in a Flatpak, so the Flatpak check needs to stay ahead of any deb/rpm logic.

@afonsojramos

Copy link
Copy Markdown
Member Author

Rebased onto main and defaults are now Off only for Scoop, Flatpak, and Snap. The pacman/dpkg/rpm ownership checks and their tests are deleted, so detection runs no commands.

@afonsojramos
afonsojramos requested a review from setchy November 2, 2026 15:50
@sonarqubecloud

sonarqubecloud Bot commented Nov 2, 2026

Copy link
Copy Markdown

@setchy

setchy commented Nov 2, 2026

Copy link
Copy Markdown
Member

Approved. I assume you're feeling highly confidence that the OS / package update managers will keep gitify updates going forward once released. I guess users can always override in Settings, correct?

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Development

Successfully merging this pull request may close these issues.

Add an option to disable auto-updates

2 participants