Repository navigation
chore: sync with upstream/main (47f2c8d29) - #84
Conversation
…ingdotgg#27485) Co-authored-by: maria-rcks <maria@kuuro.net>
…gg#27497) 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>
Co-authored-by: maria-rcks <maria@kuuro.net>
…7635) Co-authored-by: maria-rcks <maria@kuuro.net>
…pingdotgg#27662) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…rly 404 (pingdotgg#27722) Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…7757) Co-authored-by: maria-rcks <maria@kuuro.net>
…branch named t3 exists (pingdotgg#27815) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…otgg#27848) Co-authored-by: maria-rcks <maria@kuuro.net>
…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>
…T3 runs (pingdotgg#28064) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…op (pingdotgg#28072) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…witches threads (pingdotgg#28091) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <maria@kuuro.net>
…tgg#28132) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…_capabilities reports (pingdotgg#28133) 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.
…unched T3 (pingdotgg#29169) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c1d1aa1f73
ℹ️ 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".
There was a problem hiding this comment.
🟡 Changes recommended
The SSH error path skips a viable password fallback when an agent-held key cannot sign, preventing connections to hosts that still offer password authentication.
1 open issue
What changed in this PR
Synchronizes the fork with upstream 47f2c8d29, preserving ADR-documented fork behavior while integrating upstream runtime, provider, tooling, and client updates.
Changes:
- Integrates managed-policy, scheduling, thread-tag, usage, and source-control updates.
- Updates startup caching, authentication, desktop integration, previews, and web/mobile behavior.
- Extends regression coverage, advances the version core to
0.1.6, and refreshes documentation and ADR baselines.
This pull request requires changes.
Two unresolved findings block approval:
- Moderate —
apps/web/src/components/desktop/DesktopWebLinkCoordinator.tsx:240(1 vote): With Local environment disabled and no saved remotes, discovery never settles for the link wait, leaving OS-delivered PR and commit links pending. Treat completed discovery with no environments as settled while continuing to wait for remotes still being discovered. - Moderate —
packages/ssh/src/tunnel.ts:1457(2 votes): An agent-signing failure now bypasses password fallback even when the server offers password authentication. Preserve the askpass retry when password or keyboard-interactive authentication remains available, or offer an explicit fallback.
| File | Description |
|---|---|
scripts/render-metrics.ts |
Exports the runner and uses temporary storage for reports. |
scripts/mobile-showcase.ts |
Fully decodes PNGs during asset validation. |
scripts/lib/reference-repos.ts |
Reads Alchemy’s version from the workspace catalog. |
scripts/lib/dev-share.ts |
Updates Tailscale diagnostics and cleanup guidance. |
scripts/dev-runner.ts |
Corrects the suggested Tailscale cleanup command. |
scripts/check-changed-command.ts |
Adds Windows-safe Vite+ command execution. |
scripts/build-desktop-artifact.ts |
Registers packaged server-cache preparation. |
scripts/build-desktop-artifact.test.ts |
Refines packaged-executable invocation assertions. |
packages/ssh/src/tunnel.ts |
Changes retries after agent-signing failures; fallback finding remains unresolved. |
packages/ssh/src/auth.ts |
Identifies SSH agent-signing errors. |
packages/source-control-gitlab/src/server/GitLabCli.ts |
Classifies expired OAuth credentials as authentication failures. |
packages/source-control-gitlab/src/server/GitLabCli.test.ts |
Covers GitLab authentication-error classification. |
packages/source-control-github/src/server/GitHubSourceControlProvider.ts |
Honors explicit hosts during clone-URL lookup. |
packages/source-control-core/src/shared/definition.ts |
Adds immutable-media metadata. |
packages/source-control-core/src/server/SourceControlProvider.ts |
Adds an optional clone-lookup host. |
packages/shared/src/usageMerge.ts |
Prevents supplementation across different model filters. |
packages/shared/src/usageMerge.test.ts |
Covers filtered partial-usage merging. |
packages/shared/src/toolOutput.ts |
Preserves compact PR-link operation counts. |
packages/shared/src/toolOutput.test.ts |
Verifies compact link-count output. |
packages/shared/src/threadLinks.ts |
Uses Hermes-compatible named-group iteration. |
packages/shared/src/t3McpToolPresentation.test.ts |
Covers additional MCP tool-name prefixes. |
packages/shared/src/symlink.ts |
Probes the terminal target at the hop limit. |
packages/shared/src/String.ts |
Truncates without splitting Unicode code points. |
packages/shared/src/String.test.ts |
Covers Unicode-aware truncation. |
packages/shared/src/serverSettings.test.ts |
Verifies the OpenCode text-generation fallback. |
packages/shared/src/relayClient.ts |
Adds policy-managed installation failures. |
packages/shared/src/preview.ts |
Removes an outdated URL-policy comment. |
packages/shared/src/nodeSqliteClient.ts |
Sets a startup SQLite busy timeout. |
packages/shared/src/inlineSkills.ts |
Preserves provider skill names as fallback labels. |
packages/shared/src/inlineSkills.test.ts |
Covers skill-label fallback behavior. |
packages/shared/src/git.ts |
Normalizes accented branch-name fragments. |
packages/shared/src/git.test.ts |
Covers accent normalization in branch names. |
packages/shared/src/composerTrigger.ts |
Recognizes case-insensitive model commands. |
packages/shared/src/composerTrigger.test.ts |
Covers capitalized model commands. |
packages/shared/src/composerContextReferences.ts |
Handles inverted terminal-context ranges. |
packages/shared/src/composerContextReferences.test.ts |
Covers inverted terminal-context projection. |
packages/shared/src/cliArgs.ts |
Preserves escaped trailing whitespace. |
packages/shared/src/cliArgs.test.ts |
Covers escaped and surrounding whitespace. |
packages/shared/src/agentAwareness.ts |
Prioritizes pending asynchronous questions. |
packages/shared/src/agentAwareness.test.ts |
Updates asynchronous-question awareness expectations. |
packages/provider-pi/src/server/status.ts |
Adjusts version and authentication probe timeouts. |
packages/provider-pi/src/server/adapter.ts |
Avoids duplicating question titles. |
packages/provider-fx/src/server/status.ts |
Extends the CLI version-probe timeout. |
packages/provider-cursor/src/server/textGeneration.test.ts |
Updates mocks for lazy SDK loading. |
packages/provider-cursor/src/server/driver.ts |
Supplies HTTP access to catalog construction. |
packages/provider-cursor/src/server/CursorUsageAccounts.ts |
Checks local state before Keychain usage lookup. |
packages/provider-cursor/src/server/CursorSdk.test.ts |
Removes the eager SDK mock. |
packages/provider-cursor/src/server/auth.test.ts |
Loads credential storage through the SDK loader. |
packages/provider-core/src/server/textGenerationUtils.ts |
Avoids splitting title surrogate pairs. |
packages/provider-core/src/server/notification.ts |
Excludes model-switch data from notifications. |
packages/provider-core/src/server/maintenance.ts |
Adds manual-update command metadata. |
packages/provider-acp/src/server/sessionConfig.ts |
Marks ACP reasoning controls explicitly. |
packages/provider-acp/src/server/sessionConfig.test.ts |
Verifies reasoning-role metadata. |
packages/provider-acp/src/server/runtimeModel.test.ts |
Updates idle-compaction event expectations. |
packages/provider-acp-registry/src/server/adapter.ts |
Registers Copilot lost-session recovery. |
packages/effect-codex-app-server/src/errors.ts |
Adds output-stream transport errors. |
packages/effect-acp/src/protocol.ts |
Avoids repeatedly splitting incomplete protocol lines. |
packages/contracts/src/threadTags.ts |
Defines thread-tag validation and stored tags. |
packages/contracts/src/server.ts |
Exposes managed-policy summaries. |
packages/contracts/src/relayClient.ts |
Defines policy-blocked installation failures. |
packages/contracts/src/providerRuntime.ts |
Extends provider-turn usage metadata. |
packages/contracts/src/providerPolicy.ts |
Defines runtime-mode ceiling comparisons. |
packages/contracts/src/orchestratorMcp.ts |
Documents one-time schedules and policy blocks. |
packages/contracts/src/model.ts |
Adds reasoning roles and updates OpenCode’s default. |
packages/contracts/src/index.ts |
Exports managed-policy and thread-tag contracts. |
packages/contracts/src/environmentHttp.ts |
Declares policy-forbidden pairing responses. |
packages/contracts/src/environment.ts |
Advertises one-time scheduling support. |
packages/contracts/src/auth.ts |
Adds runtime ceilings to OAuth approval details. |
packages/contracts/package.json |
Advances the contracts version core to 0.1.6. |
packages/client-runtime/src/textPaste.ts |
Supports paste shortcuts on non-Latin layouts. |
packages/client-runtime/src/textPaste.test.ts |
Covers physical-key shortcut fallback. |
packages/client-runtime/src/state/threadSettled.ts |
Clarifies pending-request snooze restrictions. |
packages/client-runtime/src/state/threadSearch.test.ts |
Covers fresh local-open search metadata. |
packages/client-runtime/src/state/threads.ts |
Clears cached misses and exports tag filtering. |
packages/client-runtime/src/state/threadRelationships.ts |
Includes selected-thread lineage without a shell. |
packages/client-runtime/src/state/threadInbox.ts |
Simplifies working-state snapshot construction. |
packages/client-runtime/src/state/providerInstanceDisplay.ts |
Validates accent colors before showing badges. |
packages/client-runtime/src/state/providerInstanceDisplay.test.ts |
Covers invalid badge accent colors. |
packages/client-runtime/src/state/orchestrationV2Projection.ts |
Treats tag updates as non-activity events. |
packages/client-runtime/src/state/orchestration.ts |
Adds on-demand native-child-work queries. |
packages/client-runtime/src/state/olderSettledThreads.ts |
Canonicalizes older-thread shelf scopes. |
packages/client-runtime/src/device/stream.ts |
Passes device AVC configuration through unchanged. |
packages/client-runtime/src/connection/routes.test.ts |
Covers newly paired route ordering. |
package.json |
Adds startup profiling tooling. |
native/kde-snap-shot/src/transport_tests.rs |
Checks PNG compression-level metadata. |
native/hyprland-snap-shot/src/transport_tests.rs |
Checks PNG compression-level metadata. |
infra/relay/src/agentActivity/agentActivityPayloads.ts |
Exports activity text limits and truncation. |
docs/user/thread-sidebar.md |
Clarifies manual continuation after limits. |
docs/user/t3-connect-troubleshooting.md |
Documents tunnel logs for diagnostics. |
docs/user/remote-access.md |
Corrects Tailscale mapping-removal instructions. |
docs/user/providers-pi.md |
Clarifies context-meter availability. |
docs/user/providers-opencode.md |
Documents OpenCode compaction configuration. |
docs/user/providers-acp.md |
Clarifies context-meter defaults. |
docs/user/install.md |
Updates provider maintenance and policy guidance. |
docs/orchestration-v2/feature-lifecycles.md |
Corrects Codex revert-history hydration guidance. |
docs/internals/web-ui.md |
Updates the banner composition example. |
docs/internals/providers.md |
Documents manual Chocolatey maintenance. |
docs/internals/devices.md |
Removes obsolete AVC rewriting guidance. |
docs/adr/0027-worktree-cleanup-reads-git-2-56-gitfile-errors.md |
Refreshes the upstream comparison reference. |
docs/adr/0026-show-cite-for-touch-selections.md |
Refreshes the upstream comparison reference. |
docs/adr/0025-ohmypi-model-presets.md |
Refreshes the upstream comparison reference. |
docs/adr/0024-sync-provider-edits-across-environments.md |
Refreshes the upstream comparison reference. |
docs/adr/0023-split-leading-commands-in-first-prompt.md |
Refreshes the upstream comparison reference. |
docs/adr/0022-add-checkouts-from-project-settings.md |
Refreshes the upstream comparison reference. |
docs/adr/0019-searchable-settings-project-scope.md |
Refreshes the upstream comparison reference. |
docs/adr/0018-preserve-dead-key-composer-input.md |
Refreshes the upstream comparison reference. |
docs/adr/0017-terminal-split-on-mod-s.md |
Refreshes the upstream comparison reference. |
docs/adr/0014-open-project-prs-from-thread-menus.md |
Refreshes the upstream comparison reference. |
docs/adr/0013-connection-localhost-url-templates.md |
Refreshes the upstream comparison reference. |
docs/adr/0012-worktree-cleanup-reclaims-ignored-files.md |
Refreshes the upstream comparison reference. |
docs/adr/0008-start-threads-on-existing-branches.md |
Refreshes the upstream comparison reference. |
docs/adr/0007-model-slug-qualifiers-in-picker-labels.md |
Refreshes the upstream comparison reference. |
docs/adr/0004-shared-pull-request-opening.md |
Refreshes the upstream comparison reference. |
docs/adr/0003-forgejo-pull-request-parsing-and-sync.md |
Refreshes the upstream comparison reference. |
docs/adr/0002-forgejo-repository-identity.md |
Refreshes the upstream comparison reference. |
docs/adr/0001-forgejo-discovery-extensions.md |
Refreshes the upstream comparison reference. |
apps/web/src/vscodeThemeImport.ts |
Adds validated JSONC theme import. |
apps/web/src/themePalette.ts |
Generates stable IDs for non-Latin names. |
apps/web/src/themePalette.test.ts |
Covers distinct non-Latin theme IDs. |
apps/web/src/state/usage.ts |
Applies environment-specific usage model filters. |
apps/web/src/state/session.ts |
Selects scope grants to reduce rerenders. |
apps/web/src/state/environments.ts |
Exposes connection-summary subscriptions. |
apps/web/src/state/entities.ts |
Exposes tag-filtered thread selectors. |
apps/web/src/routes/_chat.index.tsx |
Uses visible threads for landing selection. |
apps/web/src/localEnvironment.ts |
Guards access outside browser environments. |
apps/web/src/lib/workspaceFocus.ts |
Preserves focus already within panel content. |
apps/web/src/lib/turnDiffTree.ts |
Removes redundant recursive directory compaction. |
apps/web/src/lib/backgroundActivityReporter.ts |
Bounds stalled activity-report requests. |
apps/web/src/lib/backgroundActivityReporter.test.ts |
Covers recovery after stalled reporting. |
apps/web/src/lib/archivedThreadsState.ts |
Applies tag filtering to archived snapshots. |
apps/web/src/index.css |
Applies sidebar secondary-label theme colors. |
apps/web/src/hooks/useThreadVisitedMigration.ts |
Preserves established server visit watermarks. |
apps/web/src/hooks/useCommitOnBlur.ts |
Supports draft-value normalization. |
apps/web/src/composerDraftStore.test.ts |
Supplies tag-filter state to test fixtures. |
apps/web/src/components/WorktreeBaseBranchPicker.tsx |
Removes deferred branch-search input. |
apps/web/src/components/ui/tooltip.tsx |
Allows tooltip content to shrink. |
apps/web/src/components/ui/popover.tsx |
Constrains positioners to available height. |
apps/web/src/components/ui/menu.tsx |
Exposes collision-avoidance configuration. |
apps/web/src/components/ui/draft-input.tsx |
Forwards draft normalization to the hook. |
apps/web/src/components/ThreadStatusIndicators.tsx |
Uses multi-PR status information in rows. |
apps/web/src/components/sidebar/SidebarUpdatePill.browser.test.tsx |
Covers structured release-note rendering. |
apps/web/src/components/settings/UpdateTrackSwitchDialog.tsx |
Uses policy-aware local-switch eligibility. |
apps/web/src/components/settings/updateTrackSwitch.logic.ts |
Allows stable recovery from nightly policy blocks. |
apps/web/src/components/settings/SourceControlWritingSettings.tsx |
Clarifies source-control setting descriptions. |
apps/web/src/components/settings/SettingsSidebarNav.tsx |
Preserves settings search during IME composition. |
apps/web/src/components/settings/SettingsScopeNotice.tsx |
Clears stale scope fields during navigation. |
apps/web/src/components/settings/ScheduledTasksSettings.browser.test.tsx |
Advertises one-time schedules in fixtures. |
apps/web/src/components/settings/ProviderModelsSection.tsx |
Recognizes explicit reasoning-control roles. |
apps/web/src/components/settings/ProjectSettingsPanel.tsx |
Avoids committing names during IME composition. |
apps/web/src/components/settings/pairingUrls.ts |
Explains endpoint-label versus authentication classification. |
apps/web/src/components/settings/colorPickers.browser.test.tsx |
Covers alpha preservation during hex edits. |
apps/web/src/components/settings/CliCommandSettingsRow.tsx |
Disables installation when another command shadows it. |
apps/web/src/components/ReopenClosedViewShortcut.tsx |
Forwards preview address-focus shortcuts. |
apps/web/src/components/ReopenClosedViewShortcut.browser.test.tsx |
Covers address-focus shortcut forwarding. |
apps/web/src/components/pullRequest/PullRequestsPage.tsx |
Uses shared PR recency ordering. |
apps/web/src/components/pullRequest/pullRequestListGroups.logic.ts |
Uses shared PR recency ordering. |
apps/web/src/components/pullRequest/pullRequestFileOrder.logic.test.ts |
Covers dotted source and test filenames. |
apps/web/src/components/pullRequest/pullRequestDetail.logic.ts |
Sorts timeline events by actual instant. |
apps/web/src/components/pullRequest/pullRequestDetail.logic.test.ts |
Covers timestamp offsets and fractional seconds. |
apps/web/src/components/preview/PreviewView.tsx |
Handles forwarded desktop address-focus actions. |
apps/web/src/components/preview/agentOpenedPreviews.ts |
Reveals agent-opened tabs without user-focus effects. |
apps/web/src/components/preview/agentOpenedPreviews.test.ts |
Verifies agent reveals preserve focus revision. |
apps/web/src/components/GitHubStarPrompt.tsx |
Suppresses prompts when star lookup fails. |
apps/web/src/components/files/FilePreviewPanel.tsx |
Constrains video previews to their container. |
apps/web/src/components/files/BrowserDocumentFrame.tsx |
Passes document-position identity into PDF views. |
apps/web/src/components/files/AudioPreview.tsx |
Keeps duration/status text left-to-right. |
apps/web/src/components/files/AttachmentFilePreview.browser.test.tsx |
Isolates PDF fixtures by thread identity. |
apps/web/src/components/device/useDeviceControls.ts |
Returns device-action success status. |
apps/web/src/components/desktopUpdate.logic.ts |
Prioritizes managed update-denial reasons. |
apps/web/src/components/desktop/DesktopWebLinkCoordinator.tsx |
Changes remote-discovery waiting; empty-environment finding remains unresolved. |
apps/web/src/components/desktop/DesktopWebLinkCoordinator.browser.test.tsx |
Covers remote-only launch-link discovery. |
apps/web/src/components/CustomSnoozeDialog.tsx |
Adjusts date-field spacing. |
apps/web/src/components/ComposerContextLabel.tsx |
Applies shared label styling across modes. |
apps/web/src/components/CommandPaletteThreadItems.tsx |
Uses tag-filtered thread candidates. |
apps/web/src/components/CommandPaletteLookups.ts |
Uses visible threads for project ordering. |
apps/web/src/components/CommandPalette.composition.browser.test.tsx |
Updates settings and thread-filter mocks. |
apps/web/src/components/ChatView.browser.test.tsx |
Preloads the lazy chat module before testing. |
apps/web/src/components/chat/ZoomableImage.tsx |
Allows SVG previews to scale up. |
apps/web/src/components/chat/useComposerSend.ts |
Guards failed follow-up draft restoration. |
apps/web/src/components/chat/TraitsPicker.tsx |
Uses shared reasoning-descriptor detection. |
apps/web/src/components/chat/TimelineSystemDivider.tsx |
Supports wrapped divider details. |
apps/web/src/components/chat/timelineMinimapItems.test.ts |
Adds assistant-timestamp fixture metadata. |
apps/web/src/components/chat/TimelineAssistantRows.tsx |
Renders timestamp-only assistant metadata. |
apps/web/src/components/chat/ThreadDetailsPrRow.tsx |
Adjusts PR status-row spacing. |
apps/web/src/components/chat/ThreadDetailsCard.tsx |
Excludes automation lists from density calculation. |
apps/web/src/components/chat/ThreadAutomationsPanel.tsx |
Shows policy blocks and bounds list height. |
apps/web/src/components/chat/RightPanelSurfaceContent.tsx |
Captures the surface-close callback locally. |
apps/web/src/components/chat/restingComposerControlsMeasurement.ts |
Accounts for model-label maximum width. |
apps/web/src/components/chat/ProviderModelPicker.browser.test.tsx |
Covers repeated model/effort focus transitions. |
apps/web/src/components/chat/PanelLayoutControls.tsx |
Avoids fading obsolete maximize controls. |
apps/web/src/components/chat/ModelPickerSidebar.tsx |
Preserves unavailable-provider explanations. |
apps/web/src/components/chat/ModelListRow.tsx |
Shows full truncated model names on hover. |
apps/web/src/components/chat/markdownStreamBlocks.ts |
Handles dedentation around indented fences. |
apps/web/src/components/chat/markdownStreamBlocks.test.tsx |
Covers streamed indented-fence boundaries. |
apps/web/src/components/chat/MarkdownCodeBlock.tsx |
Sets code-block text alignment explicitly. |
apps/web/src/components/chat/EffortGlyph.test.ts |
Covers unsupported effort-scale lengths. |
apps/web/src/components/chat/DraftHeroHeadline.tsx |
Uses visible threads in project summaries. |
apps/web/src/components/chat/ComposerCommandMenu.tsx |
Clarifies slash-command skill-search loading text. |
apps/web/src/components/chat/ComposerBannerStack.tsx |
Uses the banner scroll slot’s sizing. |
apps/web/src/components/chat/ChatHeader.tsx |
Compares renames against the editing snapshot. |
apps/web/src/components/chat/AssistantCitationCommentEditor.tsx |
Applies comment-aware writing direction. |
apps/web/src/components/BranchToolbarEnvModeSelector.tsx |
Adjusts locked-control spacing. |
apps/web/src/components/BranchToolbarEnvironmentSelector.tsx |
Adjusts locked-control spacing. |
apps/web/src/components/AddProjectToMachineDialog.tsx |
Normalizes pasted destination paths. |
apps/web/scripts/warm-dep-cache.ts |
Records optional startup profiling measurements. |
apps/server/src/triage/triageSession.ts |
Includes tunnel-log paths in triage context. |
apps/server/src/triage/triagePrompt.ts |
Describes tunnel logs in generated context. |
apps/server/src/triage/triagePrompt.test.ts |
Adds the tunnel-log fixture path. |
apps/server/src/textGeneration/testing/ClaudeTextGeneration.fixture.mjs |
Checks session-persistence flags and compatibility fallback. |
apps/server/src/terminal/Manager.ts |
Preserves spaces in child process names. |
apps/server/src/scheduledTasks/webhookRoute.ts |
Maps policy-blocked hooks to HTTP 403. |
apps/server/src/scheduledTasks/webhookRoute.test.ts |
Covers policy-blocked webhook responses. |
apps/server/src/scheduledTasks/webhookFilter.ts |
Handles wildcard existence for non-scalar values. |
apps/server/src/scheduledTasks/Schedule.test.ts |
Covers equivalent one-time schedule instants. |
apps/server/src/relay/AgentAwarenessRelay.ts |
Classifies thread-tag events for relay publishing. |
apps/server/src/provider/ProviderRegistry.ts |
Publishes the latest committed provider array. |
apps/server/src/provider/model-manifest.json |
Adds Antigravity 1.4.5 support metadata. |
apps/server/src/provider/Drivers/CodexDriver.ts |
Honors inherited CODEX_HOME when unconfigured. |
apps/server/src/provider/ClaudeProvider.ts |
Reads endpoint settings through the environment reader. |
apps/server/src/provider/agentContextBudget.json |
Refreshes measured agent-context budgets. |
apps/server/src/provider/AcpRegistryProbe.test.ts |
Verifies reasoning-role discovery metadata. |
apps/server/src/preview/ServerBrowserPage.ts |
Redacts data payloads from snapshot page URLs. |
apps/server/src/preview/ServerBrowserPage.test.ts |
Covers data-page URL redaction. |
apps/server/src/policy/managedUpdates.ts |
Centralizes explicit-update policy refusal reasons. |
apps/server/src/persistence/Sqlite.ts |
Adds a persistence-setup tracing span. |
apps/server/src/persistence/reconcileV2PreviewMigration.test.ts |
Updates expected migration manifests. |
apps/server/src/persistence/Migrations/077_RepairBooleanSettledOverride.ts |
Repairs legacy boolean settlement overrides. |
apps/server/src/persistence/Migrations.ts |
Registers the settlement-override repair migration. |
apps/server/src/peer/PeerLinks.testkit.ts |
Supplies managed policy to peer-auth fixtures. |
apps/server/src/orchestration-v2/ThreadStream.ts |
Stops replay-size counting beyond the limit. |
apps/server/src/orchestration-v2/ThreadMessageIntake.ts |
Recognizes policy-rejected message dispatches. |
apps/server/src/orchestration-v2/ThreadManagementService.ts |
Restricts delegated-work message reads to monitors. |
apps/server/src/orchestration-v2/testkit/OrchestratorScenario.ts |
Tracks thread IDs for tag commands. |
apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2/codex_output.ts |
Verifies root and child token attribution. |
apps/server/src/orchestration-v2/testkit/fixtures/opencode2_simple/output.ts |
Verifies native model usage attribution. |
apps/server/src/orchestration-v2/testkit/fixtures/claude_result_is_error/output.ts |
Excludes synthetic error models from usage. |
apps/server/src/orchestration-v2/testkit/fixtures/claude_nested_subagent_model/output.ts |
Verifies root and nested-agent usage accounting. |
apps/server/src/orchestration-v2/testkit/fixtures/claude_idle_resume/output.ts |
Checks usage-ledger reset after resumption. |
apps/server/src/orchestration-v2/DelegatedCompletionDelivery.test.ts |
Distinguishes awaited commands from background monitors. |
apps/server/src/orchestration-v2/ClaudeAutomaticDelivery.integration.test.ts |
Supplies managed policy to delivery fixtures. |
apps/server/src/orchestration-v2/Adapters/GrokAdapterV2.test.ts |
Supplies settings to runtime-policy fixtures. |
apps/server/src/observability/RpcInstrumentation.ts |
Classifies native-child-work RPC instrumentation. |
apps/server/src/mcp/toolkits/thread/handlers.ts |
Preserves scheduled-task execution error messages. |
apps/server/src/mcp/toolkits/orchestrator/tools.ts |
Generalizes the scheduling tool title. |
apps/server/src/mcp/threadAccess.ts |
Maps runtime ceilings to invalid requests. |
apps/server/src/guest/guestAttachments.test.ts |
Covers picture-source image attachments. |
apps/server/src/git/GitWorkflowService.ts |
Accepts remote selection for worktree-base fetching. |
apps/server/src/environment/ServerEnvironment.ts |
Advertises one-time scheduling capability. |
apps/server/src/device/deviceToolVersions.json |
Updates the device-hub version. |
apps/server/src/compileCache.ts |
Avoids flushing prepared packaged caches. |
apps/server/src/cloud/http.test.ts |
Supplies managed policy to cloud-auth fixtures. |
apps/server/src/cloud/CloudLink.lifecycle.test.ts |
Supplies managed policy to lifecycle fixtures. |
apps/server/src/cliCompileCache.ts |
Enables best-effort persistent CLI compile caching. |
apps/server/src/cli/trace.ts |
Refines duration formatting and exports summaries. |
apps/server/src/cli/server.ts |
Defers server loading until command execution. |
apps/server/src/cli/project.test.ts |
Supplies managed policy to project fixtures. |
apps/server/src/cli/environment.ts |
Provides managed policy for environment commands. |
apps/server/src/binCli.ts |
Registers the policy CLI command. |
apps/server/src/bin.ts |
Enables caching and optional import profiling. |
apps/server/src/auth/RpcAuthorization.ts |
Requires read access for native-child-work RPCs. |
apps/server/src/auth/mcpOAuthHttp.ts |
Includes runtime ceilings in approval details. |
apps/server/src/auth/http.ts |
Maps policy-refused pairing to forbidden responses. |
apps/server/src/auth/http.test.ts |
Supplies managed policy to auth fixtures. |
apps/server/package.json |
Advances the version and adds FFI support. |
apps/mobile/vite.config.ts |
Registers additional React-focused tests. |
apps/mobile/src/state/use-thread-outbox.ts |
Retains queued-thread key state between mounts. |
apps/mobile/src/state/use-composer-drafts.test.ts |
Supplies tag-filter state to fixtures. |
apps/mobile/src/state/session.ts |
Selects scope grants to reduce rerenders. |
apps/mobile/src/state/session.test.ts |
Supports selectors in atom-hook mocks. |
apps/mobile/src/state/entities.ts |
Exposes visible-thread subscriptions. |
apps/mobile/src/state/composer-attachment-uploads.test.ts |
Updates visible-thread mocks. |
apps/mobile/src/native/SelectableMarkdownText.types.ts |
Adds writing-direction and alignment props. |
apps/mobile/src/lib/markdownDocument.ts |
Exports entity and HTML-tag helpers. |
apps/mobile/src/lib/filePreview.test.ts |
Updates animation and model-switch mocks. |
apps/mobile/src/features/workspace/WorkspaceToolbar.ios.tsx |
Uses native-search restoration eligibility. |
apps/mobile/src/features/workspace/workspace-tabs-state.ts |
Defines native-search restoration rules. |
apps/mobile/src/features/workspace/useSearchScrollRestoration.ts |
Restores list position after search cancellation. |
apps/mobile/src/features/workspace/floating-workspace-tabs.ts |
Keeps compose-button space reserved. |
apps/mobile/src/features/workspace/AndroidWorkspaceNavigation.android.tsx |
Uses stable floating-tab width calculations. |
apps/mobile/src/features/threads/thread-context-divider.tsx |
Makes divider icons optional. |
apps/mobile/src/features/terminal/ThreadTerminalRouteScreen.tsx |
Adds safe-area padding to output attachment. |
apps/mobile/src/features/settings/SettingsServerControlsRouteScreen.test.tsx |
Updates managed-runtime choice mocks. |
apps/mobile/src/features/settings/settings-scoped-server.ts |
Explains policy-locked scoped settings. |
apps/mobile/src/features/settings/components/BranchNamingSettings.test.tsx |
Updates per-field disabled-state fixtures. |
apps/mobile/src/features/pull-requests/PullRequestMarkdown.tsx |
Passes media cache keys to images. |
apps/mobile/src/features/keyboard/CommandPalette.tsx |
Uses tag-filtered thread candidates. |
apps/mobile/src/features/files/filePath.test.ts |
Covers reads while file metadata is pending. |
apps/mobile/src/features/archive/useArchivedThreadSnapshots.ts |
Applies tag filtering to archived snapshots. |
apps/mobile/src/connection/background-activity.ts |
Bounds stalled activity-report requests. |
apps/mobile/README.md |
Links released mobile-app installation guidance. |
apps/desktop/vite.config.ts |
Builds the server-cache preparation helper. |
apps/desktop/src/snapShot/linuxCaptureSession.ts |
Defines a capture-setup-required error. |
apps/desktop/src/snapShot/KdeSnapShot.ts |
Uses the typed capture-setup error. |
apps/desktop/src/serverCompileCache.ts |
Exposes packaged server-cache generation. |
apps/desktop/src/preview/Manager.ts |
Releases guest focus for address-focus shortcuts. |
apps/desktop/src/preview/DesktopBrowserHost.ts |
Updates CDP routing and download-event handling. |
apps/desktop/src/preview/BrowserSession.ts |
Allows preview pointer-lock permission. |
apps/desktop/src/preview/BrowserSession.test.ts |
Covers pointer-lock permission handling. |
apps/desktop/src/preview/BrowserImport/ChromiumKeys.ts |
Uses asynchronous Keychain secret reads. |
apps/desktop/src/preload.ts |
Exposes desktop media reads to the renderer. |
apps/desktop/src/ipc/channels.ts |
Defines the desktop media-read IPC channel. |
apps/desktop/src/backend/DesktopLocalEnvironmentAuth.ts |
Waits for backend readiness before authentication. |
apps/desktop/src/backend/DesktopBackendConfiguration.ts |
Marks shell-discovery consent as pending. |
apps/desktop/src/app/DesktopWebLinks.ts |
Activates the desktop window after link delivery. |
apps/desktop/src/app/DesktopWebLinks.test.ts |
Updates window-activation fixtures. |
apps/desktop/src/app/DesktopPreReadyPlatform.ts |
Stops overriding the Linux window class. |
apps/desktop/src/app/DesktopLinuxUrlHandler.ts |
Bounds default-handler registration execution. |
apps/desktop/src/app/DesktopEnvironment.ts |
Removes custom Linux window-class metadata. |
apps/desktop/src/app/DesktopEarlyElectronStartup.ts |
Removes early Linux window-class configuration. |
apps/desktop/src/app/DesktopApp.ts |
Creates eligible main windows earlier during startup. |
apps/desktop/package.json |
Advances the desktop version core to 0.1.6. |
.macroscope/check-run-agents/ui-consistency.md |
Corrects the banner-consumer guidance example. |
Review effort: Balanced
|
Thanks for the work on managed-policy support and faster desktop startup. The interaction between background shell discovery and startup consumers needs two fixes before merge. OverviewThis PR adds machine-wide policy enforcement across server and desktop behavior, moves shell discovery off the desktop startup path with cached values and streamed updates, and includes preview, update, and mobile refinements. My focused checks covered policy boundaries and the desktop startup/environment flow; they were not an exhaustive review of all 1,081 changed files. Main Issues⚫️ Shell telemetry opt-out can be missed — ⚫️ Late shell discovery does not update provider environment snapshots — Both findings are detailed inline. Recommendation: request changes, with delayed-discovery integration coverage for telemetry consent and provider launches. I verified these paths through diffs and surrounding code; I did not run tests in this review. |
|
Both findings are answered inline (telemetry, provider environments): |
A serial run of every browser file moved the heading in upstream's new expand-at-bottom timeline test (pingdotgg#29166), which passes alone and in parallel. The rest of the web suite runs in parallel as upstream's does. Covered by ADR 0011.
|
Thanks, @Fryuni, for narrowing the CI workaround and updating the rationale alongside it. OverviewSummaryThis follow-up splits file-preview browser tests into their own serial step while restoring normal parallel scheduling for the remaining web tests. Both steps retain the 60-second test timeout, and ADR 0011 now explains the split and the observed scheduling sensitivity. Good points🟢 Main IssuesNo new actionable issues found in this two-file push. No review blockers for this follow-up, subject to CI passing. Validation was static; I did not execute the CI commands here. |

Problem
The fork is 359 commits behind
upstream/main. This sync keeps the features recorded indocs/adrand uses upstream's implementation wherever it can.Change
Merged
pingdotgg/t3codemain at47f2c8d29e98. 21 files conflicted, and 2 upstream workflow changes hit workflows the fork deletes (pr-vouch.yml,release.yml), which stay deleted per ADR 0011. Upstream added no new workflows and did not touchci.yml.Re-homed on upstream's structure
resolveServerAuthPolicyand rewroteisRemoteReachableHostaroundloopbackBindAddress. The fork'sisRemoteReachableServernow wraps upstream's rule, andresolveServerAuthPolicyreads it, so the managed-policy listen check also sees a public-URL server as remote-reachable.t3 updatekeeps the fork'sresolveUpdateTargetbeside upstream's policy refusal and exportedrunUpdate. Remote self-updates keep the fork's re-target. In a fork build, the managed "stable only" check no longer judges the client's requested version, because the server ignores that version (test row added). "Updates off" still refuses. Mobile's Check for updates keeps passingreleaseRepositorybeside upstream's new policy gating.knownOptionsfilter (#28133). The update path keeps the fork'stargetbeside upstream's new project-aware worktree strategy. The web dialog keeps the full selection beside upstream's managed runtime-mode clamp and one-time schedules.remotethat is now passed intofetchWorktreeBaseCommit. Mobile's Default base branch field sits beside upstream's managed-setting subtitles.mcpToolListJsonBytes48,543, still the fork's ~1 KB over upstream's 47,538.Fixes for new upstream interactions
fix(mcp): upstream'slink_pull_requests(#27994) resolved its URLs without a project, so ADR 0020's clone-host mapping did not apply. It now passes the thread's project (existing test extended).fix(server):isRemoteReachableServeracceptsServerConfig's optionalpublicUrl.test(server): the fork's unbound scheduled-task tests stub upstream's new default-branch lookup (#27983).docs(web): the Settings label still calls127.0.0.1.nip.ioloopback, but upstream's server now counts that name as remote. The comment now says why the two differ.ci: upstream's new expand-at-bottom timeline test (#29166) failed in a serial run of every browser file, which landed its heading 104 px off. It passes alone and in parallel.Test Webnow runs the suite in parallel as upstream does, and only the file-preview browser tests (src/components/files/) in a separate serial step (ADR 0011).Implemented upstream: nothing this round replaces a fork feature. Upstream's scheduled tasks now start from the remote's default branch, which ADR 0009 records.
ADRs
All ADRs now compare against
47f2c8d29. Notes were added or rewritten in 0009, 0010, 0011 (version core is now0.1.6;Test Weblayout), 0016, and 0020.git show --remerge-diff 0b65e464b8shows the whole conflict resolution.Scope and approval
This is a maintainer-requested sync of the fork onto upstream. Every fork divergence is covered by an ADR in
docs/adr.Verification
vp run check:changed: format, lint, knip, GraphQL, typecheck (39 packages), tests 2958/2958 (144 files), and React compiler coverage all pass.Test Web's two new steps, run locally as CI runs them: 504 files / 5426 tests in parallel, plus 9 files / 152 tests serially. Together that is the full suite CI ran before (513 files / 5578 tests).GitManagertests needGIT_CONFIG_GLOBAL=/dev/nullhere, because the global config setspush.default=upstream.LD_LIBRARY_PATH.vp check, a manual pass in a real client, and the fork release workflow.Model: Claude Opus 5.5; harness: Claude Code in T3 Code.
🤖 Generated with Claude Code