Repository navigation
chore: 同步上游 pingdotgg/t3code main 至 b5a226e49c - #33
Merged
Merged
Conversation
pingdotgg#22546) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…verrides (pingdotgg#23037) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tton (pingdotgg#23040) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… own files (pingdotgg#23042) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…23046) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ort (pingdotgg#23048) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ake (pingdotgg#23049) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…olsBar (pingdotgg#23058) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#23060) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gg#23062) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ions (pingdotgg#23063) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tions (pingdotgg#23064) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…n useThreadLifecycle (pingdotgg#23065) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ineRewind (pingdotgg#23066) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…chmentPreviewHandoff (pingdotgg#23067) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…neBanner (pingdotgg#23068) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…useComposerSelection (pingdotgg#23069) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…stDraftThread (pingdotgg#23070) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ChatView.logic (pingdotgg#23071) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…line overlays move out (pingdotgg#23072) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…the server (pingdotgg#22897) Co-authored-by: MarMarLabs <marmar9615@icloud.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…otgg#21822) Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
… instead of crashing (pingdotgg#22471)
…g#22913) Co-authored-by: flamboh <oliver.boorstein@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…sign in over (pingdotgg#22377) Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
… internal error (pingdotgg#22895) Co-authored-by: ScottN-PV <snorteman@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ll (pingdotgg#22900) Co-authored-by: fixfon <12512757+fixfon@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…again (pingdotgg#22937) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ailure (pingdotgg#22904) Co-authored-by: fixfon <12512757+fixfon@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gg#21519) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… Usage (pingdotgg#22905) Co-authored-by: Victor Vogel <satsdev@only21mil.xyz> Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…dotgg#22149) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…typing into the composer (pingdotgg#22898) Co-authored-by: fixfon <12512757+fixfon@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ngdotgg#22853) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gdotgg#22188) Co-authored-by: macodev00 <macodev00@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…their pull requests (pingdotgg#22782)
…ingdotgg#22938) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…dotgg#22826) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
…dotgg#23126) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
A markdown image such as , or a raw \\host\share path, was classified as a host file. Rendering it asked the server for a signed asset URL, and the server's realpath on the resulting UNC path made Windows open an SMB session and send the user's NetNTLMv2 response to the attacker's host, with no click and no tool call. File-link chips did the same through filesystem.getMetadata, which stats every absolute path, and storage cleanup stats the store paths in a worktree's pnpm manifest, which an agent can write. Network paths (two leading separators, as Windows reads them: \\h, //h, /\h) now only resolve inside the thread's project, so projects on a share keep working: - clients block them in markdown images and stop treating them as file links - the web stops asking for their metadata - the server refuses them for media assets and file reads outside the project, never stats one for metadata, and storage cleanup ignores a pnpm manifest that names one - each check hands the filesystem the resolved path it approved, since Windows reads a `\\?\` path as written, `..` included Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
….com footer (pingdotgg#23133) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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.
建议标题: chore: 同步上游 pingdotgg/t3code main 至 b5a226e
概要
使用
git merge(不 rebase)把上游pingdotgg/t3codemain 合并进 fork main。57e67edd69(PR chore: sync upstream main 0bdf33a; drop cursor-hygiene-webhook (关联 #31) #32 的合并提交)b5a226e49c(fix(source-control): merge messages drop Claude Code's current claude.com footer (fix(source-control): merge messages drop Claude Code's current claude.com footer pingdotgg/t3code#23133))0bdf33a34d0bdf33a34d..b5a226e49c,共 68 个提交,分两次合并:70d5df78d9(Merge upstream pingdotgg/t3code main 70e5e38 into fork main),上游0bdf33a34d..70e5e384da,65 个提交e78909bd4a(Merge upstream pingdotgg/t3code main b5a226e into chore/upstream-sync-20261022b),上游70e5e384da..b5a226e49c,3 个提交为什么要合并第二次
上游
70e5e384da本身就是坏的:apps/web/src/components/chat/useChatShortcuts.browser.test.tsx:53还在给useChatShortcuts传typeIntoComposer,但这个字段已经不在ChatShortcutsInput里了。所以 web typecheck 报 2 个 TS 错误(TS2353、TS7006),这个浏览器测试也失败。上游自己的 CI 在70e5e384da上也是红的。上游在
bd6940beab(test(web): chat shortcut test types through the composer handle, pingdotgg#23126)修好了这个问题。第二次合并把上游 main 推进到b5a226e49c,它包含这个修复,上游 CI 是绿的。fork 没有手改上游代码。合并后这个测试文件和bd6940beab的版本逐字节一致(sha2561b73f1bc…cdbc)。第二次合并带进来的另外两个上游提交:
a12d6ed942(Merge commit from fork,安全修复):Windows 网络路径(\\host\share、//host、file://host/...)只能在线程所属项目内解析。这样 markdown 图片、文件链接 chip 和 storage cleanup 都不会再去碰攻击者的 SMB 主机,也就不会泄露 NetNTLMv2。涉及 server AssetAccess / WorkspaceFileSystem / storageCleanup / ws,client-runtime markdownImages,shared markdownLinks / path,web useFileMetadata,mobile markdownMediab5a226e49c(fix(source-control): merge messages drop Claude Code's current claude.com footer pingdotgg/t3code#23133):生成合并提交信息时,去掉 Claude Code 现在使用的 claude.com 页脚本批上游的主要改动:
@clerk__electron@0.1.1.patch,Clerk 依赖升级)冲突
两次合并都没有文本冲突。 第二次合并(
70e5e384da..b5a226e49c)改动的 18 个文件 fork 都没改过,合并后与上游b5a226e49c完全一致。第一次合并中,双方都改过的 6 个文件都由 git 自动合并,我逐个检查过,fork 的行为都保留了:
apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.tsclaudeApprovalPresentation,接入 ServerSettings / idle compactionpackages/provider-opencode/src/server/adapter.tspackages/contracts/src/settings.tspackages/contracts/src/orchestrationV2.tsexternalAcpResume元数据apps/server/src/provider/providerMaintenanceRunner.test.tsapps/server/src/vcs/GitVcsDriverCore.test.ts不需要额外的修复提交。
删除文件检查
第二次合并没有删除任何文件:
git diff --diff-filter=D 70d5df78d9 HEAD为空。git diff --diff-filter=D origin/main HEAD共列出 4 个删除,都是上游删除的(由上游 pingdotgg#22903 添加、上游 pingdotgg#23038 删除),fork 自上次同步以来没有改过它们,也没有 fork 独有文件被删:apps/desktop/src/clerkOAuthCancel.tsapps/desktop/src/clerkOAuthCancel.test.tsapps/web/src/components/clerk/ClerkOAuthPendingBar.tsxpatches/@clerk__electron@0.1.1.patch(pnpm-workspace.yaml的 patchedDependencies 也同步移除了,没有残留引用).github/workflows/cursor-hygiene-webhook.yml仍然是删除状态(与 d8e659a 保持一致)。model-manifest.json本次没有变化,opencode/1=1、opencode/2=2、pi/2=2 都保留,由 providerCompatibility 守护测试验证。测试
第二次合并后(HEAD
e78909bd4a,Node v24.22.0)vp install --frozen-lockfile(模拟 CI 的安装步骤)vp run typecheck→tsc-rs --noEmit)useChatShortcuts.browser.test.tsx(headless chromium)node --test .github/scripts/opent3code-*.test.cjsproviderCompatibility.test.ts+ModelManifest.test.ts+providerMaintenanceRunnerAssetAccess/storageCleanup/WorkspaceFileSystem(第二次合并的上游改动)markdownImages+mediaSourcemarkdownLinksmergeMessagemarkdownMedia第一次合并后(HEAD
70d5df78d9)node --test .github/scripts/opent3code-*.test.cjsnode --test .github/scripts/*.test.cjspython3 .github/scripts/stage-preview-bundle.test.pyopent3code-source-integrity.cjs --placeholder-only origin/main HEADproviderMaintenanceRunnerproviderCompatibility.test.ts+ModelManifest.test.tsClaudeAdapterV2.test.ts+GitVcsDriverCore.test.ts(双方都改过)adapter.test.ts(双方都改过)settings.test.ts+orchestrationV2.test.ts(双方都改过)mobile-native-static-check.test.ts未验证
useChatShortcuts以外的 web 浏览器测试(*.browser.test.tsx,包括 UsageToggleShortcut、MessagesTimeline、ThreadDetailsPrRow、PullRequestCodeTab、SidebarProviderUpdatePill、AssistantCitationChip)apps/web/src/hooks/useFileMetadata.ts(安全修复)没有单测,只经过 typecheckapps/mobile/src/reactCompilerCoverage.test.ts,以及 desktop / mobile 的构建