Skip to content

sync upstream main - #118

Merged
tarik02 merged 57 commits into
mainfrom
sync-upstream-main-20260807
Aug 7, 2026
Merged

tarik02 merged 57 commits into
mainfrom
sync-upstream-main-20260807

Conversation

@tarik02

@tarik02 tarik02 commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

What Changed

  • Merged 45 upstream commits through pingdotgg/t3code@8100062a7.
  • Kept upstream thread snapshot pagination as the default while preserving the fork advanced message-history protocol behind the progressive-history beta setting.
  • Adopted upstream inline turn plans and moved fork goals into a dedicated right-side panel.
  • Preserved fork delta subscriptions, goal persistence, release channels, and other fork-specific behavior across the upstream changes.

Why

Actualizes the fork to current upstream while keeping upstream-compatible protocol behavior and the fork features that overlap the changed thread, server, and UI code.

UI Changes

This includes upstream UI changes and the plan/goal integration described above. Browser verification and screenshots were not captured because computer-use permission was not requested for this actualization.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

GPT-5.6-Sol via T3 Code

t3dotgg and others added 30 commits August 6, 2026 02:34
…(#5482)

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

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
The version-skew banner is no longer an amber warning: it reads
"Server update available" with the raw versions (unreadable for
nightlies) moved to a tooltip. The in-flight rail (Download/Install/
Resume) becomes a single status row, "Downloading…" then
"Restarting…", since the wire installing stage is a sub-second
launcher handoff and "resuming" meant nothing to most people.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Measured on a live update: the server was back in ~9s but stayed
unreachable for ~96s, because releasing the tunnel on shutdown forces
the replacement tunnel's hostname route through 1-2 minutes of edge
propagation. An update handoff always brings a server right back
(new version or rollback), so the tunnel is never orphaned; skip the
release when the launcher state file records a pending update. The
next boot respawns the connector from the stored config against the
same tunnel and is reachable as soon as it connects.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…pdate

A pending update in the launcher state is not proof a replacement
server is coming: `t3 service uninstall` or `systemctl stop` during
the pending window also tears the server down, permanently. The
launcher now writes a stop marker before signalling its child on an
explicit stop and clears it on the next start; the shutdown tunnel
release keeps the tunnel only for pending updates without the marker.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
A tool.updated row is the in-flight snapshot of a call; once the call
completes, the tool.completed row carries the final state and both
clients fold every matching update into it. Shipping the updates buys
nothing: 47k such rows exist in one real database, and a single thread
carries 3,291 of them.

Filter them out of thread snapshots, mirroring the existing
context-window dedup. Matching is per turn and only against a LATER
completion, so a revert that discards the completing turn cannot leave
a call unrepresented, and a later update under the same identity (the
next call, still in flight) survives. Live events are untouched.

Rows are matched on the same identity the clients collapse by: an
explicit data.toolCallId when the adapter emits one, otherwise the
itemType/title/detail triple. No tool lifecycle row in the real db
carries a toolCallId, so the fallback does the work.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… test

Bugbot flagged that clients collapse only adjacent lifecycle rows, so
dropping a superseded update separated by an interleaved parallel call
diverges from full-history rendering. Measured on a real database: 1.5%
of dropped rows (553/36,581), all pure in-flight state whose final result
the retained completion still shows, and zero dropped rows carry a
client-merged payload field their completion lacks (verified across all
49,515 update rows). Documents the tradeoff and adds a test pinning it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
…ut an origin remote (#5556)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…otes (#5547)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…k log (#5559)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…ic error (#5557)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: t3-turbo-simulation <simulation@t3turbo.local>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Theo Browne <me@t3.gg>
… bottom (#5566)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…t (#5572)

Co-authored-by: Claude <noreply@anthropic.com>
t3dotgg and others added 13 commits August 7, 2026 00:16
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
… (#5563)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Aug 7, 2026

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ab22a3d664

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

type LayoutAnimationsValues,
type SharedValue,
} from "react-native-reanimated";
import Animated, { FadeIn, FadeInUp, type SharedValue } from "react-native-reanimated";

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Restore the gated live-edge layout transition

When a user follows live output, streaming text or expanding work-log folds changes row heights and shifts neighboring rows. This change removes itemLayoutAnimation and its gated transition entirely, so those shifts now hard-snap at the live edge; the previous gate already disabled animation while browsing history to avoid fighting scroll-offset corrections. Keep that gated transition alongside the new end-follow latch.

AGENTS.md reference: AGENTS.md:L144-L144

Useful? React with 👍 / 👎.

@tarik02
tarik02 merged commit 398a736 into main Aug 7, 2026
10 checks passed
@tarik02
tarik02 deleted the sync-upstream-main-20260807 branch August 7, 2026 18:04
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.