Skip to content

feat(settings): version card for TestFlight builds, kept current by the release manifest - #1072

Merged
bmc08gt merged 7 commits into
mainfrom
ci/release-manifest
Oct 15, 2026
Merged

bmc08gt merged 7 commits into
mainfrom
ci/release-manifest

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Oct 15, 2026 •

Copy link
Copy Markdown
Collaborator

This adds the version-card states #1070 left for a follow-up: TestFlight, debug and staff builds. It also keeps testflight.build in .well-known/release-manifest.json current, because those states read it.

Version card

  • Debug: the latest TestFlight build shows as a caption.
  • TestFlight install with a newer build out: the card is pinned and shows an Update button that opens TestFlight.
  • Staff on a store build: the card shows a Try it button when TestFlight is ahead.
  • A store update still takes priority. On these cards the build number is shown next to the version in the title.

Manifest

  • fastlane update_release_manifest raises testflight.build to the newest processed iOS build and never lowers it. It edits only the working tree.
  • The release lane writes the released version to production.version and resets production.priority to 0, so the previous release's forced-update priority doesn't linger.
  • fastlane/release_manifest.rb holds the rewrite logic separately from the Fastfile. It moves updated only when a value changes, so a run that changes nothing doesn't produce a commit.
  • fastlane/test/release_manifest_test.rb covers that rewrite and checks the committed manifest still has the shape UpdateCheck.swift decodes. Run it with ruby fastlane/test/release_manifest_test.rb; no CI job runs it yet.

Workflows

  • deploy.yml: when wait is on, it checks out main after the deploy, runs the lane there and pushes build: update release manifest to main as github-actions[bot]. This uses the same token and push steps as prep-dev.yml.
  • release-manifest.yml (new): manual dispatch that does the same thing without a deploy.
  • Both need a new BOT_GITHUB_TOKEN secret.

Both workflows run main's Fastfile against main's manifest, so neither works until this merges.

@bmc08gt bmc08gt self-assigned this Oct 15, 2026
Debug shows the latest TestFlight build as a caption. A TestFlight install
with a newer build pins the card with Update, which opens TestFlight. Staff
on a store build get the card with Try it when TestFlight is ahead. A store
update still wins, and the build number joins the title on these variants.
@bmc08gt
bmc08gt changed the base branch from feat/settings-update-card to main October 15, 2026 11:44
@bmc08gt
bmc08gt force-pushed the ci/release-manifest branch from f8b2f0c to 1b44b7b Compare October 15, 2026 11:45
@bmc08gt
bmc08gt merged commit 24ff9c9 into main Oct 15, 2026
2 of 3 checks passed
bmc08gt added a commit that referenced this pull request Oct 16, 2026
* origin/main: (23 commits)
  feat(chat): open message links on the linked message (#1055)
  fix(chat): load the link preview for a draft restored on opening a chat
  fix(chat): bring a removed link preview back once its link is edited out of the draft
  fix(chat): animate the composer link card in and out on the chip spring
  fix(chat): draw the composer link preview as a compact card with its remove button on the corner
  fix(chat): enlarge the composer link image and pin its remove button to it
  feat(chat): send a link preview alongside staged photos
  feat(chat): show the link preview's page in the composer before its image uploads
  feat(chat): draw a web card from the sender's preview and drop the receive-side fetch
  feat(chat): build a link preview in the composer and send it with the text
  feat(chat): carry a text message's link preview on the wire and in the store
  feat(chat): add the sender-side link preview checks and their shared vectors
  fix(chat): match Android's update-app bubble border and subtitle
  fix(chat): stand the jump button outside the bar clip so the reply strip no longer leaks (#1074)
  build: update release manifest
  fix(home): draw unselected tab glyphs and labels white on every iOS version (#1073)
  feat(settings): version card for TestFlight builds, kept current by the release manifest (#1072)
  feat(settings): add the update dot and version card (#1070)
  feat(update): tell users when a newer App Store version is out (#1069)
  feat(chat): jump-to-bottom button with unread badge (#1068)
  ...

# Conflicts:
#	Flipcash/Core/Screens/Conversation/LinkCardClassifier.swift
#	Flipcash/Core/Screens/Conversation/LinkCardFeed.swift
#	Flipcash/Core/Screens/Conversation/LinkCardResolver.swift
#	Flipcash/Core/Session/SessionAuthenticator.swift
#	FlipcashCore/Sources/FlipcashCore/Models/Chat/LinkCard.swift
#	FlipcashTests/Chat/LinkCardResolverTests.swift
#	FlipcashUI/Sources/FlipcashUI/Chat/ChatShareProfileCell.swift
#	FlipcashUI/Sources/FlipcashUI/Chat/LinkCardSource.swift
#	FlipcashUI/Sources/FlipcashUI/Chat/LinkCardView.swift
bmc08gt added a commit that referenced this pull request Oct 16, 2026
…t/message-link-share

* origin/feat/message-link-card: (23 commits)
  feat(chat): open message links on the linked message (#1055)
  fix(chat): load the link preview for a draft restored on opening a chat
  fix(chat): bring a removed link preview back once its link is edited out of the draft
  fix(chat): animate the composer link card in and out on the chip spring
  fix(chat): draw the composer link preview as a compact card with its remove button on the corner
  fix(chat): enlarge the composer link image and pin its remove button to it
  feat(chat): send a link preview alongside staged photos
  feat(chat): show the link preview's page in the composer before its image uploads
  feat(chat): draw a web card from the sender's preview and drop the receive-side fetch
  feat(chat): build a link preview in the composer and send it with the text
  feat(chat): carry a text message's link preview on the wire and in the store
  feat(chat): add the sender-side link preview checks and their shared vectors
  fix(chat): match Android's update-app bubble border and subtitle
  fix(chat): stand the jump button outside the bar clip so the reply strip no longer leaks (#1074)
  build: update release manifest
  fix(home): draw unselected tab glyphs and labels white on every iOS version (#1073)
  feat(settings): version card for TestFlight builds, kept current by the release manifest (#1072)
  feat(settings): add the update dot and version card (#1070)
  feat(update): tell users when a newer App Store version is out (#1069)
  feat(chat): jump-to-bottom button with unread badge (#1068)
  ...
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