补齐移动壳通知角标失败观测

移动壳通知和角标记录原生异常日志

通知角标测试覆盖稳定错误和日志边界

配置门禁和文档同步通知角标观测约束
This commit is contained in:
2026-06-20 19:26:27 +08:00
parent 5389a43bfe
commit 75bf78f0a5
8 changed files with 194 additions and 43 deletions
@@ -2036,6 +2036,11 @@ for (const notificationSnippet of [
"invalidRequest('title is required')",
"message: 'notification permission unavailable'",
"message: 'notification delivery unavailable'",
'logMobileNotificationFailure',
'mobile notification failed for',
"logMobileNotificationFailure('permission.current', error)",
"logMobileNotificationFailure('permission.request', error)",
"logMobileNotificationFailure('delivery.schedule', error)",
'showMobileLocalNotification(notification)',
'ok(request, await showMobileLocalNotification(notification))',
'HOST_BRIDGE_LOCAL_NOTIFICATION_DELIVERED_TO_SYSTEM_RESULT',
@@ -2052,6 +2057,9 @@ for (const snippet of [
'maps native notification schedule failures to stable delivery errors',
"message: 'notification permission unavailable'",
"message: 'notification delivery unavailable'",
'mobile notification failed for permission.current',
'mobile notification failed for permission.request',
'mobile notification failed for delivery.schedule',
'expect(Notifications.setNotificationChannelAsync).not.toHaveBeenCalled()',
'expect(Notifications.scheduleNotificationAsync).not.toHaveBeenCalled()',
]) {
@@ -2774,6 +2782,13 @@ for (const snippet of [
'app badge permission denied',
'app badge update unavailable',
'app badge count is only supported on iOS mobile shell',
'logMobileBadgeFailure',
'mobile app badge failed for',
"logMobileBadgeFailure('permission.current', error)",
"logMobileBadgeFailure('permission.request', error)",
"logMobileBadgeFailure('update.set_count', error)",
"logMobileBadgeFailure(",
"'update.rejected'",
]) {
if (!badgeSource.includes(snippet)) {
throw new Error(`mobile shell badge module is missing ${snippet}`);
@@ -2799,6 +2814,12 @@ for (const snippet of [
'rejects denied iOS badge permission before touching the system badge',
'maps native badge update false results to a stable HostBridge error',
'maps native badge update rejections to a stable HostBridge error',
'maps current badge permission lookup failures to a stable HostBridge error',
'maps badge permission request failures to a stable HostBridge error',
'mobile app badge failed for permission.current',
'mobile app badge failed for permission.request',
'mobile app badge failed for update.set_count',
'mobile app badge failed for update.rejected',
'rejects invalid badge counts before touching the system badge',
'rejects missing badge payload before touching the system badge',
'returns unsupported on Android before validating payload or touching badge APIs',