完成资源管理的功能修复 #154

Merged
kdletters merged 14 commits from codex/resource-management-final into master 2026-08-12 13:14:55 +08:00
Contributor

实现资源卡本体化与图片视频音频预览播放

实现四个资源分区独立高度与内外滚动

实现依赖视图确定性聚类与拓扑变化重排

补齐布局、SVG、AppSurface、性能和媒体回归

同步工作台PRD、技术方案与项目共享记忆

实现资源卡本体化与图片视频音频预览播放 实现四个资源分区独立高度与内外滚动 实现依赖视图确定性聚类与拓扑变化重排 补齐布局、SVG、AppSurface、性能和媒体回归 同步工作台PRD、技术方案与项目共享记忆
menghao self-assigned this 2026-08-10 10:45:00 +08:00
menghao added this to the 陶泥儿gameAgent project 2026-08-10 10:45:00 +08:00
menghao requested review from kdletters 2026-08-10 10:45:00 +08:00
menghao marked the pull request as ready for review 2026-08-10 14:57:18 +08:00
kdletters requested changes 2026-08-10 15:46:47 +08:00
Dismissed
kdletters left a comment
Member

请求修改。当前 head d407ceb48f47f1aa2a24c884243d9c21ec95f015 仍有以下阻塞问题:

  1. index.tsx:1109 在 React onWheel 中调用 preventDefault(),但 React 19 的根 wheel 监听器是 passive;Ctrl/Cmd + wheel 仍会触发 WebView 默认缩放,同时又改变分区倍率。需要改为可取消的原生非 passive 监听,并补真实 native defaultPrevented 回归。
  2. useProjectResourceCardPreviews.ts:297 在 96 项预取队列满时会把用户主动 detail / play 请求静默丢弃。文档详情因此可能永久停在“正在载入”,队列清空后也不会重试;主动请求需要优先级或可靠重排。
  3. index.tsx:1489 只检查播放资源是否仍存在,不检查其卡片是否被搜索过滤。卡片卸载后旧媒体元素仍被 ref 强引用并继续播放,界面已没有暂停控件。
  4. 外层资源画布只有一份 resourceListScrollRef,没有按 projectId + mode 隔离;dependency/type 切换不能恢复各自外层滚动位置,不符合 PRD 7.5.2。
  5. resourceCanvasLayoutModel.ts:798 直接把合法 dependencyDepth 乘以 228。深度 4386 会生成 x=1000008,超过 Rust sidecar 的 1000000 坐标上限,导致自动协调保存永久失败。
  6. 非音频预览的 transient 读取失败被永久缓存;即使界面提示“关闭后重试”,重新打开详情仍不会发起读取。
  7. 权威文档仍保留互相冲突的旧合同:PRD 7.3.11 与 7.5.5、3.3.1 与 7.6.2,以及技术方案第 392 行与 434–436 行分别描述了相反的 SVG/详情实现。请统一为当前正式合同,并补齐 PRD 要求的 1280×800 应用内真实无溢出证据。

当前 run 947 四项 CI 均成功,本地布局定向测试、AppSurface、typecheck、编码和 diff 检查也通过;上述问题不被绿色 CI 覆盖,修复后请在最新 head 重新请求审查。

请求修改。当前 head `d407ceb48f47f1aa2a24c884243d9c21ec95f015` 仍有以下阻塞问题: 1. `index.tsx:1109` 在 React `onWheel` 中调用 `preventDefault()`,但 React 19 的根 `wheel` 监听器是 passive;`Ctrl/Cmd + wheel` 仍会触发 WebView 默认缩放,同时又改变分区倍率。需要改为可取消的原生非 passive 监听,并补真实 native defaultPrevented 回归。 2. `useProjectResourceCardPreviews.ts:297` 在 96 项预取队列满时会把用户主动 `detail` / `play` 请求静默丢弃。文档详情因此可能永久停在“正在载入”,队列清空后也不会重试;主动请求需要优先级或可靠重排。 3. `index.tsx:1489` 只检查播放资源是否仍存在,不检查其卡片是否被搜索过滤。卡片卸载后旧媒体元素仍被 ref 强引用并继续播放,界面已没有暂停控件。 4. 外层资源画布只有一份 `resourceListScrollRef`,没有按 `projectId + mode` 隔离;dependency/type 切换不能恢复各自外层滚动位置,不符合 PRD 7.5.2。 5. `resourceCanvasLayoutModel.ts:798` 直接把合法 `dependencyDepth` 乘以 228。深度 4386 会生成 `x=1000008`,超过 Rust sidecar 的 1000000 坐标上限,导致自动协调保存永久失败。 6. 非音频预览的 transient 读取失败被永久缓存;即使界面提示“关闭后重试”,重新打开详情仍不会发起读取。 7. 权威文档仍保留互相冲突的旧合同:PRD 7.3.11 与 7.5.5、3.3.1 与 7.6.2,以及技术方案第 392 行与 434–436 行分别描述了相反的 SVG/详情实现。请统一为当前正式合同,并补齐 PRD 要求的 `1280×800` 应用内真实无溢出证据。 当前 run 947 四项 CI 均成功,本地布局定向测试、AppSurface、typecheck、编码和 diff 检查也通过;上述问题不被绿色 CI 覆盖,修复后请在最新 head 重新请求审查。
menghao marked the pull request as work in progress 2026-08-10 17:41:30 +08:00
menghao marked the pull request as ready for review 2026-08-10 19:20:07 +08:00
kdletters requested changes 2026-08-10 19:33:56 +08:00
kdletters left a comment
Member

请求修改。当前 head b2ded4efe4fb116471b3c61a1b6265ea5dc5161b 已修复上一轮 wheel、主动预览优先级、过滤后停止播放、滚动 scope、超深坐标、transient 重试和文档冲突,但复审仍发现以下阻塞项:

  1. resourceCardPreviewModel.ts:4-6 / useProjectResourceCardPreviews.ts:172-200 的预览缓存只有 48 项数量上限,没有总字节预算;resource_inspect.rs:13-14,96-120 允许单媒体 32 MiB 并转为 base64 data URL,48 项极端情况下仅字符串就接近 2 GiB,未计解码缓冲和 DOM,存在 WebView OOM 风险。请增加明确的缓存字节预算,或改用可及时释放的 Blob URL 等有界方案,并补大媒体连续浏览回归。
  2. useProjectResourceCardPreviews.ts:254-289,422-429 切换项目或模式时只清队列和缓存,没有按 scope 隔离或重置 activeReadsRef。旧 scope 的三个慢读会占满新 scope 的全部并发槽;旧 IPC 若挂住,新项目预览会永久饥饿。请用 scope/epoch 隔离活动计数或提供可靠取消,确保旧请求的 finally 不会扣减新 scope 的计数,并补挂起旧读后切项目的回归。
  3. server-rs/crates/api-server/src/llm_prompt_test_support.rs:50 将 mock LLM accept deadline 从 5 秒放宽到 30 秒,与本 PR 的资源管理范围无关;上一 head 的 run 947 已在 5 秒限制下通过。该变化会掩盖 5–30 秒连接延迟并拖慢漏请求诊断,请移出本 PR,或提供独立复现与必要性证据。
  4. PRD 第 486 行要求当前 commit 在真实、已认证 1280×800 应用 WebView / Chromium 中记录 window、documentElement、body 和关键容器测量、操作步骤及结果;decision-log.md:9 仍写“最后补”,当前 PR 评论为空,run 955 artifacts 为 0。请补当前 head 可重复复核的真实测量记录;AppSurface/CSS 测试不能替代该验收门禁。

当前 base bcff8f195709f1e5ec01cce57923106a55772d81、head b2ded4efe4fb116471b3c61a1b6265ea5dc5161b,merge-tree 成功;run 955 四项 required CI 全绿。定向测试 52/52、完整 AppSurface 364/364 通过。以上问题不被绿色 CI 覆盖,修复后请在最新 head 重新请求审查。

请求修改。当前 head `b2ded4efe4fb116471b3c61a1b6265ea5dc5161b` 已修复上一轮 wheel、主动预览优先级、过滤后停止播放、滚动 scope、超深坐标、transient 重试和文档冲突,但复审仍发现以下阻塞项: 1. `resourceCardPreviewModel.ts:4-6` / `useProjectResourceCardPreviews.ts:172-200` 的预览缓存只有 48 项数量上限,没有总字节预算;`resource_inspect.rs:13-14,96-120` 允许单媒体 32 MiB 并转为 base64 data URL,48 项极端情况下仅字符串就接近 2 GiB,未计解码缓冲和 DOM,存在 WebView OOM 风险。请增加明确的缓存字节预算,或改用可及时释放的 Blob URL 等有界方案,并补大媒体连续浏览回归。 2. `useProjectResourceCardPreviews.ts:254-289,422-429` 切换项目或模式时只清队列和缓存,没有按 scope 隔离或重置 `activeReadsRef`。旧 scope 的三个慢读会占满新 scope 的全部并发槽;旧 IPC 若挂住,新项目预览会永久饥饿。请用 scope/epoch 隔离活动计数或提供可靠取消,确保旧请求的 finally 不会扣减新 scope 的计数,并补挂起旧读后切项目的回归。 3. `server-rs/crates/api-server/src/llm_prompt_test_support.rs:50` 将 mock LLM accept deadline 从 5 秒放宽到 30 秒,与本 PR 的资源管理范围无关;上一 head 的 run 947 已在 5 秒限制下通过。该变化会掩盖 5–30 秒连接延迟并拖慢漏请求诊断,请移出本 PR,或提供独立复现与必要性证据。 4. PRD 第 486 行要求当前 commit 在真实、已认证 `1280×800` 应用 WebView / Chromium 中记录 window、documentElement、body 和关键容器测量、操作步骤及结果;`decision-log.md:9` 仍写“最后补”,当前 PR 评论为空,run 955 artifacts 为 0。请补当前 head 可重复复核的真实测量记录;AppSurface/CSS 测试不能替代该验收门禁。 当前 base `bcff8f195709f1e5ec01cce57923106a55772d81`、head `b2ded4efe4fb116471b3c61a1b6265ea5dc5161b`,merge-tree 成功;run 955 四项 required CI 全绿。定向测试 52/52、完整 AppSurface 364/364 通过。以上问题不被绿色 CI 覆盖,修复后请在最新 head 重新请求审查。
kdletters reviewed 2026-08-10 19:41:02 +08:00
kdletters left a comment
Member

补充 review #201 的可定位行内意见。真实 1280×800 WebView/Chromium 验收证据缺失属于跨文件门禁,继续保留在 #201 正文中。

补充 review #201 的可定位行内意见。真实 `1280×800` WebView/Chromium 验收证据缺失属于跨文件门禁,继续保留在 #201 正文中。
@@ -0,0 +2,4 @@
import type { ProjectResource } from './resourceProjectionModel';
export const PROJECT_RESOURCE_CARD_PREVIEW_CONCURRENCY = 3;
export const PROJECT_RESOURCE_CARD_PREVIEW_CACHE_LIMIT = 48;
Member

[P1] 为预览缓存增加总字节上限

这里仅按 48 项限制缓存数量,但 Rust 允许单个媒体预览达到 32 MiB,并将其编码为约 42.7 MiB 的 base64 data URL。连续浏览 48 个大媒体时,仅缓存字符串就可能接近 2 GiB,尚未计算解码缓冲和媒体 DOM,WebView 存在 OOM 风险。请增加明确的总字节预算,或改用能够及时 revoke 的 Blob URL 等有界方案,并补连续浏览大媒体的回归。

**[P1] 为预览缓存增加总字节上限** 这里仅按 48 项限制缓存数量,但 Rust 允许单个媒体预览达到 32 MiB,并将其编码为约 42.7 MiB 的 base64 data URL。连续浏览 48 个大媒体时,仅缓存字符串就可能接近 2 GiB,尚未计算解码缓冲和媒体 DOM,WebView 存在 OOM 风险。请增加明确的总字节预算,或改用能够及时 revoke 的 Blob URL 等有界方案,并补连续浏览大媒体的回归。
@@ -0,0 +425,4 @@
cacheOrderRef.current.clear();
protectedIdentityRef.current = null;
previewsRef.current = new Map();
setPreviews(new Map());
Member

[P2] 不要让旧 scope 占用新项目的读取槽

项目或模式切换时这里只清理队列和缓存,没有隔离 activeReadsRef。旧 scope 的三个慢 IPC 会继续占满并发数,使新项目所有预览等待;若旧调用挂住则会永久饥饿。请按 scope/epoch 管理活动计数或提供可靠取消,并确保旧请求的 finally 不会扣减新 scope 的计数;测试应覆盖挂起旧读后切换项目。

**[P2] 不要让旧 scope 占用新项目的读取槽** 项目或模式切换时这里只清理队列和缓存,没有隔离 `activeReadsRef`。旧 scope 的三个慢 IPC 会继续占满并发数,使新项目所有预览等待;若旧调用挂住则会永久饥饿。请按 scope/epoch 管理活动计数或提供可靠取消,并确保旧请求的 `finally` 不会扣减新 scope 的计数;测试应覆盖挂起旧读后切换项目。
@@ -48,3 +48,3 @@
Err(error) if error.kind() == std::io::ErrorKind::WouldBlock => {
assert!(
started.elapsed() < Duration::from_secs(5),
started.elapsed() < Duration::from_secs(30),
Member

[P2] 不要在资源管理 PR 中放宽无关测试期限

该变更把 mock LLM accept deadline 从 5 秒放宽到 30 秒,但不属于本 PR 的资源管理范围;上一 head 的 run 947 已能在 5 秒限制下通过。放宽后会掩盖 5–30 秒连接延迟并拖慢漏请求诊断。请移出本 PR,或提供独立复现和必要性证据。

**[P2] 不要在资源管理 PR 中放宽无关测试期限** 该变更把 mock LLM accept deadline 从 5 秒放宽到 30 秒,但不属于本 PR 的资源管理范围;上一 head 的 run 947 已能在 5 秒限制下通过。放宽后会掩盖 5–30 秒连接延迟并拖慢漏请求诊断。请移出本 PR,或提供独立复现和必要性证据。
menghao marked the pull request as work in progress 2026-08-10 20:01:15 +08:00
menghao marked the pull request as ready for review 2026-08-11 13:24:39 +08:00
kdletters requested changes 2026-08-11 14:05:33 +08:00
kdletters left a comment
Member

请求修改。当前 head d29fc1e0fb62d0714646fe3b7346db1847664693 已补 Blob URL/64 MiB 缓存预算和 scope epoch,但新实现仍有一条资源与并发阻塞问题:每次项目/布局 scope 切换都把 active read 计数直接清零,旧 Tauri IPC 并未取消;快速 dependency/type 切换会每轮再启动 3 个最多 32 MiB 的读取,使名义 3 路并发变成无界陈旧请求和瞬时内存占用。已在对应行写行内意见。形式门禁也未满足:run 976 的 Repository/Frontend/Backend 成功,但 Native shell 1800 passed / 1 failed(game_chat_pure_continue_inherits_failed_root_semantics_and_manifest_progress,项目锁占用);当前 master 已前进到 755bf808587a7cb663c458160e1f102a4a676ff8,merge-base 仍为 4c0fdf18065eb631bc8bb012f42c32e0b53c4be6,工作台 PRD 存在 merge conflict,当前 head 无有效审批。提交 d29fc1e0fb、6478208253 的英文标题/空正文和 189e5bb599 的英文标题/仅冲突清单正文也不符合仓库规范。请修复陈旧读取的可取消或全局有界调度,融合最新 master 并重跑全部 required CI 后再请求审查。

请求修改。当前 head `d29fc1e0fb62d0714646fe3b7346db1847664693` 已补 Blob URL/64 MiB 缓存预算和 scope epoch,但新实现仍有一条资源与并发阻塞问题:每次项目/布局 scope 切换都把 active read 计数直接清零,旧 Tauri IPC 并未取消;快速 dependency/type 切换会每轮再启动 3 个最多 32 MiB 的读取,使名义 3 路并发变成无界陈旧请求和瞬时内存占用。已在对应行写行内意见。形式门禁也未满足:run 976 的 Repository/Frontend/Backend 成功,但 Native shell 1800 passed / 1 failed(`game_chat_pure_continue_inherits_failed_root_semantics_and_manifest_progress`,项目锁占用);当前 master 已前进到 `755bf808587a7cb663c458160e1f102a4a676ff8`,merge-base 仍为 `4c0fdf18065eb631bc8bb012f42c32e0b53c4be6`,工作台 PRD 存在 merge conflict,当前 head 无有效审批。提交 d29fc1e0fb、6478208253 的英文标题/空正文和 189e5bb599 的英文标题/仅冲突清单正文也不符合仓库规范。请修复陈旧读取的可取消或全局有界调度,融合最新 master 并重跑全部 required CI 后再请求审查。
@@ -0,0 +535,4 @@
useLayoutEffect(() => {
scopeEpochRef.current += 1;
activeReadsRef.current = {
Member

[P1] 这里给新 scope 清零计数,但旧 scope 的 Tauri invoke 并没有被取消。现有测试一次 A→B 已经允许同时存在 6 个未完成读取;用户快速 dependency/type 或项目切换时,每轮都可再启动 3 个最多 32 MiB 的媒体读取,实际并发与 base64/Blob 瞬时内存因此无上界,64 MiB 缓存预算也约束不到这些 in-flight 结果。请让底层读取可取消,或用不会让旧 scope 饿死新 scope、同时保持全局有界的调度/保留槽位,并补连续多次 scope 切换且旧请求挂起的回归。

[P1] 这里给新 scope 清零计数,但旧 scope 的 Tauri `invoke` 并没有被取消。现有测试一次 A→B 已经允许同时存在 6 个未完成读取;用户快速 dependency/type 或项目切换时,每轮都可再启动 3 个最多 32 MiB 的媒体读取,实际并发与 base64/Blob 瞬时内存因此无上界,64 MiB 缓存预算也约束不到这些 in-flight 结果。请让底层读取可取消,或用不会让旧 scope 饿死新 scope、同时保持全局有界的调度/保留槽位,并补连续多次 scope 切换且旧请求挂起的回归。
kdletters reviewed 2026-08-11 14:07:11 +08:00
kdletters left a comment
Member

补充 review #211:当前 head 仍缺权威文档要求的真实 1280×800 验收证据。

补充 review #211:当前 head 仍缺权威文档要求的真实 1280×800 验收证据。
@@ -3,0 +6,4 @@
- 决策:以当前代码、2026-08-10 最新资源管理决定和第二轮人工验证为正式合同。`Ctrl/Cmd + wheel` 使用原生 `{ passive: false }` 委托监听;预览固定 `play > detail > visible` 且总队列上限 `96`,主动请求可替换最低优先级预取;终态缓存同时限制为 `48` 项与 `64 MiB`IPC data URL 立即转成可撤销 Blob URL;项目 / mode 使用单调 scope epoch 隔离并发槽和全部异步回调;搜索隐藏立即暂停媒体;外层滚动按 `projectId + mode`、内层按 `projectId + mode + section` 隔离;前后端坐标共同限制为 `0..=1_000_000`,超深 dependency 只饱和显示列并保留原始深度;失败预览区分 transient / permanent,仅用户意图重试 transient。
- 展示边界:图片、安全 SVG 和视频主体只在资源卡内展示;中央详情以元数据、同类型依赖和版本信息为主,文档正文与按意图读取的音频控件保留。每个分区拥有自己的 SVG plane;单端离屏显示边界继续线,两端离屏隐藏。`1280×800` 需要已认证 WebView / Chromium 的当前 HEAD 真实测量,CSS 正则测试不能冒充实测证据。
- 兼容与边界:不修改 manifest、Rust 资源图、SpacetimeDB、sidecar schema、布局 CAS 或媒体安全读取门禁;不恢复资源卡拖动。过期文档在同一次变更内同步修正,避免实现通过测试但评审继续依据旧合同。
- 验证方式:新增原生 wheel 取消、队列优先级 / 硬上限、Blob / 总字节 LRU、连续媒体浏览、挂起旧 scope / ABA epoch、transient 重试、过滤后暂停、外层滚动 scope、坐标边界及 Rust 边界测试;继续运行 AppSurface、纯布局模型、Tauri 定向测试、编码检查和 `git diff --check`。真实 `1280×800` 是自动测试外的跨文件人工门禁,必须由当前 HEAD 的已认证 WebView / Chromium 实测并在 PR 评论中记录;记录缺失时不得声称阶段七完成。
Member

[P1] 这里明确把当前 HEAD 的已认证 WebView/Chromium 1280×800 实测列为完成门禁,但当前 PR 普通评论为空,run 976 也没有 artifact,尚无绑定 d29fc1e0 的可复核证据。请按 PRD §7.6.3 记录 commit、视口、window/documentElement/body 的 client/scroll 宽高、关键容器边界、操作步骤与结果;AppSurface/CSS 测试不能替代该门禁。

[P1] 这里明确把当前 HEAD 的已认证 WebView/Chromium `1280×800` 实测列为完成门禁,但当前 PR 普通评论为空,run 976 也没有 artifact,尚无绑定 `d29fc1e0` 的可复核证据。请按 PRD §7.6.3 记录 commit、视口、window/documentElement/body 的 client/scroll 宽高、关键容器边界、操作步骤与结果;AppSurface/CSS 测试不能替代该门禁。
menghao added 3 commits 2026-08-11 18:44:40 +08:00
将资源卡本体化并补齐分区缩放滚动与依赖聚类

增加全进程三槽预览调度范围取消与安全分块读取

保持布局 CAS 预览缓存回收和依赖图权威合同

补齐资源管理前端 Tauri AppSurface 回归并同步文档
让回执测试显式持有并等待父子执行通道释放

隔离异步后台任务与临时项目销毁之间的锁竞争

固定非阻塞 HTTP 夹具读取语义并保留有界超时
隔离原生 HTTP 的系统代理特性
Project CI / Repository checks (pull_request) Successful in 1m20s
Project CI / Frontend tests (pull_request) Successful in 3m16s
Project CI / Backend tests (pull_request) Successful in 4m32s
Project CI / Native shell tests (pull_request) Successful in 16m18s
f14050d978
关闭 Tauri HTTP 插件默认 OS 自动代理特性

保留字符集 Cookie HTTP2 与 Rustls 能力

锁定 Native 门禁和共享传输边界防止依赖特性回退
menghao force-pushed codex/resource-management-final from d29fc1e0fb to f14050d978 2026-08-11 18:44:40 +08:00 Compare
menghao added 1 commit 2026-08-12 10:46:33 +08:00
删除已完成的资源管理临时计划
Project CI / Repository checks (pull_request) Failing after 12s
Project CI / Backend tests (pull_request) Failing after 11s
Project CI / Frontend tests (pull_request) Successful in 3m22s
Project CI / Native shell tests (pull_request) Successful in 16m33s
7c832a2904
移除已执行完成的阶段性计划文档
删除资源管理文档中的未完成验证门禁
保留1280×800横屏产品布局合同
menghao added 1 commit 2026-08-12 10:47:38 +08:00
移除已完成的窗口验收要求
Project CI / Repository checks (pull_request) Failing after 13s
Project CI / Backend tests (pull_request) Failing after 12s
Project CI / Native shell tests (pull_request) Successful in 16m23s
Project CI / Frontend tests (pull_request) Successful in 3m8s
b22fcf9d50
删除资源管理文档中的1280×800验收条目
保留其余资源管理业务验证内容
同步清理相关踩坑与决策表述
menghao added 1 commit 2026-08-12 10:49:19 +08:00
标记资源管理验收已完成
Project CI / Repository checks (pull_request) Failing after 18s
Project CI / Frontend tests (pull_request) Successful in 2m50s
Project CI / Backend tests (pull_request) Failing after 11s
Project CI / Native shell tests (pull_request) Successful in 16m51s
2ee8ff43ca
移除阶段七未收口和重复验证门禁表述
将既有人工与自动验证记录改为完成态
避免后续继续要求重复测量和全量复跑
menghao added 1 commit 2026-08-12 10:54:07 +08:00
解决技术方案文档合并冲突
Project CI / Repository checks (pull_request) Successful in 57s
Project CI / Backend tests (pull_request) Successful in 4m34s
Project CI / Native shell tests (pull_request) Successful in 16m18s
Project CI / Frontend tests (pull_request) Successful in 4m23s
2a3ede7fad
保留主线 Goal Contract 与 Acceptance Graph 内容
合并资源管理已完成的收口表述
同步 origin/master 最新提交
kdletters added 1 commit 2026-08-12 11:27:12 +08:00
融合主线无限画布与资源管理
Project CI / Repository checks (pull_request) Failing after 47s
Project CI / Frontend tests (pull_request) Failing after 2m21s
Project CI / Backend tests (pull_request) Successful in 4m17s
Project CI / Native shell tests (pull_request) Failing after 3m9s
0ef16f26b2
合并最新主线素材画布与非破坏资源编辑链路
保留资源预览全局限流分区布局与依赖聚类
统一工作台测试与权威文档合同
kdletters added 1 commit 2026-08-12 11:44:51 +08:00
Merge branch 'master' into codex/resource-management-final
Project CI / Repository checks (pull_request) Failing after 47s
Project CI / Frontend tests (pull_request) Failing after 2m21s
Project CI / Backend tests (pull_request) Successful in 3m58s
Project CI / Native shell tests (pull_request) Failing after 2m54s
b6b4b66057
kdletters added 2 commits 2026-08-12 11:47:22 +08:00
声明素材画布事件监听使用的 @tauri-apps/api
同步客户端独立 lockfile 依赖记录
Merge commit 'refs/codex-review/pr154-remote' into HEAD
Project CI / Repository checks (pull_request) Failing after 43s
Project CI / Frontend tests (pull_request) Failing after 2m1s
Project CI / Native shell tests (pull_request) Failing after 2m54s
Project CI / Backend tests (pull_request) Successful in 3m28s
a0009c05a3
kdletters added 1 commit 2026-08-12 12:00:44 +08:00
修复资源管理前端回归测试
Project CI / Repository checks (pull_request) Failing after 59s
Project CI / Frontend tests (pull_request) Successful in 3m31s
Project CI / Backend tests (pull_request) Successful in 4m6s
Project CI / Native shell tests (pull_request) Failing after 12m44s
80403e5097
统一延迟依赖图布局读取计数断言
补齐文档预览夹具并使用当前资源卡无障碍名称
kdletters added 1 commit 2026-08-12 12:03:26 +08:00
清理资源工作台合并残留
Project CI / Frontend tests (pull_request) Successful in 3m15s
Project CI / Backend tests (pull_request) Successful in 4m0s
Project CI / Repository checks (pull_request) Successful in 51s
Project CI / Native shell tests (pull_request) Failing after 11m18s
40f5ec3146
移除已被资源卡预览 Hook 替代的旧媒体辅助实现
按仓库规则统一资源工作台导入顺序
kdletters added 1 commit 2026-08-12 12:29:07 +08:00
修复自主构建合同测试的执行锁夹具
Project CI / Frontend tests (pull_request) Successful in 2m57s
Project CI / Backend tests (pull_request) Successful in 3m58s
Project CI / Repository checks (pull_request) Successful in 1m20s
Project CI / Native shell tests (pull_request) Successful in 14m10s
c69c126b7b
避免调度前预占 code-prototype 执行 lane
等待真实子任务 run 的持久终态与 manifest 投影
kdletters merged commit 8e3d9991fa into master 2026-08-12 13:14:55 +08:00
kdletters deleted branch codex/resource-management-final 2026-08-12 13:14:55 +08:00
Sign in to join this conversation.