Skip to content

Link to GitHub release notes in "About Zulip" page - #2390

Open
chrisbobbe wants to merge 9 commits into
zulip:mainfrom
chrisbobbe:claude/changelog-character-count-m2qomh
Open

Link to GitHub release notes in "About Zulip" page#2390
chrisbobbe wants to merge 9 commits into
zulip:mainfrom
chrisbobbe:claude/changelog-character-count-m2qomh

Conversation

@chrisbobbe

Copy link
Copy Markdown
Collaborator

Fixes #2389.

Screenshots coming soon.

chrisbobbe and others added 9 commits July 24, 2026 22:49
[ZulipBinding.syncPackageInfo] is the value [ZulipBinding.packageInfo]
resolved to, prefetched when the binding is initialized at startup.
Reading it directly means the page no longer has to await anything,
so it can be a StatelessWidget.

Not quite a no-op: the page now reads the value once as it builds,
where before it would rebuild if the prefetch resolved while the page
was already open. That window doesn't arise in practice, since the
prefetch starts at startup and this page is several taps away.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Split the switch on [ZulipBannerIntent] in two: a helper for the label
and background colors, which a second banner widget will want, and an
inline switch for the semantics role, which is particular to how this
banner appears.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
A rounded surface that sits inline in a page's content, taking the
width available where it's placed. The name distinguishes it from
[ZulipBanner], which sits below the app bar, and compose_box.dart's
private _Banner, which attaches to the compose box.

It takes the same [ZulipBannerIntent] as [ZulipBanner] and gets its
colors from the same [_intentColors], so the two can't drift apart.

Figma: https://www.figma.com/design/1JTNtYo9memgW7vV6d0ygq/Zulip-Mobile?node-id=13185-40768&m=dev

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
[ZulipBinding.syncPackageInfo] is null only if the prefetch at startup
failed. In that case, rather than showing the app-version row with a
placeholder in place of the version, replace the row with a warning
banner saying the version information could not be found.

That leaves appVersionUnknownPlaceholder with no users; drop the string.

Make TestZulipBinding.packageInfoResult nullable, so a test can
simulate the failed prefetch.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace the page's two rows with the "list button" component, each row
its own MenuButtonsShape group: "App version", which copies the version
string, and "Open-source licenses".

The licenses button gets a chevron, marking it as navigation within the
app. Its "Tap to view" subtitle goes away with the redesign, which
leaves aboutPageTapToView with no users; drop the string.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Figma doesn't have a mobile-specific icon for this, so take web's.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fixes zulip#2389.

Add a "Release notes" button next to "App version", opening that
version's release notes on GitHub. The URL is pinned by tag, so the
page always matches the running build.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The comment, from 4d6f561 in 2023, says the license page and its
child routes can't be dismissed on iOS with the swipe-away gesture.
Tried it just now: the gesture works as expected, on the page and on
the per-package pages it pushes. Drop the comment.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@chrisbobbe chrisbobbe added the maintainer review PR ready for review by Zulip maintainers label Jul 25, 2026
@chrisbobbe

Copy link
Copy Markdown
Collaborator Author
Before After
image image
image image
Also changed appearance when app version info not found (click to expand)

(We've never heard of anyone running into this and we don't expect it to ever happen, but I think this warning-banner appearance looks better.)

Before After
image image
image image

Also, the "App version" row now supports tapping to copy the version number:

Light Dark
image image

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

Labels

maintainer review PR ready for review by Zulip maintainers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Link to GitHub release notes in "About Zulip" page

2 participants