继续收敛发布面板错误正文

保留截图上传、进度订阅和发布提交错误详情

补充发布错误处理文档
This commit is contained in:
kdletters
2026-10-05 22:21:13 +08:00
parent c601b41c7c
commit 3daf0063c4
3 changed files with 9 additions and 8 deletions
@@ -629,10 +629,10 @@ export function GameDistributionPublishPanel({
...item,
status: 'failed',
assetObjectId: null,
error:
uploadError instanceof Error
? uploadError.message
: '截图上传失败,请删除后重试',
error: visibleClientErrorMessage(
uploadError,
'截图上传失败,请删除后重试',
),
}
: item,
),
@@ -703,8 +703,9 @@ export function GameDistributionPublishPanel({
: null,
});
});
} catch {
} catch (progressError) {
// 订阅失败只影响阶段条:发布本身照常进行,按钮上仍显示「正在发布…」。
setError(`发布进度订阅失败:${visibleClientErrorMessage(progressError)}`);
}
try {
const next = await publishLocalProjectGame({
@@ -742,9 +743,7 @@ export function GameDistributionPublishPanel({
setResult(next);
onPublished?.(next);
} catch (nextError) {
setError(
nextError instanceof Error ? nextError.message : String(nextError),
);
setError(visibleClientErrorMessage(nextError, '发布失败,请重试'));
} finally {
unsubscribe();
setBusy(false);
@@ -144,6 +144,7 @@ DirectProject 已经解决过同一类问题([`【ADR】DirectProject命令接
- Direct 活动回合事件桥注册失败即使仍有一次性快照,也必须标明事件更新通道已失联并展示安全正文,不能只显示旧快照而让用户误以为活动状态持续可靠。
- 首页富文本剪贴板读取的“无内容”与“原生 IPC 失败”必须区分;后者展示安全正文,不能静默当作空剪贴板。
- 账号邀请码复制与充值状态确认的失败提示也必须附安全正文;操作指引不能替换底层剪贴板、网络或支付查询原因。
- 游戏发布面板的媒体上传、进度事件订阅和发布提交错误必须复用 `visibleClientErrorMessage`;不能因发布流程仍可继续或有进度兜底就丢掉 IPC/网络正文。
## 后果与边界
@@ -65,3 +65,4 @@ DirectProject 回合失败在确认不是客户端内部不可归类故障时,
- Direct 活动回合事件桥注册失败原来只退回启动快照,面板没有说明后续更新已失联;现保留事件桥 IPC 正文并在标题栏/活动项目面板显示。
- 首页富文本输入的原生剪贴板图片/文本读取失败原来直接按空剪贴板处理;现通过输入区错误提示保留脱敏后的剪贴板 IPC 正文。
- 账号邀请码复制和微信充值状态确认仍有固定“复制失败/暂时没能确认到账”路径;现保留剪贴板/支付查询错误正文并继续给操作指引。
- 游戏发布面板的截图上传、发布进度订阅和最终发布异常也有固定文案/裸 `Error.message` 路径;现统一通过可见错误脱敏出口展示正文。