"What's new" dialog after an update, listing changes from every version since the last one you ran #50

Open
opened 2026-10-06 00:40:54 +00:00 by robocub · 0 comments
Member

Testers on the developer builds often skip several builds at once. After an update, show a dialog that lists what changed in every version since the one they last opened, not just the latest.

What exists today

  • main_page.dart onFirstFrame already detects an update: preferences.lastOpenedVersion != BuildConfig.VERSION_TAG, and only for users who were logged in at startup.
  • Upstream's dialog (UpdateInstalledDialog, commetchat/commet#914) is only a thank-you/donate message with confetti and no change list. chore/fork-settings removed it from Vommet. So the hook is there but shows nothing now.

Proposal

  • Ship a changelog with the app (an asset such as assets/changelog.json), one entry per build: version label, date, and a short list of user-facing changes.
  • On update, show every entry newer than lastOpenedVersion, newest first, collapsible per version. If the previous version isn't in the file (very old, or a first run after the field was added), show the last few entries.
  • Keep a way to open it again later (Settings › About › "What's new").

Open questions

  • Ordering builds: CI labels are <branch>.<run_number>, but each workflow has its own counter (Flatpak and APK builds of the same commit get different numbers), so labels can't be compared. Key entries by something monotonic and shared, such as the commit's position on testing/main, its date, or a build number embedded in BuildConfig.
  • Where the text comes from: hand-written per release, or generated from VOMMET_CHANGES.md rows and commit subjects between builds? Generated is cheap but noisy. Probably generate a draft and edit it at release time.
  • Whether to show it on every dev build or only on tagged pre-releases (e.g. testing-2026-10-05b).

Upstream: no open issue, PR or branch for a changelog view (searched 2026-10-06).

Testers on the developer builds often skip several builds at once. After an update, show a dialog that lists what changed in **every** version since the one they last opened, not just the latest. ## What exists today - `main_page.dart` `onFirstFrame` already detects an update: `preferences.lastOpenedVersion` != `BuildConfig.VERSION_TAG`, and only for users who were logged in at startup. - Upstream's dialog (`UpdateInstalledDialog`, commetchat/commet#914) is only a thank-you/donate message with confetti and no change list. `chore/fork-settings` removed it from Vommet. So the hook is there but shows nothing now. ## Proposal - Ship a changelog with the app (an asset such as `assets/changelog.json`), one entry per build: version label, date, and a short list of user-facing changes. - On update, show every entry newer than `lastOpenedVersion`, newest first, collapsible per version. If the previous version isn't in the file (very old, or a first run after the field was added), show the last few entries. - Keep a way to open it again later (Settings › About › "What's new"). ## Open questions - **Ordering builds:** CI labels are `<branch>.<run_number>`, but each workflow has its own counter (Flatpak and APK builds of the same commit get different numbers), so labels can't be compared. Key entries by something monotonic and shared, such as the commit's position on `testing`/`main`, its date, or a build number embedded in `BuildConfig`. - **Where the text comes from:** hand-written per release, or generated from `VOMMET_CHANGES.md` rows and commit subjects between builds? Generated is cheap but noisy. Probably generate a draft and edit it at release time. - Whether to show it on every dev build or only on tagged pre-releases (e.g. `testing-2026-10-05b`). Upstream: no open issue, PR or branch for a changelog view (searched 2026-10-06).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
nether/vommet#50
No description provided.