Skip to content

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

Merged
yordis merged 26 commits into
mainfrom
yordis/chore-sync-upstream-20260919-1
Sep 19, 2026
Merged

yordis merged 26 commits into
mainfrom
yordis/chore-sync-upstream-20260919-1

Conversation

@yordis

@yordis yordis commented Sep 19, 2026

Copy link
Copy Markdown
Member
  • Kept the fork's pinned action SHA in the mobile fingerprint workflow while taking upstream's new skip condition, because pinning is what stops a tag from moving under CI and the condition is orthogonal to it.
  • Kept the fork's desktop OTLP resolution (standard OTEL_* reading, static t3-desktop service name, per-signal protocol, headers, and batching) over upstream's new desktop exporter, since the fork's version is a superset of what upstream landed.
  • Adopted upstream's decision to leave desktop metrics unwired, because the main process records no metric and the exporter posts on every interval regardless, so the fork's wiring sent an empty payload to every collector an ambient endpoint pointed at. Upstream's own new tests assert that endpoint produces no request.
  • Adopted upstream's rule that the desktop OTLP log exporter replaces Logger.tracerLogger rather than joining it, which is what this fork's server already did; keeping both exported every in-span message twice.
  • Took upstream's removal of the unused projection thread list and delete helpers, whose input schemas upstream deleted in the same cleanup, so the fork's copies referenced names that no longer exist.
  • Dropped the fork's import of OrchestrationListenerCallbackError, which upstream removed along with every use of it, while keeping the fork's ThreadBootstrapLive import that shares the same statement.
  • Rewrote the observability doc's desktop paragraph rather than keeping either side, so it states the fork's static service name and shared variable reading alongside upstream's account of what the process covers and why metrics are absent.
  • Removed a pull request composer helper upstream had deleted along with its call sites, which an earlier sync kept as an orphan definition and which has held the unused-code check red on main since then.

juliusmarminge and others added 25 commits September 18, 2026 16:09
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
…7861)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…exists (pingdotgg#12540)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
…pstream-20260919-1

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

# Conflicts:
#	.github/workflows/mobile-fingerprint-check.yml
#	apps/desktop/src/app/DesktopObservability.ts
#	apps/server/src/persistence/Layers/ProjectionThreads.ts
#	apps/server/src/server.test.ts
#	docs/operations/observability.md
Upstream removed the shared helper this test reached for, and the guard is
the one thing that must keep running for fork migrations to stay off the
shared ledger.

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Upstream shipped its own desktop exporter and settled two questions this
divergence had answered differently; the entry now describes what the fork
still carries.

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

cursor Bot commented Sep 19, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Desktop OTLP and read-only saved-environments behavior affect telemetry and legacy migration paths; mobile theme and native fingerprint workflow changes are broad but mostly visual or advisory CI.

Overview
Desktop tightens main-process telemetry: OTLP log export replaces Logger.tracerLogger when a logs endpoint is set (avoiding duplicate in-span messages), metrics export stays disabled until the process actually records metrics, and new tests cover env-based export, Settings fallbacks, and the no-endpoint case. Saved environments shrinks to a read-only legacy registry used for connection-catalog migration—registry/secret write APIs and their error types are removed, with tests seeding files on disk instead.

Remote editor probing on desktop now uses shared resolveEditorCommand (including app-bundle paths on macOS) rather than PATH-only which checks. Telemetry control drops the legacy handleControl entry point in favor of source-scoped handleControlForSource everywhere. isDefaultProtocolClient is removed from the Electron app wrapper and test stubs.

CI: release workflow reads relay tracing state via explicit Cloudflare backend, quieter logs, and JSON extraction after credential-refresh noise—backed by a new script test that runs the workflow step inline. Mobile fingerprint runs on more PR events, pins the merge commit vs. drifting base, skips Expo install when no native inputs changed (so labels can clear), and compares base using HEAD^1.

Mobile UX/theming: default and variant palettes shift to blue/zinc-style tokens (Clerk + generated Uniwind CSS); duplicate light/dark tokens are removed from global.css in favor of generated themes. Android composer ellipsizes long placeholders to one line; context chips fix React Native #RRGGBBAA colors on Android. Metro prepares a generated device-stream module with dev rebuild watchers; a dev-client preview-env script is added.

Reviewed by Cursor Bugbot for commit 6af6e9f. 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 19, 2026
Upstream removed this helper and its call sites together; an earlier sync
kept the definition, which has held the unused-code check red on main ever
since.

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

Copy link
Copy Markdown

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ℹ️ The exact PR base did not have a successful artifact. Baseline uses the latest successful main measurement shown below.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.5 KiB 13.5 KiB −18 B (−0.1%) 15.1 KiB
Codex Thread snapshot wire 7.1 KiB 7.1 KiB +3 B (+0.0%) 7.3 KiB
Codex Live turn WebSocket wire 6.4 KiB 6.4 KiB −21 B (−0.3%) 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 +6 B (+0.0%) 15.1 KiB
Claude Thread snapshot wire 7.1 KiB 7.1 KiB −9 B (−0.1%) 7.3 KiB
Claude Live turn WebSocket wire 6.4 KiB 6.5 KiB +15 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: f96a143 · PR result: 6af6e9f · 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.

@yordis
yordis merged commit d6d0b1d into main Sep 19, 2026
19 of 21 checks passed
@yordis
yordis deleted the yordis/chore-sync-upstream-20260919-1 branch September 19, 2026 17:59
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.

9 participants