收口宿主运行态回读超时
将原生宿主 runtime 回读短超时提升到共享 HostBridge 契约 让 H5 HostBridge facade 复用共享 runtime 回读超时 增加原生壳门禁拦截本地 runtime 回读超时重声明 补充 runtime 回读测试、壳方案和共享决策记录
This commit is contained in:
@@ -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();
|
||||
});
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user