Commit Graph

7594 Commits

Author SHA1 Message Date
Eric Bailey 6e29591c34 Drop --paginate from nightly marker lookup
With --paginate, gh runs the jq aggregation per page and concatenates, so
sort_by | last ran per-page and extra workflow_dispatch runs could push past
per_page=100 and emit two URLs — which would break the curl download.

The artifacts API returns results newest-first, so the most recent marker is
always on page 1. Drop --paginate and take first(non-expired), which emits
exactly one URL (or none) by construction.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 17:46:49 -05:00
Eric Bailey 22ef002e3f Read iOS build number from the IPA, not the remote counter
setGitHubOutput.sh derives the build number from `eas build:version:get`,
which reads EAS's remote counter. A --local build doesn't advance that
counter, but use-build-number-with-bump bakes counter+1 into the IPA — so
the queried number can be one less than what actually lands in App Store
Connect. That made distribute_only poll for a nonexistent build and would
have announced the wrong number in Slack.

Read CFBundleVersion straight from the built IPA instead, which is the
value uploaded to ASC. Repoint the fastlane assignment, the workflow_call
build-number output, and the production Slack message at it.

Android's version code has the same drift source but is display-only there
(no version-code lookup gates submission), so it's left as-is.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 17:41:30 -05:00
Eric Bailey 1857df1a1f Cap nightly changelog by total length, not per line
cut -c1-3900 caps each line independently, so a busy nightly window could
still exceed Apple's 4000-char "What to Test" limit (and flood Slack). Use
head -c 3900 to cap the combined changelog stream.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 17:36:40 -05:00
Eric Bailey 09b2fa05b6 Move nightly note-gen, marker, and alerts to the orchestrator
The release notes, commit marker, and Slack alerts are nightly-specific, so
move them out of the build workflows and into nightly-build.yml:

- prepare job reads the previous nightly-build-commit artifact and generates
  the shared changelog once
- iOS/Android builds run in parallel, consuming the notes (iOS via a new
  releaseNotes input); both expose version/build outputs via workflow_call
- per-platform Slack jobs post the notes with that platform's version
- record job advances the marker only after both builds succeed, so a failed
  night's commits roll into the next successful nightly's notes

Also harden the TestFlight key cleanup with a trap ... EXIT so the App Store
Connect private key is removed even if fastlane exits non-zero under bash -e.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 17:35:19 -05:00
Eric Bailey 04860bad9c Post nightly changelog to Slack
After a nightly iOS build is assigned to the QA Team TestFlight group, post
the generated changelog to the nightly builds Slack channel via the
NIGHTLY_BUILDS_SLACK_WEBHOOK secret. The payload is built with jq so the
multi-line notes are safely JSON-encoded.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 17:22:41 -05:00
Eric Bailey 4c83dd80f3 Add TestFlight "What to Test" notes for nightly iOS builds
Generate the changelog from commits since the last nightly and pass it to
fastlane's upload_to_testflight changelog. The previous nightly's commit
SHA is stored as a dedicated nightly-build-commit artifact (independent of
the most-recent-testflight-commit cache), so the range is nightly-to-nightly.
Falls back to the last 30 commits when no prior marker is found.

Requires actions: read on the job to query past artifacts.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 17:08:17 -05:00
Eric Bailey 78ee0c8450 Add nightly iOS/Android build workflow
Add a scheduled workflow (2:10 AM UTC, after the nightly i18n job) that
builds both platforms via reusable workflow_call triggers:
- Android: testflight-android profile, producing an Internal release
- iOS: testflight profile, then assigns the build to the "QA Team"
  TestFlight group via fastlane (distribute_only)

Adds workflow_call triggers + an assignTestFlightGroup input to the iOS
workflow. Assigning to a TestFlight group requires App Store Connect API
key secrets (ASC_KEY_ID, ASC_ISSUER_ID, ASC_KEY_P8_BASE64), which still
need to be added to the repo.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 16:46:02 -05:00
Samuel Newman d10137fd78 Simplify Android build: bundletool + eas submit (#9855)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Eric Bailey <git@esb.lol>
2026-06-17 16:42:55 -05:00
Samuel Newman 2347d4f074 v1.125 release prep (#10936) 1.125.0 2026-06-17 05:28:47 -07:00
Alex Benzer b368cea557 Style follow buttons in expanded bundles, add client event on expand (#10915) 2026-06-17 03:13:57 -07:00
DS Boyce 728ee15e27 Flash message bubble when tapping a reply (#10929) 2026-06-17 03:11:56 -07:00
Samuel Newman 6af477bcc2 Replace setup-cocoapods action with inline version assert (#10932)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 02:51:59 -07:00
Samuel Newman 1b5242c1d6 Rip out Modal system completely (#9903) 2026-06-17 02:45:01 -07:00
DS Boyce 6bf1572ffc Increase chat bubble max width to 85% (was 80%) (#10930)
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
2026-06-17 02:29:05 -07:00
pfrazee c3a110a939 Nightly source-language update 2026-06-17 03:20:23 +00:00
Spence Pope f92712f34d Persist selected QR code color theme in invite friends dialog (#10892) 2026-06-16 20:07:50 -04:00
Eric Bailey 9825057bef Fix for AutosizedTextarea not resetting height after clear on Android (#10927) 2026-06-16 16:16:27 -05:00
DS Boyce e057d3bd54 Get unread counts vs counting convos (#10878) 2026-06-16 13:45:07 -07:00
Samuel Newman b90d3108ed Fix quote causing chat message to overflow on web (#10926) 2026-06-16 13:39:08 -07:00
Eric Bailey 255af85428 Ensure text composed via IME is visible (#10925) 2026-06-16 14:44:28 -05:00
Samuel Newman b8a6a8c8ce Pin every action to latest SHA (#10779)
Co-authored-by: Eric Bailey <git@esb.lol>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-06-16 14:35:19 -05:00
Samuel Newman 4c34149106 Delete gallery fallback (#10922) 2026-06-16 11:44:27 -07:00
Samuel Newman 2257e834dc Run eslint --fix (#10923) 2026-06-16 11:44:00 -07:00
Samuel Newman 8d4f59a146 Fix DM embeds being dropped when sending (#10924)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 11:43:49 -07:00
Samuel Newman 721965e67c Swipe to reply in chat (#10920)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 11:38:36 -07:00
Samuel Newman bb6847f396 Replace Add User to Lists Modal with modern Dialog (#9677)
Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
Co-authored-by: Eric Bailey <git@esb.lol>
2026-06-16 12:41:05 -05:00
Samuel Newman b8fdce6478 Message replies in chat (#10903)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 10:26:48 -07:00
DS Boyce f075187e57 Reset textarea height after clear (#10911) 2026-06-16 09:25:34 -07:00
dependabot[bot] 9dc73d2ec7 Bump vite from 8.0.12 to 8.0.16 in /bskyembed (#10912)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-16 07:36:59 -07:00
pfrazee 1c2fd5b280 Nightly source-language update 2026-06-16 03:20:12 +00:00
Eric Bailey d7e285aa24 Fix over-eager URL faceting in DMs composer (#10877) 2026-06-15 13:38:59 -05:00
Samuel Newman fdd08330f7 [Chat] Hide unread state for selected chat list item (#10910)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 10:16:20 -07:00
Samuel Newman 042fdf659d Use pnpm 11.7.0 (#10900) 2026-06-15 10:16:07 -07:00
Benjamin Wingerter 6dcb4c9a1f fix: truncate long display names in group chat member picker (#10899) (#10901) 2026-06-15 04:46:43 -07:00
Samuel Newman d20d021173 [Chat] Fix member count in SearchablePeopleList (#10909) 2026-06-15 02:47:43 -07:00
Samuel Newman 0204848cc4 [Chat] fix: enforce convo-present invariant for active convo states (#10906)
Co-authored-by: Claude <noreply@anthropic.com>
2026-06-15 02:47:14 -07:00
Samuel Newman 02a47fb4a6 Fix scroll edge effects on iOS 27 (#10907) 2026-06-14 07:07:33 -07:00
pfrazee 575b76a71e Nightly source-language update 2026-06-14 03:20:57 +00:00
Samuel Newman feff61a031 Add long-press menu to Chat tab for marking all as read (#10890) 2026-06-13 05:23:28 -07:00
pfrazee e1f86e49e7 Nightly source-language update 2026-06-13 03:18:35 +00:00
DS Boyce 6028532981 Update OTA docs (#10895) 2026-06-12 16:03:12 -07:00
DS Boyce 825d25847c Fix pluralization for group chat member counts (#10896) 2026-06-13 01:01:13 +03:00
Samuel Newman cd404023fb Fix chat firehose event handling and error recovery (#10884) 2026-06-13 01:01:00 +03:00
Samuel Newman 52b945b7be [Chat] Restructure MessageItem to prevent alignment issues (#10888) 2026-06-13 00:59:50 +03:00
Samuel Newman 9c346e5494 [Chat] Fix block dialog overflow issues (#10887) 2026-06-13 00:59:37 +03:00
Samuel Newman 714b1e205d Fix invite card avatar pile not reflecting member count (#10891) 2026-06-13 00:57:31 +03:00
Samuel Newman 1f90a4dfd9 [Chat] Change chat invite border color to low (#10886) 2026-06-13 00:57:16 +03:00
Samuel Newman 7310426ea7 [Chat] Hide blocked accounts' reactions in chats (#10889)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 11:19:22 -07:00
Alex Benzer 581d2b296d Fixes follow buttons inside notification bundles not changing state on follow (#10882) 2026-06-12 11:18:53 -07:00
DS Boyce ec695a42c5 Upgrade to pnpm 11.5.3 (#10879) 2026-06-12 00:01:41 -07:00