Skip to content

chore: sync fork with upstream main - #4

Merged
Olivier-OG merged 253 commits into
mainfrom
sync-fork-origin-changes
Sep 4, 2026
Merged

Olivier-OG merged 253 commits into
mainfrom
sync-fork-origin-changes

Conversation

@Olivier-OG

Copy link
Copy Markdown
Owner

Problem

The fork's main had drifted 251 commits behind pingdotgg/t3code (up to the
v0.0.39 nightlies), so none of the recent upstream work was available here and
the gap was only going to get more expensive to close.

What this does

Merges upstream/main into the fork. Three conflicts came up, all of them two
sides adding different things in the same place, so all three keep both intents
— no upstream behaviour was dropped and nothing new was invented.

ProviderCommandReactor.test.ts — the "generates a worktree branch name
for the first turn"
test. Our fix(server): drop the t3code/ prefix from generated branch names asserted the rename target no longer re-attaches
t3code/; upstream's feat(web): cite assistant responses with inline citations (pingdotgg#9146) asserted the persisted user message keeps the raw prompt,
citation markup included. Independent assertions, both kept. Checked against the
merged reactor that our buildGeneratedWorktreeBranchName change survived and
the call site still passes oldBranch/newBranch, so the prefix assertion
still exercises the fix rather than passing vacuously.

DesktopClientSettings.test.ts — the client settings fixture gained
panelAnimationDurationMs upstream and the notify* keys from #3 on main.
The fixture has to cover every schema key, so both groups stay.

SettingsPanels.tsx — #3 inserted <NotificationSettings /> ahead of the
About section; upstream gave that section id="about" so settings search can
target it. Kept the new panel and upstream's id.

A second merge commit brings in main (PR #3, native notifications), which
landed while this sync was in flight, so the branch is current with its base.

Verification

Scoped to the packages the resolutions touch, per AGENTS.md ("do not run
repo-wide checks" — CI owns the full suite):

  • typecheck on apps/server, apps/desktop, apps/web — all exit 0. The
    server's 33 diagnostics are pre-existing Effect style suggestions, none in a
    touched file.
  • ProviderCommandReactor.test.ts — 61/61 pass.
  • DesktopClientSettings.test.ts — 7/7 pass.
  • settingsSearch, settingsLayout, SettingsPanels.logic — 44/44 pass.
  • vp fmt --check and vp lint clean on all three files; the remaining
    warnings are pre-existing and hundreds of lines from the resolutions.

No UI change originates here, so there are no before/after images to attach —
the web diff is upstream's own work plus a two-line reconciliation.

Caveats

I deliberately did not run the repo-wide test suite, so upstream regressions
outside apps/server, apps/desktop and apps/web are unverified locally and
left to CI.

<NotificationSettings /> renders its own sections without an id, so the new
notification settings are not reachable from settings search the way the
neighbouring sections now are. That is pre-existing from #3 rather than
something this merge changed, and adding ids felt like inventing behaviour in a
conflict resolution — worth a follow-up.


Claude Opus 5 (1M context) via Claude Code, driven from T3 Code.

t3dotgg and others added 30 commits September 1, 2026 17:37
…g#9129)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Rodrigo Brechard <rodrigo@clubtidy.fr>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
…ruma WASM engine (pingdotgg#8360)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…gdotgg#9152)

Takes over pingdotgg#6608 by @x1xhlol.

Server: thread.message-sent updates the projection row directly and folds latestUserMessageAt in as a running maximum instead of running refreshThreadShellSummary. Client: thread.activity-appended takes an O(1) append path for in-order, unseen activities on reducer-produced arrays, with a WeakMap id index, and falls back to filter and sort for out-of-order, re-delivered, context-window, and snapshot-loaded cases.

Reducer benchmark: 10,000 in-order appends went from 1,180 ms to 70 ms.

Change authored by Claude Fable 5.1 running in Claude Code, based on work by @x1xhlol.

Co-authored-by: Lucas Valbuena <lucknitelol@proton.me>
WebSocket reconnect catch-up only checked the number of missing events, then loaded and decoded the whole replay range before sending it. A handful of events with large tool payloads could allocate gigabytes and OOM the server.

Before replaying, run a SQL preflight that counts the events in the range and sums their serialized payload bytes with octet_length(). If the range is over the existing row limit or an 8 MiB byte budget, fall back to the fresh snapshot path. Applies to both thread and shell subscriptions.

Authored by @rcawston. Review, octet_length fix, and merge by Claude Fable 5.1 in Claude Code on behalf of @t3dotgg.
…aming (pingdotgg#9145)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…nvironments (pingdotgg#9147)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Classify Claude Read calls on image files as image_view and carry the full path through projection and both clients so the existing image renderer can load it.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Expanded command rows use a neutral Command label and keep the full command plus real output in the detail area. Claude Bash results now cross the wire as a bounded summary. Truncated Claude echoes and ACP echoes without a kind are dropped as synthetic.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…he real CLI (pingdotgg#9154)

Co-authored-by: mavenskylab <mavenskylab@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…utes (pingdotgg#9058)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Theo Browne <me@t3.gg>
…button (pingdotgg#6554)

Use a prepare and commit handoff for remote desktop updates. Retry lost commits, require the prepared version after reconnect, and recover backends and windows when installation fails.

Built with GPT-5.6 Sol in Codex.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Adolanium <94890352+Adolanium@users.noreply.github.com>
Co-authored-by: Claude Code <noreply@anthropic.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
…8968)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Claude Code <noreply@anthropic.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: macroscopeapp[bot] <170038800+macroscopeapp[bot]@users.noreply.github.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
…9146)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
maria-rcks and others added 26 commits September 3, 2026 23:17
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
…9582)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Claude Code <noreply@anthropic.com>
…9622)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
…ngdotgg#9623)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
…anges

Brings in 251 upstream commits (through v0.0.39 nightlies). One conflict, in
ProviderCommandReactor.test.ts's "generates a worktree branch name for the
first turn" test, where both sides appended a different assertion to the same
tail.

Ours (3c7d211) asserted the rename target drops the t3code/ prefix; upstream
(e7deb2a, inline assistant citations) asserted the persisted user message
keeps the raw prompt, citation markup included. The two assertions are
independent, so both are kept. Verified against the merged reactor: our
buildGeneratedWorktreeBranchName change survived intact and the rename call
site still passes oldBranch/newBranch, so the prefix assertion still holds.
Picks up the fork's native notification work (PR #3), which landed on main
while the upstream sync was in flight. Two conflicts, both additive, both
resolved by keeping each side.

DesktopClientSettings.test.ts: the settings fixture gained
panelAnimationDurationMs upstream and the notify* keys on main. The fixture has
to cover every schema key, so both groups stay.

SettingsPanels.tsx: main inserted <NotificationSettings /> ahead of the About
section, upstream gave that section id="about" so settings search can target
it. Kept the new panel and upstream's id.
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Sep 4, 2026
@Olivier-OG
Olivier-OG merged commit 6dae86b into main Sep 4, 2026
7 of 16 checks passed
@RubMertens
RubMertens deleted the sync-fork-origin-changes branch September 21, 2026 06:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.