收口桌面壳文件诊断日志
桌面壳文件导入导出失败只记录固定阶段标签 扩展桌面壳配置门禁禁止文件日志输出路径和读写错误细节 补充宿主壳方案和共享决策中的文件诊断边界
This commit is contained in:
@@ -1199,8 +1199,8 @@ function assertDesktopDialogBoundary(method, functionName, filterLabel, expected
|
||||
}
|
||||
const failureLogger =
|
||||
action === 'save'
|
||||
? 'log_desktop_file_export_failure("path.convert", &error.to_string())'
|
||||
: 'log_desktop_file_import_failure("path.convert", &error.to_string())';
|
||||
? 'log_desktop_file_export_failure("path.convert")'
|
||||
: 'log_desktop_file_import_failure("path.convert")';
|
||||
if (!fileFunctionBody.includes(failureLogger)) {
|
||||
throw new Error(`desktop shell ${method} must log native path conversion errors`);
|
||||
}
|
||||
@@ -2587,20 +2587,21 @@ const requiredRustHostSnippets = [
|
||||
'file_import_unavailable_response',
|
||||
'log_desktop_file_export_failure',
|
||||
'log_desktop_file_import_failure',
|
||||
'desktop file export failed for {label}: {error}',
|
||||
'desktop file import failed for {label}: {error}',
|
||||
'log_desktop_file_export_failure("path.convert", &error.to_string())',
|
||||
'log_desktop_file_import_failure("path.convert", &error.to_string())',
|
||||
'log_desktop_file_export_failure("write.text", &error.to_string())',
|
||||
'log_desktop_file_export_failure("write.image", &error.to_string())',
|
||||
'log_desktop_file_export_failure("write.audio", &error.to_string())',
|
||||
'log_desktop_file_import_failure("read.text.join", &error.to_string())',
|
||||
'log_desktop_file_import_failure("read.document.join", &error.to_string())',
|
||||
'log_desktop_file_import_failure("read.image.join", &error.to_string())',
|
||||
'log_desktop_file_import_failure("read.audio.join", &error.to_string())',
|
||||
'desktop file export failed for {label}',
|
||||
'desktop file import failed for {label}',
|
||||
'log_desktop_file_export_failure("path.convert")',
|
||||
'log_desktop_file_import_failure("path.convert")',
|
||||
'log_desktop_file_export_failure("write.text")',
|
||||
'log_desktop_file_export_failure("write.image")',
|
||||
'log_desktop_file_export_failure("write.audio")',
|
||||
'log_desktop_file_import_failure("read.text.join")',
|
||||
'log_desktop_file_import_failure("read.document.join")',
|
||||
'log_desktop_file_import_failure("read.image.join")',
|
||||
'log_desktop_file_import_failure("read.audio.join")',
|
||||
'desktop_file_cancelled_responses_are_stable',
|
||||
'desktop_file_unavailable_responses_are_stable',
|
||||
'desktop_file_failures_are_logged_without_exposing_native_detail',
|
||||
'desktop_file_failures_log_stable_label_only',
|
||||
'"file export cancelled"',
|
||||
'"file import cancelled"',
|
||||
'"file export unavailable"',
|
||||
@@ -2744,6 +2745,24 @@ const requiredRustHostSnippets = [
|
||||
'replay_state.complete(slot, response)',
|
||||
];
|
||||
|
||||
for (const blockedDesktopFileLogSnippet of [
|
||||
'desktop file export failed for {label}: {error}',
|
||||
'desktop file import failed for {label}: {error}',
|
||||
'log_desktop_file_export_failure("path.convert", &error.to_string())',
|
||||
'log_desktop_file_import_failure("path.convert", &error.to_string())',
|
||||
'log_desktop_file_export_failure("write.text", &error.to_string())',
|
||||
'log_desktop_file_export_failure("write.image", &error.to_string())',
|
||||
'log_desktop_file_export_failure("write.audio", &error.to_string())',
|
||||
'log_desktop_file_import_failure("read.text.join", &error.to_string())',
|
||||
'log_desktop_file_import_failure("read.document.join", &error.to_string())',
|
||||
'log_desktop_file_import_failure("read.image.join", &error.to_string())',
|
||||
'log_desktop_file_import_failure("read.audio.join", &error.to_string())',
|
||||
]) {
|
||||
if (desktopHostBridgeFilesSource.includes(blockedDesktopFileLogSnippet)) {
|
||||
throw new Error('desktop shell file module must hide native file errors');
|
||||
}
|
||||
}
|
||||
|
||||
const desktopNavigationStateScriptBody = extractFunctionBody(
|
||||
desktopShellNavigationSource,
|
||||
'desktop_navigation_state_script',
|
||||
|
||||
Reference in New Issue
Block a user