@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
@@ -1,32 +1,70 @@
1
1
  "use strict";
2
2
 
3
3
  import { store } from '../roomStore';
4
- import { setIncomingCallToken } from '../roomStore/callSlice';
4
+ import { acceptIncomingCall, setIncomingCallToken } from '../roomStore/callSlice';
5
+ import { endSystemIncomingCall } from '../components/VideoCalls/systemCall';
6
+ import { declineActiveCallWhenOnline } from '../components/VideoCalls/callActions';
5
7
  import { isCallPush, parseCallPush } from './callPush';
6
-
7
- /**
8
- * Turn an incoming-call push into a ringing call.
9
- *
10
- * On mobile the XMPP socket dies whenever the OS backgrounds or kills the
11
- * app, and the `call-token` stanza that normally opens the ring screen is
12
- * lost with it. The backend also delivers the call as a data push, so this
13
- * is the path every call takes when the app was not in the foreground.
14
- *
15
- * Returns true when the payload WAS a call push (whether or not it could
16
- * be rung), so the caller knows to stop and not also show it as a chat
17
- * notification. A user should never get a "new message: call-state" toast.
18
- */
19
- export const handleCallPush = data => {
20
- if (!isCallPush(data)) {
21
- return false;
8
+ import { normalizeRoomJid } from './normalizeRoomJid';
9
+ const PENDING_CALL_PUSH_TTL_MS = 60_000;
10
+ let pendingPush = null;
11
+ let unwatch = null;
12
+ const trace = (...args) => {
13
+ if (__DEV__) {
14
+ console.log('[calls] push:', ...args);
15
+ }
16
+ };
17
+ const callsConfigured = () => store.getState().chatSettingStore.config?.videoCalls !== undefined;
18
+ const holdUntilConfigured = (data, intent) => {
19
+ pendingPush = {
20
+ data,
21
+ intent,
22
+ at: Date.now()
23
+ };
24
+ if (unwatch) {
25
+ return;
26
+ }
27
+ unwatch = store.subscribe(() => {
28
+ if (!callsConfigured()) {
29
+ return;
30
+ }
31
+ unwatch?.();
32
+ unwatch = null;
33
+ const held = pendingPush;
34
+ pendingPush = null;
35
+ if (!held) {
36
+ return;
37
+ }
38
+ if (Date.now() - held.at > PENDING_CALL_PUSH_TTL_MS) {
39
+ trace('held call push expired');
40
+ endSystemIncomingCall(parseCallPush(held.data).callId);
41
+ return;
42
+ }
43
+ ringFromPush(held.data, held.intent);
44
+ });
45
+ };
46
+ const applyIntent = intent => {
47
+ const call = store.getState().call;
48
+ if (call.direction !== 'incoming' || call.phase !== 'ringing-incoming') {
49
+ return;
50
+ }
51
+ if (intent === 'answer') {
52
+ store.dispatch(acceptIncomingCall());
22
53
  }
54
+ if (intent === 'decline') {
55
+ declineActiveCallWhenOnline();
56
+ }
57
+ };
58
+ const ringFromPush = (data, intent) => {
23
59
  const parsed = parseCallPush(data);
24
60
  const state = store.getState();
25
61
 
26
62
  // Calls off in this deployment: swallow the push rather than ringing a
27
63
  // screen the host never opted into.
28
64
  if (state.chatSettingStore.config?.videoCalls?.enabled !== true) {
29
- return true;
65
+ trace('calls are off, dropping', parsed.callId);
66
+ endSystemIncomingCall(parsed.callId);
67
+ return false;
30
68
  }
31
69
 
32
70
  // Already ringing or in this exact call (the push raced the stanza, or
@@ -35,9 +73,15 @@ export const handleCallPush = data => {
35
73
  const current = state.call;
36
74
  if (current.phase !== 'idle') {
37
75
  const sameCall = !!parsed.callId && parsed.callId === current.callId || !!parsed.roomBareName && parsed.roomBareName === current.roomBareName;
38
- if (sameCall || current.phase === 'in-call') {
76
+ if (sameCall) {
77
+ applyIntent(intent);
39
78
  return true;
40
79
  }
80
+ if (current.phase === 'in-call') {
81
+ // Busy with another call: no second ring.
82
+ endSystemIncomingCall(parsed.callId);
83
+ return false;
84
+ }
41
85
  }
42
86
 
43
87
  // Without a LiveKit token there is nothing to accept: the push is only
@@ -45,16 +89,21 @@ export const handleCallPush = data => {
45
89
  // cannot work, so treat it as handled and let the stanza (once the
46
90
  // socket is back up) open the real ring screen.
47
91
  if (!parsed.token) {
48
- return true;
92
+ endSystemIncomingCall(parsed.callId);
93
+ return false;
49
94
  }
50
95
 
51
96
  // Resolve the full room JID from the local room map. The push carries
52
97
  // the bare name; callSlice and the hangup signal both want the JID.
53
98
  const rooms = state.rooms.rooms || {};
54
99
  const resolved = Object.values(rooms).find(room => (room?.jid || '').split('@')[0] === parsed.roomBareName || room?.jid === parsed.roomRef);
55
- const roomJid = resolved?.jid || (parsed.roomRef && parsed.roomRef.includes('@') ? parsed.roomRef : '');
100
+ const conference = state.chatSettingStore.config?.xmppSettings?.conference || '';
101
+ const fromRef = parsed.roomRef ? normalizeRoomJid(parsed.roomRef, conference) : '';
102
+ const roomJid = resolved?.jid || (fromRef.includes('@') ? fromRef : '');
56
103
  if (!roomJid) {
57
- return true;
104
+ trace('no room for call push', parsed.roomRef);
105
+ endSystemIncomingCall(parsed.callId);
106
+ return false;
58
107
  }
59
108
  store.dispatch(setIncomingCallToken({
60
109
  roomJid,
@@ -65,6 +114,27 @@ export const handleCallPush = data => {
65
114
  callId: parsed.callId,
66
115
  peerXmppUsername: parsed.callerXmppUsername
67
116
  }));
117
+ trace('ringing', parsed.callId, intent);
118
+ applyIntent(intent);
119
+ return true;
120
+ };
121
+ export const handleCallPush = (data, intent = 'ring') => {
122
+ if (!isCallPush(data)) {
123
+ return false;
124
+ }
125
+ if (!callsConfigured()) {
126
+ trace('holding call push until the chat is configured');
127
+ holdUntilConfigured(data, intent);
128
+ return true;
129
+ }
130
+ ringFromPush(data, intent);
68
131
  return true;
69
132
  };
133
+ export const answerCallFromPush = data => handleCallPush(data, 'answer');
134
+ export const declineCallFromPush = data => handleCallPush(data, 'decline');
135
+ export const __resetCallPushForTests = () => {
136
+ unwatch?.();
137
+ unwatch = null;
138
+ pendingPush = null;
139
+ };
70
140
  //# sourceMappingURL=incomingCallFromPush.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["store","setIncomingCallToken","isCallPush","parseCallPush","handleCallPush","data","parsed","state","getState","chatSettingStore","config","videoCalls","enabled","current","call","phase","sameCall","callId","roomBareName","token","rooms","resolved","Object","values","find","room","jid","split","roomRef","roomJid","includes","dispatch","roomName","callerName","title","name","kind","peerXmppUsername","callerXmppUsername"],"sourceRoot":"../../../src","sources":["helpers/incomingCallFromPush.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,cAAc;AACpC,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,UAAU,EAAEC,aAAa,QAAQ,YAAY;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GACzBC,IAA4C,IAChC;EACZ,IAAI,CAACH,UAAU,CAACG,IAAI,CAAC,EAAE;IACrB,OAAO,KAAK;EACd;EAEA,MAAMC,MAAM,GAAGH,aAAa,CAACE,IAAI,CAAC;EAClC,MAAME,KAAK,GAAGP,KAAK,CAACQ,QAAQ,CAAC,CAAC;;EAE9B;EACA;EACA,IAAID,KAAK,CAACE,gBAAgB,CAACC,MAAM,EAAEC,UAAU,EAAEC,OAAO,KAAK,IAAI,EAAE;IAC/D,OAAO,IAAI;EACb;;EAEA;EACA;EACA;EACA,MAAMC,OAAO,GAAGN,KAAK,CAACO,IAAI;EAC1B,IAAID,OAAO,CAACE,KAAK,KAAK,MAAM,EAAE;IAC5B,MAAMC,QAAQ,GACX,CAAC,CAACV,MAAM,CAACW,MAAM,IAAIX,MAAM,CAACW,MAAM,KAAKJ,OAAO,CAACI,MAAM,IACnD,CAAC,CAACX,MAAM,CAACY,YAAY,IAAIZ,MAAM,CAACY,YAAY,KAAKL,OAAO,CAACK,YAAa;IACzE,IAAIF,QAAQ,IAAIH,OAAO,CAACE,KAAK,KAAK,SAAS,EAAE;MAC3C,OAAO,IAAI;IACb;EACF;;EAEA;EACA;EACA;EACA;EACA,IAAI,CAACT,MAAM,CAACa,KAAK,EAAE;IACjB,OAAO,IAAI;EACb;;EAEA;EACA;EACA,MAAMC,KAAK,GAAGb,KAAK,CAACa,KAAK,CAACA,KAAK,IAAI,CAAC,CAAC;EACrC,MAAMC,QAAQ,GAAGC,MAAM,CAACC,MAAM,CAACH,KAAK,CAAC,CAACI,IAAI,CACvCC,IAAS,IACR,CAACA,IAAI,EAAEC,GAAG,IAAI,EAAE,EAAEC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAKrB,MAAM,CAACY,YAAY,IACvDO,IAAI,EAAEC,GAAG,KAAKpB,MAAM,CAACsB,OACzB,CAAgE;EAEhE,MAAMC,OAAO,GACXR,QAAQ,EAAEK,GAAG,KACZpB,MAAM,CAACsB,OAAO,IAAItB,MAAM,CAACsB,OAAO,CAACE,QAAQ,CAAC,GAAG,CAAC,GAAGxB,MAAM,CAACsB,OAAO,GAAG,EAAE,CAAC;EACxE,IAAI,CAACC,OAAO,EAAE;IACZ,OAAO,IAAI;EACb;EAEA7B,KAAK,CAAC+B,QAAQ,CACZ9B,oBAAoB,CAAC;IACnB4B,OAAO;IACPG,QAAQ,EAAE1B,MAAM,CAAC2B,UAAU,IAAIZ,QAAQ,EAAEa,KAAK,IAAIb,QAAQ,EAAEc,IAAI,IAAI,IAAI;IACxEjB,YAAY,EAAEZ,MAAM,CAACY,YAAY;IACjCC,KAAK,EAAEb,MAAM,CAACa,KAAK;IACnBiB,IAAI,EAAE9B,MAAM,CAAC8B,IAAI;IACjBnB,MAAM,EAAEX,MAAM,CAACW,MAAM;IACrBoB,gBAAgB,EAAE/B,MAAM,CAACgC;EAC3B,CAAC,CACH,CAAC;EAED,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["store","acceptIncomingCall","setIncomingCallToken","endSystemIncomingCall","declineActiveCallWhenOnline","isCallPush","parseCallPush","normalizeRoomJid","PENDING_CALL_PUSH_TTL_MS","pendingPush","unwatch","trace","args","__DEV__","console","log","callsConfigured","getState","chatSettingStore","config","videoCalls","undefined","holdUntilConfigured","data","intent","at","Date","now","subscribe","held","callId","ringFromPush","applyIntent","call","direction","phase","dispatch","parsed","state","enabled","current","sameCall","roomBareName","token","rooms","resolved","Object","values","find","room","jid","split","roomRef","conference","xmppSettings","fromRef","roomJid","includes","roomName","callerName","title","name","kind","peerXmppUsername","callerXmppUsername","handleCallPush","answerCallFromPush","declineCallFromPush","__resetCallPushForTests"],"sourceRoot":"../../../src","sources":["helpers/incomingCallFromPush.ts"],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,12 @@
14
14
  * AsyncStorage rather than crash (see `secureKeyValue.ts`).
15
15
  */
16
16
 
17
+ /**
18
+ * The subset of expo-secure-store's options the SDK uses. `keychainService`
19
+ * must be repeated on every read of an item written with it; the
20
+ * accessibility constants come from `SecureStoreRuntime.accessible`.
21
+ */
22
+
17
23
  let cached;
18
24
 
19
25
  /**
@@ -35,7 +41,10 @@ export const loadSecureStore = () => {
35
41
  cached = {
36
42
  getItemAsync: mod.getItemAsync,
37
43
  setItemAsync: mod.setItemAsync,
38
- deleteItemAsync: mod.deleteItemAsync
44
+ deleteItemAsync: mod.deleteItemAsync,
45
+ accessible: {
46
+ afterFirstUnlockThisDeviceOnly: mod.AFTER_FIRST_UNLOCK_THIS_DEVICE_ONLY
47
+ }
39
48
  };
40
49
  }
41
50
  } catch {
@@ -1 +1 @@
1
- {"version":3,"names":["cached","loadSecureStore","undefined","mod","require","getItemAsync","setItemAsync","deleteItemAsync","isSecureStoreAvailable","__resetSecureStoreRuntimeForTests"],"sourceRoot":"../../../src","sources":["helpers/secureStoreRuntime.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAQA,IAAIA,MAA6C;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAAGA,CAAA,KAAiC;EAC9D,IAAID,MAAM,KAAKE,SAAS,EAAE;IACxB,OAAOF,MAAM;EACf;EAEA,IAAI;IACF;IACA,MAAMG,GAAG,GAAGC,OAAO,CAAC,mBAAmB,CAAC;IACxC,IACE,OAAOD,GAAG,EAAEE,YAAY,KAAK,UAAU,IACvC,OAAOF,GAAG,EAAEG,YAAY,KAAK,UAAU,IACvC,OAAOH,GAAG,EAAEI,eAAe,KAAK,UAAU,EAC1C;MACAP,MAAM,GAAG,IAAI;IACf,CAAC,MAAM;MACLA,MAAM,GAAG;QACPK,YAAY,EAAEF,GAAG,CAACE,YAAY;QAC9BC,YAAY,EAAEH,GAAG,CAACG,YAAY;QAC9BC,eAAe,EAAEJ,GAAG,CAACI;MACvB,CAAC;IACH;EACF,CAAC,CAAC,MAAM;IACNP,MAAM,GAAG,IAAI;EACf;EAEA,OAAOA,MAAM;AACf,CAAC;AAED,OAAO,MAAMQ,sBAAsB,GAAGA,CAAA,KAAeP,eAAe,CAAC,CAAC,KAAK,IAAI;;AAE/E;AACA,OAAO,MAAMQ,iCAAiC,GAAGA,CAAA,KAAY;EAC3DT,MAAM,GAAGE,SAAS;AACpB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["cached","loadSecureStore","undefined","mod","require","getItemAsync","setItemAsync","deleteItemAsync","accessible","afterFirstUnlockThisDeviceOnly","AFTER_FIRST_UNLOCK_THIS_DEVICE_ONLY","isSecureStoreAvailable","__resetSecureStoreRuntimeForTests"],"sourceRoot":"../../../src","sources":["helpers/secureStoreRuntime.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAiBA,IAAIA,MAA6C;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAAGA,CAAA,KAAiC;EAC9D,IAAID,MAAM,KAAKE,SAAS,EAAE;IACxB,OAAOF,MAAM;EACf;EAEA,IAAI;IACF;IACA,MAAMG,GAAG,GAAGC,OAAO,CAAC,mBAAmB,CAAC;IACxC,IACE,OAAOD,GAAG,EAAEE,YAAY,KAAK,UAAU,IACvC,OAAOF,GAAG,EAAEG,YAAY,KAAK,UAAU,IACvC,OAAOH,GAAG,EAAEI,eAAe,KAAK,UAAU,EAC1C;MACAP,MAAM,GAAG,IAAI;IACf,CAAC,MAAM;MACLA,MAAM,GAAG;QACPK,YAAY,EAAEF,GAAG,CAACE,YAAY;QAC9BC,YAAY,EAAEH,GAAG,CAACG,YAAY;QAC9BC,eAAe,EAAEJ,GAAG,CAACI,eAAe;QACpCC,UAAU,EAAE;UACVC,8BAA8B,EAAEN,GAAG,CAACO;QACtC;MACF,CAAC;IACH;EACF,CAAC,CAAC,MAAM;IACNV,MAAM,GAAG,IAAI;EACf;EAEA,OAAOA,MAAM;AACf,CAAC;AAED,OAAO,MAAMW,sBAAsB,GAAGA,CAAA,KAAeV,eAAe,CAAC,CAAC,KAAK,IAAI;;AAE/E;AACA,OAAO,MAAMW,iCAAiC,GAAGA,CAAA,KAAY;EAC3DZ,MAAM,GAAGE,SAAS;AACpB,CAAC","ignoreList":[]}
@@ -34,8 +34,17 @@ export { XmppProvider } from './context/xmppProvider';
34
34
  // Hooks that consumers usually need (badge counts, logout, push, etc.).
35
35
  export { useUnread } from './hooks/useUnreadMessagesCounter';
36
36
  export { handlePushPayload, openRoomFromPush } from './helpers/pushPayload';
37
+ export { callKitUuid } from './components/VideoCalls/systemCall';
38
+ export { answerCallFromPush, declineCallFromPush } from './helpers/incomingCallFromPush';
39
+ export { isCallPush, parseCallPush } from './helpers/callPush';
37
40
  export { registerPushToken, unregisterPushToken, getRegisteredPushToken, getRegisteredPushTokens } from './services/pushRegistration';
38
41
  export { detectPushTokenType, PushRegistrationError, isPushRegistrationError } from './networking/api-requests/push.api';
42
+ // Encrypted (sealed) pushes: the device key and the Android renderer.
43
+ // iOS renders them in the notification service extension the config
44
+ // plugin adds. See README, "Encrypted pushes".
45
+ export { ensurePushKeyPair, getPushKeyPair, resetPushKeyPair, clearPushKeyPair, PUSH_KEY_KEYCHAIN_SERVICE, PUSH_SECRET_KEY_ITEM } from './push/pushKeyStore';
46
+ export { registerSealedPushTask, presentSealedPush, SEALED_PUSH_TASK } from './push/sealedPushTask';
47
+ export { openSealedPush, isSealedPush, sealedPushEnvelopeOf, SEALED_PUSH_ALG } from './push/sealedPush';
39
48
  export { useChatRoomFocus } from './hooks/useChatRoomFocus';
40
49
  export { logoutService, useLogout } from './hooks/useLogout';
41
50
  export { useQRCodeChat, handleQRChatId } from './hooks/useQRCodeChatHandler';
@@ -1 +1 @@
1
- {"version":3,"names":["ReduxWrapper","Chat","XmppProvider","useUnread","handlePushPayload","openRoomFromPush","registerPushToken","unregisterPushToken","getRegisteredPushToken","getRegisteredPushTokens","detectPushTokenType","PushRegistrationError","isPushRegistrationError","useChatRoomFocus","logoutService","useLogout","useQRCodeChat","handleQRChatId","resendMessage","useChatFonts","useT","useUiLocale","BUILTIN_STRINGS","DEFAULT_UI_LANGUAGE","resolveStringTable","toBaseLanguage","translateKey","refreshAuthTokens","refreshAuthTokensQuietly","RefreshFatalError","isRefreshFatalError","LIGHT_THEME","DARK_THEME","resolveTheme","isDarkTheme","useTheme","setThemePreference","setPushEnabled","omemo","isE2eeEnabled"],"sourceRoot":"../../src","sources":["main.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,gCAAgC;;AAEvC;AACA,SAASA,YAAY,IAAIC,IAAI,QAAQ,0CAA0C;AAC/E,SAASC,YAAY,QAAQ,wBAAwB;;AAErD;AACA,SAASC,SAAS,QAAQ,kCAAkC;AAE5D,SAASC,iBAAiB,EAAEC,gBAAgB,QAAQ,uBAAuB;AAE3E,SACEC,iBAAiB,EACjBC,mBAAmB,EACnBC,sBAAsB,EACtBC,uBAAuB,QAClB,6BAA6B;AAOpC,SACEC,mBAAmB,EACnBC,qBAAqB,EACrBC,uBAAuB,QAClB,oCAAoC;AAM3C,SAASC,gBAAgB,QAAQ,0BAA0B;AAC3D,SAASC,aAAa,EAAEC,SAAS,QAAQ,mBAAmB;AAC5D,SAASC,aAAa,EAAEC,cAAc,QAAQ,8BAA8B;AAC5E,SAASC,aAAa,QAAQ,uBAAuB;AACrD;AACA,SAASC,YAAY,QAAQ,sBAAsB;;AAEnD;AACA;AACA;AACA,SAASC,IAAI,EAAEC,WAAW,QAAQ,aAAa;AAC/C,SACEC,eAAe,EACfC,mBAAmB,EACnBC,kBAAkB,EAClBC,cAAc,EACdC,YAAY,QACP,gBAAgB;;AAGvB;AACA;;AAqBA;AACA;AACA;AACA;AACA;AACA;AACA,SACEC,iBAAiB,EACjBC,wBAAwB,EACxBC,iBAAiB,EACjBC,mBAAmB,QACd,0BAA0B;AAOjC,SACEC,WAAW,EACXC,UAAU,EACVC,YAAY,EACZC,WAAW,EACXC,QAAQ,QACH,SAAS;AAGhB,SAASC,kBAAkB,EAAEC,cAAc,QAAQ,+BAA+B;AAClF,SAASC,KAAK,EAAEC,aAAa,QAAQ,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["ReduxWrapper","Chat","XmppProvider","useUnread","handlePushPayload","openRoomFromPush","callKitUuid","answerCallFromPush","declineCallFromPush","isCallPush","parseCallPush","registerPushToken","unregisterPushToken","getRegisteredPushToken","getRegisteredPushTokens","detectPushTokenType","PushRegistrationError","isPushRegistrationError","ensurePushKeyPair","getPushKeyPair","resetPushKeyPair","clearPushKeyPair","PUSH_KEY_KEYCHAIN_SERVICE","PUSH_SECRET_KEY_ITEM","registerSealedPushTask","presentSealedPush","SEALED_PUSH_TASK","openSealedPush","isSealedPush","sealedPushEnvelopeOf","SEALED_PUSH_ALG","useChatRoomFocus","logoutService","useLogout","useQRCodeChat","handleQRChatId","resendMessage","useChatFonts","useT","useUiLocale","BUILTIN_STRINGS","DEFAULT_UI_LANGUAGE","resolveStringTable","toBaseLanguage","translateKey","refreshAuthTokens","refreshAuthTokensQuietly","RefreshFatalError","isRefreshFatalError","LIGHT_THEME","DARK_THEME","resolveTheme","isDarkTheme","useTheme","setThemePreference","setPushEnabled","omemo","isE2eeEnabled"],"sourceRoot":"../../src","sources":["main.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,gCAAgC;;AAEvC;AACA,SAASA,YAAY,IAAIC,IAAI,QAAQ,0CAA0C;AAC/E,SAASC,YAAY,QAAQ,wBAAwB;;AAErD;AACA,SAASC,SAAS,QAAQ,kCAAkC;AAE5D,SAASC,iBAAiB,EAAEC,gBAAgB,QAAQ,uBAAuB;AAC3E,SAASC,WAAW,QAAQ,oCAAoC;AAChE,SACEC,kBAAkB,EAClBC,mBAAmB,QACd,gCAAgC;AAEvC,SAASC,UAAU,EAAEC,aAAa,QAAQ,oBAAoB;AAG9D,SACEC,iBAAiB,EACjBC,mBAAmB,EACnBC,sBAAsB,EACtBC,uBAAuB,QAClB,6BAA6B;AAOpC,SACEC,mBAAmB,EACnBC,qBAAqB,EACrBC,uBAAuB,QAClB,oCAAoC;AAM3C;AACA;AACA;AACA,SACEC,iBAAiB,EACjBC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,yBAAyB,EACzBC,oBAAoB,QACf,qBAAqB;AAE5B,SACEC,sBAAsB,EACtBC,iBAAiB,EACjBC,gBAAgB,QACX,uBAAuB;AAE9B,SACEC,cAAc,EACdC,YAAY,EACZC,oBAAoB,EACpBC,eAAe,QACV,mBAAmB;AAO1B,SAASC,gBAAgB,QAAQ,0BAA0B;AAC3D,SAASC,aAAa,EAAEC,SAAS,QAAQ,mBAAmB;AAC5D,SAASC,aAAa,EAAEC,cAAc,QAAQ,8BAA8B;AAC5E,SAASC,aAAa,QAAQ,uBAAuB;AACrD;AACA,SAASC,YAAY,QAAQ,sBAAsB;;AAEnD;AACA;AACA;AACA,SAASC,IAAI,EAAEC,WAAW,QAAQ,aAAa;AAC/C,SACEC,eAAe,EACfC,mBAAmB,EACnBC,kBAAkB,EAClBC,cAAc,EACdC,YAAY,QACP,gBAAgB;;AAGvB;AACA;;AAqBA;AACA;AACA;AACA;AACA;AACA;AACA,SACEC,iBAAiB,EACjBC,wBAAwB,EACxBC,iBAAiB,EACjBC,mBAAmB,QACd,0BAA0B;AAOjC,SACEC,WAAW,EACXC,UAAU,EACVC,YAAY,EACZC,WAAW,EACXC,QAAQ,QACH,SAAS;AAGhB,SAASC,kBAAkB,EAAEC,cAAc,QAAQ,+BAA+B;AAClF,SAASC,KAAK,EAAEC,aAAa,QAAQ,QAAQ","ignoreList":[]}
@@ -38,31 +38,46 @@ const toRegistrationError = (error, what) => {
38
38
  return new PushRegistrationError(status ? `${what} refused (HTTP ${status}): ${detail}` : `${what} failed: ${detail}`, status, body);
39
39
  };
40
40
  const isUnknownFieldError = error => error?.response?.status === 422 && /not allowed/i.test(String(error?.response?.data?.error ?? ''));
41
- export const buildPushSubscriptionPayload = (token, tokenType) => ({
41
+
42
+ /** The only sealing scheme the push service knows (README, "Encrypted pushes"). */
43
+ export const PUSH_KEY_ALG = 'sealed-box-x25519';
44
+ export const buildPushSubscriptionPayload = (token, tokenType, pushKey, pushKeyId) => ({
42
45
  registrationToken: token,
43
46
  deviceType: resolvePushDeviceType(),
44
- tokenType
47
+ tokenType,
48
+ ...(pushKey ? {
49
+ pushKey,
50
+ pushKeyAlg: PUSH_KEY_ALG,
51
+ ...(pushKeyId ? {
52
+ pushKeyId
53
+ } : {})
54
+ } : {})
45
55
  });
46
56
  export async function registerPushSubscription({
47
57
  appId,
48
58
  token,
49
59
  tokenType,
50
- authToken
60
+ authToken,
61
+ pushKey,
62
+ pushKeyId
51
63
  }) {
52
64
  const path = `/v1/push/subscription/${encodeURIComponent(appId)}`;
53
65
  const headers = {
54
66
  Authorization: authToken
55
67
  };
56
- const payload = buildPushSubscriptionPayload(token, tokenType);
68
+ const payload = buildPushSubscriptionPayload(token, tokenType, pushKey, pushKeyId);
57
69
  try {
58
70
  await http.post(path, payload, {
59
71
  headers
60
72
  });
61
73
  return;
62
74
  } catch (error) {
63
- const canDowngrade = tokenType === 'apns' || tokenType === 'fcm';
75
+ // A backend that predates `tokenType` still delivers to apns / fcm
76
+ // tokens. One that predates `pushKey` would deliver in the clear: the
77
+ // host asked for encryption, so that is an error, never a quiet fallback.
78
+ const canDowngrade = (tokenType === 'apns' || tokenType === 'fcm') && !pushKey;
64
79
  if (!(canDowngrade && isUnknownFieldError(error))) {
65
- throw toRegistrationError(error, tokenType === 'expo' ? 'Push registration (the backend does not accept Expo push tokens yet)' : 'Push registration');
80
+ throw toRegistrationError(error, tokenType === 'expo' ? 'Push registration (the backend does not accept Expo push tokens yet)' : pushKey && isUnknownFieldError(error) ? 'Push registration (the backend does not support encrypted pushes)' : 'Push registration');
66
81
  }
67
82
  }
68
83
  try {
@@ -1 +1 @@
1
- {"version":3,"names":["axios","Platform","store","http","PushRegistrationError","Error","constructor","message","status","body","name","isPushRegistrationError","error","EXPO_PUSH_TOKEN","APNS_TOKEN","detectPushTokenType","token","t","trim","test","resolvePushDeviceType","OS","toRegistrationError","what","response","data","detail","isUnknownFieldError","String","buildPushSubscriptionPayload","tokenType","registrationToken","deviceType","registerPushSubscription","appId","authToken","path","encodeURIComponent","headers","Authorization","payload","post","canDowngrade","unregisterPushSubscription","delete","endpoint","DEFAULT_XMPP_HOST","resolveXmppHost","config","getState","chatSettingStore","xmppSettings","host","gatewayAxios","create","buildPushGatewayPayload","userJid","projectName","jid","includes","subscribeToPushGateway","args","baseURL","apiUrl"],"sourceRoot":"../../../../src","sources":["networking/api-requests/push.api.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["axios","Platform","store","http","PushRegistrationError","Error","constructor","message","status","body","name","isPushRegistrationError","error","EXPO_PUSH_TOKEN","APNS_TOKEN","detectPushTokenType","token","t","trim","test","resolvePushDeviceType","OS","toRegistrationError","what","response","data","detail","isUnknownFieldError","String","PUSH_KEY_ALG","buildPushSubscriptionPayload","tokenType","pushKey","pushKeyId","registrationToken","deviceType","pushKeyAlg","registerPushSubscription","appId","authToken","path","encodeURIComponent","headers","Authorization","payload","post","canDowngrade","unregisterPushSubscription","delete","endpoint","DEFAULT_XMPP_HOST","resolveXmppHost","config","getState","chatSettingStore","xmppSettings","host","gatewayAxios","create","buildPushGatewayPayload","userJid","projectName","jid","includes","subscribeToPushGateway","args","baseURL","apiUrl"],"sourceRoot":"../../../../src","sources":["networking/api-requests/push.api.ts"],"mappings":"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","ignoreList":[]}
@@ -445,6 +445,12 @@ export const onCallTokenMessage = stanza => {
445
445
  }));
446
446
  return true;
447
447
  }
448
+ if (callState.direction === 'incoming' && callState.phase !== 'idle' && !!callId && callState.callId === callId) {
449
+ callTrace('drop call-token: call already known from push', {
450
+ callId
451
+ });
452
+ return true;
453
+ }
448
454
  store.dispatch(setIncomingCallToken({
449
455
  roomJid,
450
456
  roomName: incomingRoomName,
@@ -1 +1 @@
1
- {"version":3,"names":["xml","store","endCall","setCallKind","setIncomingCallToken","setOutgoingCallToken","getGlobalXmppClient","callStateHasLogData","pushLog","KIND_HINT_TTL_MS","kindHints","Map","stashKindHint","key","kind","now","Date","k","v","expiresAt","delete","set","consumeKindHint","keys","hit","get","MAX_CALL_TOKEN_AGE_MS","callTrace","message","extra","__DEV__","console","log","JSON","stringify","B64_ALPHABET","decodeBase64","input","clean","replace","out","buffer","bits","i","length","idx","indexOf","String","fromCharCode","bytesToUtf8","binary","decodeURIComponent","split","map","c","charCodeAt","toString","slice","join","decodeJwtPayload","token","parts","b64","padded","repeat","parse","extractCallId","data","jwtPayload","fromAttr","attrs","callId","callid","trim","metadata","parsed","extractCallerDisplayName","sub","trimmed","looksLikeRawId","test","derivePeerXmppUsername","bareRoomName","selfXmppUsername","includes","selfLocal","peer","find","p","CALL_BODY_KEYWORDS","Set","extractNumericTimestamp","value","source","direct","Number","isFinite","match","isFreshCallToken","stanza","stanzaId","getChild","id","createdTs","Math","abs","resolveRoomByStanzaRoom","roomAttr","rooms","getState","roomEntries","Object","values","byJid","byLocalpart","room","jid","byName","name","unwrapMucsub","inner","findCallData","type","getBodyText","body","getText","handleCallStateData","fallbackRoomAttr","state","event","toLowerCase","stanzaRoomAttr","stanzaCallId","currentCall","call","phase","roomMatches","roomJid","roomName","roomBareName","callIdMatches","isTerminalState","isServerCallLog","dispatch","onCallTokenMessage","dataType","traceStanzaId","traceTs","from","wrapped","hasToken","ageMs","durationMs","callerXmppUsername","fromRoom","inviteKind","normalized","inviteRoom","inviteCallId","matchesActive","videoCallsConfig","chatSettingStore","config","videoCalls","enabled","stanzaRoom","stanzaKind","hintedKind","resolvedRoom","allowedRoomTypes","usersCnt","isOneToOneLikeRoom","isPrivateAllowed","callerName","resolvedTitle","title","titleLooksBad","incomingRoomName","selfXmpp","user","xmppUsername","peerXmppUsername","callState","isOutgoingRoomMatch","direction","outgoing","bodyText","has","startsWith","stateFromBody","sendCallStateSignal","options","xmppClient","host","to","client","send","sendCallInviteSignal"],"sourceRoot":"../../../src","sources":["networking/callTokenStanza.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["xml","store","endCall","setCallKind","setIncomingCallToken","setOutgoingCallToken","getGlobalXmppClient","callStateHasLogData","pushLog","KIND_HINT_TTL_MS","kindHints","Map","stashKindHint","key","kind","now","Date","k","v","expiresAt","delete","set","consumeKindHint","keys","hit","get","MAX_CALL_TOKEN_AGE_MS","callTrace","message","extra","__DEV__","console","log","JSON","stringify","B64_ALPHABET","decodeBase64","input","clean","replace","out","buffer","bits","i","length","idx","indexOf","String","fromCharCode","bytesToUtf8","binary","decodeURIComponent","split","map","c","charCodeAt","toString","slice","join","decodeJwtPayload","token","parts","b64","padded","repeat","parse","extractCallId","data","jwtPayload","fromAttr","attrs","callId","callid","trim","metadata","parsed","extractCallerDisplayName","sub","trimmed","looksLikeRawId","test","derivePeerXmppUsername","bareRoomName","selfXmppUsername","includes","selfLocal","peer","find","p","CALL_BODY_KEYWORDS","Set","extractNumericTimestamp","value","source","direct","Number","isFinite","match","isFreshCallToken","stanza","stanzaId","getChild","id","createdTs","Math","abs","resolveRoomByStanzaRoom","roomAttr","rooms","getState","roomEntries","Object","values","byJid","byLocalpart","room","jid","byName","name","unwrapMucsub","inner","findCallData","type","getBodyText","body","getText","handleCallStateData","fallbackRoomAttr","state","event","toLowerCase","stanzaRoomAttr","stanzaCallId","currentCall","call","phase","roomMatches","roomJid","roomName","roomBareName","callIdMatches","isTerminalState","isServerCallLog","dispatch","onCallTokenMessage","dataType","traceStanzaId","traceTs","from","wrapped","hasToken","ageMs","durationMs","callerXmppUsername","fromRoom","inviteKind","normalized","inviteRoom","inviteCallId","matchesActive","videoCallsConfig","chatSettingStore","config","videoCalls","enabled","stanzaRoom","stanzaKind","hintedKind","resolvedRoom","allowedRoomTypes","usersCnt","isOneToOneLikeRoom","isPrivateAllowed","callerName","resolvedTitle","title","titleLooksBad","incomingRoomName","selfXmpp","user","xmppUsername","peerXmppUsername","callState","isOutgoingRoomMatch","direction","outgoing","bodyText","has","startsWith","stateFromBody","sendCallStateSignal","options","xmppClient","host","to","client","send","sendCallInviteSignal"],"sourceRoot":"../../../src","sources":["networking/callTokenStanza.ts"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,28 @@
1
1
  "use strict";
2
2
 
3
3
  import { xml } from '@xmpp/client';
4
- export function sendMessageReaction(client, messageId, roomJid, reactionsList, data, reactionSymbol) {
4
+ import { shouldEncrypt } from '../../e2ee/send';
5
+ export const REACTION_MESSAGE_TEXT_MAX = 120;
6
+ export function sendMessageReaction(client, messageId, roomJid, reactionsList, data = {}) {
5
7
  const id = `message-reaction:${Date.now().toString()}`;
8
+ const push = Boolean(data.push) && reactionsList.length > 0;
9
+ const messageText = push && !shouldEncrypt(roomJid) ? String(data.messageText ?? '').slice(0, REACTION_MESSAGE_TEXT_MAX) : '';
6
10
  const dataReaction = {
7
- senderFirstName: data.firstName,
8
- senderLastName: data.lastName
11
+ senderFirstName: data.firstName ?? '',
12
+ senderLastName: data.lastName ?? '',
13
+ senderJID: client.jid?.toString() ?? '',
14
+ roomJid,
15
+ ...(data.photoURL ? {
16
+ photoURL: data.photoURL
17
+ } : {}),
18
+ ...(push ? {
19
+ push: 'true',
20
+ messageAuthor: data.messageAuthor ?? '',
21
+ messageText,
22
+ isMediafile: data.isMediafile ?? '',
23
+ mimetype: data.mimetype ?? '',
24
+ fileName: data.fileName ?? ''
25
+ } : {})
9
26
  };
10
27
  const message = xml('message', {
11
28
  id: id,
@@ -16,9 +33,7 @@ export function sendMessageReaction(client, messageId, roomJid, reactionsList, d
16
33
  id: messageId,
17
34
  from: client.jid?.toString(),
18
35
  xmlns: 'urn:xmpp:reactions:0'
19
- }, ...reactionsList.map(reaction => xml('reaction', {}, reaction ?? ''))
20
- // xml('reaction', {}, reactionSymbol ?? '👋'),
21
- ), xml('data', dataReaction), xml('store', {
36
+ }, ...reactionsList.map(reaction => xml('reaction', {}, reaction ?? ''))), xml('data', dataReaction), xml('store', {
22
37
  xmlns: 'urn:xmpp:hints'
23
38
  }));
24
39
  client.send(message);
@@ -1 +1 @@
1
- {"version":3,"names":["xml","sendMessageReaction","client","messageId","roomJid","reactionsList","data","reactionSymbol","id","Date","now","toString","dataReaction","senderFirstName","firstName","senderLastName","lastName","message","type","from","jid","to","xmlns","map","reaction","send"],"sourceRoot":"../../../../src","sources":["networking/xmpp/sendMessageReaction.xmpp.ts"],"mappings":";;AAAA,SAAiBA,GAAG,QAAQ,cAAc;AAE1C,OAAO,SAASC,mBAAmBA,CACjCC,MAAc,EACdC,SAAiB,EACjBC,OAAe,EACfC,aAAuB,EACvBC,IAAS,EACTC,cAAoB,EACpB;EACA,MAAMC,EAAE,GAAG,oBAAoBC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE;EAEtD,MAAMC,YAAY,GAAG;IACnBC,eAAe,EAAEP,IAAI,CAACQ,SAAS;IAC/BC,cAAc,EAAET,IAAI,CAACU;EACvB,CAAC;EAED,MAAMC,OAAO,GAAGjB,GAAG,CACjB,SAAS,EACT;IACEQ,EAAE,EAAEA,EAAE;IACNU,IAAI,EAAE,WAAW;IACjBC,IAAI,EAAEjB,MAAM,CAACkB,GAAG,EAAET,QAAQ,CAAC,CAAC;IAC5BU,EAAE,EAAEjB;EACN,CAAC,EACDJ,GAAG,CACD,WAAW,EACX;IACEQ,EAAE,EAAEL,SAAS;IACbgB,IAAI,EAAEjB,MAAM,CAACkB,GAAG,EAAET,QAAQ,CAAC,CAAC;IAC5BW,KAAK,EAAE;EACT,CAAC,EACD,GAAGjB,aAAa,CAACkB,GAAG,CAAEC,QAAQ,IAAKxB,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,EAAEwB,QAAQ,IAAI,EAAE,CAAC;EACtE;EACF,CAAC,EACDxB,GAAG,CAAC,MAAM,EAAEY,YAAY,CAAC,EACzBZ,GAAG,CAAC,OAAO,EAAE;IAAEsB,KAAK,EAAE;EAAiB,CAAC,CAC1C,CAAC;EAEDpB,MAAM,CAACuB,IAAI,CAACR,OAAO,CAAC;AACtB","ignoreList":[]}
1
+ {"version":3,"names":["xml","shouldEncrypt","REACTION_MESSAGE_TEXT_MAX","sendMessageReaction","client","messageId","roomJid","reactionsList","data","id","Date","now","toString","push","Boolean","length","messageText","String","slice","dataReaction","senderFirstName","firstName","senderLastName","lastName","senderJID","jid","photoURL","messageAuthor","isMediafile","mimetype","fileName","message","type","from","to","xmlns","map","reaction","send"],"sourceRoot":"../../../../src","sources":["networking/xmpp/sendMessageReaction.xmpp.ts"],"mappings":";;AAAA,SAAiBA,GAAG,QAAQ,cAAc;AAC1C,SAASC,aAAa,QAAQ,iBAAiB;AAc/C,OAAO,MAAMC,yBAAyB,GAAG,GAAG;AAE5C,OAAO,SAASC,mBAAmBA,CACjCC,MAAc,EACdC,SAAiB,EACjBC,OAAe,EACfC,aAAuB,EACvBC,IAAwB,GAAG,CAAC,CAAC,EAC7B;EACA,MAAMC,EAAE,GAAG,oBAAoBC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE;EAEtD,MAAMC,IAAI,GAAGC,OAAO,CAACN,IAAI,CAACK,IAAI,CAAC,IAAIN,aAAa,CAACQ,MAAM,GAAG,CAAC;EAC3D,MAAMC,WAAW,GACfH,IAAI,IAAI,CAACZ,aAAa,CAACK,OAAO,CAAC,GAC3BW,MAAM,CAACT,IAAI,CAACQ,WAAW,IAAI,EAAE,CAAC,CAACE,KAAK,CAAC,CAAC,EAAEhB,yBAAyB,CAAC,GAClE,EAAE;EAER,MAAMiB,YAAoC,GAAG;IAC3CC,eAAe,EAAEZ,IAAI,CAACa,SAAS,IAAI,EAAE;IACrCC,cAAc,EAAEd,IAAI,CAACe,QAAQ,IAAI,EAAE;IACnCC,SAAS,EAAEpB,MAAM,CAACqB,GAAG,EAAEb,QAAQ,CAAC,CAAC,IAAI,EAAE;IACvCN,OAAO;IACP,IAAIE,IAAI,CAACkB,QAAQ,GAAG;MAAEA,QAAQ,EAAElB,IAAI,CAACkB;IAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,IAAIb,IAAI,GACJ;MACEA,IAAI,EAAE,MAAM;MACZc,aAAa,EAAEnB,IAAI,CAACmB,aAAa,IAAI,EAAE;MACvCX,WAAW;MACXY,WAAW,EAAEpB,IAAI,CAACoB,WAAW,IAAI,EAAE;MACnCC,QAAQ,EAAErB,IAAI,CAACqB,QAAQ,IAAI,EAAE;MAC7BC,QAAQ,EAAEtB,IAAI,CAACsB,QAAQ,IAAI;IAC7B,CAAC,GACD,CAAC,CAAC;EACR,CAAC;EAED,MAAMC,OAAO,GAAG/B,GAAG,CACjB,SAAS,EACT;IACES,EAAE,EAAEA,EAAE;IACNuB,IAAI,EAAE,WAAW;IACjBC,IAAI,EAAE7B,MAAM,CAACqB,GAAG,EAAEb,QAAQ,CAAC,CAAC;IAC5BsB,EAAE,EAAE5B;EACN,CAAC,EACDN,GAAG,CACD,WAAW,EACX;IACES,EAAE,EAAEJ,SAAS;IACb4B,IAAI,EAAE7B,MAAM,CAACqB,GAAG,EAAEb,QAAQ,CAAC,CAAC;IAC5BuB,KAAK,EAAE;EACT,CAAC,EACD,GAAG5B,aAAa,CAAC6B,GAAG,CAAEC,QAAQ,IAAKrC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,EAAEqC,QAAQ,IAAI,EAAE,CAAC,CACxE,CAAC,EACDrC,GAAG,CAAC,MAAM,EAAEmB,YAAY,CAAC,EACzBnB,GAAG,CAAC,OAAO,EAAE;IAAEmC,KAAK,EAAE;EAAiB,CAAC,CAC1C,CAAC;EAED/B,MAAM,CAACkC,IAAI,CAACP,OAAO,CAAC;AACtB","ignoreList":[]}