Repository navigation
Conversation
Signed-off-by: WangTao <wangtao2@xd.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. |
[Medium impact] 本 PR 看起来可以安全合并,未发现由这些改动引入的实际问题。
|
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.
这次改了什么
摘要
Desktop 的富回复标签页已经预先渲染了子节点,但在构建 tabpanel 时又递归渲染一次。每多一层 tabs,叶节点的 Markdown/媒体处理工作量翻倍;一个只有 10 层 tabs 和 1 个 Markdown 节点的合法回复会调用正文 renderer 1,024 次。现在 tabpanel 复用首次生成的子节点,每次更新只处理每个叶节点一次。
变更类型
fix缺陷修复范围
UI 变化
怎么验证的
自动验证
Windows 11,Node 24.12.0,pnpm 10.33.2;依赖通过 frozen lockfile 完整安装。
从 apps/desktop 执行:
类型检查:以 Desktop 原 tsconfig 为基础,include 限定这两个变更文件及 Desktop 原有的全部 *.d.ts;真实依赖仍由 TypeScript 正常递归解析,无 stub、无新增类型豁免。
node --max-old-space-size=4096 node_modules/typescript/bin/tsc --noEmit -p outputs/fix-7491/tsconfig.rich-answer.json退出码 0。测试价值(RichAnswer.test.tsx,两项 Tier 1 生产组件测试):
手工验证
未修改正在运行的安装版 Cindy。独立回归测试在 Windows 上挂载真实 RichAnswer 组件;没有声称完成 Electron 实机卡死复现或修复验收。
未执行的验证
风险
风险分类
影响与回滚
提交前检查
CI follow-up (2026-10-29)
client-ci attempt #2 is failed, not green. Both verify-checks and Linux unit tests (3/4) stopped during
pnpm install --frozen-lockfile, before code verification/tests:ERR_PNPM_ENOENT, renaming a temporary directory undernode_modules/@esbuild-kit/core-utils/node_modules/toesbuild. The aggregateverifythen failed because those jobs failed. All four Windows unit shards, their aggregate check, the Windows runner/database checks, Desktop Git integration, and the other three Linux unit shards succeeded. This PR changes only RichAnswer and its regression tests, with no dependency, lockfile, installer or CI changes.The later main run succeeded, including verify-checks and all Linux/Windows shards, using the same pnpm 10.33.2 and unchanged
.npmrc. This supports an installation issue; it does not make this PR's failed checks pass. A targeted failed-job rerun was attempted once, but GitHub rejected it with403 Must have admin rights to Repository. A repository maintainer must rerun failed jobs; this contributor cannot clear the red checks. No unrelated code change, skipped assertion, or dummy commit was added to bypass the failure. Existing local validation and runtime limitations above remain unchanged.