Skip to content

Give the update prompt a real dialog with a link to what's new - #1

Merged
jainnitin merged 1 commit into
masterfrom
update-dialog
Aug 3, 2026
Merged

Give the update prompt a real dialog with a link to what's new#1
jainnitin merged 1 commit into
masterfrom
update-dialog

Conversation

@jainnitin

Copy link
Copy Markdown
Owner

Why

The update prompt was a native ask() box — one run-on line with two version
numbers and a question, plus up to 400 characters of the release body pasted in.

That body was fixed CI text telling the reader to "download the installer for
your platform from the assets below"
— advice that makes sense on a release
page and none at all inside an app that is about to do the downloading itself.
And there was no way to find out what had actually changed, which is the one
thing worth knowing when deciding whether to install now or later.

What changed

A real dialog, styled like the link and audit dialogs already in the app:

  • The heading names the version on offer; the subtitle says which one you're
    leaving and that your work stays open.
  • Release notes render in a scrollable panel, with boilerplate lines filtered
    out so only substance shows.
  • "What's new" opens the full release page in a browser.
  • Download progress is a determinate bar inside the dialog, replacing toasts
    that could sit behind another window unseen. Buttons disable in place, so
    nothing shifts under the pointer mid-download.
  • The restart prompt offers "Restart now" and "On next launch" instead
    of OK and Cancel, which said nothing about what declining would do.

Real release notes. The workflow now sets generateReleaseNotes: true, so
releases carry GitHub's generated changelog and the panel has something worth
reading instead of the same paragraph every time.

Notes

  • No new dependencies; the dialog is plain HTML and CSS like the rest.
  • open_external_url already allow-lists schemes, so the link cannot be used to
    open anything local.
  • Telemetry gains update_notes_opened, which shows whether anyone actually
    wants the changelog — worth knowing before investing further here.

Verification

  • npm run preflight passes: build, tests, cargo fmt, clippy with warnings
    denied, workflow YAML, version agreement, credential scan.
  • Dialog rendered against the real stylesheet with representative content, at
    the size it will appear.
  • Not verified end to end: the download and restart path needs a real newer
    release to offer, which the next version bump will provide.

The prompt was a native ask() box: one run-on line stating two version
numbers and a question, with up to 400 characters of the release body
pasted in. That body was fixed CI text telling the reader to download an
installer from the assets — advice that makes sense on a release page and
none at all inside an app that is about to do the downloading. There was no
way to find out what had actually changed, which is the one thing worth
knowing when deciding whether to install now.

It is now a real dialog, styled like the others here. The heading names the
version on offer and the subtitle says which one you are leaving and that
your work stays open. Release notes appear in a scrollable panel, with
boilerplate lines filtered out. A "What's new" link opens the full release
page in a browser.

Download progress moves into the dialog as a determinate bar, replacing
toasts that could be missed behind other windows, and the buttons disable in
place so nothing shifts under the pointer mid-download. The restart prompt
now offers "Restart now" and "On next launch" rather than OK and Cancel,
which said nothing about what declining would do.

Releases carry GitHub's generated notes from now on, so the panel has real
content to show instead of the same paragraph every time.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c64d18f4-c303-4cc3-8823-0e1f1b855817
@jainnitin
jainnitin merged commit ad82845 into master Aug 3, 2026
1 check passed
@jainnitin
jainnitin deleted the update-dialog branch August 3, 2026 01:31
jainnitin pushed a commit that referenced this pull request Aug 3, 2026
Carries the redesigned update dialog from #1, which is also the first
version able to show its own release notes — the change is only visible
from a version that predates it, so 1.0.4 is what earlier installs will
be offered through the new prompt.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c64d18f4-c303-4cc3-8823-0e1f1b855817
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.

1 participant