继续收敛项目快照登记错误
保留快照工作区 IPC 失败的脱敏正文 补充快照登记日志回归验证
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
import { visibleClientErrorMessage } from './errorReporting';
|
||||
|
||||
type WorkspaceInvoke = (
|
||||
command: string,
|
||||
args?: Record<string, unknown>,
|
||||
@@ -19,14 +21,14 @@ export function createProjectSnapshotWorkspaceRegistration(
|
||||
queue = queue.then(async () => {
|
||||
try {
|
||||
await invoke('set_active_project_snapshot_workspace', { projectPath });
|
||||
} catch {
|
||||
} catch (error) {
|
||||
// 失败不能被记作已登记;下一次相同路径登记仍可重新提交。
|
||||
if (revision === requestRevision) requestedPath = undefined;
|
||||
try {
|
||||
await invoke('append_application_log', {
|
||||
level: 'error',
|
||||
source: 'project-snapshot',
|
||||
message: 'project_snapshot.workspace.registration.failed',
|
||||
message: `project_snapshot.workspace.registration.failed: ${visibleClientErrorMessage(error)}`,
|
||||
});
|
||||
} catch {
|
||||
// 原生桥本身不可用时也不阻断项目创作。
|
||||
|
||||
@@ -97,7 +97,8 @@ describe('项目快照窗口登记', () => {
|
||||
expect(invoke).toHaveBeenLastCalledWith('append_application_log', {
|
||||
level: 'error',
|
||||
source: 'project-snapshot',
|
||||
message: 'project_snapshot.workspace.registration.failed',
|
||||
message:
|
||||
'project_snapshot.workspace.registration.failed: <path> [REDACTED]',
|
||||
});
|
||||
await registration.setProject('/projects/first');
|
||||
expect(invoke).toHaveBeenCalledTimes(3);
|
||||
|
||||
@@ -105,3 +105,4 @@ DirectProject 回合失败在确认不是客户端内部不可归类故障时,
|
||||
- 首页建项/打开项目读取本地 revision 失败原先吞成 `null` 并继续进入项目;现保留降级进入行为,同时把 IPC/文件读取正文写入首页状态。
|
||||
- 发布面板读取封面生成价格失败原先只清空价格并继续显示泛化消耗提示;现保留价格查询的脱敏正文并在确认弹窗中展示。
|
||||
- 资源模型卡、素材引用选择器和本地图片导入预览原先失败只降级成图标/文件名;现保留脱敏后的 WebGL、IPC、远程读取原因,并通过卡面 title/aria 或提示文本展示,降级预览行为不变。
|
||||
- 项目快照工作区登记失败原先只写固定诊断键,实际 IPC/权限/路径原因丢失;现把统一脱敏正文写入应用诊断日志,并保留重试登记行为。
|
||||
|
||||
Reference in New Issue
Block a user