给生成面板的「提交被拒 + 草稿归属」加 TODO(只留标记,不改行为)
Project CI / AI game creator shell Rust shard 4/4 (pull_request) Failing after 17s
Project CI / AI game creator shell Rust shard 1/4 (pull_request) Failing after 17s
Project CI / AI game creator shell Rust shard 2/4 (pull_request) Failing after 18s
Project CI / AI game creator shell Rust shard 3/4 (pull_request) Failing after 18s
Project CI / AI game creator shell Rust crates (pull_request) Failing after 18s
Project CI / AI game creator shell Rust smoke (pull_request) Failing after 19s
Project CI / Backend tests (pull_request) Failing after 18s
Project CI / Native shell tests (pull_request) Failing after 18s
Project CI / Frontend tests (pull_request) Failing after 8s
Project CI / Repository checks (pull_request) Failing after 16s
Project CI / AI game creator shell web tests (pull_request) Failing after 16s
Project CI / AI game creator shell Rust shard 4/4 (pull_request) Failing after 17s
Project CI / AI game creator shell Rust shard 1/4 (pull_request) Failing after 17s
Project CI / AI game creator shell Rust shard 2/4 (pull_request) Failing after 18s
Project CI / AI game creator shell Rust shard 3/4 (pull_request) Failing after 18s
Project CI / AI game creator shell Rust crates (pull_request) Failing after 18s
Project CI / AI game creator shell Rust smoke (pull_request) Failing after 19s
Project CI / Backend tests (pull_request) Failing after 18s
Project CI / Native shell tests (pull_request) Failing after 18s
Project CI / Frontend tests (pull_request) Failing after 8s
Project CI / Repository checks (pull_request) Failing after 16s
Project CI / AI game creator shell web tests (pull_request) Failing after 16s
- `ResourceCanvasGenerationPanelView.submit()` 加 `TODO(resource-generation-panel-contract)`:说明 `onSubmit` 只返回 `void` 导致宿主同步拒绝时草稿没人接走的缺口,以及「`onSubmit` 回报受理结果、 只有受理成功才置位 `draftReleased` 并关闭」的修法 - `ResourceCanvasAssetGenerationPanelView.submit()` 加同名 TODO:图片类面板与音频面板是同一份 契约,要改一起改 - `index.tsx` 的 `submitResourceCanvasGeneration` 同步拒绝分支加同名 TODO:指向面板侧修法与 「这里改成 `return false`」的宿主侧动作
This commit is contained in:
+6
@@ -368,6 +368,12 @@ export function ResourceCanvasAssetGenerationPanelView({
|
||||
return;
|
||||
}
|
||||
setError(null);
|
||||
/*
|
||||
TODO(resource-generation-panel-contract): 与 `ResourceCanvasGenerationPanelView` 是同一份契约
|
||||
问题——`onSubmit` 只返回 `void`,宿主同步拒绝时(今天只剩「队列未就绪」这条防御性分支)这里
|
||||
已经置位 `released` 并关掉面板,草稿没人接走。修法同那一侧的 TODO:`onSubmit` 回报受理结果,
|
||||
只有受理成功才置位并 `onClose()`。
|
||||
*/
|
||||
// 这次输入被任务接走:卸载时不再写回草稿槽(失败重开由宿主的提交上下文负责)。
|
||||
draftReleasedRef.current = true;
|
||||
// 点击即关闭:不等 IPC、不等排队、不等生成结束。失败要不要把面板带回来由宿主决定
|
||||
|
||||
+7
@@ -239,6 +239,13 @@ export function ResourceCanvasGenerationPanelView({
|
||||
requestRef.current,
|
||||
normalizedPrompt,
|
||||
);
|
||||
/*
|
||||
TODO(resource-generation-panel-contract): `onSubmit` 现在只返回 `void`,所以这里只能「先置位
|
||||
`released`、再无脑关闭」;宿主那几条同步拒绝的分支(占位已不在画布 / 已在跑别的 operation)
|
||||
只给一条提示条,这次输入没人接走、草稿也跟着丢了。修法:让 `onSubmit` 回报受理结果
|
||||
(`accepted: boolean`),只有受理成功才置位并 `onClose()`。同一份契约落在
|
||||
`ResourceCanvasAssetGenerationPanelView` 与两个宿主调用点上——要改就一起改。
|
||||
*/
|
||||
// 这次输入被任务接走:卸载时不再往草稿槽里写一份内存副本(失败重开由宿主的提交上下文负责)。
|
||||
draftReleasedRef.current = true;
|
||||
// 点击即关闭:不等 IPC、不等排队、不等生成结束。入参已经带上这次生成的请求身份,
|
||||
|
||||
@@ -7810,6 +7810,12 @@ export default function ProjectDevelopmentView({
|
||||
) => {
|
||||
const queue = resourceAssetGenerationQueueRef.current;
|
||||
const context = resourceAssetGenerationContextRef.current;
|
||||
/*
|
||||
TODO(resource-generation-panel-contract): 下面这几条同步拒绝只落一条提示条,而面板那边已经
|
||||
置位 `draftReleased` 并关掉了 → 这次输入没人接走、用户刚敲的草稿跟着丢。修法:这里 `return
|
||||
false`,由面板按 `onSubmit` 的返回值决定要不要关面板(见
|
||||
`ResourceCanvasGenerationPanelView` 的同名 TODO;图片类那个面板要一起改)。
|
||||
*/
|
||||
if (!queue || !draftId) {
|
||||
setResourceWorkbenchNotice(
|
||||
'生成任务队列尚未就绪,请重新打开项目后重试',
|
||||
|
||||
Reference in New Issue
Block a user