Skip to content

chore: sync with upstream pingdotgg/t3code main - #59

Merged
yordis merged 165 commits into
mainfrom
yordis/chore-sync-upstream-20260924-1
Sep 24, 2026
Merged

yordis merged 165 commits into
mainfrom
yordis/chore-sync-upstream-20260924-1

Conversation

@yordis

@yordis yordis commented Sep 24, 2026 •

Copy link
Copy Markdown
Member
  • Upstream took the OpenTelemetry kill switch that the fork already carried, so the fork's broader environment reading stays, adopting upstream's shape where it matched; startup warnings are logged once, after the logger exists, instead of twice.
  • Upstream's submodule setting for new worktrees landed in bootstrap code the fork had moved into its own bootstrap service, so the behavior was ported there instead of reviving the old copy in the websocket handler.
  • The release publish gate keeps the fork's skip when no relay is configured and picks up upstream's new release test jobs, moved onto the fork's pinned actions and hosted runners.
  • Upstream's new no-restyle lint rule flagged the fork's folder drop highlight and subagent pill, so both now style themselves instead of restyling shared UI components; nothing changes visually.
  • Ledger entries 0018 and 0022 now say upstream carries the kill switch, so they stop claiming it as fork-only.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

maria-rcks and others added 30 commits September 19, 2026 16:01
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…gg#12635)

Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…art (pingdotgg#12625)

Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…12438)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
…10831)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
…tgg#12657)

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
…ion (pingdotgg#10098)

Co-authored-by: shivamhwp <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
)

Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Exotic <118054752+extoci@users.noreply.github.com>
t3-code Bot and others added 20 commits September 23, 2026 06:49
Co-authored-by: codex <codex@users.noreply.github.com>
…case screenshots (pingdotgg#13316)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Exotic <118054752+extoci@users.noreply.github.com>
…otgg#11580)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>
…3355)

Co-authored-by: Yordis Prieto <yordis.prieto@gmail.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
…pstream-20260924-1

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>

# Conflicts:
#	.github/workflows/release.yml
#	apps/desktop/src/app/DesktopObservability.ts
#	apps/desktop/src/backend/DesktopBackendConfiguration.test.ts
#	apps/desktop/src/backend/DesktopBackendConfiguration.ts
#	apps/server/src/bin.test.ts
#	apps/server/src/cli/config.test.ts
#	apps/server/src/cli/config.ts
#	apps/server/src/cli/pair.ts
#	apps/server/src/config.ts
#	apps/server/src/environment/ServerEnvironment.test.ts
#	apps/server/src/observability/Layers/Observability.ts
#	apps/server/src/provider/Layers/ProviderRegistry.ts
#	apps/server/src/server.test.ts
#	apps/server/src/serverLogger.test.ts
#	apps/server/src/serverLogger.ts
#	apps/server/src/ws.ts
#	apps/web/src/components/ChatView.tsx
#	apps/web/src/components/Sidebar.tsx
#	packages/shared/src/otelEnvironment.test.ts
#	packages/shared/src/otelEnvironment.ts
…ovider and bootstrap services

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
…checks

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@cursor

cursor Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

PR Summary

Medium Risk
Touches release publish gates, desktop preview/recording IPC, and native diff layout on both mobile platforms; most changes are additive with broad test coverage, but regressions in release or preview recording would be user-visible.

Overview
Large upstream sync that adds desktop browser preview screencast overlays (custom in-guest cursor, optional key/mouse decorations, agent vs human controller, IPC to the renderer) and tightens OpenTelemetry behavior (kill switch into WSL, export disabled when OTEL_SDK_DISABLED, startup warnings emitted once after loggers exist).

Mobile native review diff gains optional word wrap with Unicode-aware layout on Android and iOS (plus Robolectric/Catalyst tests), and Android agent notifications expose a showcase path for staged screenshots. Snap Shot on Linux Wayland improves AT-SPI window matching for Flatpak proxies and GTK4 unnamed frames; the desktop renderer CSP allows blob: for embedded 3D textures and forwards trackpad scroll-end to the web UI.

Release CI runs tests in separate sharded jobs (mirroring main CI) and blocks CLI publish on them; mobile EAS preview propagates Android Google Services config into the job environment after eas env:pull. Smaller items: iOS pull-request symbol fallback, dialog/file-preview type splits, mobile 1.3.1, showcase workflow AXe install, and AGENTS.md guidance on not restyling shared UI via className.

Reviewed by Cursor Bugbot for commit 1ae75b2. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL 📱 Native Change Changes the native fingerprint; merging blocks production OTAs until a new store build ships. labels Sep 24, 2026

@cursor cursor 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.

Stale Bugbot comment from a previous run.

const tab = (yield* SynchronizedRef.get(tabsRef)).get(tabId);
yield* attempt({ operation: "recording.cursor", tabId, webContentsId: wc.id }, () =>
wc.send(RECORDING_CURSOR_CHANNEL, true, options, tab?.controller),
);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Recording options can be dropped

Medium Severity

startRecording marks the tab as recording before it stores recordingInputOptions, and the guest installs the cursor on the first preview:recording-cursor message via ??=. A dom-ready restore (or another sender) that lands in that window installs with the default flags (showKeyPresses/showMousePresses both false) and later sends with the real settings are ignored, so key and mouse overlays stay off for that page.

Additional Locations (2)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 8a98267. Configure here.

@github-actions

github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.5 KiB 13.5 KiB −14 B (−0.1%) 15.1 KiB ✅
Codex Thread snapshot wire 7.1 KiB 7.1 KiB −4 B (−0.1%) 7.3 KiB ✅
Codex Live turn WebSocket wire 6.4 KiB 6.4 KiB −10 B (−0.2%) 7.8 KiB ✅
Codex Live turn WebSocket decoded 56.2 KiB 56.2 KiB 0 B (0.0%) 66.4 KiB ✅
Codex Live turn messages 9 9 0 (0.0%) 21 ✅
Claude Total thread wire 13.5 KiB 13.5 KiB +13 B (+0.1%) 15.1 KiB ✅
Claude Thread snapshot wire 7.1 KiB 7.1 KiB +3 B (+0.0%) 7.3 KiB ✅
Claude Live turn WebSocket wire 6.4 KiB 6.5 KiB +10 B (+0.2%) 7.8 KiB ✅
Claude Live turn WebSocket decoded 57.0 KiB 57.0 KiB 0 B (0.0%) 66.4 KiB ✅
Claude Live turn messages 9 9 0 (0.0%) 21 ✅

Baseline: e79cb5e · PR result: 1ae75b2 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 113.9 KiB
  • Claude decoded thread snapshot: 114.6 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

…eads

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>

@cursor cursor 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.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

There are 2 total unresolved issues (including 1 from previous review).

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 1ae75b2. Configure here.

: DEFAULT_RECORDING_INPUT_OPTIONS;
recordingCursor ??= installRecordingCursor(document, window, options, (input) =>
ipcRenderer.send(RECORDING_INPUT_CHANNEL, input),
);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Recording overlays keep default options

Medium Severity

The guest installs the recording cursor only once and never reapplies showKeyPresses or showMousePresses. startRecording adds the recording consumer before those options are stored, while dom-ready can send the cursor with undefined options. The later send with the real settings is ignored, so key and mouse decorations stay off for that take.

Additional Locations (2)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 1ae75b2. Configure here.

@yordis
yordis merged commit 154cfb5 into main Sep 24, 2026
20 of 21 checks passed
@yordis
yordis deleted the yordis/chore-sync-upstream-20260924-1 branch September 24, 2026 07:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📱 Native Change Changes the native fingerprint; merging blocks production OTAs until a new store build ships. size:XXL 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.