-
Notifications
You must be signed in to change notification settings - Fork 3.1k
[orchestrator-v2] fix(mobile): Stabilize iOS draft attachments, Hermes sort, and Home #3923
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
mwolson
wants to merge
138
commits into
pingdotgg:t3code/codex-turn-mapping
Choose a base branch
from
mwolson:fix/ios-v2-attachment-persistence
base: t3code/codex-turn-mapping
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
138 commits
Select commit
Hold shift + click to select a range
03ac1f0
fix(release): stage pnpm 11 allowBuilds for desktop installs (#3781)
juliusmarminge e775bc6
Upgrade Clerk toolchain to latest versions (#3785)
juliusmarminge 0c66565
fix(release): bump electron-builder so pnpm 11 deduped deps land in t…
avocardow 18a4138
Fix desktop native optional dependency packaging (#3816)
Prgm-code e912765
[codex] Upgrade Clerk stack (#3821)
juliusmarminge 3201e00
[codex] Preserve worktree metadata during branch sync (#3822)
juliusmarminge 2250e3e
feat(client): persist offline environment data and mobile preferences…
juliusmarminge ca1e08b
[codex] Label max and ultra reasoning (#3824)
juliusmarminge 843cf17
fix(mobile): embed fonts and render project favicons reliably (#3823)
juliusmarminge 8619ef2
Show compact PR number badges in mobile thread rows (#3827)
juliusmarminge f61fa94
Expose mobile PR indicator labels to accessibility (#3828)
juliusmarminge ef943a2
Fix truncated chat error alert layout (#3899)
jakeleventhal 619b0ec
fix(marketing): show platform-appropriate commit shortcut on the webs…
VedankPurohit c1ec191
[codex] Add Android mobile support (#3579)
juliusmarminge bfd9ca3
fix(mobile): Backport iOS runtime and chat stability fixes
mwolson 3e7ed41
fix(mobile): Account for header in thread fit checks
mwolson c62877c
fix(mobile): Stabilize screenshot attachment layout
mwolson ca998a4
fix(mobile): Harden iOS crash capture and stack option updates
mwolson f347d3e
fix(mobile): Satisfy SwiftLint opening_brace in T3CrashLog
mwolson de8b9f6
fix(client-runtime): Heal shell archive membership on reconnect
mwolson 666bf0a
fix(client-runtime): Apply socket shell heal authoritatively
mwolson 292609f
fix(client-runtime): Clear socket-authoritative flag after HTTP heal
mwolson 07c6c32
test(server): Harden CursorAdapter log wait for CI load
mwolson 7b2a0a3
test(server): Use wall-clock waits in CursorAdapter log polling
mwolson ed1a5f2
fix(mobile): Keep threadScreenOptions useMemo above early returns
mwolson 4311beb
Confirm resumed thread subscriptions (#2)
twistedgrim 73c2c48
fix(orchestration): Gate thread resume sync marker after catch-up
mwolson 936f67f
fix(client-runtime): Hold shell list until server heal on reconnect
mwolson 6aabd97
fix(client-runtime): Delay shell disk paint and re-arm sync marker
mwolson 924ad10
fix(mobile): Keep chat content above composer when keyboard opens on …
mwolson c68ddeb
feat(integration): Merge codex-turn-mapping into ios-fixes-main as v2…
mwolson 03025ce
fix(mobile): Stabilize CTM iOS draft attachments, Hermes sort, and Home
mwolson 0a2efa9
fix(client-runtime): Normalize V2 shell archive membership
mwolson 8346525
fix(mobile): Preserve Android scroll position on keyboard close
mwolson 2ec85a8
fix(deps): Update keyboard controller patch lockfile
mwolson 8de254a
Use client-side fallbacks for missing project favicons (#3959)
juliusmarminge 735240f
Skip stale working-task notifications (#3961)
juliusmarminge 3513fa0
Prepare Android beta branding and review diff UI (#3967)
juliusmarminge 2fdc704
perf(web): duty-cycle status animations and remove fixed noise overla…
t3dotgg 7b928d5
fix(docs): correct CI task-runner commands in ci.md (#3990)
kridaydave c69120f
fix(docs): repair broken source links in architecture overview (#3991)
kridaydave 4624426
fix(docs): replace stale codething-mvp absolute paths with repo-relat…
kridaydave d359789
docs: Add T3 Code Legal Docs (#3972)
juliusmarminge ecb35f7
Fix Legal modal header crash (#4000)
juliusmarminge b982337
[codex] Fix onboarding connection status (#4001)
juliusmarminge 5e8b2c8
Isolate native diff highlight grammar state (#4029)
juliusmarminge 0418301
Fix macOS fullscreen titlebar spacing (#4019)
D3OXY d114e27
Prevent duplicate project workspace roots (#3829)
juliusmarminge 54f167e
Normalize over-indented markdown list items (#4020)
juliusmarminge 1620f1f
fix(mobile): Persist crash diagnostics before runtime fatals
juliusmarminge 22c58ed
fix(mobile): Recover thread state reliably after reconnects
juliusmarminge d007a73
fix(mobile): Stabilize thread feed layout and Markdown rendering
juliusmarminge 7996467
fix(mobile): Stabilize native stack option updates
juliusmarminge b5b2ecd
chore: update patched dependency lockfile
juliusmarminge 8f45962
fix(mobile): Keep chat pinned during Android keyboard open
juliusmarminge f4457a8
chore: update patched dependency lockfile
juliusmarminge ab640b5
chore: update patched dependency lockfile
juliusmarminge bde0a4c
Resolve localhost preview URLs for remote environments (#4011)
juliusmarminge 959a39b
refactor(mobile): Keep outbox attachment conversion with composer upl…
juliusmarminge f356466
fix(mobile): Compare native stack options structurally
juliusmarminge 3c97855
fix(mobile): Include native header inset in feed fit checks
juliusmarminge 5fcfe27
fix(mobile): Refresh thread feed composer height estimates
juliusmarminge af4ea04
fix(mobile): Preserve crash log capture ordering
juliusmarminge 2f86672
fix(mobile): Wait for thread synchronization before retrying
juliusmarminge 26bb099
fix(mobile): Keep native header callbacks current
juliusmarminge 6209d13
fix(mobile): Safely serialize fatal errors
juliusmarminge 8b0ce3c
fix(mobile): Preserve measured thread composer height
juliusmarminge f3d9691
fix(mobile): Handle cyclic native stack options
juliusmarminge 9ff248f
fix(mobile): Preserve stalled thread retry attempts
juliusmarminge 6abdfd3
fix(mobile): Reset thread composer measurements
juliusmarminge 775d0b1
fix(mobile): Preserve composer card measurements
juliusmarminge 2a33a18
fix(mobile): Send composer images in upload wire format (#4035)
juliusmarminge 5d68fca
Fix iOS terminal Enter input encoding (#4043)
juliusmarminge fdca154
Add native mobile share target support (#4021)
juliusmarminge 62f3298
feat(integration): Merge ios-fixes-main into v2-base
mwolson 30b5502
feat(integration): Merge v2-base into ios-v2-attachment-persistence
mwolson 8a02c71
[codex] Expand real-route app store screenshot harness (#4014)
juliusmarminge eb733c1
fix(server): use CLAUDE_CONFIG_DIR instead of HOME for Claude instanc…
dmstoykov 7f53a54
Merge branch 'main' into codex/pr3910-thread-feed-layout
juliusmarminge c14a5ca
Fix dropped events during initial thread snapshot (#4079)
D3OXY 1f27973
feat: show nightly update changelog tooltip (#3832)
HugoVizcainoSantana 58302b2
fix(git): treat selected commit paths literally (#3998)
EricTsai83 8b54698
fix(server): stabilize non-repository Git diagnostics (#4077)
EricTsai83 6e9987c
Refresh app icons across release variants (#4080)
juliusmarminge 0748134
Update marketing GitHub star count (#4088)
AmoonPod 4804a98
fix(marketing): correct Cursor icon color (#4090)
AmoonPod c49d424
Normalize protocol-relative remote host input as https (#3971)
kridaydave 7f1cb61
fix(cursor): default binary path to cursor-agent (avoid path conflict…
BunnyGamezsc f9a4f59
Fix documented task-runner commands (bun run -> vp) (#3965)
kridaydave a7f6d97
Allow preview panel to grow on wide displays (#4044)
olivoil acfb78a
Merge branch 'main' into codex/pr3910-reconnect-recovery
juliusmarminge d73fe59
Merge branch 'main' into codex/pr3910-stack-options
juliusmarminge 4aa272b
fix(mobile): reset stalled thread watchdog on navigation
juliusmarminge e057e2e
fix: prevent initial right-click from selecting a context menu item (…
Fazalkadivar21 7dc7512
Fix duplicate keybinding rule when replacing with an existing rule (#…
kridaydave ed81c15
fix(server): image upload crashed dispatchCommand with a stack overfl…
t3dotgg b49a2e6
Remove unused code parameter from describePreviewError (#3970)
kridaydave bcd640b
[codex] prevent ACP assistant ID collisions after restarts (#3932)
maxwellyoung 7b8d126
fix(web): inset Windows desktop scrollbars from resize edge (#4097)
nateEc 6a17629
[codex] fix mobile composer Enter behavior (#3930)
maxwellyoung cf58cad
feat(server): include runtime model and effort in Codex developer ins…
t3dotgg 143b9c9
fix(ux): spamming cmd + , no longer stack opening settings (#2757)
jamesx0416 1047dac
fix(terminal): strip AppImage runtime env from spawned terminals (#3108)
leorivastech 4e3f2f0
fix(server): thread cwd through Claude capability probe (#2048) (#2124)
mvanhorn b655a9f
[codex] fix: guard invalid web timestamps (#3515)
StiensWout 43e2aea
[codex] fix: tolerate invalid latest user message timestamps (#3521)
StiensWout 73bf127
[codex] Fix provider update checks restore defaults (#3531)
StiensWout 31ca9e5
fix(server): skip undecodable provider runtime rows when listing sess…
t3dotgg 24f9c2a
Share MCP OAuth locks across Codex shadow homes (#4104)
juliusmarminge 8b33799
Preserve T3 Code identity in macOS development launcher (#4102)
juliusmarminge 5ca3266
fix(web): increase contrast of question option descriptions (#3867)
xxashxx-svg 1bd2fa2
feat: draft hero landing on the index route (#4055)
yordis 4cfec8c
feat: file explorer mention actions and zoom-aware context menus (#4054)
yordis 2318e00
fix(web): avoid duplicate mention text on paste
juliusmarminge 03e20c8
fix(mobile): restore iOS home screen branding (#4025)
PixPMusic 765e1b5
perf(client): defer active thread cache writes (#4006)
Chrrxs 38e0bb0
Default diffs to working changes (#3974)
jakeleventhal e350c0a
Add Grok to marketing site provider list (#3484)
Aditya190803 31caa56
Fix reopening existing Diff tab (#3973)
jakeleventhal d8b12ae
Fix sending messages during active turns (#3919)
jakeleventhal d0b9f8d
[codex] Route OpenCode missing-session errors through Effect (#3608)
StiensWout c0e161a
[fix/feat:ui] Show default option badge (#3232)
sandersonstabo e63403f
[fix/feat:ui] Preserve open-in editor brand colors (#3225)
sandersonstabo b859a57
fix(web): handle macOS Home and End in composer (#2508)
GuilhermeVieiraDev 0506508
Allow failed remote environments to be removed (#4084)
zepi2509 d120997
Merge branch 'main' into codex/pr3910-reconnect-recovery
juliusmarminge da3c203
[codex] canonicalize client timestamps (#4112)
maxwellyoung 5c66110
[fix/feat:ui] Make selected menu checks blue (#3234)
sandersonstabo bf76535
fix(desktop): Validate WSL node version against engine range after pr…
UtkarshUsername ebe8afb
Refresh splash screen and favicon branding (#4120)
juliusmarminge b3a26ec
feat(integration): Merge #4033 into ios-integration
mwolson 2c525dd
feat(integration): Merge #4034 into ios-integration
mwolson 87f9a8e
feat(integration): Merge #4036 into ios-integration
mwolson 5c29e8d
feat(integration): Merge #4037 into ios-integration
mwolson 5d521c9
feat(integration): Merge #4038 into ios-integration
mwolson 6b7a171
feat(integration): Merge ios-integration into v2-base
mwolson 09fffc9
fix(web): Subscribe to thread shell unconditionally for draft routes
mwolson 47dc628
feat(integration): Merge v2-base into fix/ios-v2-attachment-persistence
mwolson File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,134 @@ | ||
| name: Mobile Showcase Screenshots | ||
|
|
||
| on: | ||
| workflow_dispatch: | ||
| inputs: | ||
| platform: | ||
| description: Device platforms to capture | ||
| required: true | ||
| default: all | ||
| type: choice | ||
| options: | ||
| - all | ||
| - ios | ||
| - android | ||
| appearance: | ||
| description: System appearances to capture | ||
| required: true | ||
| default: both | ||
| type: choice | ||
| options: | ||
| - both | ||
| - dark | ||
| - light | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| env: | ||
| NODE_OPTIONS: --max-old-space-size=8192 | ||
|
|
||
| jobs: | ||
| ios: | ||
| name: iPhone 6.9, iPhone 6.5, and iPad 13 | ||
| if: inputs.platform == 'all' || inputs.platform == 'ios' | ||
| runs-on: blacksmith-12vcpu-macos-26 | ||
| timeout-minutes: 60 | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v6 | ||
|
|
||
| - name: Setup Vite+ | ||
| uses: voidzero-dev/setup-vp@v1 | ||
| with: | ||
| node-version-file: package.json | ||
| cache: true | ||
| run-install: true | ||
|
|
||
| - name: Expose pnpm | ||
| run: | | ||
| pnpm_version="$(node --print "require('./package.json').packageManager.split('@').pop()")" | ||
| vp_pnpm_bin="$HOME/.vite-plus/package_manager/pnpm/$pnpm_version/pnpm/bin" | ||
| echo "$vp_pnpm_bin" >> "$GITHUB_PATH" | ||
| "$vp_pnpm_bin/pnpm" --version | ||
|
|
||
| - name: Capture iOS showcase | ||
| run: pnpm screenshots:mobile --platform ios --appearance "${{ inputs.appearance }}" | ||
|
|
||
| - name: Validate App Store Connect assets | ||
| run: pnpm screenshots:mobile --platform ios --appearance "${{ inputs.appearance }}" --validate-only | ||
|
|
||
| - name: Upload iOS screenshots | ||
| if: always() | ||
| uses: actions/upload-artifact@v7 | ||
| with: | ||
| name: app-store-connect-screenshots | ||
| path: artifacts/app-store/screenshots/apple/ | ||
| if-no-files-found: warn | ||
| retention-days: 14 | ||
|
|
||
| android: | ||
| name: Android phone, 7-inch tablet, and 10-inch tablet | ||
| if: inputs.platform == 'all' || inputs.platform == 'android' | ||
| runs-on: blacksmith-16vcpu-ubuntu-2404 | ||
| timeout-minutes: 60 | ||
| env: | ||
| T3_SHOWCASE_ANDROID_ABI: x86_64 | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v6 | ||
|
|
||
| - name: Setup Vite+ | ||
| uses: voidzero-dev/setup-vp@v1 | ||
| with: | ||
| node-version-file: package.json | ||
| cache: true | ||
| run-install: true | ||
|
|
||
| - name: Expose pnpm | ||
| run: | | ||
| pnpm_version="$(node --print "require('./package.json').packageManager.split('@').pop()")" | ||
| vp_pnpm_bin="$HOME/.vite-plus/package_manager/pnpm/$pnpm_version/pnpm/bin" | ||
| echo "$vp_pnpm_bin" >> "$GITHUB_PATH" | ||
| "$vp_pnpm_bin/pnpm" --version | ||
|
|
||
| - name: Setup Java | ||
| uses: actions/setup-java@v5 | ||
| with: | ||
| distribution: temurin | ||
| java-version: 17 | ||
|
|
||
| - name: Setup Gradle cache | ||
| uses: gradle/actions/setup-gradle@v5 | ||
|
|
||
| - name: Enable KVM | ||
| run: | | ||
| echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS="static_node=kvm"' \ | ||
| | sudo tee /etc/udev/rules.d/99-kvm4all.rules | ||
| sudo udevadm control --reload-rules | ||
| sudo udevadm trigger --name-match=kvm | ||
|
|
||
| - name: Capture Android showcase | ||
| uses: reactivecircus/android-emulator-runner@v2 | ||
| with: | ||
| api-level: 36 | ||
| target: google_apis | ||
| arch: x86_64 | ||
| profile: pixel_7_pro | ||
| avd-name: Pixel_10_Pro | ||
| cores: 8 | ||
| ram-size: 4096M | ||
| disable-animations: false | ||
| script: pnpm screenshots:mobile --platform android --appearance "${{ inputs.appearance }}" | ||
|
|
||
| - name: Validate Google Play assets | ||
| run: pnpm screenshots:mobile --platform android --appearance "${{ inputs.appearance }}" --validate-only | ||
|
|
||
| - name: Upload Android screenshots | ||
| if: always() | ||
| uses: actions/upload-artifact@v7 | ||
| with: | ||
| name: google-play-screenshots | ||
| path: artifacts/app-store/screenshots/google-play/ | ||
| if-no-files-found: warn | ||
| retention-days: 14 |
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| { | ||
| "expo": {} | ||
| } | ||
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.