feat(gui): the update banner tucks itself into the version badge - #19
Merged
Merged
Conversation
After 8 seconds (not while the pointer or keyboard is on it, nor while it is downloading or reporting a failure) the update banner shrinks and flies into the sidebar's version badge, which then turns into the update's button: "Update" → "Updating 42%" → "Restart", with the version and what a click does in its tooltip. One click downloads, the next restarts to install; where this copy can't update itself it opens the release page. With the sidebar collapsed it's a round download button in the footer. Closing the banner tucks it away the same way; Skip still drops the version. A new update offer (or a manual check) brings the banner back. Reduced motion gets a plain fade. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…n version `electron packages/electron/dist/main.js` runs the file without its package.json, so app.getVersion() is Electron's (33.4.11): the version badge showed that, and no update was ever offered. `electron packages/electron` reads the package and reports the app's version. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The dark theme's raised surface (#2a2a2d — the update banner, dialogs, context menus) had a blue tint none of the other surfaces have (#171717, #212121, #1a1a1a), which showed as the banner flew into the badge. Now #2a2a2a, just as light, no tint. The light theme is blue-grey throughout on purpose and stays as it is. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Instead of shrinking evenly, the banner now narrows into a funnel towards the version badge and is drawn in through it, the side nearest the badge first — the macOS minimise. A CSS transform can't bend a box, so for the 650 ms of the animation the banner is drawn as 40 strips, copies of it clipped to one slice each, every strip transformed on its own each frame; neighbours share their edges, so the shape stays whole. The geometry (genie.ts) is pure and tested: it starts as the banner, funnels near side first, stays in one piece, ends inside the badge. The strips' layer is removed when done, however the transition ends. Reduced motion still gets a fade. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
After 8 seconds (not while the pointer or keyboard is on it, nor while it is
downloading or reporting a failure) the update banner shrinks and flies into
the sidebar's version badge, which then turns into the update's button:
"Update" → "Updating 42%" → "Restart", with the version and what a click does
in its tooltip. One click downloads, the next restarts to install; where this
copy can't update itself it opens the release page. With the sidebar
collapsed it's a round download button in the footer.
Closing the banner tucks it away the same way; Skip still drops the version.
A new update offer (or a manual check) brings the banner back. Reduced motion
gets a plain fade.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
What and why
How it was tested
Checklist
npm run checkandnpm testpassAfter 8 seconds (not while the pointer or keyboard is on it, nor while it is
downloading or reporting a failure) the update banner shrinks and flies into
the sidebar's version badge, which then turns into the update's button:
"Update" → "Updating 42%" → "Restart", with the version and what a click does
in its tooltip. One click downloads, the next restarts to install; where this
copy can't update itself it opens the release page. With the sidebar
collapsed it's a round download button in the footer.
Closing the banner tucks it away the same way; Skip still drops the version.
A new update offer (or a manual check) brings the banner back. Reduced motion
gets a plain fade.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com