补齐移动壳深链失败观测

移动壳 Deep Link 解析返回状态并记录拒绝路径

ShellApp 记录初始链接读取失败且保留安全入口

移动壳配置检查和文档同步深链失败边界
This commit is contained in:
2026-06-20 18:57:13 +08:00
parent 26f95cf398
commit fc9a557978
7 changed files with 166 additions and 17 deletions
+13 -1
View File
@@ -1385,7 +1385,10 @@ if (appConfig.extra?.genarrativeHostBridgeVersion !== sharedHostBridgeVersion) {
for (const snippet of [
'Linking.getInitialURL()',
"Linking.addEventListener('url'",
'buildMobileShellUrlFromDeepLink',
'resolveMobileShellUrlFromDeepLink',
'logMobileShellDeepLinkFailure',
"'initial_url.read'",
"logMobileShellDeepLinkFailure(`${source}.rejected`, url)",
'configureMobileHostBridgeNavigation',
'HOST_BRIDGE_PROTOCOL',
'HOST_BRIDGE_VERSION',
@@ -1805,6 +1808,11 @@ for (const snippet of [
}
for (const snippet of [
'MobileShellDeepLinkResolution',
"status: 'default'",
"status: 'mapped'",
"status: 'rejected'",
'resolveMobileShellUrlFromDeepLink',
'resolveMobileShellBaseWebUrl(baseWebUrl)',
'resolveTargetPath(rawUrl, webOrigin)',
'buildMobileShellUrl(new URL(targetPath, webOrigin).toString(), options)',
@@ -2497,6 +2505,10 @@ for (const snippet of [
'external WebView navigation native failures stay outside the WebView',
"expect(Linking.openURL).toHaveBeenCalledWith(",
"'mobile shell navigation failed for external_navigation.open'",
'initial deep link read failures are logged without replacing the current WebView URL',
"'mobile shell deep link failed for initial_url.read'",
'runtime deep link rejections are logged and fall back to a safe WebView URL',
"'mobile shell deep link failed for runtime_url.rejected'",
'expect.any(Error)',
]) {
if (!shellAppTestSource.includes(snippet)) {