收口宿主运行态回读超时

将原生宿主 runtime 回读短超时提升到共享 HostBridge 契约

让 H5 HostBridge facade 复用共享 runtime 回读超时

增加原生壳门禁拦截本地 runtime 回读超时重声明

补充 runtime 回读测试、壳方案和共享决策记录
This commit is contained in:
2026-06-19 13:41:54 +08:00
parent ef2200f8ac
commit ca9581e534
8 changed files with 43 additions and 6 deletions
@@ -3,6 +3,7 @@
import { afterEach, describe, expect, test, vi } from 'vitest';
import type { HostBridgeCapability } from '../../../packages/shared/src/contracts/hostBridge';
import { HOST_BRIDGE_RUNTIME_REFRESH_TIMEOUT_MS } from '../../../packages/shared/src/contracts/hostBridge';
import {
canUseHostShareGrid,
canUseNativeHostCapability,
@@ -647,6 +648,13 @@ describe('hostBridge', () => {
]);
expect(listener).toHaveBeenCalledTimes(1);
expect(invoke).toHaveBeenCalledTimes(1);
expect(
(
invoke.mock.calls[0]?.[1] as
| { request: { timeoutMs?: number } }
| undefined
)?.request.timeoutMs,
).toBe(HOST_BRIDGE_RUNTIME_REFRESH_TIMEOUT_MS);
unsubscribe();
});
+2 -3
View File
@@ -29,6 +29,7 @@ import {
HOST_BRIDGE_DOCUMENT_MIME_TYPES,
HOST_BRIDGE_IMAGE_MIME_TYPES,
HOST_BRIDGE_NATIVE_APP_QUERY,
HOST_BRIDGE_RUNTIME_REFRESH_TIMEOUT_MS,
HOST_BRIDGE_RUNTIME_CONTEXT_QUERY_KEY,
HOST_BRIDGE_TEXT_MIME_TYPES,
HOST_BRIDGE_WECHAT_MINI_PROGRAM_SOURCE_QUERY,
@@ -148,8 +149,6 @@ export type HostNavigationCanGoBackSnapshot = NavigationCanGoBackEventPayload;
export type HostImageDropSnapshot = FileImportImageResult;
const HOST_RUNTIME_REFRESH_TIMEOUT_MS = 3000;
let cachedNativeHostRuntime: HostBridgeRuntimeResult | null = null;
let nativeHostRuntimeRefreshPromise: Promise<HostBridgeRuntimeResult | null> | null =
null;
@@ -708,7 +707,7 @@ export async function getNativeAppHostRuntime() {
await requestNativeAppHostBridge<HostBridgeRuntimeResult>(
'host.getRuntime',
undefined,
{ timeoutMs: HOST_RUNTIME_REFRESH_TIMEOUT_MS },
{ timeoutMs: HOST_BRIDGE_RUNTIME_REFRESH_TIMEOUT_MS },
),
);
} catch (error) {