Skip to content

chore(sync): merge upstream main (a852de0b7b) into the fork - #11

Merged
Noext merged 4127 commits into
mainfrom
sync/upstream-2026-11-02
Nov 2, 2026
Merged

Noext merged 4127 commits into
mainfrom
sync/upstream-2026-11-02

Conversation

@Noext

@Noext Noext commented Nov 2, 2026

Copy link
Copy Markdown
Owner

Syncs the fork with pingdotgg/t3code at a852de0b7b — 4,126 upstream commits.

Conflict resolutions

Fork behaviour is kept wherever it is additive:

  • GitHub — adopts packages/source-control-github while keeping per-owner credential selection: GitHubCredentials.get(host, request) with GitHubCredentialRequest { account, ownerOnly }, getForHost / getForOwner, and the ./server/credentials export. gitRemoteAccountEnv and GitVcsDriverCore keep env injection; server.ts provides GitHubCredentials.layer.
  • Pi — adapter rebuilt from upstream (the 20-hunk merge produced a syntactically broken file), then the fork stores rewired into it: PiWorkflowStore, PiSubagentRunStore, PiWorkflowProgress, now under packages/provider-pi/src/server/, plus workflowStoreRoot / workflowSubagentRunsRoot / workflowSweepIntervalMs, rememberWorkflowSession, and latestRootNodeId.
  • Workflow contract — upstream shape workflow = { name?, runHandles?, phases[], agents[] }; the fork's flat kind/phaseIndex/agentIndex block is gone.
  • ProjectionStore — orphan-subagent settlement kept, gated on needsEndedRuns so threads without such rows issue no extra query.
  • ProviderSessionManager — subagent.updated case for runless workflow rows kept, with its test.
  • Desktop — WSLg toggleFullscreen / bounds guard kept alongside upstream's menu and revealWhenReady changes.
  • CI — 9 jobs on [self-hosted, linux, x64, t3code-ci]; setup-worktree.ts keeps the .env check and self-link guard.

Removed (covered upstream)

PiClaudeWorkflowStore (+test), PiAdapterV2.test.ts, ThreadWorkflowsPanel (+test), mobile WorkflowCard (+test), AgentSheetRow, workflowCardPresentation (+test), client-runtime workflowGroups (+test and its ./state/workflow-groups export).

Verification

Run under the pinned Node 26.12.1 (engines.node):

Check Result
format, lint, knip (both passes), graphql, unused patches pass
typecheck (39 packages) pass
node --test 41/41
full workspace vitest 1,434 files / 19,434 tests pass

One known residual: two apps/server/src/cli/theme.test.ts cases chmod a file to 0o000/0o555 and expect the read to fail. They cannot pass as root, which bypasses file permissions — the file is byte-identical to upstream, so this is environmental, not a merge regression. CI runs unprivileged.

Deferred to follow-up PRs

  1. Orphan-turn handling (discardOrphanedTurn) not reintroduced; upstream still rejects an active turn from a prior run.
  2. Fork's Pi wakes abandoned — upstream's pendingWake covers the same need.
  3. settleSubagentsOfTerminalRuns (client-runtime) keeps its 8 tests but has no UI caller left; needs rewiring onto the upstream panel.

🤖 Generated with Claude Code

MarcoDotIO and others added 30 commits November 1, 2026 02:37
…gdotgg#27274)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
…m PATH (pingdotgg#27321)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
…he server attached (pingdotgg#27456)

Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
…rly 404 (pingdotgg#27722)

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…branch named t3 exists (pingdotgg#27815)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…n alias (pingdotgg#27859)

Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: Omar <76748259+omar9848492@users.noreply.github.com>
…s hanging (pingdotgg#27924)

Co-authored-by: Trevor Edwards <9443483+trevoedwards@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#27990)

Co-authored-by: Claude Code (claude-opus-5-5) <claude-code@logueos.local>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Yash-Singh1 and others added 27 commits November 1, 2026 19:58
…med models (pingdotgg#29001)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…r Escape (pingdotgg#28298)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…e Mode (pingdotgg#29026)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ct (pingdotgg#29068)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…is slow on a loaded host (pingdotgg#28201)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… reseller marks them up (pingdotgg#28004)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…er update (pingdotgg#27992)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…28995)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… work (pingdotgg#28629)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…29053)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…server (pingdotgg#29127)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Completion alerts waited two seconds after the client received a completed thread state. Audio was also fetched and decoded only when an alert needed to play, adding a first-play delay.

Notify immediately when the thread shell reports completion, and preload both sounds when a user gesture unlocks audio. Keep completion deduplication and suppression for existing, archived, and stopped runs.

This intentionally removes the continuation grace for completion alerts. A completed run can now notify before an automatic continuation starts. The sidebar's two-second placement grace and server settlement behavior remain in place.

Validation: `vp run check:changed` passes after merging current main, including 40 affected tests, formatting, lint, unused-code checks, affected typechecks, and React compiler checks. Tests cover immediate completion, duplicate suppression across reconnects, preloaded audio reuse, and retrying failed loads on alerts without retrying on every gesture. Audible timing has not been verified in a live client.

Model: GPT 6.1 Sol. Harness: Codex through T3 Code.
Sync the fork with pingdotgg/t3code at a852de0 (4,126 commits).

Conflict resolutions kept the fork's behaviour where it is additive:
- GitHub: adopt packages/source-control-github while keeping
  per-owner credential selection via GitHubCredentials.get(host, request)
  with GitHubCredentialRequest { account, ownerOnly }, getForHost/getForOwner,
  and the ./server/credentials export.
- Pi: rebuild the adapter from upstream and rewire the fork's stores
  (PiWorkflowStore, PiSubagentRunStore, PiWorkflowProgress) into it,
  now living under packages/provider-pi/src/server.
- ProjectionStore: keep orphan-subagent settlement, gated on needsEndedRuns
  so threads without such rows issue no extra query.
- ProviderSessionManager: keep the subagent.updated case for runless
  workflow rows.
- Desktop: keep the WSLg fullscreen/bounds guard alongside upstream's
  menu and reveal changes.
- Workflow contract: adopt upstream's workflow = { name?, runHandles?,
  phases[], agents[] } shape.

Dropped with upstream coverage: PiClaudeWorkflowStore, ThreadWorkflowsPanel,
mobile WorkflowCard/AgentSheetRow/workflowCardPresentation, and
client-runtime workflowGroups.

Verification under the pinned Node 26.12.1: format, lint, knip (both passes),
graphql, typecheck (39/39 packages) and 2,745 test files pass. The only
failures are two theme.test.ts cases that chmod a file and expect the read to
fail; they cannot pass as root, which bypasses file permissions.

Co-Authored-By: Claude Code <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 Nov 2, 2026
@Noext
Noext merged commit d50f5ca into main Nov 2, 2026
18 of 24 checks passed
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.