@ethora/chat-component-rn 26.10.6 → 26.10.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/README.md +6 -3
  3. package/lib/commonjs/components/MessageBubble/Message.js +16 -6
  4. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  5. package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js +16 -2
  6. package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js.map +1 -1
  7. package/lib/commonjs/components/VideoCalls/callActions.js +32 -2
  8. package/lib/commonjs/components/VideoCalls/callActions.js.map +1 -1
  9. package/lib/commonjs/components/VideoCalls/systemCall.js +83 -0
  10. package/lib/commonjs/components/VideoCalls/systemCall.js.map +1 -0
  11. package/lib/commonjs/components/VideoCalls/useCallKeep.js +83 -66
  12. package/lib/commonjs/components/VideoCalls/useCallKeep.js.map +1 -1
  13. package/lib/commonjs/helpers/incomingCallFromPush.js +95 -21
  14. package/lib/commonjs/helpers/incomingCallFromPush.js.map +1 -1
  15. package/lib/commonjs/helpers/secureStoreRuntime.js +10 -1
  16. package/lib/commonjs/helpers/secureStoreRuntime.js.map +1 -1
  17. package/lib/commonjs/main.js +114 -0
  18. package/lib/commonjs/main.js.map +1 -1
  19. package/lib/commonjs/networking/api-requests/push.api.js +22 -7
  20. package/lib/commonjs/networking/api-requests/push.api.js.map +1 -1
  21. package/lib/commonjs/networking/callTokenStanza.js +6 -0
  22. package/lib/commonjs/networking/callTokenStanza.js.map +1 -1
  23. package/lib/commonjs/networking/xmpp/sendMessageReaction.xmpp.js +22 -6
  24. package/lib/commonjs/networking/xmpp/sendMessageReaction.xmpp.js.map +1 -1
  25. package/lib/commonjs/networking/xmppClient.js.map +1 -1
  26. package/lib/commonjs/push/pushKeyStore.js +169 -0
  27. package/lib/commonjs/push/pushKeyStore.js.map +1 -0
  28. package/lib/commonjs/push/sealedBox.js +106 -0
  29. package/lib/commonjs/push/sealedBox.js.map +1 -0
  30. package/lib/commonjs/push/sealedPush.js +135 -0
  31. package/lib/commonjs/push/sealedPush.js.map +1 -0
  32. package/lib/commonjs/push/sealedPushTask.js +221 -0
  33. package/lib/commonjs/push/sealedPushTask.js.map +1 -0
  34. package/lib/commonjs/services/pushRegistration.js +12 -7
  35. package/lib/commonjs/services/pushRegistration.js.map +1 -1
  36. package/lib/commonjs/version.js +1 -1
  37. package/lib/module/components/MessageBubble/Message.js +16 -6
  38. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  39. package/lib/module/components/VideoCalls/VideoCallOverlay.js +17 -3
  40. package/lib/module/components/VideoCalls/VideoCallOverlay.js.map +1 -1
  41. package/lib/module/components/VideoCalls/callActions.js +29 -0
  42. package/lib/module/components/VideoCalls/callActions.js.map +1 -1
  43. package/lib/module/components/VideoCalls/systemCall.js +73 -0
  44. package/lib/module/components/VideoCalls/systemCall.js.map +1 -0
  45. package/lib/module/components/VideoCalls/useCallKeep.js +77 -64
  46. package/lib/module/components/VideoCalls/useCallKeep.js.map +1 -1
  47. package/lib/module/helpers/incomingCallFromPush.js +92 -22
  48. package/lib/module/helpers/incomingCallFromPush.js.map +1 -1
  49. package/lib/module/helpers/secureStoreRuntime.js +10 -1
  50. package/lib/module/helpers/secureStoreRuntime.js.map +1 -1
  51. package/lib/module/main.js +9 -0
  52. package/lib/module/main.js.map +1 -1
  53. package/lib/module/networking/api-requests/push.api.js +21 -6
  54. package/lib/module/networking/api-requests/push.api.js.map +1 -1
  55. package/lib/module/networking/callTokenStanza.js +6 -0
  56. package/lib/module/networking/callTokenStanza.js.map +1 -1
  57. package/lib/module/networking/xmpp/sendMessageReaction.xmpp.js +21 -6
  58. package/lib/module/networking/xmpp/sendMessageReaction.xmpp.js.map +1 -1
  59. package/lib/module/networking/xmppClient.js.map +1 -1
  60. package/lib/module/push/pushKeyStore.js +159 -0
  61. package/lib/module/push/pushKeyStore.js.map +1 -0
  62. package/lib/module/push/sealedBox.js +97 -0
  63. package/lib/module/push/sealedBox.js.map +1 -0
  64. package/lib/module/push/sealedPush.js +127 -0
  65. package/lib/module/push/sealedPush.js.map +1 -0
  66. package/lib/module/push/sealedPushTask.js +212 -0
  67. package/lib/module/push/sealedPushTask.js.map +1 -0
  68. package/lib/module/services/pushRegistration.js +12 -7
  69. package/lib/module/services/pushRegistration.js.map +1 -1
  70. package/lib/module/version.js +1 -1
  71. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  72. package/lib/typescript/components/VideoCalls/VideoCallOverlay.d.ts.map +1 -1
  73. package/lib/typescript/components/VideoCalls/callActions.d.ts +6 -0
  74. package/lib/typescript/components/VideoCalls/callActions.d.ts.map +1 -1
  75. package/lib/typescript/components/VideoCalls/systemCall.d.ts +25 -0
  76. package/lib/typescript/components/VideoCalls/systemCall.d.ts.map +1 -0
  77. package/lib/typescript/components/VideoCalls/useCallKeep.d.ts +8 -23
  78. package/lib/typescript/components/VideoCalls/useCallKeep.d.ts.map +1 -1
  79. package/lib/typescript/helpers/incomingCallFromPush.d.ts +5 -13
  80. package/lib/typescript/helpers/incomingCallFromPush.d.ts.map +1 -1
  81. package/lib/typescript/helpers/secureStoreRuntime.d.ts +17 -3
  82. package/lib/typescript/helpers/secureStoreRuntime.d.ts.map +1 -1
  83. package/lib/typescript/main.d.ts +11 -0
  84. package/lib/typescript/main.d.ts.map +1 -1
  85. package/lib/typescript/networking/api-requests/push.api.d.ts +14 -2
  86. package/lib/typescript/networking/api-requests/push.api.d.ts.map +1 -1
  87. package/lib/typescript/networking/callTokenStanza.d.ts.map +1 -1
  88. package/lib/typescript/networking/xmpp/sendMessageReaction.xmpp.d.ts +13 -1
  89. package/lib/typescript/networking/xmpp/sendMessageReaction.xmpp.d.ts.map +1 -1
  90. package/lib/typescript/networking/xmppClient.d.ts +2 -4
  91. package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
  92. package/lib/typescript/push/pushKeyStore.d.ts +35 -0
  93. package/lib/typescript/push/pushKeyStore.d.ts.map +1 -0
  94. package/lib/typescript/push/sealedBox.d.ts +24 -0
  95. package/lib/typescript/push/sealedBox.d.ts.map +1 -0
  96. package/lib/typescript/push/sealedPush.d.ts +67 -0
  97. package/lib/typescript/push/sealedPush.d.ts.map +1 -0
  98. package/lib/typescript/push/sealedPushTask.d.ts +44 -0
  99. package/lib/typescript/push/sealedPushTask.d.ts.map +1 -0
  100. package/lib/typescript/services/pushRegistration.d.ts +8 -0
  101. package/lib/typescript/services/pushRegistration.d.ts.map +1 -1
  102. package/lib/typescript/types/models/xmpp.model.d.ts +2 -4
  103. package/lib/typescript/types/models/xmpp.model.d.ts.map +1 -1
  104. package/lib/typescript/types/types.d.ts +6 -0
  105. package/lib/typescript/types/types.d.ts.map +1 -1
  106. package/lib/typescript/version.d.ts +1 -1
  107. package/package.json +11 -1
  108. package/plugins/notification-service/NotificationService.swift +113 -0
  109. package/plugins/notification-service/SealedBox.swift +355 -0
  110. package/plugins/notification-service/check/gen-vectors.mjs +24 -0
  111. package/plugins/notification-service/check/main.swift +37 -0
  112. package/plugins/notification-service/check/run.sh +12 -0
  113. package/plugins/notification-service/check/vectors.json +1 -0
  114. package/plugins/withNotificationServiceExtension.js +70 -18
  115. package/src/components/MessageBubble/Message.tsx +16 -5
  116. package/src/components/VideoCalls/VideoCallOverlay.tsx +18 -2
  117. package/src/components/VideoCalls/callActions.ts +28 -0
  118. package/src/components/VideoCalls/systemCall.ts +109 -0
  119. package/src/components/VideoCalls/useCallKeep.ts +89 -97
  120. package/src/helpers/incomingCallFromPush.ts +97 -26
  121. package/src/helpers/secureStoreRuntime.ts +21 -3
  122. package/src/main.ts +38 -0
  123. package/src/networking/api-requests/push.api.ts +29 -4
  124. package/src/networking/callTokenStanza.ts +10 -0
  125. package/src/networking/xmpp/sendMessageReaction.xmpp.ts +38 -6
  126. package/src/networking/xmppClient.ts +2 -2
  127. package/src/push/pushKeyStore.ts +163 -0
  128. package/src/push/sealedBox.ts +104 -0
  129. package/src/push/sealedPush.ts +138 -0
  130. package/src/push/sealedPushTask.ts +221 -0
  131. package/src/services/pushRegistration.ts +25 -5
  132. package/src/types/models/xmpp.model.ts +2 -1
  133. package/src/types/types.ts +6 -0
  134. package/src/version.ts +1 -1
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+
3
+ import { AppState, Platform } from 'react-native';
4
+ import { pushLog } from '../utils/devLogger';
5
+ import { isCallPush } from '../helpers/callPush';
6
+ import { loadPushSecretKey } from './pushKeyStore';
7
+ import { isReactionPush, openSealedPush, sealedPushEnvelopeOf } from './sealedPush';
8
+
9
+ // Android half of encrypted pushes. A sealed push is data-only, so the OS
10
+ // shows nothing by itself: expo-notifications hands it to a background
11
+ // task (expo-task-manager, foreground, background and killed app alike)
12
+ // and this task opens the box and posts the notification. iOS does the
13
+ // same in the notification service extension; here `registerSealedPushTask`
14
+ // is a no-op.
15
+ //
16
+ // Both packages are optional peers, required lazily: a host that does not
17
+ // want encrypted pushes never pays for them.
18
+
19
+ export const SEALED_PUSH_TASK = 'ETHORA_SEALED_PUSH';
20
+ const PLACEHOLDER_TITLE = 'New message';
21
+ const PLACEHOLDER_REACTION_TITLE = 'New reaction';
22
+ let registered = false;
23
+ const loadTaskManager = () => {
24
+ try {
25
+ return require('expo-task-manager');
26
+ } catch {
27
+ return null;
28
+ }
29
+ };
30
+ const loadNotifications = () => {
31
+ try {
32
+ return require('expo-notifications');
33
+ } catch {
34
+ return null;
35
+ }
36
+ };
37
+
38
+ /**
39
+ * The FCM data map out of the task payload. expo-notifications passes the
40
+ * message as `{ notification, data }`; the data keys are on `data`
41
+ * itself, `data.dataString` carries the same as a JSON string on some
42
+ * versions, and a Firebase `RemoteMessage` keeps them under `data.data`.
43
+ */
44
+ const pushDataCandidates = payload => {
45
+ const root = payload && typeof payload === 'object' ? payload : null;
46
+ if (!root) {
47
+ return [];
48
+ }
49
+ const candidates = [root.data, root];
50
+ const data = root.data && typeof root.data === 'object' ? root.data : null;
51
+ if (data) {
52
+ if (typeof data.dataString === 'string') {
53
+ try {
54
+ candidates.unshift(JSON.parse(data.dataString));
55
+ } catch {
56
+ // not JSON — fall through to the map itself
57
+ }
58
+ }
59
+ candidates.push(data.data);
60
+ }
61
+ return candidates.filter(c => c && typeof c === 'object');
62
+ };
63
+ export const sealedPushDataOf = payload => pushDataCandidates(payload).find(candidate => sealedPushEnvelopeOf(candidate)) ?? null;
64
+
65
+ /** The call fields of an incoming-call push in the task payload, if it is one. */
66
+ export const callPushDataOf = payload => pushDataCandidates(payload).find(candidate => isCallPush(candidate)) ?? null;
67
+ const notificationContent = (result, options) => {
68
+ const {
69
+ envelope
70
+ } = result;
71
+ // What the tap handler (`handlePushPayload` through the host's response
72
+ // listener) needs: the same ids a plain push carries on `data`.
73
+ const reaction = isReactionPush(envelope);
74
+ const data = {
75
+ jid: envelope.jid,
76
+ msgID: envelope.msgID,
77
+ userJid: envelope.userJid,
78
+ sealed: true,
79
+ ...(reaction ? {
80
+ type: 'reaction'
81
+ } : {})
82
+ };
83
+ const sound = reaction ? false : 'default';
84
+ if (!result.ok) {
85
+ return {
86
+ title: options.placeholderTitle || (reaction ? PLACEHOLDER_REACTION_TITLE : PLACEHOLDER_TITLE),
87
+ ...(options.placeholderBody ? {
88
+ body: options.placeholderBody
89
+ } : {}),
90
+ data,
91
+ sound
92
+ };
93
+ }
94
+ const {
95
+ content
96
+ } = result;
97
+ return {
98
+ title: content.title || content.sender || content.chat || PLACEHOLDER_TITLE,
99
+ body: content.body,
100
+ data: {
101
+ ...data,
102
+ chatJid: content.chatJid,
103
+ senderJid: content.senderJid
104
+ },
105
+ sound
106
+ };
107
+ };
108
+
109
+ /**
110
+ * Open a sealed push and show it. One notification per chat: the room JID
111
+ * is the identifier, so a newer message replaces the older one the way the
112
+ * service's collapse key does for plain pushes. A reaction has its own
113
+ * identifier per chat (and its own channel), so it never replaces the
114
+ * chat's new-message notification.
115
+ */
116
+ export async function presentSealedPush(data, options = {}) {
117
+ const envelope = sealedPushEnvelopeOf(data);
118
+ if (!envelope) {
119
+ return null;
120
+ }
121
+ const notifications = loadNotifications();
122
+ if (!notifications?.scheduleNotificationAsync) {
123
+ return null;
124
+ }
125
+ const result = openSealedPush(envelope, await loadPushSecretKey());
126
+ // console, not only pushLog: with the app killed this runs headless and
127
+ // `adb logcat -s ReactNativeJS` is the only place to see it.
128
+ if (result.ok) {
129
+ console.log(`[push] sealed push kid=${envelope.kid} opened for ${envelope.jid}`);
130
+ } else {
131
+ console.warn(`[push] sealed push kid=${envelope.kid} not opened (${result.reason}), showing the placeholder`);
132
+ pushLog('warn', `push: sealed push not opened (${result.reason}), showing the placeholder`);
133
+ }
134
+ const reaction = isReactionPush(envelope);
135
+ const base = envelope.jid || envelope.msgID || '';
136
+ const identifier = base ? reaction ? `${base}#reaction` : base : undefined;
137
+ const channelId = reaction && options.reactionChannelId || options.channelId;
138
+ await notifications.scheduleNotificationAsync({
139
+ identifier,
140
+ content: notificationContent(result, options),
141
+ trigger: channelId ? {
142
+ channelId
143
+ } : null
144
+ });
145
+ return result;
146
+ }
147
+
148
+ /**
149
+ * Define and register the background task that renders sealed pushes on
150
+ * Android. Call it at module scope of a file the app loads first (the
151
+ * entry file, or the root layout with expo-router): a killed app is
152
+ * started headless to run it, and the task must exist by then. No-op on
153
+ * iOS and when expo-task-manager / expo-notifications are not installed.
154
+ */
155
+ export function registerSealedPushTask(options = {}) {
156
+ if (Platform.OS !== 'android' || registered) {
157
+ return registered;
158
+ }
159
+ const taskManager = loadTaskManager();
160
+ const notifications = loadNotifications();
161
+ if (!taskManager?.defineTask || !notifications?.registerTaskAsync) {
162
+ pushLog('warn', 'push: expo-task-manager and expo-notifications are needed to show encrypted pushes on Android');
163
+ return false;
164
+ }
165
+ taskManager.defineTask(SEALED_PUSH_TASK, async ({
166
+ data,
167
+ error
168
+ }) => {
169
+ if (error) {
170
+ return;
171
+ }
172
+ const call = callPushDataOf(data);
173
+ if (call) {
174
+ if (AppState.currentState === 'active' || !options.onCallPush) {
175
+ return;
176
+ }
177
+ try {
178
+ console.log(`[push] incoming call push ${String(call.callId ?? '')}`);
179
+ await options.onCallPush(call);
180
+ } catch (e) {
181
+ pushLog('warn', 'push: showing an incoming call failed', e);
182
+ }
183
+ return;
184
+ }
185
+ const map = sealedPushDataOf(data);
186
+ if (!map) {
187
+ return;
188
+ }
189
+ // In the foreground the room is live over XMPP; the host's
190
+ // notification handler decides about plain pushes there too.
191
+ if (AppState.currentState === 'active') {
192
+ return;
193
+ }
194
+ try {
195
+ await presentSealedPush(map, options);
196
+ } catch (e) {
197
+ pushLog('warn', 'push: showing a sealed push failed', e);
198
+ }
199
+ });
200
+ registered = true;
201
+ notifications.registerTaskAsync(SEALED_PUSH_TASK).catch(e => {
202
+ registered = false;
203
+ pushLog('warn', 'push: registering the sealed push task failed', e);
204
+ });
205
+ return true;
206
+ }
207
+
208
+ /** Test seam only. */
209
+ export const __resetSealedPushTaskForTests = () => {
210
+ registered = false;
211
+ };
212
+ //# sourceMappingURL=sealedPushTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AppState","Platform","pushLog","isCallPush","loadPushSecretKey","isReactionPush","openSealedPush","sealedPushEnvelopeOf","SEALED_PUSH_TASK","PLACEHOLDER_TITLE","PLACEHOLDER_REACTION_TITLE","registered","loadTaskManager","require","loadNotifications","pushDataCandidates","payload","root","candidates","data","dataString","unshift","JSON","parse","push","filter","c","sealedPushDataOf","find","candidate","callPushDataOf","notificationContent","result","options","envelope","reaction","jid","msgID","userJid","sealed","type","sound","ok","title","placeholderTitle","placeholderBody","body","content","sender","chat","chatJid","senderJid","presentSealedPush","notifications","scheduleNotificationAsync","console","log","kid","warn","reason","base","identifier","undefined","channelId","reactionChannelId","trigger","registerSealedPushTask","OS","taskManager","defineTask","registerTaskAsync","error","call","currentState","onCallPush","String","callId","e","map","catch","__resetSealedPushTaskForTests"],"sourceRoot":"../../../src","sources":["push/sealedPushTask.ts"],"mappings":"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","ignoreList":[]}
@@ -28,7 +28,7 @@ const readSession = () => {
28
28
  };
29
29
  const isGateway = session => !!session.gatewayUrl;
30
30
  const isReady = session => !!session.authToken && (isGateway(session) ? !!session.xmppUsername && !!session.projectName : !!session.appId);
31
- const sameRegistration = (token, current, session) => !!current && current.token === token.token && current.tokenType === token.tokenType && current.gateway === isGateway(session) && current.appId === session.appId && current.xmppUsername === session.xmppUsername;
31
+ const sameRegistration = (token, current, session) => !!current && current.token === token.token && current.tokenType === token.tokenType && (current.pushKey || '') === (token.pushKey || '') && current.gateway === isGateway(session) && current.appId === session.appId && current.xmppUsername === session.xmppUsername;
32
32
  const slotsNeedingRegistration = session => SLOTS.filter(slot => {
33
33
  const token = held.get(slot);
34
34
  return !!token && !sameRegistration(token, registered.get(slot), session);
@@ -63,7 +63,8 @@ const registerOne = async (token, session) => {
63
63
  appId: session.appId,
64
64
  token: token.token,
65
65
  tokenType: token.tokenType,
66
- authToken: session.authToken
66
+ authToken: session.authToken,
67
+ pushKey: token.pushKey
67
68
  });
68
69
  }
69
70
  registered.set(slotOf(token.tokenType), {
@@ -72,7 +73,7 @@ const registerOne = async (token, session) => {
72
73
  xmppUsername: session.xmppUsername,
73
74
  gateway: isGateway(session)
74
75
  });
75
- pushLog('rn', `push: ${token.tokenType} token registered` + (isGateway(session) ? ' (gateway)' : ` for app ${session.appId}`));
76
+ pushLog('rn', `push: ${token.tokenType} token registered` + (isGateway(session) ? ' (gateway)' : ` for app ${session.appId}`) + (token.pushKey && !isGateway(session) ? ' with a device key (encrypted pushes)' : ''));
76
77
  };
77
78
  const registerNow = () => {
78
79
  if (inflight) {
@@ -117,7 +118,7 @@ const runTokenHook = session => {
117
118
  if (typeof entry?.token !== 'string' || !entry.token.trim()) {
118
119
  continue;
119
120
  }
120
- hold(entry.token.trim(), entry.tokenType);
121
+ hold(entry.token.trim(), entry.tokenType, entry.pushKey);
121
122
  }
122
123
  await registerNow();
123
124
  })().catch(error => {
@@ -126,11 +127,15 @@ const runTokenHook = session => {
126
127
  pushLog('warn', 'push: getPushTokens failed; will retry', error);
127
128
  });
128
129
  };
129
- const hold = (token, tokenType) => {
130
+ const hold = (token, tokenType, pushKey) => {
130
131
  const resolved = tokenType ?? detectPushTokenType(token);
132
+ const key = typeof pushKey === 'string' ? pushKey.trim() : '';
131
133
  const entry = {
132
134
  token,
133
- tokenType: resolved
135
+ tokenType: resolved,
136
+ ...(key ? {
137
+ pushKey: key
138
+ } : {})
134
139
  };
135
140
  held.set(slotOf(resolved), entry);
136
141
  return entry;
@@ -178,7 +183,7 @@ export async function registerPushToken(token, options) {
178
183
  if (typeof token !== 'string' || !token.trim()) {
179
184
  throw new TypeError('registerPushToken: token must be a non-empty string');
180
185
  }
181
- hold(token.trim(), options?.tokenType);
186
+ hold(token.trim(), options?.tokenType, options?.pushKey);
182
187
  ensureWatching();
183
188
  const session = readSession();
184
189
  if (session.pushDisabled) {
@@ -1 +1 @@
1
- {"version":3,"names":["store","PushRegistrationError","detectPushTokenType","registerPushSubscription","subscribeToPushGateway","unregisterPushSubscription","pushLog","slotOf","tokenType","SLOTS","HOOK_RETRY_MS","held","Map","registered","inflight","unwatch","hookIdentity","hookFailedAt","readSession","slice","getState","chatSettingStore","user","config","authToken","String","token","appId","trim","xmppUsername","projectName","gatewayUrl","pushNotifications","apiUrl","pushDisabled","enabled","pushEnabled","isGateway","session","isReady","sameRegistration","current","gateway","slotsNeedingRegistration","filter","slot","get","releaseOnServer","registerOne","userJid","set","registerNow","previous","delete","catch","error","finally","runTokenHook","hook","getPushTokens","identity","Date","now","result","list","Array","isArray","entry","hold","resolved","ensureWatching","subscribe","size","releasePushRegistration","undefined","length","installPushTokenHook","registerPushToken","options","TypeError","from","values","clear","Promise","all","map","then","unregisterPushToken","slots","toRelease","push","removable","results","allSettled","failure","find","r","status","reason","getRegisteredPushToken","chat","getRegisteredPushTokens","t","__resetPushRegistrationForTests"],"sourceRoot":"../../../src","sources":["services/pushRegistration.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["store","PushRegistrationError","detectPushTokenType","registerPushSubscription","subscribeToPushGateway","unregisterPushSubscription","pushLog","slotOf","tokenType","SLOTS","HOOK_RETRY_MS","held","Map","registered","inflight","unwatch","hookIdentity","hookFailedAt","readSession","slice","getState","chatSettingStore","user","config","authToken","String","token","appId","trim","xmppUsername","projectName","gatewayUrl","pushNotifications","apiUrl","pushDisabled","enabled","pushEnabled","isGateway","session","isReady","sameRegistration","current","pushKey","gateway","slotsNeedingRegistration","filter","slot","get","releaseOnServer","registerOne","userJid","set","registerNow","previous","delete","catch","error","finally","runTokenHook","hook","getPushTokens","identity","Date","now","result","list","Array","isArray","entry","hold","resolved","key","ensureWatching","subscribe","size","releasePushRegistration","undefined","length","installPushTokenHook","registerPushToken","options","TypeError","from","values","clear","Promise","all","map","then","unregisterPushToken","slots","toRelease","push","removable","results","allSettled","failure","find","r","status","reason","getRegisteredPushToken","chat","getRegisteredPushTokens","t","__resetPushRegistrationForTests"],"sourceRoot":"../../../src","sources":["services/pushRegistration.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,cAAc;AACpC,SACEC,qBAAqB,EACrBC,mBAAmB,EACnBC,wBAAwB,EACxBC,sBAAsB,EACtBC,0BAA0B,QACrB,qCAAqC;AAE5C,SAASC,OAAO,QAAQ,oBAAoB;AAiC5C,MAAMC,MAAM,GAAIC,SAAwB,IACtCA,SAAS,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM;AAC7C,MAAMC,KAAa,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;AAiBtC,MAAMC,aAAa,GAAG,MAAM;AAE5B,MAAMC,IAAI,GAAG,IAAIC,GAAG,CAA4B,CAAC;AACjD,MAAMC,UAAU,GAAG,IAAID,GAAG,CAA2B,CAAC;AACtD,IAAIE,QAA8B,GAAG,IAAI;AACzC,IAAIC,OAA4B,GAAG,IAAI;AACvC,IAAIC,YAA2B,GAAG,IAAI;AACtC,IAAIC,YAAY,GAAG,CAAC;AAEpB,MAAMC,WAAW,GAAGA,CAAA,KAAe;EACjC,MAAMC,KAAK,GAAGnB,KAAK,CAACoB,QAAQ,CAAC,CAAC,CAACC,gBAAgB;EAC/C,MAAMC,IAAI,GAAGH,KAAK,EAAEG,IAAI;EACxB,MAAMC,MAAM,GAAGJ,KAAK,EAAEI,MAAM;EAC5B,OAAO;IACLC,SAAS,EAAEC,MAAM,CAACH,IAAI,EAAEI,KAAK,IAAI,EAAE,CAAC;IACpCC,KAAK,EAAEF,MAAM,CAACF,MAAM,EAAEI,KAAK,IAAIL,IAAI,EAAEK,KAAK,IAAI,EAAE,CAAC,CAACC,IAAI,CAAC,CAAC;IACxDC,YAAY,EAAEJ,MAAM,CAACH,IAAI,EAAEO,YAAY,IAAI,EAAE,CAAC;IAC9CC,WAAW,EAAEL,MAAM,CAACF,MAAM,EAAEO,WAAW,IAAI,EAAE,CAAC,CAACF,IAAI,CAAC,CAAC;IACrDG,UAAU,EAAEN,MAAM,CAACF,MAAM,EAAES,iBAAiB,EAAEC,MAAM,IAAI,EAAE,CAAC,CAACL,IAAI,CAAC,CAAC;IAClE;IACAM,YAAY,EACVX,MAAM,EAAES,iBAAiB,EAAEG,OAAO,KAAK,KAAK,IAC5ChB,KAAK,EAAEiB,WAAW,KAAK;EAC3B,CAAC;AACH,CAAC;AAED,MAAMC,SAAS,GAAIC,OAAgB,IAAc,CAAC,CAACA,OAAO,CAACP,UAAU;AAErE,MAAMQ,OAAO,GAAID,OAAgB,IAC/B,CAAC,CAACA,OAAO,CAACd,SAAS,KAClBa,SAAS,CAACC,OAAO,CAAC,GACf,CAAC,CAACA,OAAO,CAACT,YAAY,IAAI,CAAC,CAACS,OAAO,CAACR,WAAW,GAC/C,CAAC,CAACQ,OAAO,CAACX,KAAK,CAAC;AAEtB,MAAMa,gBAAgB,GAAGA,CACvBd,KAA0B,EAC1Be,OAAuC,EACvCH,OAAgB,KAEhB,CAAC,CAACG,OAAO,IACTA,OAAO,CAACf,KAAK,KAAKA,KAAK,CAACA,KAAK,IAC7Be,OAAO,CAACjC,SAAS,KAAKkB,KAAK,CAAClB,SAAS,IACrC,CAACiC,OAAO,CAACC,OAAO,IAAI,EAAE,OAAOhB,KAAK,CAACgB,OAAO,IAAI,EAAE,CAAC,IACjDD,OAAO,CAACE,OAAO,KAAKN,SAAS,CAACC,OAAO,CAAC,IACtCG,OAAO,CAACd,KAAK,KAAKW,OAAO,CAACX,KAAK,IAC/Bc,OAAO,CAACZ,YAAY,KAAKS,OAAO,CAACT,YAAY;AAE/C,MAAMe,wBAAwB,GAAIN,OAAgB,IAChD7B,KAAK,CAACoC,MAAM,CAAEC,IAAI,IAAK;EACrB,MAAMpB,KAAK,GAAGf,IAAI,CAACoC,GAAG,CAACD,IAAI,CAAC;EAC5B,OAAO,CAAC,CAACpB,KAAK,IAAI,CAACc,gBAAgB,CAACd,KAAK,EAAEb,UAAU,CAACkC,GAAG,CAACD,IAAI,CAAC,EAAER,OAAO,CAAC;AAC3E,CAAC,CAAC;AAEJ,MAAMU,eAAe,GAAG,MAAAA,CACtBP,OAA2B,EAC3BjB,SAAiB,KACC;EAClB,IAAIiB,OAAO,CAACE,OAAO,IAAI,CAACnB,SAAS,EAAE;IACjC;EACF;EACA,MAAMnB,0BAA0B,CAAC;IAC/BsB,KAAK,EAAEc,OAAO,CAACd,KAAK;IACpBD,KAAK,EAAEe,OAAO,CAACf,KAAK;IACpBF;EACF,CAAC,CAAC;AACJ,CAAC;AAED,MAAMyB,WAAW,GAAG,MAAAA,CAClBvB,KAA0B,EAC1BY,OAAgB,KACE;EAClB,IAAID,SAAS,CAACC,OAAO,CAAC,EAAE;IACtB,IAAI,CAACA,OAAO,CAACR,WAAW,EAAE;MACxB,MAAM,IAAI7B,qBAAqB,CAC7B,yDAAyD,GACvD,oDACJ,CAAC;IACH;IACA,MAAMG,sBAAsB,CAAC;MAC3B6B,MAAM,EAAEK,OAAO,CAACP,UAAU;MAC1BL,KAAK,EAAEA,KAAK,CAACA,KAAK;MAClBwB,OAAO,EAAEZ,OAAO,CAACT,YAAY;MAC7BC,WAAW,EAAEQ,OAAO,CAACR,WAAW;MAChCN,SAAS,EAAEc,OAAO,CAACd;IACrB,CAAC,CAAC;EACJ,CAAC,MAAM;IACL,IAAI,CAACc,OAAO,CAACX,KAAK,EAAE;MAClB,MAAM,IAAI1B,qBAAqB,CAC7B,8DAA8D,GAC5D,0CACJ,CAAC;IACH;IACA,MAAME,wBAAwB,CAAC;MAC7BwB,KAAK,EAAEW,OAAO,CAACX,KAAK;MACpBD,KAAK,EAAEA,KAAK,CAACA,KAAK;MAClBlB,SAAS,EAAEkB,KAAK,CAAClB,SAAS;MAC1BgB,SAAS,EAAEc,OAAO,CAACd,SAAS;MAC5BkB,OAAO,EAAEhB,KAAK,CAACgB;IACjB,CAAC,CAAC;EACJ;EACA7B,UAAU,CAACsC,GAAG,CAAC5C,MAAM,CAACmB,KAAK,CAAClB,SAAS,CAAC,EAAE;IACtC,GAAGkB,KAAK;IACRC,KAAK,EAAEW,OAAO,CAACX,KAAK;IACpBE,YAAY,EAAES,OAAO,CAACT,YAAY;IAClCc,OAAO,EAAEN,SAAS,CAACC,OAAO;EAC5B,CAAC,CAAC;EACFhC,OAAO,CACL,IAAI,EACJ,SAASoB,KAAK,CAAClB,SAAS,mBAAmB,IACxC6B,SAAS,CAACC,OAAO,CAAC,GAAG,YAAY,GAAG,YAAYA,OAAO,CAACX,KAAK,EAAE,CAAC,IAChED,KAAK,CAACgB,OAAO,IAAI,CAACL,SAAS,CAACC,OAAO,CAAC,GAAG,uCAAuC,GAAG,EAAE,CACxF,CAAC;AACH,CAAC;AAED,MAAMc,WAAW,GAAGA,CAAA,KAAqB;EACvC,IAAItC,QAAQ,EAAE;IACZ,OAAOA,QAAQ;EACjB;EACAA,QAAQ,GAAG,CAAC,YAAY;IACtB,MAAMwB,OAAO,GAAGpB,WAAW,CAAC,CAAC;IAC7B,IAAIoB,OAAO,CAACJ,YAAY,IAAI,CAACI,OAAO,CAACd,SAAS,EAAE;MAC9C;IACF;IACA,IAAIa,SAAS,CAACC,OAAO,CAAC,IAAI,CAACA,OAAO,CAACT,YAAY,EAAE;MAC/C;IACF;IACA,KAAK,MAAMiB,IAAI,IAAIF,wBAAwB,CAACN,OAAO,CAAC,EAAE;MACpD,MAAMZ,KAAK,GAAGf,IAAI,CAACoC,GAAG,CAACD,IAAI,CAAE;MAC7B,MAAMO,QAAQ,GAAGxC,UAAU,CAACkC,GAAG,CAACD,IAAI,CAAC;MACrC,IAAIO,QAAQ,IAAIA,QAAQ,CAACxB,YAAY,KAAKS,OAAO,CAACT,YAAY,EAAE;QAC9DhB,UAAU,CAACyC,MAAM,CAACR,IAAI,CAAC;QACvB,MAAME,eAAe,CAACK,QAAQ,EAAEf,OAAO,CAACd,SAAS,CAAC,CAAC+B,KAAK,CAAEC,KAAK,IAC7DlD,OAAO,CAAC,MAAM,EAAE,2CAA2C,EAAEkD,KAAK,CACpE,CAAC;MACH;MACA,MAAMP,WAAW,CAACvB,KAAK,EAAEY,OAAO,CAAC;IACnC;EACF,CAAC,EAAE,CAAC,CAACmB,OAAO,CAAC,MAAM;IACjB3C,QAAQ,GAAG,IAAI;EACjB,CAAC,CAAC;EACF,OAAOA,QAAQ;AACjB,CAAC;AAED,MAAM4C,YAAY,GAAIpB,OAAgB,IAAW;EAC/C,MAAMqB,IAAI,GAAG3D,KAAK,CAACoB,QAAQ,CAAC,CAAC,CAACC,gBAAgB,EAAEE,MAAM,EAAES,iBAAiB,EACrE4B,aAAa;EACjB,MAAMC,QAAQ,GAAGvB,OAAO,CAACT,YAAY,IAAIS,OAAO,CAACX,KAAK;EACtD,IAAI,CAACgC,IAAI,IAAI,CAACE,QAAQ,IAAI7C,YAAY,KAAK6C,QAAQ,EAAE;IACnD;EACF;EACA,IAAIC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG9C,YAAY,GAAGP,aAAa,EAAE;IAC7C;EACF;EACAM,YAAY,GAAG6C,QAAQ;EACvB,CAAC,YAAY;IACX,MAAMG,MAAM,GAAG,MAAML,IAAI,CAAC,CAAC;IAC3B,MAAMM,IAAI,GAAGC,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC,GAAGA,MAAM,GAAGA,MAAM,GAAG,CAACA,MAAM,CAAC,GAAG,EAAE;IACpE,KAAK,MAAMI,KAAK,IAAIH,IAAI,EAAE;MACxB,IAAI,OAAOG,KAAK,EAAE1C,KAAK,KAAK,QAAQ,IAAI,CAAC0C,KAAK,CAAC1C,KAAK,CAACE,IAAI,CAAC,CAAC,EAAE;QAC3D;MACF;MACAyC,IAAI,CAACD,KAAK,CAAC1C,KAAK,CAACE,IAAI,CAAC,CAAC,EAAEwC,KAAK,CAAC5D,SAAS,EAAE4D,KAAK,CAAC1B,OAAO,CAAC;IAC1D;IACA,MAAMU,WAAW,CAAC,CAAC;EACrB,CAAC,EAAE,CAAC,CAACG,KAAK,CAAEC,KAAK,IAAK;IACpBxC,YAAY,GAAG,IAAI;IACnBC,YAAY,GAAG6C,IAAI,CAACC,GAAG,CAAC,CAAC;IACzBzD,OAAO,CAAC,MAAM,EAAE,wCAAwC,EAAEkD,KAAK,CAAC;EAClE,CAAC,CAAC;AACJ,CAAC;AAED,MAAMa,IAAI,GAAGA,CACX3C,KAAa,EACblB,SAAyB,EACzBkC,OAAgB,KACQ;EACxB,MAAM4B,QAAQ,GAAG9D,SAAS,IAAIN,mBAAmB,CAACwB,KAAK,CAAC;EACxD,MAAM6C,GAAG,GAAG,OAAO7B,OAAO,KAAK,QAAQ,GAAGA,OAAO,CAACd,IAAI,CAAC,CAAC,GAAG,EAAE;EAC7D,MAAMwC,KAA0B,GAAG;IACjC1C,KAAK;IACLlB,SAAS,EAAE8D,QAAQ;IACnB,IAAIC,GAAG,GAAG;MAAE7B,OAAO,EAAE6B;IAAI,CAAC,GAAG,CAAC,CAAC;EACjC,CAAC;EACD5D,IAAI,CAACwC,GAAG,CAAC5C,MAAM,CAAC+D,QAAQ,CAAC,EAAEF,KAAK,CAAC;EACjC,OAAOA,KAAK;AACd,CAAC;AAED,MAAMI,cAAc,GAAGA,CAAA,KAAY;EACjC,IAAIzD,OAAO,EAAE;IACX;EACF;EACAA,OAAO,GAAGf,KAAK,CAACyE,SAAS,CAAC,MAAM;IAC9B,MAAMnC,OAAO,GAAGpB,WAAW,CAAC,CAAC;IAC7B,IAAI,CAACoB,OAAO,CAACd,SAAS,EAAE;MACtBR,YAAY,GAAG,IAAI;MACnB;IACF;IACA,IAAIsB,OAAO,CAACJ,YAAY,EAAE;MACxB;MACA;MACA;MACA;MACA,IAAIrB,UAAU,CAAC6D,IAAI,GAAG,CAAC,EAAE;QACvBC,uBAAuB,CAAC,CAAC,CAACpB,KAAK,CAAC,MAAMqB,SAAS,CAAC;MAClD;MACA;IACF;IACA,IAAI,CAACrC,OAAO,CAACD,OAAO,CAAC,EAAE;MACrB;IACF;IACAoB,YAAY,CAACpB,OAAO,CAAC;IACrB,IAAIM,wBAAwB,CAACN,OAAO,CAAC,CAACuC,MAAM,KAAK,CAAC,EAAE;MAClD;IACF;IACAzB,WAAW,CAAC,CAAC,CAACG,KAAK,CAAEC,KAAK,IAAK;MAC7BlD,OAAO,CAAC,MAAM,EAAE,0CAA0C,EAAEkD,KAAK,CAAC;IACpE,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAMsB,oBAAoB,GAAGA,CAAA,KAAY;EAC9CN,cAAc,CAAC,CAAC;EAChB,MAAMlC,OAAO,GAAGpB,WAAW,CAAC,CAAC;EAC7B,IAAIoB,OAAO,CAACd,SAAS,IAAI,CAACc,OAAO,CAACJ,YAAY,IAAIK,OAAO,CAACD,OAAO,CAAC,EAAE;IAClEoB,YAAY,CAACpB,OAAO,CAAC;EACvB;AACF,CAAC;AAED,OAAO,eAAeyC,iBAAiBA,CACrCrD,KAAa,EACbsD,OAAkC,EACC;EACnC,IAAI,OAAOtD,KAAK,KAAK,QAAQ,IAAI,CAACA,KAAK,CAACE,IAAI,CAAC,CAAC,EAAE;IAC9C,MAAM,IAAIqD,SAAS,CAAC,qDAAqD,CAAC;EAC5E;EACAZ,IAAI,CAAC3C,KAAK,CAACE,IAAI,CAAC,CAAC,EAAEoD,OAAO,EAAExE,SAAS,EAAEwE,OAAO,EAAEtC,OAAO,CAAC;EACxD8B,cAAc,CAAC,CAAC;EAEhB,MAAMlC,OAAO,GAAGpB,WAAW,CAAC,CAAC;EAC7B,IAAIoB,OAAO,CAACJ,YAAY,EAAE;IACxB,OAAO,UAAU;EACnB;EACA,IAAI,CAACI,OAAO,CAACd,SAAS,IAAKa,SAAS,CAACC,OAAO,CAAC,IAAI,CAACA,OAAO,CAACT,YAAa,EAAE;IACvE,OAAO,UAAU;EACnB;EACA,MAAMuB,WAAW,CAAC,CAAC;EACnB,OAAO,YAAY;AACrB;AAEA,OAAO,eAAeuB,uBAAuBA,CAAA,EAAkB;EAC7D,MAAMlC,OAAO,GAAGyB,KAAK,CAACgB,IAAI,CAACrE,UAAU,CAACsE,MAAM,CAAC,CAAC,CAAC;EAC/CtE,UAAU,CAACuE,KAAK,CAAC,CAAC;EAClBpE,YAAY,GAAG,IAAI;EACnB,MAAMsB,OAAO,GAAGpB,WAAW,CAAC,CAAC;EAC7B,IAAI,CAACuB,OAAO,CAACoC,MAAM,IAAI,CAACvC,OAAO,CAACd,SAAS,EAAE;IACzC;EACF;EACA,MAAM6D,OAAO,CAACC,GAAG,CACf7C,OAAO,CAAC8C,GAAG,CAAEnB,KAAK,IAChBpB,eAAe,CAACoB,KAAK,EAAE9B,OAAO,CAACd,SAAS,CAAC,CACtCgE,IAAI,CAAC,MACJlF,OAAO,CAAC,IAAI,EAAE,SAAS8D,KAAK,CAAC5D,SAAS,2BAA2B4D,KAAK,CAACzC,KAAK,EAAE,CAChF,CAAC,CACA4B,KAAK,CAAEC,KAAK,IACXlD,OAAO,CAAC,MAAM,EAAE,4CAA4C,EAAEkD,KAAK,CACrE,CACJ,CACF,CAAC;AACH;AAEA,OAAO,eAAeiC,mBAAmBA,CACvCT,OAAoC,EACC;EACrC,MAAMU,KAAK,GAAGV,OAAO,EAAExE,SAAS,GAAG,CAACD,MAAM,CAACyE,OAAO,CAACxE,SAAS,CAAC,CAAC,GAAGC,KAAK;EACtE,MAAMkF,SAA+B,GAAG,EAAE;EAC1C,KAAK,MAAM7C,IAAI,IAAI4C,KAAK,EAAE;IACxB/E,IAAI,CAAC2C,MAAM,CAACR,IAAI,CAAC;IACjB,MAAML,OAAO,GAAG5B,UAAU,CAACkC,GAAG,CAACD,IAAI,CAAC;IACpC,IAAIL,OAAO,EAAE;MACX5B,UAAU,CAACyC,MAAM,CAACR,IAAI,CAAC;MACvB6C,SAAS,CAACC,IAAI,CAACnD,OAAO,CAAC;IACzB;EACF;EACA,MAAMH,OAAO,GAAGpB,WAAW,CAAC,CAAC;EAC7B,MAAM2E,SAAS,GAAGF,SAAS,CAAC9C,MAAM,CAAEuB,KAAK,IAAK,CAACA,KAAK,CAACzB,OAAO,CAAC;EAC7D,IAAI,CAACkD,SAAS,CAAChB,MAAM,EAAE;IACrB,OAAO,WAAW;EACpB;EACA,IAAI,CAACvC,OAAO,CAACd,SAAS,EAAE;IACtBlB,OAAO,CACL,MAAM,EACN,uFACF,CAAC;IACD,OAAO,WAAW;EACpB;EACA,MAAMwF,OAAO,GAAG,MAAMT,OAAO,CAACU,UAAU,CACtCF,SAAS,CAACN,GAAG,CAAEnB,KAAK,IAAKpB,eAAe,CAACoB,KAAK,EAAE9B,OAAO,CAACd,SAAS,CAAC,CACpE,CAAC;EACD,MAAMwE,OAAO,GAAGF,OAAO,CAACG,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,KAAK,UAAU,CAE9C;EACb,IAAIH,OAAO,EAAE;IACX,MAAMA,OAAO,CAACI,MAAM;EACtB;EACA,OAAO,cAAc;AACvB;AAEA,OAAO,MAAMC,sBAAsB,GAAGA,CAAA,KAAkC;EACtE,MAAMC,IAAI,GAAG3F,IAAI,CAACoC,GAAG,CAAC,MAAM,CAAC;EAC7B,OAAOuD,IAAI,GAAG;IAAE,GAAGA;EAAK,CAAC,GAAG,IAAI;AAClC,CAAC;AAED,OAAO,MAAMC,uBAAuB,GAAGA,CAAA,KACrC9F,KAAK,CAAC8E,GAAG,CAAEzC,IAAI,IAAKnC,IAAI,CAACoC,GAAG,CAACD,IAAI,CAAC,CAAC,CAChCD,MAAM,CAAE2D,CAAC,IAA+B,CAAC,CAACA,CAAC,CAAC,CAC5CjB,GAAG,CAAEiB,CAAC,KAAM;EAAE,GAAGA;AAAE,CAAC,CAAC,CAAC;AAE3B,OAAO,MAAMC,+BAA+B,GAAGA,CAAA,KAAY;EACzD9F,IAAI,CAACyE,KAAK,CAAC,CAAC;EACZvE,UAAU,CAACuE,KAAK,CAAC,CAAC;EAClBtE,QAAQ,GAAG,IAAI;EACfE,YAAY,GAAG,IAAI;EACnBC,YAAY,GAAG,CAAC;EAChB,IAAIF,OAAO,EAAE;IACXA,OAAO,CAAC,CAAC;IACTA,OAAO,GAAG,IAAI;EAChB;AACF,CAAC","ignoreList":[]}
@@ -2,5 +2,5 @@
2
2
 
3
3
  // Generated by scripts/sync-version.mjs on `npm version`.
4
4
  // Edit package.json's version instead of this file.
5
- export const ETHORA_CHAT_COMPONENT_VERSION = '26.10.6';
5
+ export const ETHORA_CHAT_COMPONENT_VERSION = '26.10.8';
6
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageBubble/Message.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AA4Bf,OAAO,EAAS,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAw1BxD,QAAA,MAAM,WAAW,0CAAsB,CAAC;AACxC,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageBubble/Message.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AA4Bf,OAAO,EAAS,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAm2BxD,QAAA,MAAM,WAAW,0CAAsB,CAAC;AACxC,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"VideoCallOverlay.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoCalls/VideoCallOverlay.tsx"],"names":[],"mappings":"AAAA,OAAc,EAEZ,EAAE,EAMH,MAAM,OAAO,CAAC;AA+pBf,eAAO,MAAM,gBAAgB,EAAE,EAS9B,CAAC;AAyGF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"VideoCallOverlay.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoCalls/VideoCallOverlay.tsx"],"names":[],"mappings":"AAAA,OAAc,EAEZ,EAAE,EAMH,MAAM,OAAO,CAAC;AA+qBf,eAAO,MAAM,gBAAgB,EAAE,EAS9B,CAAC;AAyGF,eAAe,gBAAgB,CAAC"}
@@ -10,6 +10,12 @@ import { CallSignalState } from '../../networking/callTokenStanza';
10
10
  */
11
11
  export declare const terminateActiveCall: (state: CallSignalState) => void;
12
12
  export declare const declineActiveCall: () => void;
13
+ /**
14
+ * Decline the ringing call, telling the caller as soon as the socket is
15
+ * up. A call declined on the lock screen right after a push woke the app
16
+ * gets here while XMPP is still connecting, and the signal would be lost.
17
+ */
18
+ export declare const declineActiveCallWhenOnline: () => void;
13
19
  /** `t` for code outside React, resolved by the same rule as useT. */
14
20
  export declare const translateCallString: (key: string, vars?: Record<string, string | number>) => string;
15
21
  //# sourceMappingURL=callActions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"callActions.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoCalls/callActions.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,eAAe,EAEhB,MAAM,kCAAkC,CAAC;AAG1C;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,eAAe,KAAG,IA2B5D,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAO,IAGpC,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,mBAAmB,GAC9B,KAAK,MAAM,EACX,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KACrC,MAKF,CAAC"}
1
+ {"version":3,"file":"callActions.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoCalls/callActions.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,eAAe,EAEhB,MAAM,kCAAkC,CAAC;AAI1C;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,eAAe,KAAG,IA2B5D,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAO,IAGpC,CAAC;AAKF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,QAAO,IAiB9C,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,mBAAmB,GAC9B,KAAK,MAAM,EACX,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KACrC,MAKF,CAAC"}
@@ -0,0 +1,25 @@
1
+ export interface CallKeepModule {
2
+ setup: (options: any) => Promise<void>;
3
+ displayIncomingCall: (uuid: string, handle: string, localizedCallerName?: string, handleType?: string, hasVideo?: boolean) => void;
4
+ endCall: (uuid: string) => void;
5
+ endAllCalls: () => void;
6
+ startCall?: (uuid: string, handle: string, contactIdentifier?: string, handleType?: string, hasVideo?: boolean) => void;
7
+ answerIncomingCall?: (uuid: string) => void;
8
+ reportConnectingOutgoingCallWithUUID?: (uuid: string) => void;
9
+ reportConnectedOutgoingCallWithUUID?: (uuid: string) => void;
10
+ reportEndCallWithUUID?: (uuid: string, reason: number) => void;
11
+ setMutedCall?: (uuid: string, muted: boolean) => void;
12
+ addEventListener: (event: string, handler: (payload: any) => void) => void;
13
+ removeEventListener: (event: string) => void;
14
+ setAvailable?: (available: boolean) => void;
15
+ backToForeground?: () => void;
16
+ clearInitialEvents?: () => void;
17
+ }
18
+ export declare const loadCallKeep: () => CallKeepModule | null;
19
+ export declare const callKitUuid: (seed: string) => string;
20
+ export type SystemCallAction = 'answer' | 'end';
21
+ export declare const rememberSystemCallAction: (uuid: string, action: SystemCallAction) => void;
22
+ export declare const takeSystemCallAction: (uuid: string) => SystemCallAction | null;
23
+ export declare const endSystemIncomingCall: (callId: string | null | undefined) => void;
24
+ export declare const __resetSystemCallForTests: () => void;
25
+ //# sourceMappingURL=systemCall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"systemCall.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoCalls/systemCall.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,mBAAmB,EAAE,CACnB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,mBAAmB,CAAC,EAAE,MAAM,EAC5B,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,OAAO,KACf,IAAI,CAAC;IACV,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,CACV,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,MAAM,EAC1B,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,OAAO,KACf,IAAI,CAAC;IACV,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,oCAAoC,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,mCAAmC,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACtD,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,KAAK,IAAI,CAAC;IAC3E,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC;AAID,eAAO,MAAM,YAAY,QAAO,cAAc,GAAG,IAiBhD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,MAiB1C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,KAAK,CAAC;AAOhD,eAAO,MAAM,wBAAwB,GACnC,MAAM,MAAM,EACZ,QAAQ,gBAAgB,KACvB,IAGF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,gBAAgB,GAAG,IAKtE,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,QAAQ,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,IAQzE,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAAO,IAG5C,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { loadCallKeep } from './systemCall';
1
2
  /**
2
3
  * Native incoming-call UI (Android ConnectionService / iOS CallKit) via
3
4
  * the optional `react-native-callkeep` package.
@@ -16,29 +17,13 @@
16
17
  * Platform reality, stated plainly:
17
18
  * - Android: full value. A ConnectionService call shows the system
18
19
  * incoming-call screen over the lock screen.
19
- * - iOS: this only fires while the app is running. A CallKit screen from
20
- * a killed app requires a VoIP push over PushKit, which needs a
21
- * separate Apple VoIP certificate and a separate send path on the
22
- * backend (not FCM). Until that exists, iOS falls back to the regular
23
- * data push and the in-app ring screen.
20
+ * - iOS: this hook only runs while `<Chat>` is mounted. A CallKit screen
21
+ * from a killed app comes from the host: its PushKit handler reports
22
+ * the VoIP push to CallKit natively under `callKitUuid(callId)` and
23
+ * hands the payload to `handlePushPayload`. This hook then adopts that
24
+ * call (same UUID, CallKit answers "CallUUIDAlreadyExists" to our own
25
+ * report) and replays what the user did on it before JS was up.
24
26
  */
25
- interface CallKeepModule {
26
- setup: (options: any) => Promise<void>;
27
- displayIncomingCall: (uuid: string, handle: string, localizedCallerName?: string, handleType?: string, hasVideo?: boolean) => void;
28
- endCall: (uuid: string) => void;
29
- endAllCalls: () => void;
30
- startCall?: (uuid: string, handle: string, contactIdentifier?: string, handleType?: string, hasVideo?: boolean) => void;
31
- answerIncomingCall?: (uuid: string) => void;
32
- reportConnectingOutgoingCallWithUUID?: (uuid: string) => void;
33
- reportConnectedOutgoingCallWithUUID?: (uuid: string) => void;
34
- reportEndCallWithUUID?: (uuid: string, reason: number) => void;
35
- setMutedCall?: (uuid: string, muted: boolean) => void;
36
- addEventListener: (event: string, handler: (payload: any) => void) => void;
37
- removeEventListener: (event: string) => void;
38
- setAvailable?: (available: boolean) => void;
39
- backToForeground?: () => void;
40
- }
41
- export declare const loadCallKeep: () => CallKeepModule | null;
27
+ export { loadCallKeep };
42
28
  export declare const useCallKeep: () => void;
43
- export {};
44
29
  //# sourceMappingURL=useCallKeep.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCallKeep.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoCalls/useCallKeep.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,UAAU,cAAc;IACtB,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,mBAAmB,EAAE,CACnB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,mBAAmB,CAAC,EAAE,MAAM,EAC5B,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,OAAO,KACf,IAAI,CAAC;IACV,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,CACV,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,MAAM,EAC1B,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,OAAO,KACf,IAAI,CAAC;IACV,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,oCAAoC,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,mCAAmC,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACtD,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,KAAK,IAAI,CAAC;IAC3E,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAID,eAAO,MAAM,YAAY,QAAO,cAAc,GAAG,IA4BhD,CAAC;AA4BF,eAAO,MAAM,WAAW,QAAO,IA2S9B,CAAC"}
1
+ {"version":3,"file":"useCallKeep.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoCalls/useCallKeep.ts"],"names":[],"mappings":"AAUA,OAAO,EAEL,YAAY,EAGb,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,YAAY,EAAE,CAAC;AAMxB,eAAO,MAAM,WAAW,QAAO,IA6W9B,CAAC"}
@@ -1,14 +1,6 @@
1
- /**
2
- * Turn an incoming-call push into a ringing call.
3
- *
4
- * On mobile the XMPP socket dies whenever the OS backgrounds or kills the
5
- * app, and the `call-token` stanza that normally opens the ring screen is
6
- * lost with it. The backend also delivers the call as a data push, so this
7
- * is the path every call takes when the app was not in the foreground.
8
- *
9
- * Returns true when the payload WAS a call push (whether or not it could
10
- * be rung), so the caller knows to stop and not also show it as a chat
11
- * notification. A user should never get a "new message: call-state" toast.
12
- */
13
- export declare const handleCallPush: (data: Record<string, any> | null | undefined) => boolean;
1
+ export type CallPushIntent = 'ring' | 'answer' | 'decline';
2
+ export declare const handleCallPush: (data: Record<string, any> | null | undefined, intent?: CallPushIntent) => boolean;
3
+ export declare const answerCallFromPush: (data: Record<string, any> | null | undefined) => boolean;
4
+ export declare const declineCallFromPush: (data: Record<string, any> | null | undefined) => boolean;
5
+ export declare const __resetCallPushForTests: () => void;
14
6
  //# sourceMappingURL=incomingCallFromPush.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"incomingCallFromPush.d.ts","sourceRoot":"","sources":["../../../src/helpers/incomingCallFromPush.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,KAC3C,OAgEF,CAAC"}
1
+ {"version":3,"file":"incomingCallFromPush.d.ts","sourceRoot":"","sources":["../../../src/helpers/incomingCallFromPush.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAmH3D,eAAO,MAAM,cAAc,GACzB,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,EAC5C,SAAQ,cAAuB,KAC9B,OAWF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,KAC3C,OAAyC,CAAC;AAE7C,eAAO,MAAM,mBAAmB,GAC9B,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,KAC3C,OAA0C,CAAC;AAE9C,eAAO,MAAM,uBAAuB,QAAO,IAI1C,CAAC"}
@@ -11,10 +11,24 @@
11
11
  * null when it isn't installed — callers fall back to plain
12
12
  * AsyncStorage rather than crash (see `secureKeyValue.ts`).
13
13
  */
14
+ /**
15
+ * The subset of expo-secure-store's options the SDK uses. `keychainService`
16
+ * must be repeated on every read of an item written with it; the
17
+ * accessibility constants come from `SecureStoreRuntime.accessible`.
18
+ */
19
+ export interface SecureStoreOptions {
20
+ keychainService?: string;
21
+ /** iOS only: one of `accessible`; ignored on Android. */
22
+ keychainAccessible?: unknown;
23
+ }
14
24
  export interface SecureStoreRuntime {
15
- getItemAsync: (key: string) => Promise<string | null>;
16
- setItemAsync: (key: string, value: string) => Promise<void>;
17
- deleteItemAsync: (key: string) => Promise<void>;
25
+ getItemAsync: (key: string, options?: SecureStoreOptions) => Promise<string | null>;
26
+ setItemAsync: (key: string, value: string, options?: SecureStoreOptions) => Promise<void>;
27
+ deleteItemAsync: (key: string, options?: SecureStoreOptions) => Promise<void>;
28
+ /** expo-secure-store's iOS keychain accessibility constants (undefined on older versions). */
29
+ accessible: {
30
+ afterFirstUnlockThisDeviceOnly?: unknown;
31
+ };
18
32
  }
19
33
  /**
20
34
  * Resolve the SecureStore runtime, or null when the optional native
@@ -1 +1 @@
1
- {"version":3,"file":"secureStoreRuntime.d.ts","sourceRoot":"","sources":["../../../src/helpers/secureStoreRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACtD,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAID;;;;;GAKG;AACH,eAAO,MAAM,eAAe,QAAO,kBAAkB,GAAG,IA0BvD,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAAO,OAAqC,CAAC;AAEhF,sBAAsB;AACtB,eAAO,MAAM,iCAAiC,QAAO,IAEpD,CAAC"}
1
+ {"version":3,"file":"secureStoreRuntime.d.ts","sourceRoot":"","sources":["../../../src/helpers/secureStoreRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpF,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1F,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,8FAA8F;IAC9F,UAAU,EAAE;QACV,8BAA8B,CAAC,EAAE,OAAO,CAAC;KAC1C,CAAC;CACH;AAID;;;;;GAKG;AACH,eAAO,MAAM,eAAe,QAAO,kBAAkB,GAAG,IA6BvD,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAAO,OAAqC,CAAC;AAEhF,sBAAsB;AACtB,eAAO,MAAM,iCAAiC,QAAO,IAEpD,CAAC"}
@@ -27,12 +27,23 @@ export { ReduxWrapper as Chat } from './components/MainComponents/ReduxWrapper';
27
27
  export { XmppProvider } from './context/xmppProvider';
28
28
  export { useUnread } from './hooks/useUnreadMessagesCounter';
29
29
  export { handlePushPayload, openRoomFromPush } from './helpers/pushPayload';
30
+ export { callKitUuid } from './components/VideoCalls/systemCall';
31
+ export { answerCallFromPush, declineCallFromPush, } from './helpers/incomingCallFromPush';
32
+ export type { CallPushIntent } from './helpers/incomingCallFromPush';
33
+ export { isCallPush, parseCallPush } from './helpers/callPush';
34
+ export type { ParsedCallPush } from './helpers/callPush';
30
35
  export type { PushPayloadOutcome } from './helpers/pushPayload';
31
36
  export { registerPushToken, unregisterPushToken, getRegisteredPushToken, getRegisteredPushTokens, } from './services/pushRegistration';
32
37
  export type { RegisterPushTokenOptions, RegisterPushTokenOutcome, UnregisterPushTokenOutcome, RegisteredPushToken, } from './services/pushRegistration';
33
38
  export { detectPushTokenType, PushRegistrationError, isPushRegistrationError, } from './networking/api-requests/push.api';
34
39
  export type { PushDeviceType, PushSubscriptionPayload, } from './networking/api-requests/push.api';
35
40
  export type { PushTokenType, PushTokenRegistration } from './types/types';
41
+ export { ensurePushKeyPair, getPushKeyPair, resetPushKeyPair, clearPushKeyPair, PUSH_KEY_KEYCHAIN_SERVICE, PUSH_SECRET_KEY_ITEM, } from './push/pushKeyStore';
42
+ export type { PushKeyPair } from './push/pushKeyStore';
43
+ export { registerSealedPushTask, presentSealedPush, SEALED_PUSH_TASK, } from './push/sealedPushTask';
44
+ export type { SealedPushTaskOptions } from './push/sealedPushTask';
45
+ export { openSealedPush, isSealedPush, sealedPushEnvelopeOf, SEALED_PUSH_ALG, } from './push/sealedPush';
46
+ export type { SealedPushEnvelope, SealedPushContent, SealedPushFailure, OpenSealedPushResult, } from './push/sealedPush';
36
47
  export { useChatRoomFocus } from './hooks/useChatRoomFocus';
37
48
  export { logoutService, useLogout } from './hooks/useLogout';
38
49
  export { useQRCodeChat, handleQRChatId } from './hooks/useQRCodeChatHandler';
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,gCAAgC,CAAC;AAGxC,OAAO,EAAE,YAAY,IAAI,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EACV,cAAc,EACd,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAKpD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIpD,YAAY,EACV,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,YAAY,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAQjE,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,GACf,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,WAAW,EACX,UAAU,EACV,YAAY,EACZ,WAAW,EACX,QAAQ,GACT,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC9E,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC9C,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
@@ -14,19 +14,31 @@ export declare class PushRegistrationError extends Error {
14
14
  export declare const isPushRegistrationError: (error: unknown) => error is PushRegistrationError;
15
15
  export declare const detectPushTokenType: (token: string) => PushTokenType;
16
16
  export declare const resolvePushDeviceType: () => PushDeviceType;
17
+ /** The only sealing scheme the push service knows (README, "Encrypted pushes"). */
18
+ export declare const PUSH_KEY_ALG = "sealed-box-x25519";
17
19
  export interface PushSubscriptionPayload {
18
20
  registrationToken: string;
19
21
  deviceType: PushDeviceType;
20
22
  tokenType?: PushTokenType;
23
+ /**
24
+ * Encrypted pushes: base64 of the device's 32-byte X25519 public key.
25
+ * Absent keeps whatever key the service holds for this token.
26
+ */
27
+ pushKey?: string;
28
+ pushKeyAlg?: typeof PUSH_KEY_ALG;
29
+ pushKeyId?: string;
21
30
  }
22
31
  export interface RegisterPushSubscriptionArgs {
23
32
  appId: string;
24
33
  token: string;
25
34
  tokenType: PushTokenType;
26
35
  authToken: string;
36
+ /** Base64 public key for encrypted pushes (`ensurePushKeyPair().publicKey`). */
37
+ pushKey?: string;
38
+ pushKeyId?: string;
27
39
  }
28
- export declare const buildPushSubscriptionPayload: (token: string, tokenType: PushTokenType) => PushSubscriptionPayload;
29
- export declare function registerPushSubscription({ appId, token, tokenType, authToken, }: RegisterPushSubscriptionArgs): Promise<void>;
40
+ export declare const buildPushSubscriptionPayload: (token: string, tokenType: PushTokenType, pushKey?: string, pushKeyId?: string) => PushSubscriptionPayload;
41
+ export declare function registerPushSubscription({ appId, token, tokenType, authToken, pushKey, pushKeyId, }: RegisterPushSubscriptionArgs): Promise<void>;
30
42
  export interface UnregisterPushSubscriptionArgs {
31
43
  appId: string;
32
44
  token: string;
@@ -1 +1 @@
1
- {"version":3,"file":"push.api.d.ts","sourceRoot":"","sources":["../../../../src/networking/api-requests/push.api.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;AAEvD;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;gBAEZ,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;CAM7D;AAED,eAAO,MAAM,uBAAuB,GAClC,OAAO,OAAO,KACb,KAAK,IAAI,qBACwD,CAAC;AAKrE,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,aASnD,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAO,cACE,CAAC;AAsB5C,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,cAAc,CAAC;IAC3B,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,aAAa,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,4BAA4B,GACvC,OAAO,MAAM,EACb,WAAW,aAAa,KACvB,uBAID,CAAC;AAEH,wBAAsB,wBAAwB,CAAC,EAC7C,KAAK,EACL,KAAK,EACL,SAAS,EACT,SAAS,GACV,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B9C;AAED,MAAM,WAAW,8BAA8B;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,0BAA0B,CAAC,EAC/C,KAAK,EACL,KAAK,EACL,SAAS,GACV,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBhD;AAID,MAAM,WAAW,8BAA8B;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,cAAc,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAWD,eAAO,MAAM,uBAAuB,GAAI,kCAIrC,IAAI,CAAC,oBAAoB,EAAE,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC,KAAG,8BAKnE,CAAC;AAEH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,IAAI,CAAC,CASf"}
1
+ {"version":3,"file":"push.api.d.ts","sourceRoot":"","sources":["../../../../src/networking/api-requests/push.api.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;AAEvD;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;gBAEZ,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;CAM7D;AAED,eAAO,MAAM,uBAAuB,GAClC,OAAO,OAAO,KACb,KAAK,IAAI,qBACwD,CAAC;AAKrE,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,aASnD,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAO,cACE,CAAC;AAsB5C,mFAAmF;AACnF,eAAO,MAAM,YAAY,sBAAsB,CAAC;AAEhD,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,cAAc,CAAC;IAC3B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,YAAY,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,aAAa,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,4BAA4B,GACvC,OAAO,MAAM,EACb,WAAW,aAAa,EACxB,UAAU,MAAM,EAChB,YAAY,MAAM,KACjB,uBAOD,CAAC;AAEH,wBAAsB,wBAAwB,CAAC,EAC7C,KAAK,EACL,KAAK,EACL,SAAS,EACT,SAAS,EACT,OAAO,EACP,SAAS,GACV,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC9C;AAED,MAAM,WAAW,8BAA8B;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,0BAA0B,CAAC,EAC/C,KAAK,EACL,KAAK,EACL,SAAS,GACV,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBhD;AAID,MAAM,WAAW,8BAA8B;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,cAAc,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAWD,eAAO,MAAM,uBAAuB,GAAI,kCAIrC,IAAI,CAAC,oBAAoB,EAAE,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC,KAAG,8BAKnE,CAAC;AAEH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,IAAI,CAAC,CASf"}
@@ -1 +1 @@
1
- {"version":3,"file":"callTokenStanza.d.ts","sourceRoot":"","sources":["../../../src/networking/callTokenStanza.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAyU9B,eAAO,MAAM,kBAAkB,GAAI,QAAQ,OAAO,KAAG,OA6OpD,CAAC;AAYF,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AAE9E,eAAO,MAAM,mBAAmB,GAC9B,OAAO,eAAe,EACtB,UAAU;IACR,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,KACA,IA0CF,CAAC;AAUF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,OAAO,GAAG,OAAO,EACvB,SAAS;IACP,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,KACA,IA6BF,CAAC"}
1
+ {"version":3,"file":"callTokenStanza.d.ts","sourceRoot":"","sources":["../../../src/networking/callTokenStanza.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAyU9B,eAAO,MAAM,kBAAkB,GAAI,QAAQ,OAAO,KAAG,OAuPpD,CAAC;AAYF,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AAE9E,eAAO,MAAM,mBAAmB,GAC9B,OAAO,eAAe,EACtB,UAAU;IACR,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,KACA,IA0CF,CAAC;AAUF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,OAAO,GAAG,OAAO,EACvB,SAAS;IACP,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,KACA,IA6BF,CAAC"}