Expbkmain - #138
Merged
Merged
Conversation
Co-authored-by: codex <codex@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…tgg#4459) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
…eparator (pingdotgg#5460) Co-authored-by: jorvarea <jorvarea@users.noreply.github.com>
…ngdotgg#6545) Co-authored-by: Cursor <cursoragent@cursor.com>
… stops (pingdotgg#5127) Co-authored-by: Capxul Agent <agent@capxul.dev> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: codex <codex@users.noreply.github.com>
…show (pingdotgg#4986) Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: codex <codex@users.noreply.github.com>
…g#4197) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: codex <codex@users.noreply.github.com>
…gdotgg#5989) Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: codex <codex@users.noreply.github.com>
…7081) Co-authored-by: codex <codex@users.noreply.github.com>
…gg#7140) Co-authored-by: Dara Adedeji <daraaded@amazon.com> Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
pingdotgg#8227) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…#8231) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
In a shared environment the experimental sidebar mixes my own sessions with the ones teammates started and tagged me into, and the rows looked identical — you had to open a thread to learn whose it was. Thread rows now carry the owner's avatar immediately left of the provider icon, but only when the owner is someone other than the current operator: my own face on every row of my own sidebar would carry no information. Unowned threads (single-user mode, awaiting backfill) and sessions with no team identity show nothing, so nothing changes outside team mode. The decision lives in `phaseSidebarRowOwnerAvatarUserId`, and the avatar is a new fork-owned component that only subscribes to the org directory on the rows that actually render one. Claude Opus 5 via Claude Code in T3 Code. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
feat(web): show the owner's avatar on sessions someone else started
Merges 328 upstream commits (2026-08-13 -> 2026-08-27) into the fork line. 85 files conflicted with 200 hunks; ~82% of upstream's touched files merged cleanly. Resolutions keep both sides by default and preserve fork behavior. Notable decisions: - Bootstrap turn starts keep the fork's durable coordinator; upstream's inline delete-the-thread-and-retry path (pingdotgg#7664) and its two tests are deliberately not re-introduced, since the fork accepts in one transaction and retries. - Auto-settle-on-merge follows upstream's new sidebarAutoSettleOnMerge setting and its default; the fork's hard "never settle on merge" rewrite is retired. - Upstream's migrations 041/042/043 register at fork ids 1019/1020/1021, and their tests were remapped to the fork lane. - ChatComposer adopts upstream's top-drawer/frame structure; fork additions (queued messages, stop-pending, creation-defaults reset, queued-send hint) were transplanted onto it. The fork's chat-composer-glass edit is retired because upstream replaced that class with its shell/host system. - planModeEnabled -> planModeAvailable applied across upstream's new call sites. - Interrupt failures keep the fork's dead-session shortcut and delegate every other failure to upstream's new recoverInterruptFailure. Resolved by Claude Opus 5 in Claude Code, fanned out across subsystem agents.
…er baseline The upstream merge introduced new call sites for the fork's planModeAvailable setting key. Marks each one and drops the two files that are now fully marked from scripts/fork-marker-baseline.json.
…surface Repairs three truncated resolutions (AuthSessions setUser/setSessionUserRows, GitWorkflowService), drops duplicate declarations the fan-out left behind (ensureThreadWorktree, shouldRefreshThreadShellSummary, ProviderService, dragDepthRef's lost ref), threads upstream's clientOrigin through the fork's authenticated RPC wrapper, and follows upstream's renamed git call signatures. Queued outbox attachments now model upstream pingdotgg#8048: an entry carries either an uploaded asset id or an inline data url, and the durable bootstrap command accepts both. Upstream tests and fixtures gained the fork-required fields (sentByUserId, durationMs, execution, sourceControlProfileId, isStopPending, notifySessionSuspect, provider durable-execution methods). contracts, client-runtime, server and web all typecheck clean.
…e outbox A queued attachment can now hold only its uploaded asset id, so draft rehydration and re-sends convert explicitly instead of assuming an inline data url. Adds the fork-required fixture fields upstream's new tests omit.
…olumns The merge left listActiveThreadRowsByProjectId without upstream's linked_pull_request_json and unsettled_at, so every project thread-shell read failed to decode. Worktree recovery keeps the fork's single richer path instead of also running upstream's lighter copy per turn, and its tests follow the renamed pruneWorktrees signature.
Formats the merged files and migrates five fork-owned native title tooltips off the attribute upstream's new lint rule (pingdotgg#7209) bans.
vp check --fix rewrote pull-request helpers and a CLI packaging test beyond formatting. An upstream merge should not carry opportunistic refactors of upstream code, so those five files keep upstream's wording.
…econciliation Settling the projection was not enough: the provider session directory still held a running binding for a process that had exited, and upstream's reconcileProviderSessions only visits threads whose session is still running/starting — which the fork's earlier pass has already cleared. That left an unclaimable zombie binding after every restart. Also updates three upstream expectations that cannot know about fork behaviour: GitManager's richer gh field list, the orphaned-session status the fork settles as interrupted, and the web-UI virtual tool count upstream grew from 133 to 137. Migrates fork-owned native title tooltips off the attribute upstream's new lint rule bans.
merge: upstream t3code nightly 20260827 into expbkmain
…ght panel's shape Four T3-CUSTOM marker comments from the upstream merge landed in JSX children position inside the traits chip, so React rendered them as literal "// T3-CUSTOM(expbkt3): ..." labels beside the model picker in the composer, in Settings > General, and in each project's new-thread defaults. Removes them and adds a fork-owned test that scans every .tsx for markers in children position, so the class cannot come back. Also makes the right panel open the way it was last used. Upstream tracks "maximized" as a per-thread key in component state, so full screen was forgotten on every thread switch and reload; the choice now lives in local storage behind a fork-owned hook, and closing a panel no longer discards it. Width already persisted upstream under t3code:preview-panel-width and is unchanged.
…text Moves the JSX-children guard out of a web unit test and into the marker checker that already runs repo-wide in CI. The web app's Effect lint bans raw node:fs imports, and this is marker discipline rather than app behaviour, so it belongs beside the existing rule. Rendered markers are never baselined: they are a visible defect, not merge debt.
fix(web): stop fork markers rendering as UI text, and remember the right panel's shape
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What Changed
Why
UI Changes
Checklist
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.