diff --git a/apps/ai-game-creator-shell/src/view/project-development/export/state/useTaonierTab.ts b/apps/ai-game-creator-shell/src/view/project-development/export/state/useTaonierTab.ts index 75cb5de23..fe40f2984 100644 --- a/apps/ai-game-creator-shell/src/view/project-development/export/state/useTaonierTab.ts +++ b/apps/ai-game-creator-shell/src/view/project-development/export/state/useTaonierTab.ts @@ -300,14 +300,12 @@ export function useTaonierTab({ step: 'submit', percent: null, }); - try { - await taonier.refreshOnline(); - if (projectPathRef.current !== projectPath) return; + // `refreshOnline` 自身吞掉所有失败(返回 `null` 并把状态置为 `unavailable`),不会 reject;这里只 + // 需要处理「回读期间换了项目」与「按发布响应改写草稿」,不再包一层永远走不到的 catch。 + await taonier.refreshOnline(); + if (projectPathRef.current === projectPath) { taonier.rewritePublishedMediaToObjectKeys(next); - } catch { - // 回读失败不影响本次发布结果:发布响应里已经带回 objectKey,下次打开会再回读一次。 - } finally { - if (projectPathRef.current === projectPath) setProgress(null); + setProgress(null); } } catch (error) { // 旧项目的发布失败不该记到新项目头上。