fix(mobile): pin expo-audio so the release smoke patch stays in use - #11518
Merged
juliusmarminge merged 3 commits intoSep 13, 2026
Merged
juliusmarminge merged 3 commits into
juliusmarminge merged 3 commits into
Conversation
apps/mobile declares expo-audio as ~57.0.4 while patchedDependencies carries expo-audio@57.0.4. The release smoke regenerates the lockfile in an isolated root, where ~57.0.4 resolves to the newer 57.0.5 and pnpm fails with ERR_PNPM_UNUSED_PATCH. Pin the dependency to 57.0.4, matching the upstream fix in pingdotgg#11426, so the still-needed patch (error reporting in AudioRecorder.didFinish, not present upstream in 57.0.5) stays applied and frozen installs stay reproducible. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Contributor
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — The PR is a bounded dependency-resolution fix that preserves the existing patched mobile audio package, alongside test maintenance, a legitimate Knip entry-point registration, and dead-code cleanup. No new capability, product default, sensitive area, or material existing-path behavior change is introduced. You can add or adjust custom eligibility rules. Learn more. |
knip:check reported apps/server/scripts/verify-background-live.ts as an unused file even though docs/operations/background-verification.md documents it as the live provider verification entry point. Register it as an apps/server knip entry alongside the other runnable scripts. The exports pass also flagged two exports that lost their consumers in the v2 port: autoSettlementSettingsKey lost the unit tests that used it (restored from main's ThreadSettlementReactor.test.ts), and foldUserInputActivities plus projectQuestionToolInput became dead once the server started attaching questionAnswer to resolved turn items. Model: SWE-2 High via T3 Code (Cursor harness). Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
The "hide subagent threads from v2 lists" change made getThreadListV2OrderedSection read thread.lineage, but the pending-move suite still hand-cast partial EnvironmentThreadShell rows, so all five cases crashed with "Cannot read properties of undefined". Build the rows through makeThreadShellFixture so the fixtures track every field the shared section helper reads; assertions are unchanged. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
macroscopeapp
Bot
dismissed
their stale review
September 13, 2026 04:01
Dismissing prior approval to re-evaluate cec7012
This was referenced Sep 13, 2026
juliusmarminge
merged commit Sep 13, 2026
a8cc38b
into
pingdotgg:t3code/codex-turn-mapping
24 checks passed
juliusmarminge
pushed a commit
that referenced
this pull request
Sep 14, 2026
…11518) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
juliusmarminge
pushed a commit
that referenced
this pull request
Sep 15, 2026
…11518) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
juliusmarminge
pushed a commit
that referenced
this pull request
Sep 15, 2026
…11518) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
juliusmarminge
pushed a commit
that referenced
this pull request
Sep 15, 2026
…11518) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
juliusmarminge
pushed a commit
that referenced
this pull request
Sep 15, 2026
…11518) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
juliusmarminge
pushed a commit
that referenced
this pull request
Sep 15, 2026
…11518) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
saphid
pushed a commit
to saphid/t3code
that referenced
this pull request
Sep 15, 2026
Release Smoke regenerates the lockfile in an isolated root, where the transitive expo-modules-core range resolves to a newer 57.x and pnpm fails with ERR_PNPM_UNUSED_PATCH for expo-modules-core@57.0.14. Pin it via overrides — the same mechanism the workspace already uses for expo-constants, expo-router and @expo/metro-config — so the declared patch stays applied. Carried dependency repair for the shared-base failure blocking this PR (task-27 scope; PR pingdotgg#11518's expo-audio pin was already absorbed by the rewritten base and did not cover this package). Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
saphid
pushed a commit
to saphid/t3code
that referenced
this pull request
Sep 15, 2026
Release Smoke regenerates the lockfile in an isolated root, where the transitive expo-modules-core range resolves to a newer 57.x and pnpm fails with ERR_PNPM_UNUSED_PATCH for expo-modules-core@57.0.14. Pin it via overrides — the same mechanism the workspace already uses for expo-constants, expo-router and @expo/metro-config — so the declared patch stays applied. Carried dependency repair for the shared-base failure blocking this PR (task-27 scope; PR pingdotgg#11518's expo-audio pin was already absorbed by the rewritten base and did not cover this package). Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
juliusmarminge
pushed a commit
that referenced
this pull request
Sep 16, 2026
…11518) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
saphid
pushed a commit
to saphid/t3code
that referenced
this pull request
Sep 16, 2026
Release Smoke regenerates the lockfile in an isolated root, where the transitive expo-modules-core range resolves to a newer 57.x and pnpm fails with ERR_PNPM_UNUSED_PATCH for expo-modules-core@57.0.14. Pin it via overrides — the same mechanism the workspace already uses for expo-constants, expo-router and @expo/metro-config — so the declared patch stays applied. Carried dependency repair for the shared-base failure blocking this PR (task-27 scope; PR pingdotgg#11518's expo-audio pin was already absorbed by the rewritten base and did not cover this package). Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
saphid
pushed a commit
to saphid/t3code
that referenced
this pull request
Sep 16, 2026
Release Smoke regenerates the lockfile in an isolated root, where the transitive expo-modules-core range resolves to a newer 57.x and pnpm fails with ERR_PNPM_UNUSED_PATCH for expo-modules-core@57.0.14. Pin it via overrides — the same mechanism the workspace already uses for expo-constants, expo-router and @expo/metro-config — so the declared patch stays applied. Carried dependency repair for the shared-base failure blocking this PR (task-27 scope; PR pingdotgg#11518's expo-audio pin was already absorbed by the rewritten base and did not cover this package). Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
juliusmarminge
pushed a commit
that referenced
this pull request
Sep 16, 2026
…11518) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
juliusmarminge
pushed a commit
that referenced
this pull request
Sep 16, 2026
…11518) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
juliusmarminge
pushed a commit
that referenced
this pull request
Sep 16, 2026
…11518) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
juliusmarminge
pushed a commit
that referenced
this pull request
Sep 16, 2026
…11518) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
apps/mobile/package.jsondeclaresexpo-audioas~57.0.4whilepatchedDependenciescarriesexpo-audio@57.0.4. The release smoke (node scripts/release-smoke.ts) regenerates the lockfile in an isolated manifest root viavp install --lockfile-only --ignore-scripts; fresh resolution of~57.0.4now selects57.0.5, so the pinned patch is unused and pnpm fails withERR_PNPM_UNUSED_PATCH, failing the Release Smoke job.This pins
expo-audioto57.0.4— the same fix already landed onmainin #11426 — so the still-needed patch stays applied. The patch (error reporting inAudioRecorder.didFinish) is not present upstream in57.0.5, so removing it would regress recording-error behavior; porting it to57.0.5is unnecessary scope.Review ranges
The head carries three distinct commits; please review each range independently:
0d606c8a..88301853a— this PR's repair: the expo-audio pin + lockfile specifier (manifest-only).88301853a..7c6fdd0f8— prerequisite CI repair cherry-picked from fix(ci): register the live background verifier and drop dead v2 exports #11513 (knip: register the live background verifier and drop dead v2 exports) to keep theCheckjob green on this base.7c6fdd0f8..cec7012f7c— prerequisite CI repair cherry-picked from fix(mobile): rebuild pending-move fixtures with the shared shell factory #11517 (rebuild pending-move fixtures with the shared shell factory) to keep theTestjob green on this base.The dependency commits are distinct, credited, and owned by their own PRs; they exist here only so this head is fully green against the current base.
Test plan
node scripts/release-smoke.tsbefore: exit 1 withERR_PNPM_UNUSED_PATCH ... expo-audio@57.0.4node scripts/release-smoke.tsafter: exit 0,Release smoke checks passed.— isolated install resolvesexpo-audio@57.0.4and the patch appliesvp install --frozen-lockfile --ignore-scripts: exit 0, lockfile up to dateexpo-audio@57.0.4(ios/AudioRecorder.swiftcarries thedidFinisherror-state fix); upstream57.0.5tarball confirmed still unpatchedvp test run scripts/resolve-nightly-release.test.ts: 7/7 passRelease Smokecheck: green on this headGenerated with SWE-2 via Devin/T3 (OV2 delivery campaign, issue saphid/t3code-personal#298).