统一移动通知频道契约

将移动端 Android 本地通知频道提升到共享 HostBridge 契约

让 Expo 通知调度和测试复用共享频道标识

增加移动壳配置门禁防止通知频道回退到本地字面量

补充宿主壳方案文档和共享决策记录
This commit is contained in:
2026-06-19 14:37:02 +08:00
parent b6b1e21211
commit e51a65138a
8 changed files with 45 additions and 12 deletions
@@ -22,6 +22,7 @@ import {
HOST_BRIDGE_EVENTS,
HOST_BRIDGE_IMPORT_DOCUMENT_MAX_BYTES,
HOST_BRIDGE_MAX_REQUEST_TIMEOUT_MS,
HOST_BRIDGE_MOBILE_LOCAL_NOTIFICATION_CHANNEL_ID,
HOST_BRIDGE_MOBILE_WEBVIEW_BLOCKED_DOWNLOAD_PROTOCOLS,
HOST_BRIDGE_RESPONSE_CACHE_MAX,
HOST_BRIDGE_RUNTIME_REFRESH_TIMEOUT_MS,
@@ -63,6 +64,12 @@ describe('HostBridge shared contract helpers', () => {
]);
});
test('固定移动壳本地通知频道', () => {
expect(HOST_BRIDGE_MOBILE_LOCAL_NOTIFICATION_CHANNEL_ID).toBe(
'genarrative-local',
);
});
test('固定原生壳请求超时边界', () => {
expect(HOST_BRIDGE_DEFAULT_REQUEST_TIMEOUT_MS).toBe(8000);
expect(HOST_BRIDGE_MAX_REQUEST_TIMEOUT_MS).toBe(60000);
@@ -661,6 +661,8 @@ export type LocalNotificationPayload = {
export const HOST_BRIDGE_LOCAL_NOTIFICATION_TITLE_MAX_LENGTH = 80;
export const HOST_BRIDGE_LOCAL_NOTIFICATION_BODY_MAX_LENGTH = 240;
export const HOST_BRIDGE_MOBILE_LOCAL_NOTIFICATION_CHANNEL_ID =
'genarrative-local';
function normalizeHostBridgePlainText(
value: unknown,