Skip to content

chore(sync): merge upstream main for RTVision - #108

Merged
kalvenschraut merged 167 commits into
rtvisionfrom
sync/upstream-main-20261027
Oct 27, 2026
Merged

kalvenschraut merged 167 commits into
rtvisionfrom
sync/upstream-main-20261027

Conversation

@kalvenschraut

@kalvenschraut kalvenschraut commented Oct 27, 2026 •

Copy link
Copy Markdown
Member

Summary

Merge pingdotgg/main into rtvision from cc0b86ddf12a34bd65dce88d6f2ae1f069ef841e through e9236274a3a6e0c731a7df4092db1e686f039068 (155 upstream commits).

Upstream brings the latest Android settings and last-project preference, provider leads and Vercel fx support, compact MCP schemas and merged action tools, trend/comparison inline charts, ACP notices, queued-message and cache/refresh reliability fixes, pull-request/diff and preview improvements, and broad mobile/web navigation and performance refactors. Relevant fixes include macOS Android discovery warnings, Claude MCP timeout session preservation, settled delegated runs, thread/worktree recovery, and cloudflared pinning.

The merge takes upstream implementations for generic preview, markdown, diff highlighting, terminal synchronization, pull-request guide/list plumbing, and the newer client/runtime refactors. It retains RTVision-specific Gitea/Forgejo integrations, editor/Vim and terminal affordances, dependency-aware pull-request behavior, registry/update routing, Node/npm/OpenRC and Alpine compatibility, and the RTVision release workflow/docs. Fork package versions remain at 0.0.95 until the post-merge release step.

Validation

  • Pinned fork: e6b1fbe48ac62a792e767e92244fad119c3c552e
  • Pinned upstream: e9236274a3a6e0c731a7df4092db1e686f039068 (includes 7c3b3b3605, the packaged-server zod fix for @cursor/sdk 1.0.38)
  • Merge commit: 9bedb75d5c
  • git diff --check: clean except four pre-existing upstream patch-file whitespace lines.
  • Resync 60a34b2f55: every file both sides changed was redone as a real three-way merge (the first pass kept stale fork copies of upstream-reworked files, which caused the 79 typecheck errors). Details are in the commit message.
  • @pierre/diffs 1.6.1 patch gains navigateSearch for Vim n/N; the fork's 1.5.2 grammarContext seeding and Shiki SFC grammars are dropped (@pierre/highlights handles Vue/Svelte/Astro).
  • Local: typecheck clean for web, client-runtime, server, contracts, desktop, shared, mobile; knip and generate checks pass; web build passes; web unit 4442/4442 and client-runtime 1443/1443 pass; format and lint clean on fork-differing files; vp i --frozen-lockfile passes.

CodeRabbit: please review this PR.

juliusmarminge and others added 30 commits October 26, 2026 04:11
…tart (pingdotgg#25364)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…from mounted components (pingdotgg#25459)

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

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…e hears scrolling through one viewport signal (pingdotgg#25463)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…r thread is not open (pingdotgg#25457)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… search runs from handlers (pingdotgg#25458)

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

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

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

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

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

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ent instead of rendering each one (pingdotgg#25562)

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

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…in one place (pingdotgg#25527)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… compromised eMudhra intermediates (pingdotgg#25572)

Co-authored-by: Theo Browne <me@t3.gg>
@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai please review the latest candidate 555167e at the authorized high-level integration scope. This commit regenerates the settings route tree to include all tracked settings routes and the retained editor route.

@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail
echo '--- Candidate patch ---'
gh api repos/RTVision/t3code/commits/555167e0b1 --jq '{sha,parents:[.parents[].sha],stats,files:[.files[]|{filename,status,patch}]}'
echo '--- Pinned repository instructions ---'
gh api 'repos/RTVision/t3code/contents/AGENTS.md?ref=555167e0b1' --jq .content | base64 --decode
echo '--- Current PR metadata ---'
gh api repos/RTVision/t3code/pulls/108 --jq '{head:.head.sha,changed_files}'
echo '--- Checkout identity ---'
git rev-parse HEAD
echo '--- Scoped instructions ---'
fd -H '^AGENTS\.md$' apps/web
echo '--- Route tree and settings route candidates ---'
fd -i 'routeTree|settings' apps/web/src

Length of output: 55535


🏁 Script executed:

#!/bin/bash
set -euo pipefail
echo '--- Outlines ---'
ast-grep outline apps/web/src/routeTree.gen.ts
ast-grep outline apps/web/src/routes --match 'Route|Settings' --items all
echo '--- Generated runtime composition ---'
sed -n '800,930p' apps/web/src/routeTree.gen.ts
echo '--- Settings parent and editor route ---'
sed -n '1,200p' apps/web/src/routes/_chat.settings.tsx
cat apps/web/src/routes/_chat.settings.editors.tsx
echo '--- Static route consistency check (reads source only) ---'
python - <<'PY'
import subprocess, re, pathlib
tree = pathlib.Path('apps/web/src/routeTree.gen.ts').read_text()
files = subprocess.check_output(['git','ls-tree','-r','--name-only','555167e0b1','--','apps/web/src/routes'], text=True).splitlines()
routes = [p for p in files if re.search(r'/_chat\.settings\.[^/]+\.tsx$', p)]
print('Tracked settings child route files:', len(routes))
errors = []
for p in routes:
    source = pathlib.Path(p).read_text()
    name = pathlib.Path(p).stem
    match = re.search(r"import \{ Route as (\w+) \} from '\./routes/" + re.escape(name) + "'", tree)
    decl = re.search(r'createFileRoute\(\s*["\']([^"\']+)["\']\s*\)', source)
    print(p, 'declaration:', decl.group(1) if decl else 'NOT FOUND')
    if not match or not decl:
        errors.append((p, 'missing import or declaration'))
        continue
    symbol = match.group(1).removesuffix('Import')
    slug = name.removeprefix('_chat.settings.')
    expected_id = '/_chat/settings/' + slug
    if decl.group(1) != expected_id:
        errors.append((p, 'declaration mismatch'))
    runtime = re.search(r'const '+symbol+r'\s*=\s*'+match.group(1)+r'\.update\(\{(.*?)\}\s*as any\)', tree, re.S)
    if not runtime or not all(x in runtime.group(1) for x in ["id: '/"+slug+"'", "path: '/"+slug+"'", 'getParentRoute: () => ChatSettingsRoute']):
        errors.append((p, 'runtime update mismatch'))
    for interface in ['FileRoutesByFullPath', 'FileRoutesByTo', 'FileRoutesById']:
        block = re.search(r'export interface '+interface+r' \{(.*?)\n\}', tree, re.S).group(1)
        key = expected_id if interface == 'FileRoutesById' else '/settings/'+slug
        if "'"+key+"': typeof "+symbol not in block:
            errors.append((p, interface+' mismatch'))
    for label, pattern, entry in [
        ('children type', r'interface ChatSettingsRouteChildren \{(.*?)\n\}', symbol+': typeof '+symbol),
        ('children object', r'const ChatSettingsRouteChildren: ChatSettingsRouteChildren = \{(.*?)\n\}', symbol+': '+symbol+',')
    ]:
        block = re.search(pattern, tree, re.S)
        if not block or entry not in block.group(1):
            errors.append((p,label+' mismatch'))
    aug = re.search(re.escape("'"+expected_id+"'")+r': \{(.*?)\n    \}', tree, re.S)
    if not aug or not all(x in aug.group(1) for x in ["fullPath: '/settings/"+slug+"'", 'parentRoute: typeof ChatSettingsRoute', 'preLoaderRoute: typeof '+match.group(1)]):
        errors.append((p,'module augmentation mismatch'))
imports = re.findall(r"from '\./routes/(_chat\.settings\.[^']+)'",tree)
tracked = {pathlib.Path(p).stem for p in routes}
print('Generated settings imports without tracked files:', sorted(set(imports)-tracked))
print('Consistency errors:', errors)
PY
echo '--- Router consumers and settings navigation context ---'
rg -n -C2 'routeTree|/settings/editors' apps/web/src --glob '!routeTree.gen.ts' --glob '!*.test.*' --glob '!*.browser.test.*'

Length of output: 34751


@kalvenschraut I inspected 555167e0b1 and confirmed that it is the current PR head.

No finding arose from this focused integration check.

  • The commit changes only apps/web/src/routeTree.gen.ts.
  • All 26 tracked settings child routes have matching generated imports, route paths, parent assignments, type maps, and runtime child registrations.
  • The ten added routes are registered under the settings parent.
  • /settings/editors remains registered and points to EditorsSettingsPanel.
  • The application router uses the generated route tree.

I applied your existing sync-review guidance to distinguish upstream changes from the retained RTVision integration.

Coverage remains limited. This inspection covers the candidate delta and related routing context, not the full 108-commit sync. The PR contains 713 changed files. The last automated review was skipped because 709 files exceeded the 100-file limit.

I did not run repository code, tests, or browser checks. Before merging, verify CI results and confirm navigation to the added settings pages and the retained Editors page.

I’ll request the high-level integration review. This inspection does not establish approval or merge readiness.


🧠 Learnings used
Learnt from: kalvenschraut
Repo: RTVision/t3code PR: 80
File: :0-0
Timestamp: 2026-10-07T00:31:24.248Z
Learning: For RTVision/t3code large integration PRs containing .repos/** vendored references, do not infer runtime review coverage from an automated reviewed-head marker or configuration-only walkthrough. GitHub's PR-file endpoint can omit later runtime files after its 3,000-file limit; path exclusions cannot recover omitted files. To verify a specified runtime delta, inspect per-commit patches and final source pinned through the Contents API, including surrounding runtime context.
Learnt from: kalvenschraut
Repo: RTVision/t3code PR: 75
File: apps/server/src/ws.ts:1884-1886
Timestamp: 2026-10-01T02:59:46.729Z
Learning: RTVision/t3code aims to preserve upstream files unchanged where possible during upstream sync PRs. Distinguish upstream changes from the RTVision overlay when assessing the scope of proposed fork-specific changes.
⚠️ Action not completed

Review skipped: 710 files exceed the limit of 100.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

jason5545 and others added 24 commits October 27, 2026 03:48
…otgg#25841)

Co-authored-by: jason chien <3936511+jason5545@users.noreply.github.com>
…b checks

agent-device 0.21.32 folds the iPhone Duo in Simlock's device set. The
folded Duo keeps its side rail inside a thread, so the hide-on-push tab
checks only apply to bottom tab bars. The Duo poses stay pending: alert
accept cannot see the open-link prompt on the Duo.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…derive instead of syncing (pingdotgg#25813)

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

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

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Theo Browne <me@theo.li>
…ount connects (pingdotgg#25868)

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

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

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

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

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

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

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

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

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

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

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Brings PR #108 up to upstream e923627 (47 more commits), including
7c3b3b3, the packaged-server zod fix for @cursor/sdk 1.0.38.

The earlier merge kept whole fork copies of files upstream had since
reworked, which is what broke typecheck. Every file both sides changed is
now a real three-way merge: upstream first, fork behavior layered on.

- ChatView, MessagesTimeline, CommandPalette, DiffPanel, _chat route:
  upstream versions plus the Vim hooks. Vim commands now also reach
  upstream's shortcut dispatcher, and the palette remembers Vim focus from
  its store.
- ElectronBrowserHost: upstream app-service layout, keeping the pinned
  desktop profile for link opens and older bridges without onOpenLink.
- Editor picker: upstream's favorite-editor command keeps the Neovim
  terminal dispatch; the picker still shows whenever a project is open.
- PR code tab and files viewed: upstream reveal, sentinel and commit
  scoping, keeping fork folding, writable gating and the viewed count.
- PR list answers keep partial coverage warnings on restore.
- @pierre/diffs 1.6.1 patch gains navigateSearch for Vim n/N. The fork's
  1.5.2 grammarContext seeding and Shiki SFC grammars are dropped:
  @pierre/highlights handles Vue, Svelte and Astro itself.
- Fork tests updated for upstream moves (vcs revalidation mock, access
  settings view, host link listener as an app service); the PreviewView
  profile test is restored to its 0.0.95 expectations.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… Git 2.56

Git 2.56 reports a linked worktree whose gitdir is gone as "gitfile does not
point to a valid repository" rather than "not a git repository", so the
branch check failed the cleanup instead of keeping the worktree. The fork CI
runner image moved from Git 2.55 to 2.56 between runs and
storageCleanup.test.ts caught it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…st drives the app service

The 1.6.1 search patch dropped the fork's last-match memory, so a repeat
after closing the find panel restarted from the first match. Port
`#lastMatch` back.

Upstream moved the desktop preview bridge listeners from the
ElectronBrowserHost component into startElectronBrowserHost, so the
older-bridge test now starts that service instead of rendering.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai review — please review the latest candidate 66186e8 (commits 60a34b2, b4335b9, 66186e8 since your last pass). This sync is ~700 files; if coverage is limited, state that explicitly rather than inferring approval.

@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail
echo '--- head and PR ---'
git rev-parse HEAD
gh api repos/RTVision/t3code/pulls/108 --jq '{head:.head.sha,base:.base.sha,changed_files,mergeable_state}'
echo '--- instructions ---'
fd -H '^AGENTS\.md$' .
echo '--- root instructions ---'
sed -n '1,200p' AGENTS.md
echo '--- commits ---'
for sha in 60a34b2f55 b4335b92e4 66186e872c; do
  echo "--- $sha ---"
  git show -s --format='%H %P%n%s%n%b' "$sha"
  git diff-tree --no-commit-id --name-status -r "$sha" | head -100
  git show --stat --format='' "$sha" | tail -25
done
echo '--- compare from previous head ---'
git diff --stat 555167e0b1 66186e872c | tail -50

Length of output: 31675


🏁 Script executed:

#!/bin/bash
set -euo pipefail
echo '--- focused fixes ---'
git show --format=fuller --no-ext-diff b4335b92e4 -- apps/server/src/storageCleanup.ts
git show --format=fuller --no-ext-diff 66186e872c -- apps/web/src/browser/ElectronBrowserHost.legacy.browser.test.tsx 'patches/@pierre%2Fdiffs@1.6.1.patch' pnpm-lock.yaml
echo '--- touched integration files from merge ---'
git diff-tree -m --first-parent --no-commit-id --name-only -r 60a34b2f55 | rg 'ChatView|MessagesTimeline|CommandPalette|DiffPanel|_chat\.|ElectronBrowserHost|Editor|PullRequest|pullRequest|storageCleanup|settings|ws\.ts|package\.json|pnpm-lock' | head -130
echo '--- merge delta size vs first parent ---'
git diff --shortstat 555167e0b1 60a34b2f55
echo '--- outlines ---'
ast-grep outline apps/server/src/storageCleanup.ts --match 'branch|worktree|cleanup'
ast-grep outline apps/web/src/browser/ElectronBrowserHost.legacy.browser.test.tsx
echo '--- storage context ---'
rg -n -C8 'gitfile does not point|not a git repository|gitdir|worktree|isValid' apps/server/src/storageCleanup.ts | head -180
echo '--- linked test assertions ---'
rg -n -C4 'broken gitfile|gitfile does not point|not a git repository|invalid repository' apps/server/src --glob '*storageCleanup*'

Length of output: 27822


🏁 Script executed:

#!/bin/bash
set -euo pipefail
echo '--- storage branch flow ---'
sed -n '460,575p' apps/server/src/storageCleanup.ts
echo '--- storage test evidence ---'
rg -n -C3 'gitfile|valid repository|broken|missing.*git|branch.*check' apps/server/src/storageCleanup.test.ts | head -130 || true
echo '--- search patch ---'
sed -n '385,580p' 'patches/@pierre%2Fdiffs@1.6.1.patch'
echo '--- patch consumers and tests ---'
rg -n -C3 'navigateSearch|findAgain|repeatSearch|searchNext|searchPrevious|lastMatch' apps/web/src/components/DiffPanel.tsx apps/web/src/components/DiffPanelShell.tsx apps/web/src/components/ChatView.tsx apps/web/src/components/CommandPalette.tsx apps/web/src --glob '*test*' | head -150 || true
echo '--- browser service outline and slices ---'
ast-grep outline apps/web/src/browser/ElectronBrowserHost.tsx --match 'startElectronBrowserHost|ElectronBrowserHost'
rg -n -C8 'startElectronBrowserHost|onPointer|subscribePointer|pointerEvent' apps/web/src/browser/ElectronBrowserHost.tsx | head -180 || true
echo '--- lock hash against patch file ---'
sha256sum 'patches/@pierre%2Fdiffs@1.6.1.patch'
rg -n -F 'patch_hash=1a4911922c070293445e64dee8b6d117607bbbbd2060f5a66a84b273fefefe9b' pnpm-lock.yaml
echo '--- PR checks ---'
gh pr checks 108 --repo RTVision/t3code 2>&1 | head -90 || true

Length of output: 18770


🏁 Script executed:

#!/bin/bash
set -euo pipefail
echo '--- release versions ---'
for f in package.json apps/web/package.json apps/server/package.json apps/desktop/package.json apps/mobile/package.json; do
  jq -r --arg f "$f" '[ $f, .version // "none" ] | @tsv' "$f"
done
echo '--- selected fork integration markers in final source ---'
rg -n -m 3 -C2 'Gitea|Forgejo|Neovim|Vim|navigateSearch|threadPullRequests|partial coverage' apps/server/src/pullRequest/PullRequestService.ts apps/server/src/ws.ts apps/web/src/components/ChatView.tsx apps/web/src/components/CommandPalette.tsx apps/web/src/components/DiffPanel.tsx apps/web/src/components/pullRequest/PullRequestCodeTab.tsx apps/web/src/components/pullRequest/pullRequestList.logic.ts | head -165 || true
echo '--- overlay compared to upstream for chosen areas (names only) ---'
git diff --name-only e9236274a3a6e0c731a7df4092db1e686f039068 66186e872c -- apps/server/src/pullRequest apps/web/src/components/pullRequest apps/web/src/components/ChatView.tsx apps/web/src/components/CommandPalette.tsx apps/web/src/components/DiffPanel.tsx apps/web/src/browser/ElectronBrowserHost.tsx | head -85
echo '--- last-match comparisons ---'
rg -n -C3 -F 'navigateSearch' 'patches/@pierre%2Fdiffs@1.6.1.patch' apps/web/src || true
echo '--- targeted lint and issue metadata not executed ---'
git diff --check b4335b92e4 66186e872c | head -35 || true

Length of output: 10023


@kalvenschraut I inspected 66186e872c and confirmed that it is the current PR head.

No finding arose from the focused checks below.

  • b4335b92e4: The Git 2.56 diagnostic follows the existing conservative path that keeps the worktree. An existing test covers a broken .git target.
  • 66186e872c: The search patch retains the last match after the find panel closes. Vim n/N reaches navigateSearch. The legacy desktop test now starts the service that owns the pointer listener.
  • Patch consistency: The patch file’s SHA-256 matches the lockfile hash, including all three importer references and the snapshot.
  • 60a34b2f55 sampling: Vim integration hooks remain in the inspected chat, command palette, and diff source. Web, server, and desktop versions remain 0.0.95. This sampling does not verify all retained fork behavior.

GitHub reports passing build/typecheck, lint, test, and release-smoke checks. The CodeRabbit check is marked skipped.

Coverage remains limited. The PR now contains 911 changed files. The three requested commits change 278 files relative to the previously inspected candidate. I inspected the two narrow fixes and selected integration references, not every merge resolution.

I applied your existing guidance to distinguish upstream changes from the RTVision overlay. I did not run repository code, tests, or browser checks. Before merging, confirm Vim repeat-search behavior after closing the find panel and pointer behavior in an older desktop shell.

I’ll request the automated review as well. This focused inspection does not establish approval or merge readiness.


🧠 Learnings used
Learnt from: kalvenschraut
Repo: RTVision/t3code PR: 59
File: :0-0
Timestamp: 2026-09-15T16:31:48.090Z
Learning: For RTVision sync PRs, do not report a pre-existing fork behavior as a finding when the overlay only repositions byte-identical code during conflict resolution. Review the behavior in the separate follow-up issue or PR instead.
Learnt from: kalvenschraut
Repo: RTVision/t3code PR: 75
File: apps/server/src/ws.ts:1884-1886
Timestamp: 2026-10-01T02:59:46.729Z
Learning: RTVision/t3code aims to preserve upstream files unchanged where possible during upstream sync PRs. Distinguish upstream changes from the RTVision overlay when assessing the scope of proposed fork-specific changes.
Learnt from: CR
Repo: RTVision/t3code PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-10-20T10:21:31.445Z
Learning: Source excerpt:
# T3 Code

## Verifying

- **Do not run repo-wide checks.** No `vp check`, no `vp run -r test`, no `vp run -r typecheck` unless I ask. CI owns the full suite.
⚠️ Action not completed

Review skipped: 908 files exceed the limit of 100.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Upstream anchors a selected range as a multi-line comment on hosts that
support it (GitHub). The fork's retained Code and Guide tab copies predated
that and always posted the last line only. Take upstream's
resolveDiffReviewAnchor path in the Code tab and forward startPosition from
the Guide tab excerpt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kalvenschraut
kalvenschraut merged commit 882ca0b into rtvision Oct 27, 2026
28 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.