Skip to content

sync: port upstream platform foundations, contracts, CI, and early mobile/desktop fixes (#4767–#5066) - #204

Merged
cursor[bot] merged 26 commits into
mainfrom
codex/sync-20260806-l1-platform-ci-63f7
Aug 6, 2026
Merged

sync: port upstream platform foundations, contracts, CI, and early mobile/desktop fixes (#4767–#5066)#204
cursor[bot] merged 26 commits into
mainfrom
codex/sync-20260806-l1-platform-ci-63f7

Conversation

@aaditagrawal

@aaditagrawal aaditagrawal commented Aug 6, 2026

Copy link
Copy Markdown
Owner

Bottom of the 2026-08-06 upstream sync stack (L1/7).

Fork was 83 unique commits behind upstream/main since ancestry 4ba4871a. This layer ports the first 21.

What lands

Fork deviations preserved

  • CI stays on GitHub-hosted public runners (macos-26 / ubuntu-24.04) and the fork repo gate (aaditagrawal/t3code)
  • Mobile APP_VERSION helper kept; default bumped to 1.0.1
  • Follow-up: fix: format index.css for vp check (CI vp 0.2.2 formatting)

Verification

vp check and vp run typecheck pass on the branch tip.

Stacked below L2 (#206). Review bottom-up.

Open in Web Open in Cursor 

Summary by CodeRabbit

  • New Features

    • Added a compact “Code” brand header and environment labels across mobile.
    • Added native paste support in the mobile editor.
    • Desktop update notifications now include release-notes links.
    • Linux desktop OAuth callbacks support application URL schemes.
  • Bug Fixes

    • Improved mobile pairing URL handling for IP addresses and hostnames.
    • Improved project favicon loading, caching, and refresh behavior.
    • Mobile tasks now honor configured workspace and available model settings.
    • Increased compatibility with newer server configuration data.
  • Permissions

    • Removed unnecessary microphone and photo-library permissions from mobile image features.

gabrielelpidio and others added 22 commits August 6, 2026 02:24
Co-authored-by: aaditagrawal <aaditagrawal@users.noreply.github.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

Co-authored-by: aaditagrawal <aaditagrawal@users.noreply.github.com>
actions/checkout implements sparse-checkout with --filter=blob:none, so
the runner repo is a partial clone missing the .repos/ blobs. eas-cli
archives the project via `git clone --depth 1 file://<workspace>`,
which upload-pack cannot serve from a partial clone and exits 128
(pingdotgg#4802 broke both EAS build workflows this way).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…/ scheme on Linux (pingdotgg#5015)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…elpers (pingdotgg#5027)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ingdotgg#5025)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… to new tasks (pingdotgg#5064)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Keep formatter-clean CSS after sync and refresh the lockfile importer
entries for the Clerk catalog bump from pingdotgg#5015.

Co-authored-by: aaditagrawal <aaditagrawal@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@cursor[bot], you've reached your PR review limit, so we couldn't start this review.

Next review available in: 14 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 74d71564-5822-48a0-8746-e986992d27fb

📥 Commits

Reviewing files that changed from the base of the PR and between 7d99330 and 7d52eed.

📒 Files selected for processing (2)
  • .github/workflows/mobile-eas-preview.yml
  • docs/operations/mobile-app-store-screenshots.md
📝 Walkthrough

Walkthrough

This PR updates CI and release workflows, desktop startup, mobile navigation and task flows, favicon caching, forward-compatible contracts, Git status caching, web update notifications, and mobile showcase tooling.

Changes

Workflow and dependency installation

Layer / File(s) Summary
Workflow and tooling updates
.github/workflows/*, oxlint-plugin-t3code/test/utils.ts, pnpm-workspace.yaml, .github/ISSUE_TEMPLATE/*
Workflows add concurrency, sparse checkout, and scoped dependency installation. Issue templates, oxlint execution, Clerk versions, and mobile test guidance are updated.

Desktop application behavior

Layer / File(s) Summary
Desktop identity and update flows
apps/desktop/src/app/*, apps/desktop/src/electron/*, apps/web/src/components/desktopUpdate.*, apps/web/src/components/Sidebar.tsx, apps/web/src/components/sidebar/SidebarUpdatePill.tsx, scripts/build-desktop-artifact.*
Desktop startup resolves the user-data path before bridge creation and uses bridge primary-instance state. Update notifications now provide release-notes links and error handling. Linux builds register desktop URL schemes.

Mobile production and showcase tooling

Layer / File(s) Summary
Production builds and screenshot capture
apps/mobile/app.config.ts, apps/mobile/package.json, scripts/mobile-showcase*, docs/operations/mobile-app-store-screenshots.md
Mobile builds use production identifiers and permissions. Showcase setup waits for schema and environment readiness and supports landscape iPad capture with simulator restoration.

Mobile interface and task flows

Layer / File(s) Summary
Branding and native interaction
apps/mobile/src/components/CompactBrandTitle.tsx, apps/mobile/src/features/home/*, apps/mobile/src/features/threads/sidebar-navigation-shell.tsx, apps/mobile/src/native/*, apps/mobile/src/lib/*
Navigation headers use compact branding and variant-based stage labels. Shared layout metrics, paste handling, and pre-paint toolbar updates are added.
Pairing and task selection
apps/mobile/src/features/connection/*, apps/mobile/src/features/threads/*, apps/mobile/src/state/use-composer-drafts.*, apps/mobile/src/lib/modelOptions.*, docs/user/remote-access.md
Pairing URL defaults distinguish IP literals from hostnames. Task flows validate model providers, use configured workspace defaults, and selectively clear workspace state.

Favicon and shared data handling

Layer / File(s) Summary
Project favicon identity and caching
packages/shared/src/projectFavicon.*, apps/server/src/assets/AssetAccess.*, apps/mobile/src/components/ProjectFavicon*, apps/web/src/components/ProjectFavicon*
Favicon URLs use content revisions and shared cache keys. Mobile and web request lifecycles handle supersession, failures, loaded sources, and fallback rendering.

Contracts and backend behavior

Layer / File(s) Summary
Forward-compatible contracts and parsers
packages/contracts/src/*, packages/client-runtime/src/rpc/session.test.ts, packages/shared/src/schemaJson.*, packages/shared/src/semver.*
Unknown array entries are filtered during decoding. JSON parsing preserves quoted commas. Shorthand semver versions are normalized and tested.
Git status caching and web presentation
apps/server/src/vcs/GitVcsDriverCore.*, apps/web/src/components/ChatView.tsx, apps/web/src/index.css
Git status lookups use TTL-based caches with invalidation after mutations. Web chat styling uses the composer glass treatment, and a CSS selector is reformatted.

Estimated code review effort: 5 (Critical) | ~120 minutes

Possibly related PRs

Suggested reviewers: juliusmarminge

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 17.02% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title accurately summarizes the broad upstream sync and the included platform, CI, contract, mobile, and desktop changes.
Description check ✅ Passed The description clearly lists the changes, fork-specific deviations, and verification results, so it is mostly complete despite omitting template headings and the checklist.
✨ Finishing Touches 💡 2
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/sync-20260806-l1-platform-ci-63f7

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL 1,000+ effective changed lines (test files excluded in mixed PRs). labels Aug 6, 2026
@cursor
cursor Bot marked this pull request as ready for review August 6, 2026 03:11

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/mobile-eas-preview.yml:
- Around line 5-20: Update the workflow triggers to include unlabeled events,
and move the mobile preview concurrency configuration from the preview job to
workflow scope so label removal cancels any active run even when the preview job
is skipped. Preserve the existing concurrency group value and cancellation
behavior, and keep the preview job’s label gating unchanged.

In `@docs/operations/mobile-app-store-screenshots.md`:
- Around line 46-47: Update the Metro startup command in the --skip-metro
instructions to use APP_VARIANT=production instead of APP_VARIANT=development,
keeping the documented reuse-capture flow aligned with the production prebuild.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: ec414128-c181-4894-96e7-e96d1ede17d2

📥 Commits

Reviewing files that changed from the base of the PR and between 606bb3f and 7d99330.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (79)
  • .agents/skills/test-t3-mobile/SKILL.md
  • .github/ISSUE_TEMPLATE/bug_report.yml
  • .github/ISSUE_TEMPLATE/feature_request.yml
  • .github/workflows/ci.yml
  • .github/workflows/deploy-relay.yml
  • .github/workflows/mobile-eas-preview.yml
  • .github/workflows/mobile-eas-production.yml
  • .github/workflows/mobile-showcase-screenshots.yml
  • .github/workflows/release.yml
  • apps/desktop/src/app/DesktopAppIdentity.test.ts
  • apps/desktop/src/app/DesktopAppIdentity.ts
  • apps/desktop/src/app/DesktopClerk.test.ts
  • apps/desktop/src/app/DesktopClerk.ts
  • apps/desktop/src/app/DesktopLifecycle.test.ts
  • apps/desktop/src/electron/ElectronApp.test.ts
  • apps/desktop/src/electron/ElectronApp.ts
  • apps/desktop/src/telemetry/DesktopTelemetryPublisher.test.ts
  • apps/desktop/src/window/DesktopApplicationMenu.test.ts
  • apps/mobile/app.config.ts
  • apps/mobile/package.json
  • apps/mobile/src/Stack.tsx
  • apps/mobile/src/components/CompactBrandTitle.tsx
  • apps/mobile/src/components/ProjectFavicon.tsx
  • apps/mobile/src/components/projectFaviconCache.test.ts
  • apps/mobile/src/components/projectFaviconCache.ts
  • apps/mobile/src/features/connection/pairing.test.ts
  • apps/mobile/src/features/connection/pairing.ts
  • apps/mobile/src/features/home/HomeHeader.tsx
  • apps/mobile/src/features/home/HomeRouteScreen.tsx
  • apps/mobile/src/features/threads/NewTaskDraftScreen.tsx
  • apps/mobile/src/features/threads/new-task-flow-provider.tsx
  • apps/mobile/src/features/threads/sidebar-navigation-shell.tsx
  • apps/mobile/src/features/threads/thread-list-items.tsx
  • apps/mobile/src/lib/composerImages.ts
  • apps/mobile/src/lib/layoutMetrics.ts
  • apps/mobile/src/lib/mobileBranding.test.ts
  • apps/mobile/src/lib/mobileBranding.ts
  • apps/mobile/src/lib/modelOptions.test.ts
  • apps/mobile/src/lib/modelOptions.ts
  • apps/mobile/src/native/StackHeader.tsx
  • apps/mobile/src/native/T3ComposerEditor.native.tsx
  • apps/mobile/src/state/use-composer-drafts.test.ts
  • apps/mobile/src/state/use-composer-drafts.ts
  • apps/server/src/assets/AssetAccess.test.ts
  • apps/server/src/assets/AssetAccess.ts
  • apps/server/src/vcs/GitVcsDriverCore.test.ts
  • apps/server/src/vcs/GitVcsDriverCore.ts
  • apps/web/src/components/ChatView.tsx
  • apps/web/src/components/ProjectFavicon.test.tsx
  • apps/web/src/components/ProjectFavicon.tsx
  • apps/web/src/components/Sidebar.tsx
  • apps/web/src/components/desktopUpdate.logic.test.ts
  • apps/web/src/components/desktopUpdate.logic.ts
  • apps/web/src/components/desktopUpdate.toast.test.tsx
  • apps/web/src/components/desktopUpdate.toast.tsx
  • apps/web/src/components/sidebar/SidebarUpdatePill.tsx
  • apps/web/src/index.css
  • docs/operations/mobile-app-store-screenshots.md
  • docs/user/remote-access.md
  • oxlint-plugin-t3code/test/utils.ts
  • packages/client-runtime/src/rpc/session.test.ts
  • packages/contracts/src/baseSchemas.ts
  • packages/contracts/src/keybindings.test.ts
  • packages/contracts/src/keybindings.ts
  • packages/contracts/src/server.test.ts
  • packages/contracts/src/server.ts
  • packages/shared/src/projectFavicon.test.ts
  • packages/shared/src/projectFavicon.ts
  • packages/shared/src/schemaJson.test.ts
  • packages/shared/src/schemaJson.ts
  • packages/shared/src/semver.test.ts
  • packages/shared/src/semver.ts
  • pnpm-workspace.yaml
  • scripts/build-desktop-artifact.test.ts
  • scripts/build-desktop-artifact.ts
  • scripts/mobile-showcase-environment.ts
  • scripts/mobile-showcase.config.ts
  • scripts/mobile-showcase.test.ts
  • scripts/mobile-showcase.ts
💤 Files with no reviewable changes (7)
  • apps/desktop/src/telemetry/DesktopTelemetryPublisher.test.ts
  • apps/desktop/src/app/DesktopAppIdentity.test.ts
  • apps/desktop/src/app/DesktopLifecycle.test.ts
  • apps/desktop/src/electron/ElectronApp.ts
  • apps/mobile/src/lib/composerImages.ts
  • apps/desktop/src/electron/ElectronApp.test.ts
  • apps/desktop/src/window/DesktopApplicationMenu.test.ts

Comment thread .github/workflows/mobile-eas-preview.yml Outdated
Comment thread docs/operations/mobile-app-store-screenshots.md
cursoragent and others added 3 commits August 6, 2026 03:24
Collapse the mobile draft headline view-transition-group selector to the
single-line form oxfmt 0.57 / vite-plus 0.2.2 expects.

Co-authored-by: aaditagrawal <aaditagrawal@users.noreply.github.com>
Co-authored-by: aaditagrawal <aaditagrawal@users.noreply.github.com>
Co-authored-by: aaditagrawal <aaditagrawal@users.noreply.github.com>
Co-authored-by: aaditagrawal <aaditagrawal@users.noreply.github.com>
@cursor
cursor Bot merged commit 8283d40 into main Aug 6, 2026
12 checks passed
@cursor
cursor Bot deleted the codex/sync-20260806-l1-platform-ci-63f7 branch August 6, 2026 04:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL 1,000+ effective changed lines (test files excluded in mixed PRs). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.