Skip to content

fix: port upstream fixes through nightly 20261012.3035 - #333

Merged
khoi merged 2 commits into
mainfrom
supacode/bring-upstream-nightly-3035
Oct 12, 2026
Merged

khoi merged 2 commits into
mainfrom
supacode/bring-upstream-nightly-3035

Conversation

@khoi

@khoi khoi commented Oct 12, 2026 •

Copy link
Copy Markdown
Member

Problem

Supacode was synced through upstream 58d25323 (#318). The latest t3code nightly, v0.0.46-nightly.20261012.3035 (511d20c6), adds seven fixes. Several of them affect the fork as well: regular iPhones on the iOS 27.2 beta open to a black screen, Hyprland 0.48–0.50 crashes the desktop app at startup, and worktree setup can hang waiting for an install prompt.

Change

Ports 58d25323...511d20c6:

Upstream Change Fork adaptation
#18566 Desktop disables WaylandWpColorManagerV1 before Electron is ready on native-Wayland Hyprland 0.48.0–0.50.1. These versions advertise custom primaries but reject them, which kills Chromium. None
#18654 iOS publishes layout metrics if no hinge update arrives within 0.25s. JS falls back to the phone navigator after 1s. T3NativeControls → SupacodeNativeControls
#18679 enriched-markdown honors enableMath: false from apps/mobile/package.json, and Android keeps inline code styled in headings and list items. t3.11 repacked as 1.2.0-supacode.11. It differs only in the package.json version and in supacode-fork.json, which records the source, the same way as supacode.10.
#18725 Setup wizards use the background token, so custom themes apply. None
#18754 Configured PR bases that point at a commit, tag or revision are resolved to branch names before PR creation. None
#18740 The sidebar terminal indicator becomes a button that opens the running terminal. Opening an empty drawer reuses an existing server terminal. Worktree setup no longer waits on install prompts. Sidebar.tsx merged by hand. setup-worktree.ts closes stdin for mise install and mise exec -- vp i, and passes -- --yes.
#18761 The Claude Read [image] placeholder and the mobile "No output." line are hidden when a file preview exists. Mobile hunk moved to thread-work-log-detail.tsx

Skipped: the LegacySidebar.tsx hunk of #18740, because that file was removed in #330.

The Swift fallback and the new enriched-markdown archive change the mobile fingerprint, so this needs a new native build. It doesn't reach current binaries over the air.

Scope and approval

This is a maintainer-requested upstream sync. The seven-PR scope was reviewed and approved as a single PR before porting.

Verification

  • vp test run:
    • desktop DesktopEarlyElectronStartup + DesktopPreReadyPlatform (48)
    • server GitManager + GitVcsDriverCore (306)
    • web revealThreadTerminal (3)
    • client-runtime itemDetail (7)
  • tsc-rs --noEmit passes for web, desktop, server, mobile and client-runtime. vp lint and vp fmt --check pass on the touched files.
  • Unpacked supacode.11 against upstream t3.11: same 954 files, and only package.json version and the fork manifest differ. The lockfile integrity matches the committed archive.
  • With INIT_CWD at the repo root, the enriched-markdown postinstall logs math disabled via package.json ("enriched-markdown".enableMath = false); skipping RaTeX. The installed package contains no RaTeX artifacts.
  • node scripts/setup-worktree.ts < /dev/null completes in a fresh worktree.
  • Before/after evidence for the wizard theme and the iOS fallback is in the upstream PRs: #18725, #18654.

Not checked here: a Hyprland machine, an iPhone on iOS 27.2, Duo hardware, and Android inline-code rendering.


Note

Medium Risk
Touches Electron startup (sync hyprctl), git PR targeting, and terminal UI state; changes are scoped and heavily tested but affect production Linux desktop and PR creation paths.

Overview
Ports seven upstream fixes into Supacode: desktop startup, iOS navigation, git PR bases, web terminals, UI polish, mobile work-log display, and unattended worktree setup.

On Linux desktop, pre-ready startup now probes Hyprland via hyprctl version -j on native Wayland sessions and merges WaylandWpColorManagerV1 into --disable-features only for stock releases 0.48.0–0.50.1, avoiding Chromium crashes from broken wp-color-manager while leaving newer builds and explicit feature overrides alone.

iOS publishes layout metrics when no hinge event arrives (0.25s native fallback; 1s JS timeout) so ordinary iPhones on iOS 27.1+ no longer stall on a blank navigator. Mobile bumps react-native-enriched-markdown to supacode.11 (math disabled per package config).

Git adds resolveBranchName so legacy gh-merge-base values pointing at commits/tags/revisions resolve to branch names for PR creation; worktrees only persist gh-merge-base when the base is a real branch.

Web: sidebar terminal status is a clickable control that calls revealThreadTerminal; opening an empty terminal drawer reuses an existing server/setup terminal instead of spawning a new PTY. Setup wizard panels use the background token. Work-log formatting hides Claude Read [image] placeholders and mobile "No output." when a file preview path exists.

scripts/setup-worktree.ts closes stdin and passes --yes to installs so setup cannot hang on prompts.

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

khoi added 2 commits October 12, 2026 15:36
Port the reviewed t3code range 58d25323..511d20c6 (seven PRs).

- desktop: disable the Wayland color manager on Hyprland 0.48-0.50.1,
  which crashes Chromium at startup
- mobile: publish layout metrics when no hinge update arrives, so regular
  iPhones on iOS 27.2 no longer open to a black screen
- mobile: repack enriched-markdown 1.2.0-supacode.11 from t3.11 so installs
  honor enableMath=false and Android keeps inline code styled in headings
- web: setup wizards use the theme background
- server: resolve configured PR bases to branch names
- web: the sidebar terminal indicator opens the running terminal, and an
  empty drawer reuses an existing server terminal
- scripts: worktree setup closes stdin and passes --yes to pnpm
- clients: hide the Claude Read image placeholder when a preview exists

The LegacySidebar hunk is skipped because the fork removed that file.
@cursor

cursor Bot commented Oct 12, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: e9758ccb-2a08-4919-ae21-b5fbe5eeb6ff)

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

github-actions Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Web preview

The web preview was removed because this PR closed.

@github-actions

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 4.8 KiB 4.8 KiB 0 B (0.0%) 6.8 KiB ✅
Codex Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Codex Live turn WebSocket wire 1.0 KiB 1.0 KiB 0 B (0.0%) 2.0 KiB ✅
Codex Live turn WebSocket decoded 20.8 KiB 20.8 KiB 0 B (0.0%) 29.3 KiB ✅
Codex Live turn messages 1 1 0 (0.0%) 8 ✅
Claude Total thread wire 4.8 KiB 4.8 KiB 0 B (0.0%) 6.8 KiB ✅
Claude Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Claude Live turn WebSocket wire 1.0 KiB 1.0 KiB 0 B (0.0%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 21.2 KiB 21.2 KiB 0 B (0.0%) 29.3 KiB ✅
Claude Live turn messages 1 1 0 (0.0%) 8 ✅

Baseline: 46e40b3 · PR result: c1c460b · 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: 108.5 KiB
  • Claude decoded thread snapshot: 108.8 KiB

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

@khoi
khoi merged commit fd52657 into main Oct 12, 2026
36 of 39 checks passed
@khoi
khoi deleted the supacode/bring-upstream-nightly-3035 branch October 12, 2026 22:52
@khoi
khoi deployed to web-preview October 12, 2026 22:52 — with GitHub Actions Active

This branch was successfully deployed

1 active deployment
web-preview — c1c460b1 Deployed Oct 12, 2026 by khoi via Deploy or remove web preview #738
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:L 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.

1 participant