@ethora/chat-component-rn 26.10.10 → 26.10.11

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 (483) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +125 -0
  3. package/lib/commonjs/booking/index.js +44 -0
  4. package/lib/commonjs/booking/index.js.map +1 -0
  5. package/lib/commonjs/booking/pendingScheduledCall.js +275 -0
  6. package/lib/commonjs/booking/pendingScheduledCall.js.map +1 -0
  7. package/lib/commonjs/booking/scheduleForm.js +91 -0
  8. package/lib/commonjs/booking/scheduleForm.js.map +1 -0
  9. package/lib/commonjs/booking/scheduledCall.js +141 -0
  10. package/lib/commonjs/booking/scheduledCall.js.map +1 -0
  11. package/lib/commonjs/booking/scheduledCallActions.js +128 -0
  12. package/lib/commonjs/booking/scheduledCallActions.js.map +1 -0
  13. package/lib/commonjs/booking/scheduledCallLink.js +143 -0
  14. package/lib/commonjs/booking/scheduledCallLink.js.map +1 -0
  15. package/lib/commonjs/booking/scheduledCallStore.js +64 -0
  16. package/lib/commonjs/booking/scheduledCallStore.js.map +1 -0
  17. package/lib/commonjs/booking/startRoomCall.js +84 -0
  18. package/lib/commonjs/booking/startRoomCall.js.map +1 -0
  19. package/lib/commonjs/calls/callBusy.js +18 -0
  20. package/lib/commonjs/calls/callBusy.js.map +1 -0
  21. package/lib/commonjs/calls/callDisplay.js +73 -0
  22. package/lib/commonjs/calls/callDisplay.js.map +1 -0
  23. package/lib/commonjs/calls/callMode.js +175 -0
  24. package/lib/commonjs/calls/callMode.js.map +1 -0
  25. package/lib/commonjs/calls/declineReport.js +20 -0
  26. package/lib/commonjs/calls/declineReport.js.map +1 -0
  27. package/lib/commonjs/calls/p2p/P2PCallController.js +724 -0
  28. package/lib/commonjs/calls/p2p/P2PCallController.js.map +1 -0
  29. package/lib/commonjs/calls/p2p/icePolicy.js +107 -0
  30. package/lib/commonjs/calls/p2p/icePolicy.js.map +1 -0
  31. package/lib/commonjs/calls/p2p/negotiator.js +202 -0
  32. package/lib/commonjs/calls/p2p/negotiator.js.map +1 -0
  33. package/lib/commonjs/calls/p2p/p2pRuntime.js +147 -0
  34. package/lib/commonjs/calls/p2p/p2pRuntime.js.map +1 -0
  35. package/lib/commonjs/calls/p2p/signalInbox.js +98 -0
  36. package/lib/commonjs/calls/p2p/signalInbox.js.map +1 -0
  37. package/lib/commonjs/calls/p2p/signalStanza.js +141 -0
  38. package/lib/commonjs/calls/p2p/signalStanza.js.map +1 -0
  39. package/lib/commonjs/calls/p2p/webrtcRuntime.js +53 -0
  40. package/lib/commonjs/calls/p2p/webrtcRuntime.js.map +1 -0
  41. package/lib/commonjs/calls/senderTrust.js +43 -0
  42. package/lib/commonjs/calls/senderTrust.js.map +1 -0
  43. package/lib/commonjs/calls/startCall.js +51 -0
  44. package/lib/commonjs/calls/startCall.js.map +1 -0
  45. package/lib/commonjs/components/Booking/BookingIcons.js +55 -0
  46. package/lib/commonjs/components/Booking/BookingIcons.js.map +1 -0
  47. package/lib/commonjs/components/Booking/ScheduleCallButton.js +64 -0
  48. package/lib/commonjs/components/Booking/ScheduleCallButton.js.map +1 -0
  49. package/lib/commonjs/components/Booking/ScheduleCallSheet.js +351 -0
  50. package/lib/commonjs/components/Booking/ScheduleCallSheet.js.map +1 -0
  51. package/lib/commonjs/components/Booking/ScheduledCallCard.js +203 -0
  52. package/lib/commonjs/components/Booking/ScheduledCallCard.js.map +1 -0
  53. package/lib/commonjs/components/Booking/ScheduledCallHost.js +23 -0
  54. package/lib/commonjs/components/Booking/ScheduledCallHost.js.map +1 -0
  55. package/lib/commonjs/components/Booking/ScheduledCallMessage.js +55 -0
  56. package/lib/commonjs/components/Booking/ScheduledCallMessage.js.map +1 -0
  57. package/lib/commonjs/components/Booking/ScheduledCallPreJoin.js +235 -0
  58. package/lib/commonjs/components/Booking/ScheduledCallPreJoin.js.map +1 -0
  59. package/lib/commonjs/components/Booking/bookingShared.js +305 -0
  60. package/lib/commonjs/components/Booking/bookingShared.js.map +1 -0
  61. package/lib/commonjs/components/MainComponents/ChatHeader.js +2 -1
  62. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  63. package/lib/commonjs/components/MainComponents/LanguageSelectorButton.js +5 -2
  64. package/lib/commonjs/components/MainComponents/LanguageSelectorButton.js.map +1 -1
  65. package/lib/commonjs/components/MainComponents/LanguageSelectorModal.js +6 -3
  66. package/lib/commonjs/components/MainComponents/LanguageSelectorModal.js.map +1 -1
  67. package/lib/commonjs/components/MainComponents/MessageContainer.js +13 -0
  68. package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
  69. package/lib/commonjs/components/MainComponents/ReduxWrapper.js +10 -0
  70. package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
  71. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js +19 -15
  72. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -1
  73. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +15 -8
  74. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  75. package/lib/commonjs/components/Modals/UserSettingsModal/LanguageCard.js +1 -1
  76. package/lib/commonjs/components/Modals/UserSettingsModal/LanguageCard.js.map +1 -1
  77. package/lib/commonjs/components/VideoCalls/ActiveCallBar.js +3 -2
  78. package/lib/commonjs/components/VideoCalls/ActiveCallBar.js.map +1 -1
  79. package/lib/commonjs/components/VideoCalls/CallButtons.js +19 -11
  80. package/lib/commonjs/components/VideoCalls/CallButtons.js.map +1 -1
  81. package/lib/commonjs/components/VideoCalls/CallControlBar.js +119 -0
  82. package/lib/commonjs/components/VideoCalls/CallControlBar.js.map +1 -0
  83. package/lib/commonjs/components/VideoCalls/CallVideo.js +49 -0
  84. package/lib/commonjs/components/VideoCalls/CallVideo.js.map +1 -0
  85. package/lib/commonjs/components/VideoCalls/GroupCallView.js +281 -0
  86. package/lib/commonjs/components/VideoCalls/GroupCallView.js.map +1 -0
  87. package/lib/commonjs/components/VideoCalls/P2PCallRunner.js +151 -0
  88. package/lib/commonjs/components/VideoCalls/P2PCallRunner.js.map +1 -0
  89. package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js +38 -14
  90. package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js.map +1 -1
  91. package/lib/commonjs/components/VideoCalls/VideoCallSession.js +57 -128
  92. package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -1
  93. package/lib/commonjs/components/VideoCalls/callActions.js +3 -0
  94. package/lib/commonjs/components/VideoCalls/callActions.js.map +1 -1
  95. package/lib/commonjs/components/VideoCalls/callElapsed.js +38 -0
  96. package/lib/commonjs/components/VideoCalls/callElapsed.js.map +1 -0
  97. package/lib/commonjs/components/VideoCalls/callLive.js +15 -0
  98. package/lib/commonjs/components/VideoCalls/callLive.js.map +1 -0
  99. package/lib/commonjs/components/VideoCalls/callSessionController.js +81 -24
  100. package/lib/commonjs/components/VideoCalls/callSessionController.js.map +1 -1
  101. package/lib/commonjs/components/VideoCalls/callSessionTypes.js +41 -0
  102. package/lib/commonjs/components/VideoCalls/callSessionTypes.js.map +1 -0
  103. package/lib/commonjs/components/VideoCalls/groupLayout.js +43 -0
  104. package/lib/commonjs/components/VideoCalls/groupLayout.js.map +1 -0
  105. package/lib/commonjs/components/VideoCalls/p2pCallSession.js +272 -0
  106. package/lib/commonjs/components/VideoCalls/p2pCallSession.js.map +1 -0
  107. package/lib/commonjs/components/VideoCalls/useCallKeep.js +7 -2
  108. package/lib/commonjs/components/VideoCalls/useCallKeep.js.map +1 -1
  109. package/lib/commonjs/components/VideoCalls/useOngoingCallNotification.js +2 -1
  110. package/lib/commonjs/components/VideoCalls/useOngoingCallNotification.js.map +1 -1
  111. package/lib/commonjs/context/xmppProvider.js +2 -1
  112. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  113. package/lib/commonjs/helpers/callPush.js +3 -1
  114. package/lib/commonjs/helpers/callPush.js.map +1 -1
  115. package/lib/commonjs/helpers/incomingCallFromPush.js +63 -7
  116. package/lib/commonjs/helpers/incomingCallFromPush.js.map +1 -1
  117. package/lib/commonjs/helpers/pushPayload.js +5 -0
  118. package/lib/commonjs/helpers/pushPayload.js.map +1 -1
  119. package/lib/commonjs/helpers/reportRoom.js +76 -0
  120. package/lib/commonjs/helpers/reportRoom.js.map +1 -0
  121. package/lib/commonjs/i18n/strings.js +444 -0
  122. package/lib/commonjs/i18n/strings.js.map +1 -1
  123. package/lib/commonjs/main.js +93 -0
  124. package/lib/commonjs/main.js.map +1 -1
  125. package/lib/commonjs/networking/api-requests/callState.api.js +75 -0
  126. package/lib/commonjs/networking/api-requests/callState.api.js.map +1 -0
  127. package/lib/commonjs/networking/api-requests/push.api.js +29 -6
  128. package/lib/commonjs/networking/api-requests/push.api.js.map +1 -1
  129. package/lib/commonjs/networking/api-requests/rooms.api.js +8 -2
  130. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  131. package/lib/commonjs/networking/api-requests/scheduledCalls.api.js +141 -0
  132. package/lib/commonjs/networking/api-requests/scheduledCalls.api.js.map +1 -0
  133. package/lib/commonjs/networking/callTokenStanza.js +210 -50
  134. package/lib/commonjs/networking/callTokenStanza.js.map +1 -1
  135. package/lib/commonjs/roomStore/callSlice.js +59 -4
  136. package/lib/commonjs/roomStore/callSlice.js.map +1 -1
  137. package/lib/commonjs/services/appBadge.js +80 -0
  138. package/lib/commonjs/services/appBadge.js.map +1 -0
  139. package/lib/commonjs/services/languageSettings.js +47 -15
  140. package/lib/commonjs/services/languageSettings.js.map +1 -1
  141. package/lib/commonjs/services/pushRegistration.js +21 -5
  142. package/lib/commonjs/services/pushRegistration.js.map +1 -1
  143. package/lib/commonjs/version.js +1 -1
  144. package/lib/module/booking/index.js +5 -0
  145. package/lib/module/booking/index.js.map +1 -0
  146. package/lib/module/booking/pendingScheduledCall.js +261 -0
  147. package/lib/module/booking/pendingScheduledCall.js.map +1 -0
  148. package/lib/module/booking/scheduleForm.js +79 -0
  149. package/lib/module/booking/scheduleForm.js.map +1 -0
  150. package/lib/module/booking/scheduledCall.js +129 -0
  151. package/lib/module/booking/scheduledCall.js.map +1 -0
  152. package/lib/module/booking/scheduledCallActions.js +118 -0
  153. package/lib/module/booking/scheduledCallActions.js.map +1 -0
  154. package/lib/module/booking/scheduledCallLink.js +136 -0
  155. package/lib/module/booking/scheduledCallLink.js.map +1 -0
  156. package/lib/module/booking/scheduledCallStore.js +60 -0
  157. package/lib/module/booking/scheduledCallStore.js.map +1 -0
  158. package/lib/module/booking/startRoomCall.js +80 -0
  159. package/lib/module/booking/startRoomCall.js.map +1 -0
  160. package/lib/module/calls/callBusy.js +13 -0
  161. package/lib/module/calls/callBusy.js.map +1 -0
  162. package/lib/module/calls/callDisplay.js +65 -0
  163. package/lib/module/calls/callDisplay.js.map +1 -0
  164. package/lib/module/calls/callMode.js +168 -0
  165. package/lib/module/calls/callMode.js.map +1 -0
  166. package/lib/module/calls/declineReport.js +16 -0
  167. package/lib/module/calls/declineReport.js.map +1 -0
  168. package/lib/module/calls/p2p/P2PCallController.js +718 -0
  169. package/lib/module/calls/p2p/P2PCallController.js.map +1 -0
  170. package/lib/module/calls/p2p/icePolicy.js +102 -0
  171. package/lib/module/calls/p2p/icePolicy.js.map +1 -0
  172. package/lib/module/calls/p2p/negotiator.js +197 -0
  173. package/lib/module/calls/p2p/negotiator.js.map +1 -0
  174. package/lib/module/calls/p2p/p2pRuntime.js +137 -0
  175. package/lib/module/calls/p2p/p2pRuntime.js.map +1 -0
  176. package/lib/module/calls/p2p/signalInbox.js +93 -0
  177. package/lib/module/calls/p2p/signalInbox.js.map +1 -0
  178. package/lib/module/calls/p2p/signalStanza.js +135 -0
  179. package/lib/module/calls/p2p/signalStanza.js.map +1 -0
  180. package/lib/module/calls/p2p/webrtcRuntime.js +46 -0
  181. package/lib/module/calls/p2p/webrtcRuntime.js.map +1 -0
  182. package/lib/module/calls/senderTrust.js +38 -0
  183. package/lib/module/calls/senderTrust.js.map +1 -0
  184. package/lib/module/calls/startCall.js +47 -0
  185. package/lib/module/calls/startCall.js.map +1 -0
  186. package/lib/module/components/Booking/BookingIcons.js +48 -0
  187. package/lib/module/components/Booking/BookingIcons.js.map +1 -0
  188. package/lib/module/components/Booking/ScheduleCallButton.js +59 -0
  189. package/lib/module/components/Booking/ScheduleCallButton.js.map +1 -0
  190. package/lib/module/components/Booking/ScheduleCallSheet.js +345 -0
  191. package/lib/module/components/Booking/ScheduleCallSheet.js.map +1 -0
  192. package/lib/module/components/Booking/ScheduledCallCard.js +197 -0
  193. package/lib/module/components/Booking/ScheduledCallCard.js.map +1 -0
  194. package/lib/module/components/Booking/ScheduledCallHost.js +18 -0
  195. package/lib/module/components/Booking/ScheduledCallHost.js.map +1 -0
  196. package/lib/module/components/Booking/ScheduledCallMessage.js +48 -0
  197. package/lib/module/components/Booking/ScheduledCallMessage.js.map +1 -0
  198. package/lib/module/components/Booking/ScheduledCallPreJoin.js +229 -0
  199. package/lib/module/components/Booking/ScheduledCallPreJoin.js.map +1 -0
  200. package/lib/module/components/Booking/bookingShared.js +291 -0
  201. package/lib/module/components/Booking/bookingShared.js.map +1 -0
  202. package/lib/module/components/MainComponents/ChatHeader.js +2 -1
  203. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  204. package/lib/module/components/MainComponents/LanguageSelectorButton.js +5 -2
  205. package/lib/module/components/MainComponents/LanguageSelectorButton.js.map +1 -1
  206. package/lib/module/components/MainComponents/LanguageSelectorModal.js +7 -4
  207. package/lib/module/components/MainComponents/LanguageSelectorModal.js.map +1 -1
  208. package/lib/module/components/MainComponents/MessageContainer.js +13 -0
  209. package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
  210. package/lib/module/components/MainComponents/ReduxWrapper.js +10 -0
  211. package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
  212. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +21 -15
  213. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -1
  214. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +17 -10
  215. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  216. package/lib/module/components/Modals/UserSettingsModal/LanguageCard.js +1 -1
  217. package/lib/module/components/Modals/UserSettingsModal/LanguageCard.js.map +1 -1
  218. package/lib/module/components/VideoCalls/ActiveCallBar.js +3 -2
  219. package/lib/module/components/VideoCalls/ActiveCallBar.js.map +1 -1
  220. package/lib/module/components/VideoCalls/CallButtons.js +19 -11
  221. package/lib/module/components/VideoCalls/CallButtons.js.map +1 -1
  222. package/lib/module/components/VideoCalls/CallControlBar.js +113 -0
  223. package/lib/module/components/VideoCalls/CallControlBar.js.map +1 -0
  224. package/lib/module/components/VideoCalls/CallVideo.js +43 -0
  225. package/lib/module/components/VideoCalls/CallVideo.js.map +1 -0
  226. package/lib/module/components/VideoCalls/GroupCallView.js +275 -0
  227. package/lib/module/components/VideoCalls/GroupCallView.js.map +1 -0
  228. package/lib/module/components/VideoCalls/P2PCallRunner.js +147 -0
  229. package/lib/module/components/VideoCalls/P2PCallRunner.js.map +1 -0
  230. package/lib/module/components/VideoCalls/VideoCallOverlay.js +38 -14
  231. package/lib/module/components/VideoCalls/VideoCallOverlay.js.map +1 -1
  232. package/lib/module/components/VideoCalls/VideoCallSession.js +46 -127
  233. package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -1
  234. package/lib/module/components/VideoCalls/callActions.js +3 -0
  235. package/lib/module/components/VideoCalls/callActions.js.map +1 -1
  236. package/lib/module/components/VideoCalls/callElapsed.js +33 -0
  237. package/lib/module/components/VideoCalls/callElapsed.js.map +1 -0
  238. package/lib/module/components/VideoCalls/callLive.js +10 -0
  239. package/lib/module/components/VideoCalls/callLive.js.map +1 -0
  240. package/lib/module/components/VideoCalls/callSessionController.js +80 -24
  241. package/lib/module/components/VideoCalls/callSessionController.js.map +1 -1
  242. package/lib/module/components/VideoCalls/callSessionTypes.js +37 -0
  243. package/lib/module/components/VideoCalls/callSessionTypes.js.map +1 -0
  244. package/lib/module/components/VideoCalls/groupLayout.js +36 -0
  245. package/lib/module/components/VideoCalls/groupLayout.js.map +1 -0
  246. package/lib/module/components/VideoCalls/p2pCallSession.js +256 -0
  247. package/lib/module/components/VideoCalls/p2pCallSession.js.map +1 -0
  248. package/lib/module/components/VideoCalls/useCallKeep.js +8 -2
  249. package/lib/module/components/VideoCalls/useCallKeep.js.map +1 -1
  250. package/lib/module/components/VideoCalls/useOngoingCallNotification.js +2 -1
  251. package/lib/module/components/VideoCalls/useOngoingCallNotification.js.map +1 -1
  252. package/lib/module/context/xmppProvider.js +2 -1
  253. package/lib/module/context/xmppProvider.js.map +1 -1
  254. package/lib/module/helpers/callPush.js +3 -1
  255. package/lib/module/helpers/callPush.js.map +1 -1
  256. package/lib/module/helpers/incomingCallFromPush.js +63 -7
  257. package/lib/module/helpers/incomingCallFromPush.js.map +1 -1
  258. package/lib/module/helpers/pushPayload.js +5 -0
  259. package/lib/module/helpers/pushPayload.js.map +1 -1
  260. package/lib/module/helpers/reportRoom.js +70 -0
  261. package/lib/module/helpers/reportRoom.js.map +1 -0
  262. package/lib/module/i18n/strings.js +444 -0
  263. package/lib/module/i18n/strings.js.map +1 -1
  264. package/lib/module/main.js +5 -0
  265. package/lib/module/main.js.map +1 -1
  266. package/lib/module/networking/api-requests/callState.api.js +66 -0
  267. package/lib/module/networking/api-requests/callState.api.js.map +1 -0
  268. package/lib/module/networking/api-requests/push.api.js +29 -6
  269. package/lib/module/networking/api-requests/push.api.js.map +1 -1
  270. package/lib/module/networking/api-requests/rooms.api.js +8 -2
  271. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  272. package/lib/module/networking/api-requests/scheduledCalls.api.js +130 -0
  273. package/lib/module/networking/api-requests/scheduledCalls.api.js.map +1 -0
  274. package/lib/module/networking/callTokenStanza.js +210 -50
  275. package/lib/module/networking/callTokenStanza.js.map +1 -1
  276. package/lib/module/roomStore/callSlice.js +57 -3
  277. package/lib/module/roomStore/callSlice.js.map +1 -1
  278. package/lib/module/services/appBadge.js +74 -0
  279. package/lib/module/services/appBadge.js.map +1 -0
  280. package/lib/module/services/languageSettings.js +44 -13
  281. package/lib/module/services/languageSettings.js.map +1 -1
  282. package/lib/module/services/pushRegistration.js +21 -5
  283. package/lib/module/services/pushRegistration.js.map +1 -1
  284. package/lib/module/version.js +1 -1
  285. package/lib/typescript/booking/index.d.ts +3 -0
  286. package/lib/typescript/booking/index.d.ts.map +1 -0
  287. package/lib/typescript/booking/pendingScheduledCall.d.ts +80 -0
  288. package/lib/typescript/booking/pendingScheduledCall.d.ts.map +1 -0
  289. package/lib/typescript/booking/scheduleForm.d.ts +28 -0
  290. package/lib/typescript/booking/scheduleForm.d.ts.map +1 -0
  291. package/lib/typescript/booking/scheduledCall.d.ts +52 -0
  292. package/lib/typescript/booking/scheduledCall.d.ts.map +1 -0
  293. package/lib/typescript/booking/scheduledCallActions.d.ts +22 -0
  294. package/lib/typescript/booking/scheduledCallActions.d.ts.map +1 -0
  295. package/lib/typescript/booking/scheduledCallLink.d.ts +37 -0
  296. package/lib/typescript/booking/scheduledCallLink.d.ts.map +1 -0
  297. package/lib/typescript/booking/scheduledCallStore.d.ts +47 -0
  298. package/lib/typescript/booking/scheduledCallStore.d.ts.map +1 -0
  299. package/lib/typescript/booking/startRoomCall.d.ts +12 -0
  300. package/lib/typescript/booking/startRoomCall.d.ts.map +1 -0
  301. package/lib/typescript/calls/callBusy.d.ts +9 -0
  302. package/lib/typescript/calls/callBusy.d.ts.map +1 -0
  303. package/lib/typescript/calls/callDisplay.d.ts +23 -0
  304. package/lib/typescript/calls/callDisplay.d.ts.map +1 -0
  305. package/lib/typescript/calls/callMode.d.ts +106 -0
  306. package/lib/typescript/calls/callMode.d.ts.map +1 -0
  307. package/lib/typescript/calls/declineReport.d.ts +11 -0
  308. package/lib/typescript/calls/declineReport.d.ts.map +1 -0
  309. package/lib/typescript/calls/p2p/P2PCallController.d.ts +150 -0
  310. package/lib/typescript/calls/p2p/P2PCallController.d.ts.map +1 -0
  311. package/lib/typescript/calls/p2p/icePolicy.d.ts +37 -0
  312. package/lib/typescript/calls/p2p/icePolicy.d.ts.map +1 -0
  313. package/lib/typescript/calls/p2p/negotiator.d.ts +57 -0
  314. package/lib/typescript/calls/p2p/negotiator.d.ts.map +1 -0
  315. package/lib/typescript/calls/p2p/p2pRuntime.d.ts +41 -0
  316. package/lib/typescript/calls/p2p/p2pRuntime.d.ts.map +1 -0
  317. package/lib/typescript/calls/p2p/signalInbox.d.ts +35 -0
  318. package/lib/typescript/calls/p2p/signalInbox.d.ts.map +1 -0
  319. package/lib/typescript/calls/p2p/signalStanza.d.ts +52 -0
  320. package/lib/typescript/calls/p2p/signalStanza.d.ts.map +1 -0
  321. package/lib/typescript/calls/p2p/webrtcRuntime.d.ts +32 -0
  322. package/lib/typescript/calls/p2p/webrtcRuntime.d.ts.map +1 -0
  323. package/lib/typescript/calls/senderTrust.d.ts +8 -0
  324. package/lib/typescript/calls/senderTrust.d.ts.map +1 -0
  325. package/lib/typescript/calls/startCall.d.ts +17 -0
  326. package/lib/typescript/calls/startCall.d.ts.map +1 -0
  327. package/lib/typescript/components/Booking/BookingIcons.d.ts +9 -0
  328. package/lib/typescript/components/Booking/BookingIcons.d.ts.map +1 -0
  329. package/lib/typescript/components/Booking/ScheduleCallButton.d.ts +11 -0
  330. package/lib/typescript/components/Booking/ScheduleCallButton.d.ts.map +1 -0
  331. package/lib/typescript/components/Booking/ScheduleCallSheet.d.ts +4 -0
  332. package/lib/typescript/components/Booking/ScheduleCallSheet.d.ts.map +1 -0
  333. package/lib/typescript/components/Booking/ScheduledCallCard.d.ts +14 -0
  334. package/lib/typescript/components/Booking/ScheduledCallCard.d.ts.map +1 -0
  335. package/lib/typescript/components/Booking/ScheduledCallHost.d.ts +10 -0
  336. package/lib/typescript/components/Booking/ScheduledCallHost.d.ts.map +1 -0
  337. package/lib/typescript/components/Booking/ScheduledCallMessage.d.ts +20 -0
  338. package/lib/typescript/components/Booking/ScheduledCallMessage.d.ts.map +1 -0
  339. package/lib/typescript/components/Booking/ScheduledCallPreJoin.d.ts +8 -0
  340. package/lib/typescript/components/Booking/ScheduledCallPreJoin.d.ts.map +1 -0
  341. package/lib/typescript/components/Booking/bookingShared.d.ts +199 -0
  342. package/lib/typescript/components/Booking/bookingShared.d.ts.map +1 -0
  343. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  344. package/lib/typescript/components/MainComponents/LanguageSelectorButton.d.ts +3 -1
  345. package/lib/typescript/components/MainComponents/LanguageSelectorButton.d.ts.map +1 -1
  346. package/lib/typescript/components/MainComponents/LanguageSelectorModal.d.ts.map +1 -1
  347. package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
  348. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
  349. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +1 -1
  350. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  351. package/lib/typescript/components/Modals/UserSettingsModal/LanguageCard.d.ts.map +1 -1
  352. package/lib/typescript/components/VideoCalls/ActiveCallBar.d.ts.map +1 -1
  353. package/lib/typescript/components/VideoCalls/CallButtons.d.ts +2 -1
  354. package/lib/typescript/components/VideoCalls/CallButtons.d.ts.map +1 -1
  355. package/lib/typescript/components/VideoCalls/CallControlBar.d.ts +17 -0
  356. package/lib/typescript/components/VideoCalls/CallControlBar.d.ts.map +1 -0
  357. package/lib/typescript/components/VideoCalls/CallVideo.d.ts +23 -0
  358. package/lib/typescript/components/VideoCalls/CallVideo.d.ts.map +1 -0
  359. package/lib/typescript/components/VideoCalls/GroupCallView.d.ts +22 -0
  360. package/lib/typescript/components/VideoCalls/GroupCallView.d.ts.map +1 -0
  361. package/lib/typescript/components/VideoCalls/P2PCallRunner.d.ts +2 -0
  362. package/lib/typescript/components/VideoCalls/P2PCallRunner.d.ts.map +1 -0
  363. package/lib/typescript/components/VideoCalls/VideoCallOverlay.d.ts.map +1 -1
  364. package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts +10 -12
  365. package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts.map +1 -1
  366. package/lib/typescript/components/VideoCalls/callActions.d.ts.map +1 -1
  367. package/lib/typescript/components/VideoCalls/callElapsed.d.ts +8 -0
  368. package/lib/typescript/components/VideoCalls/callElapsed.d.ts.map +1 -0
  369. package/lib/typescript/components/VideoCalls/callLive.d.ts +9 -0
  370. package/lib/typescript/components/VideoCalls/callLive.d.ts.map +1 -0
  371. package/lib/typescript/components/VideoCalls/callSessionController.d.ts +10 -31
  372. package/lib/typescript/components/VideoCalls/callSessionController.d.ts.map +1 -1
  373. package/lib/typescript/components/VideoCalls/callSessionTypes.d.ts +60 -0
  374. package/lib/typescript/components/VideoCalls/callSessionTypes.d.ts.map +1 -0
  375. package/lib/typescript/components/VideoCalls/groupLayout.d.ts +23 -0
  376. package/lib/typescript/components/VideoCalls/groupLayout.d.ts.map +1 -0
  377. package/lib/typescript/components/VideoCalls/p2pCallSession.d.ts +31 -0
  378. package/lib/typescript/components/VideoCalls/p2pCallSession.d.ts.map +1 -0
  379. package/lib/typescript/components/VideoCalls/useCallKeep.d.ts.map +1 -1
  380. package/lib/typescript/components/VideoCalls/useOngoingCallNotification.d.ts.map +1 -1
  381. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  382. package/lib/typescript/helpers/callPush.d.ts +11 -1
  383. package/lib/typescript/helpers/callPush.d.ts.map +1 -1
  384. package/lib/typescript/helpers/incomingCallFromPush.d.ts.map +1 -1
  385. package/lib/typescript/helpers/pushPayload.d.ts +1 -1
  386. package/lib/typescript/helpers/pushPayload.d.ts.map +1 -1
  387. package/lib/typescript/helpers/reportRoom.d.ts +19 -0
  388. package/lib/typescript/helpers/reportRoom.d.ts.map +1 -0
  389. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  390. package/lib/typescript/main.d.ts +6 -1
  391. package/lib/typescript/main.d.ts.map +1 -1
  392. package/lib/typescript/networking/api-requests/callState.api.d.ts +25 -0
  393. package/lib/typescript/networking/api-requests/callState.api.d.ts.map +1 -0
  394. package/lib/typescript/networking/api-requests/push.api.d.ts +9 -2
  395. package/lib/typescript/networking/api-requests/push.api.d.ts.map +1 -1
  396. package/lib/typescript/networking/api-requests/rooms.api.d.ts +2 -1
  397. package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
  398. package/lib/typescript/networking/api-requests/scheduledCalls.api.d.ts +86 -0
  399. package/lib/typescript/networking/api-requests/scheduledCalls.api.d.ts.map +1 -0
  400. package/lib/typescript/networking/callTokenStanza.d.ts.map +1 -1
  401. package/lib/typescript/roomStore/callSlice.d.ts +23 -1
  402. package/lib/typescript/roomStore/callSlice.d.ts.map +1 -1
  403. package/lib/typescript/services/appBadge.d.ts +3 -0
  404. package/lib/typescript/services/appBadge.d.ts.map +1 -0
  405. package/lib/typescript/services/languageSettings.d.ts +7 -0
  406. package/lib/typescript/services/languageSettings.d.ts.map +1 -1
  407. package/lib/typescript/services/pushRegistration.d.ts.map +1 -1
  408. package/lib/typescript/types/types.d.ts +67 -4
  409. package/lib/typescript/types/types.d.ts.map +1 -1
  410. package/lib/typescript/version.d.ts +1 -1
  411. package/package.json +1 -1
  412. package/src/booking/index.ts +10 -0
  413. package/src/booking/pendingScheduledCall.ts +272 -0
  414. package/src/booking/scheduleForm.ts +84 -0
  415. package/src/booking/scheduledCall.ts +163 -0
  416. package/src/booking/scheduledCallActions.ts +141 -0
  417. package/src/booking/scheduledCallLink.ts +145 -0
  418. package/src/booking/scheduledCallStore.ts +69 -0
  419. package/src/booking/startRoomCall.ts +103 -0
  420. package/src/calls/callBusy.ts +10 -0
  421. package/src/calls/callDisplay.ts +74 -0
  422. package/src/calls/callMode.ts +286 -0
  423. package/src/calls/declineReport.ts +16 -0
  424. package/src/calls/p2p/P2PCallController.ts +813 -0
  425. package/src/calls/p2p/icePolicy.ts +99 -0
  426. package/src/calls/p2p/negotiator.ts +186 -0
  427. package/src/calls/p2p/p2pRuntime.ts +164 -0
  428. package/src/calls/p2p/signalInbox.ts +117 -0
  429. package/src/calls/p2p/signalStanza.ts +205 -0
  430. package/src/calls/p2p/webrtcRuntime.ts +60 -0
  431. package/src/calls/senderTrust.ts +40 -0
  432. package/src/calls/startCall.ts +56 -0
  433. package/src/components/Booking/BookingIcons.tsx +44 -0
  434. package/src/components/Booking/ScheduleCallButton.tsx +66 -0
  435. package/src/components/Booking/ScheduleCallSheet.tsx +380 -0
  436. package/src/components/Booking/ScheduledCallCard.tsx +216 -0
  437. package/src/components/Booking/ScheduledCallHost.tsx +18 -0
  438. package/src/components/Booking/ScheduledCallMessage.tsx +62 -0
  439. package/src/components/Booking/ScheduledCallPreJoin.tsx +230 -0
  440. package/src/components/Booking/bookingShared.tsx +295 -0
  441. package/src/components/MainComponents/ChatHeader.tsx +2 -0
  442. package/src/components/MainComponents/LanguageSelectorButton.tsx +9 -2
  443. package/src/components/MainComponents/LanguageSelectorModal.tsx +10 -6
  444. package/src/components/MainComponents/MessageContainer.tsx +15 -0
  445. package/src/components/MainComponents/ReduxWrapper.tsx +10 -0
  446. package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +22 -22
  447. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +28 -9
  448. package/src/components/Modals/UserSettingsModal/LanguageCard.tsx +9 -7
  449. package/src/components/VideoCalls/ActiveCallBar.tsx +6 -5
  450. package/src/components/VideoCalls/CallButtons.tsx +23 -12
  451. package/src/components/VideoCalls/CallControlBar.tsx +131 -0
  452. package/src/components/VideoCalls/CallVideo.tsx +59 -0
  453. package/src/components/VideoCalls/GroupCallView.tsx +324 -0
  454. package/src/components/VideoCalls/P2PCallRunner.tsx +192 -0
  455. package/src/components/VideoCalls/VideoCallOverlay.tsx +62 -17
  456. package/src/components/VideoCalls/VideoCallSession.tsx +55 -133
  457. package/src/components/VideoCalls/callActions.ts +3 -0
  458. package/src/components/VideoCalls/callElapsed.ts +27 -0
  459. package/src/components/VideoCalls/callLive.ts +13 -0
  460. package/src/components/VideoCalls/callSessionController.ts +130 -55
  461. package/src/components/VideoCalls/callSessionTypes.ts +80 -0
  462. package/src/components/VideoCalls/groupLayout.ts +48 -0
  463. package/src/components/VideoCalls/p2pCallSession.ts +291 -0
  464. package/src/components/VideoCalls/useCallKeep.ts +9 -2
  465. package/src/components/VideoCalls/useOngoingCallNotification.ts +2 -2
  466. package/src/context/xmppProvider.tsx +3 -0
  467. package/src/helpers/callPush.ts +13 -1
  468. package/src/helpers/incomingCallFromPush.ts +65 -7
  469. package/src/helpers/pushPayload.ts +9 -1
  470. package/src/helpers/reportRoom.ts +93 -0
  471. package/src/i18n/strings.ts +444 -0
  472. package/src/main.ts +33 -0
  473. package/src/networking/api-requests/callState.api.ts +83 -0
  474. package/src/networking/api-requests/push.api.ts +28 -3
  475. package/src/networking/api-requests/rooms.api.ts +12 -3
  476. package/src/networking/api-requests/scheduledCalls.api.ts +232 -0
  477. package/src/networking/callTokenStanza.ts +247 -50
  478. package/src/roomStore/callSlice.ts +86 -2
  479. package/src/services/appBadge.ts +85 -0
  480. package/src/services/languageSettings.ts +43 -8
  481. package/src/services/pushRegistration.ts +34 -3
  482. package/src/types/types.ts +70 -4
  483. package/src/version.ts +1 -1
@@ -0,0 +1,93 @@
1
+ import type { PostReportRoom } from '../types/models/room.model';
2
+
3
+ // Report categories as the reader sees them (`labelKey`) and as the backend
4
+ // accepts them (`apiCategory`). POST /v1/chats/reports/:chatName validates
5
+ // `category` against a fixed lowercase list ("spam", "violance" [sic, that is
6
+ // the server's spelling], "pornography", "personal details", "illegal drugs",
7
+ // "other") and requires a non-empty `text`, so the UI ids must never go on
8
+ // the wire as they are. A category the server has no value for is sent as
9
+ // "other" with its English name at the start of the text, so a moderator
10
+ // reading the report e-mail still sees what was picked.
11
+ export interface ReportCategory {
12
+ id: string;
13
+ labelKey: string;
14
+ apiCategory: string;
15
+ /** English name, used in `text` (the report e-mail is not localized). */
16
+ name: string;
17
+ }
18
+
19
+ export const REPORT_CATEGORIES: ReportCategory[] = [
20
+ {
21
+ id: 'spam',
22
+ labelKey: 'report.category.spam',
23
+ apiCategory: 'spam',
24
+ name: 'Spam',
25
+ },
26
+ {
27
+ id: 'violence',
28
+ labelKey: 'report.category.violence',
29
+ apiCategory: 'violance',
30
+ name: 'Violence',
31
+ },
32
+ {
33
+ id: 'childAbuse',
34
+ labelKey: 'report.category.childAbuse',
35
+ apiCategory: 'other',
36
+ name: 'Child Abuse',
37
+ },
38
+ {
39
+ id: 'pornography',
40
+ labelKey: 'report.category.pornography',
41
+ apiCategory: 'pornography',
42
+ name: 'Pornography',
43
+ },
44
+ {
45
+ id: 'personalDetails',
46
+ labelKey: 'report.category.personalDetails',
47
+ apiCategory: 'personal details',
48
+ name: 'Personal Details',
49
+ },
50
+ {
51
+ id: 'illegalDrugs',
52
+ labelKey: 'report.category.illegalDrugs',
53
+ apiCategory: 'illegal drugs',
54
+ name: 'Illegal Drugs',
55
+ },
56
+ ];
57
+
58
+ export const OTHER_REPORT_CATEGORY: ReportCategory = {
59
+ id: 'other',
60
+ labelKey: 'report.category.other',
61
+ apiCategory: 'other',
62
+ name: 'Other',
63
+ };
64
+
65
+ export const findReportCategory = (id: string): ReportCategory | undefined =>
66
+ [...REPORT_CATEGORIES, OTHER_REPORT_CATEGORY].find((c) => c.id === id);
67
+
68
+ /**
69
+ * The request body for a room report. `roomJid` may be the full room JID or
70
+ * the bare room name: the route takes the bare name (JID localpart), like
71
+ * every other /v1/chats/... route. Returns null for an unknown category or
72
+ * an empty room.
73
+ */
74
+ export const buildReportRoomPayload = (
75
+ roomJid: string,
76
+ categoryId: string,
77
+ details?: string
78
+ ): PostReportRoom | null => {
79
+ const chatName = String(roomJid || '')
80
+ .trim()
81
+ .split('@')[0];
82
+ const category = findReportCategory(categoryId);
83
+ if (!chatName || !category) return null;
84
+
85
+ const note = String(details || '').trim();
86
+ const prefix =
87
+ category.apiCategory === 'other' && category !== OTHER_REPORT_CATEGORY
88
+ ? category.name
89
+ : '';
90
+ const text = [prefix, note].filter(Boolean).join(': ') || category.name;
91
+
92
+ return { chatName, category: category.apiCategory, text };
93
+ };
@@ -155,6 +155,78 @@ const en: UiStringTable = {
155
155
  'call.error.noAnswerTimeout': 'No answer, the call timed out',
156
156
  'call.peerMuted': '{name} is muted',
157
157
  'call.selfMuted': 'Your microphone is muted',
158
+ 'call.incomingNeutral': 'Incoming call',
159
+ 'call.incomingGroupAudio': 'Incoming group audio call',
160
+ 'call.incomingGroupVideo': 'Incoming group video call',
161
+ 'call.groupAudioCall': 'Group audio call',
162
+ 'call.groupVideoCall': 'Group video call',
163
+ 'call.callingIn': '{caller} is calling in {room}',
164
+ 'call.status.waitingForOthers': 'Waiting for others...',
165
+ 'call.status.participants': '{count} participants',
166
+ 'call.status.speaking': 'Speaking: {names}',
167
+ 'call.status.reconnecting': 'Reconnecting...',
168
+ 'call.participant.you': 'You',
169
+ 'call.participant.default': 'Participant',
170
+ 'call.participant.micOff': 'Microphone is off',
171
+ 'call.error.p2pPeerMedia': 'The other person could not access their camera or microphone',
172
+ 'call.error.p2pConnect': 'The call could not be connected',
173
+ 'call.error.p2pSetup': 'Could not set up the call',
174
+ 'call.error.p2pConnectionLost': 'Connection lost',
175
+ 'call.error.p2pNoPeer': 'Cannot reach the other participant',
176
+ 'booking.action.schedule': 'Schedule a call',
177
+ 'booking.sheet.createTitle': 'Schedule a call',
178
+ 'booking.sheet.editTitle': 'Edit scheduled call',
179
+ 'booking.field.title': 'Title',
180
+ 'booking.field.notes': 'Notes',
181
+ 'booking.field.notesPlaceholder': 'Optional',
182
+ 'booking.field.date': 'Date',
183
+ 'booking.field.time': 'Time',
184
+ 'booking.field.duration': 'Duration',
185
+ 'booking.field.kind': 'Type',
186
+ 'booking.duration.minutes': '{n} min',
187
+ 'booking.action.create': 'Schedule',
188
+ 'booking.action.save': 'Save',
189
+ 'booking.action.edit': 'Edit',
190
+ 'booking.action.cancelCall': 'Cancel call',
191
+ 'booking.action.keepCall': 'Keep call',
192
+ 'booking.action.join': 'Join',
193
+ 'booking.action.close': 'Close',
194
+ 'booking.calendar.add': 'Add to calendar',
195
+ 'booking.calendar.google': 'Google Calendar',
196
+ 'booking.calendar.outlook': 'Outlook',
197
+ 'booking.calendar.ics': '.ics file',
198
+ 'booking.state.upcoming': 'Scheduled',
199
+ 'booking.state.startingSoon': 'Starting soon',
200
+ 'booking.state.inProgress': 'In progress',
201
+ 'booking.state.ended': 'Ended',
202
+ 'booking.state.cancelled': 'Cancelled',
203
+ 'booking.state.updated': 'Updated',
204
+ 'booking.card.starts': '{date} at {time}',
205
+ 'booking.card.opensAt': 'You can join from {time}',
206
+ 'booking.prejoin.title': 'Scheduled call',
207
+ 'booking.prejoin.hint': 'The call starts only when you tap Join.',
208
+ 'booking.prejoin.joinFrom': 'Joining opens at {time}',
209
+ 'booking.error.notMember': 'You are not a member of this chat',
210
+ 'booking.error.notFound': 'Call not found',
211
+ 'booking.error.cancelled': 'This call was cancelled',
212
+ 'booking.error.failed': 'Could not load the call. Try again.',
213
+ 'booking.error.save': 'Could not save the call',
214
+ 'booking.error.cancel': 'Could not cancel the call',
215
+ 'booking.error.pastTime': 'Pick a time in the future',
216
+ 'booking.error.busy': 'Finish your current call first',
217
+ 'booking.error.joinFailed': 'Could not start the call',
218
+ 'booking.error.callsOff': 'Calls are turned off',
219
+ 'booking.error.openLink': 'Could not open the link',
220
+ 'booking.confirm.cancelTitle': 'Cancel this call?',
221
+ 'booking.confirm.cancelMessage': 'Everyone in the chat will see it as cancelled.',
222
+ 'booking.toast.scheduled': 'Call scheduled',
223
+ 'booking.toast.updated': 'Call updated',
224
+ 'booking.toast.cancelled': 'Call cancelled',
225
+ 'booking.a11y.previousDay': 'Previous day',
226
+ 'booking.a11y.nextDay': 'Next day',
227
+ 'booking.a11y.earlier': 'Earlier',
228
+ 'booking.a11y.later': 'Later',
229
+ 'booking.scheduleCallLabel': 'Schedule a call',
158
230
  'action.send': 'Send',
159
231
  'action.cancel': 'Cancel',
160
232
  'action.save': 'Save',
@@ -217,6 +289,8 @@ const en: UiStringTable = {
217
289
  'toast.roomCreating': 'Room is being created...',
218
290
  'toast.success': 'Success!',
219
291
  'toast.successTitle': 'Success',
292
+ 'toast.reportSent': 'Report sent. Thank you.',
293
+ 'toast.reportFailed': 'Could not send the report. Please try again.',
220
294
  'toast.roomCreatedSuccess': 'Room created successfully!',
221
295
  'toast.usersAddedSuccess': 'Users added successfully!',
222
296
  'toast.roomImageUpdated': 'Room image updated successfully',
@@ -566,6 +640,78 @@ const fr: UiStringTable = {
566
640
  'call.error.noAnswerTimeout': 'Pas de réponse, l\'appel a expiré',
567
641
  'call.peerMuted': '{name} a coupé son micro',
568
642
  'call.selfMuted': 'Votre micro est coupé',
643
+ 'call.incomingNeutral': 'Appel entrant',
644
+ 'call.incomingGroupAudio': 'Appel audio de groupe entrant',
645
+ 'call.incomingGroupVideo': 'Appel vidéo de groupe entrant',
646
+ 'call.groupAudioCall': 'Appel audio de groupe',
647
+ 'call.groupVideoCall': 'Appel vidéo de groupe',
648
+ 'call.callingIn': '{caller} appelle dans {room}',
649
+ 'call.status.waitingForOthers': 'En attente des autres...',
650
+ 'call.status.participants': '{count} participants',
651
+ 'call.status.speaking': 'Prend la parole : {names}',
652
+ 'call.status.reconnecting': 'Reconnexion...',
653
+ 'call.participant.you': 'Vous',
654
+ 'call.participant.default': 'Participant',
655
+ 'call.participant.micOff': 'Le micro est coupé',
656
+ 'call.error.p2pPeerMedia': "Votre correspondant n'a pas pu accéder à sa caméra ou à son micro",
657
+ 'call.error.p2pConnect': "L'appel n'a pas pu être établi",
658
+ 'call.error.p2pSetup': "Impossible de préparer l'appel",
659
+ 'call.error.p2pConnectionLost': 'Connexion perdue',
660
+ 'call.error.p2pNoPeer': "Impossible de joindre l'autre participant",
661
+ 'booking.action.schedule': 'Planifier un appel',
662
+ 'booking.sheet.createTitle': 'Planifier un appel',
663
+ 'booking.sheet.editTitle': 'Modifier l\'appel planifié',
664
+ 'booking.field.title': 'Titre',
665
+ 'booking.field.notes': 'Notes',
666
+ 'booking.field.notesPlaceholder': 'Facultatif',
667
+ 'booking.field.date': 'Date',
668
+ 'booking.field.time': 'Heure',
669
+ 'booking.field.duration': 'Durée',
670
+ 'booking.field.kind': 'Type',
671
+ 'booking.duration.minutes': '{n} min',
672
+ 'booking.action.create': 'Planifier',
673
+ 'booking.action.save': 'Enregistrer',
674
+ 'booking.action.edit': 'Modifier',
675
+ 'booking.action.cancelCall': 'Annuler l\'appel',
676
+ 'booking.action.keepCall': 'Garder l\'appel',
677
+ 'booking.action.join': 'Rejoindre',
678
+ 'booking.action.close': 'Fermer',
679
+ 'booking.calendar.add': 'Ajouter au calendrier',
680
+ 'booking.calendar.google': 'Google Agenda',
681
+ 'booking.calendar.outlook': 'Outlook',
682
+ 'booking.calendar.ics': 'Fichier .ics',
683
+ 'booking.state.upcoming': 'Planifié',
684
+ 'booking.state.startingSoon': 'Bientôt',
685
+ 'booking.state.inProgress': 'En cours',
686
+ 'booking.state.ended': 'Terminé',
687
+ 'booking.state.cancelled': 'Annulé',
688
+ 'booking.state.updated': 'Modifié',
689
+ 'booking.card.starts': '{date} à {time}',
690
+ 'booking.card.opensAt': 'Vous pouvez rejoindre à partir de {time}',
691
+ 'booking.prejoin.title': 'Appel planifié',
692
+ 'booking.prejoin.hint': 'L\'appel ne démarre que lorsque vous touchez Rejoindre.',
693
+ 'booking.prejoin.joinFrom': 'Rejoindre sera possible à {time}',
694
+ 'booking.error.notMember': 'Vous n\'êtes pas membre de ce chat',
695
+ 'booking.error.notFound': 'Appel introuvable',
696
+ 'booking.error.cancelled': 'Cet appel a été annulé',
697
+ 'booking.error.failed': 'Impossible de charger l\'appel. Réessayez.',
698
+ 'booking.error.save': 'Impossible d\'enregistrer l\'appel',
699
+ 'booking.error.cancel': 'Impossible d\'annuler l\'appel',
700
+ 'booking.error.pastTime': 'Choisissez une heure dans le futur',
701
+ 'booking.error.busy': 'Terminez d\'abord votre appel en cours',
702
+ 'booking.error.joinFailed': 'Impossible de démarrer l\'appel',
703
+ 'booking.error.callsOff': 'Les appels sont désactivés',
704
+ 'booking.error.openLink': 'Impossible d\'ouvrir le lien',
705
+ 'booking.confirm.cancelTitle': 'Annuler cet appel ?',
706
+ 'booking.confirm.cancelMessage': 'Tous les membres du chat le verront comme annulé.',
707
+ 'booking.toast.scheduled': 'Appel planifié',
708
+ 'booking.toast.updated': 'Appel modifié',
709
+ 'booking.toast.cancelled': 'Appel annulé',
710
+ 'booking.a11y.previousDay': 'Jour précédent',
711
+ 'booking.a11y.nextDay': 'Jour suivant',
712
+ 'booking.a11y.earlier': 'Plus tôt',
713
+ 'booking.a11y.later': 'Plus tard',
714
+ 'booking.scheduleCallLabel': 'Planifier un appel',
569
715
  'action.send': 'Envoyer',
570
716
  'action.cancel': 'Annuler',
571
717
  'action.save': 'Enregistrer',
@@ -628,6 +774,8 @@ const fr: UiStringTable = {
628
774
  'toast.roomCreating': 'Le salon est en cours de création...',
629
775
  'toast.success': 'Succès !',
630
776
  'toast.successTitle': 'Succès',
777
+ 'toast.reportSent': 'Signalement envoyé. Merci.',
778
+ 'toast.reportFailed': "Impossible d'envoyer le signalement. Veuillez réessayer.",
631
779
  'toast.roomCreatedSuccess': 'Salon créé avec succès !',
632
780
  'toast.usersAddedSuccess': 'Utilisateurs ajoutés avec succès !',
633
781
  'toast.roomImageUpdated': 'Image du salon mise à jour avec succès',
@@ -977,6 +1125,78 @@ const es: UiStringTable = {
977
1125
  'call.error.noAnswerTimeout': 'Sin respuesta, la llamada expiró',
978
1126
  'call.peerMuted': '{name} tiene el micrófono silenciado',
979
1127
  'call.selfMuted': 'Tu micrófono está silenciado',
1128
+ 'call.incomingNeutral': 'Llamada entrante',
1129
+ 'call.incomingGroupAudio': 'Llamada de audio grupal entrante',
1130
+ 'call.incomingGroupVideo': 'Videollamada grupal entrante',
1131
+ 'call.groupAudioCall': 'Llamada de audio grupal',
1132
+ 'call.groupVideoCall': 'Videollamada grupal',
1133
+ 'call.callingIn': '{caller} está llamando en {room}',
1134
+ 'call.status.waitingForOthers': 'Esperando a los demás...',
1135
+ 'call.status.participants': '{count} participantes',
1136
+ 'call.status.speaking': 'Hablando: {names}',
1137
+ 'call.status.reconnecting': 'Reconectando...',
1138
+ 'call.participant.you': 'Tú',
1139
+ 'call.participant.default': 'Participante',
1140
+ 'call.participant.micOff': 'El micrófono está apagado',
1141
+ 'call.error.p2pPeerMedia': 'La otra persona no pudo acceder a su cámara o micrófono',
1142
+ 'call.error.p2pConnect': 'No se pudo establecer la llamada',
1143
+ 'call.error.p2pSetup': 'No se pudo preparar la llamada',
1144
+ 'call.error.p2pConnectionLost': 'Conexión perdida',
1145
+ 'call.error.p2pNoPeer': 'No se puede contactar con el otro participante',
1146
+ 'booking.action.schedule': 'Programar una llamada',
1147
+ 'booking.sheet.createTitle': 'Programar una llamada',
1148
+ 'booking.sheet.editTitle': 'Editar llamada programada',
1149
+ 'booking.field.title': 'Título',
1150
+ 'booking.field.notes': 'Notas',
1151
+ 'booking.field.notesPlaceholder': 'Opcional',
1152
+ 'booking.field.date': 'Fecha',
1153
+ 'booking.field.time': 'Hora',
1154
+ 'booking.field.duration': 'Duración',
1155
+ 'booking.field.kind': 'Tipo',
1156
+ 'booking.duration.minutes': '{n} min',
1157
+ 'booking.action.create': 'Programar',
1158
+ 'booking.action.save': 'Guardar',
1159
+ 'booking.action.edit': 'Editar',
1160
+ 'booking.action.cancelCall': 'Cancelar llamada',
1161
+ 'booking.action.keepCall': 'Mantener llamada',
1162
+ 'booking.action.join': 'Unirse',
1163
+ 'booking.action.close': 'Cerrar',
1164
+ 'booking.calendar.add': 'Añadir al calendario',
1165
+ 'booking.calendar.google': 'Google Calendar',
1166
+ 'booking.calendar.outlook': 'Outlook',
1167
+ 'booking.calendar.ics': 'Archivo .ics',
1168
+ 'booking.state.upcoming': 'Programada',
1169
+ 'booking.state.startingSoon': 'Empieza pronto',
1170
+ 'booking.state.inProgress': 'En curso',
1171
+ 'booking.state.ended': 'Finalizada',
1172
+ 'booking.state.cancelled': 'Cancelada',
1173
+ 'booking.state.updated': 'Actualizada',
1174
+ 'booking.card.starts': '{date} a las {time}',
1175
+ 'booking.card.opensAt': 'Puedes unirte desde las {time}',
1176
+ 'booking.prejoin.title': 'Llamada programada',
1177
+ 'booking.prejoin.hint': 'La llamada solo empieza cuando tocas Unirse.',
1178
+ 'booking.prejoin.joinFrom': 'Podrás unirte a las {time}',
1179
+ 'booking.error.notMember': 'No eres miembro de este chat',
1180
+ 'booking.error.notFound': 'Llamada no encontrada',
1181
+ 'booking.error.cancelled': 'Esta llamada fue cancelada',
1182
+ 'booking.error.failed': 'No se pudo cargar la llamada. Inténtalo de nuevo.',
1183
+ 'booking.error.save': 'No se pudo guardar la llamada',
1184
+ 'booking.error.cancel': 'No se pudo cancelar la llamada',
1185
+ 'booking.error.pastTime': 'Elige una hora futura',
1186
+ 'booking.error.busy': 'Termina primero tu llamada actual',
1187
+ 'booking.error.joinFailed': 'No se pudo iniciar la llamada',
1188
+ 'booking.error.callsOff': 'Las llamadas están desactivadas',
1189
+ 'booking.error.openLink': 'No se pudo abrir el enlace',
1190
+ 'booking.confirm.cancelTitle': '¿Cancelar esta llamada?',
1191
+ 'booking.confirm.cancelMessage': 'Todos en el chat la verán como cancelada.',
1192
+ 'booking.toast.scheduled': 'Llamada programada',
1193
+ 'booking.toast.updated': 'Llamada actualizada',
1194
+ 'booking.toast.cancelled': 'Llamada cancelada',
1195
+ 'booking.a11y.previousDay': 'Día anterior',
1196
+ 'booking.a11y.nextDay': 'Día siguiente',
1197
+ 'booking.a11y.earlier': 'Más temprano',
1198
+ 'booking.a11y.later': 'Más tarde',
1199
+ 'booking.scheduleCallLabel': 'Programar una llamada',
980
1200
  'action.send': 'Enviar',
981
1201
  'action.cancel': 'Cancelar',
982
1202
  'action.save': 'Guardar',
@@ -1039,6 +1259,8 @@ const es: UiStringTable = {
1039
1259
  'toast.roomCreating': 'La sala se está creando...',
1040
1260
  'toast.success': '¡Éxito!',
1041
1261
  'toast.successTitle': 'Éxito',
1262
+ 'toast.reportSent': 'Reporte enviado. Gracias.',
1263
+ 'toast.reportFailed': 'No se pudo enviar el reporte. Inténtalo de nuevo.',
1042
1264
  'toast.roomCreatedSuccess': '¡Sala creada correctamente!',
1043
1265
  'toast.usersAddedSuccess': '¡Usuarios añadidos correctamente!',
1044
1266
  'toast.roomImageUpdated': 'Imagen de la sala actualizada correctamente',
@@ -1388,6 +1610,78 @@ const pt: UiStringTable = {
1388
1610
  'call.error.noAnswerTimeout': 'Sem resposta, a chamada expirou',
1389
1611
  'call.peerMuted': '{name} está com o microfone desativado',
1390
1612
  'call.selfMuted': 'Seu microfone está desativado',
1613
+ 'call.incomingNeutral': 'Chamada recebida',
1614
+ 'call.incomingGroupAudio': 'Chamada de áudio em grupo recebida',
1615
+ 'call.incomingGroupVideo': 'Chamada de vídeo em grupo recebida',
1616
+ 'call.groupAudioCall': 'Chamada de áudio em grupo',
1617
+ 'call.groupVideoCall': 'Chamada de vídeo em grupo',
1618
+ 'call.callingIn': '{caller} está a ligar em {room}',
1619
+ 'call.status.waitingForOthers': 'À espera dos outros...',
1620
+ 'call.status.participants': '{count} participantes',
1621
+ 'call.status.speaking': 'A falar: {names}',
1622
+ 'call.status.reconnecting': 'A religar...',
1623
+ 'call.participant.you': 'Você',
1624
+ 'call.participant.default': 'Participante',
1625
+ 'call.participant.micOff': 'O microfone está desativado',
1626
+ 'call.error.p2pPeerMedia': 'A outra pessoa não conseguiu aceder à câmara ou ao microfone',
1627
+ 'call.error.p2pConnect': 'Não foi possível estabelecer a chamada',
1628
+ 'call.error.p2pSetup': 'Não foi possível preparar a chamada',
1629
+ 'call.error.p2pConnectionLost': 'Ligação perdida',
1630
+ 'call.error.p2pNoPeer': 'Não é possível contactar o outro participante',
1631
+ 'booking.action.schedule': 'Agendar uma chamada',
1632
+ 'booking.sheet.createTitle': 'Agendar uma chamada',
1633
+ 'booking.sheet.editTitle': 'Editar chamada agendada',
1634
+ 'booking.field.title': 'Título',
1635
+ 'booking.field.notes': 'Notas',
1636
+ 'booking.field.notesPlaceholder': 'Opcional',
1637
+ 'booking.field.date': 'Data',
1638
+ 'booking.field.time': 'Hora',
1639
+ 'booking.field.duration': 'Duração',
1640
+ 'booking.field.kind': 'Tipo',
1641
+ 'booking.duration.minutes': '{n} min',
1642
+ 'booking.action.create': 'Agendar',
1643
+ 'booking.action.save': 'Salvar',
1644
+ 'booking.action.edit': 'Editar',
1645
+ 'booking.action.cancelCall': 'Cancelar chamada',
1646
+ 'booking.action.keepCall': 'Manter chamada',
1647
+ 'booking.action.join': 'Entrar',
1648
+ 'booking.action.close': 'Fechar',
1649
+ 'booking.calendar.add': 'Adicionar ao calendário',
1650
+ 'booking.calendar.google': 'Google Agenda',
1651
+ 'booking.calendar.outlook': 'Outlook',
1652
+ 'booking.calendar.ics': 'Arquivo .ics',
1653
+ 'booking.state.upcoming': 'Agendada',
1654
+ 'booking.state.startingSoon': 'Começa em breve',
1655
+ 'booking.state.inProgress': 'Em andamento',
1656
+ 'booking.state.ended': 'Encerrada',
1657
+ 'booking.state.cancelled': 'Cancelada',
1658
+ 'booking.state.updated': 'Atualizada',
1659
+ 'booking.card.starts': '{date} às {time}',
1660
+ 'booking.card.opensAt': 'Você pode entrar a partir das {time}',
1661
+ 'booking.prejoin.title': 'Chamada agendada',
1662
+ 'booking.prejoin.hint': 'A chamada só começa quando você tocar em Entrar.',
1663
+ 'booking.prejoin.joinFrom': 'Você poderá entrar às {time}',
1664
+ 'booking.error.notMember': 'Você não é membro deste chat',
1665
+ 'booking.error.notFound': 'Chamada não encontrada',
1666
+ 'booking.error.cancelled': 'Esta chamada foi cancelada',
1667
+ 'booking.error.failed': 'Não foi possível carregar a chamada. Tente novamente.',
1668
+ 'booking.error.save': 'Não foi possível salvar a chamada',
1669
+ 'booking.error.cancel': 'Não foi possível cancelar a chamada',
1670
+ 'booking.error.pastTime': 'Escolha um horário futuro',
1671
+ 'booking.error.busy': 'Termine primeiro a chamada atual',
1672
+ 'booking.error.joinFailed': 'Não foi possível iniciar a chamada',
1673
+ 'booking.error.callsOff': 'As chamadas estão desativadas',
1674
+ 'booking.error.openLink': 'Não foi possível abrir o link',
1675
+ 'booking.confirm.cancelTitle': 'Cancelar esta chamada?',
1676
+ 'booking.confirm.cancelMessage': 'Todos no chat verão a chamada como cancelada.',
1677
+ 'booking.toast.scheduled': 'Chamada agendada',
1678
+ 'booking.toast.updated': 'Chamada atualizada',
1679
+ 'booking.toast.cancelled': 'Chamada cancelada',
1680
+ 'booking.a11y.previousDay': 'Dia anterior',
1681
+ 'booking.a11y.nextDay': 'Próximo dia',
1682
+ 'booking.a11y.earlier': 'Mais cedo',
1683
+ 'booking.a11y.later': 'Mais tarde',
1684
+ 'booking.scheduleCallLabel': 'Agendar uma chamada',
1391
1685
  'action.send': 'Enviar',
1392
1686
  'action.cancel': 'Cancelar',
1393
1687
  'action.save': 'Guardar',
@@ -1450,6 +1744,8 @@ const pt: UiStringTable = {
1450
1744
  'toast.roomCreating': 'A sala está a ser criada...',
1451
1745
  'toast.success': 'Sucesso!',
1452
1746
  'toast.successTitle': 'Sucesso',
1747
+ 'toast.reportSent': 'Denúncia enviada. Obrigado.',
1748
+ 'toast.reportFailed': 'Não foi possível enviar a denúncia. Tente novamente.',
1453
1749
  'toast.roomCreatedSuccess': 'Sala criada com sucesso!',
1454
1750
  'toast.usersAddedSuccess': 'Utilizadores adicionados com sucesso!',
1455
1751
  'toast.roomImageUpdated': 'Imagem da sala atualizada com sucesso',
@@ -1799,6 +2095,78 @@ const ht: UiStringTable = {
1799
2095
  'call.error.noAnswerTimeout': 'Pa gen repons, apèl la fini',
1800
2096
  'call.peerMuted': '{name} koupe mikwo li',
1801
2097
  'call.selfMuted': 'Mikwo ou koupe',
2098
+ 'call.incomingNeutral': 'Apèl k ap antre',
2099
+ 'call.incomingGroupAudio': 'Apèl odyo gwoup k ap antre',
2100
+ 'call.incomingGroupVideo': 'Apèl videyo gwoup k ap antre',
2101
+ 'call.groupAudioCall': 'Apèl odyo gwoup',
2102
+ 'call.groupVideoCall': 'Apèl videyo gwoup',
2103
+ 'call.callingIn': '{caller} ap rele nan {room}',
2104
+ 'call.status.waitingForOthers': 'Ap tann lòt yo...',
2105
+ 'call.status.participants': '{count} patisipan',
2106
+ 'call.status.speaking': 'Ap pale : {names}',
2107
+ 'call.status.reconnecting': 'Ap rekonekte...',
2108
+ 'call.participant.you': 'Ou menm',
2109
+ 'call.participant.default': 'Patisipan',
2110
+ 'call.participant.micOff': 'Mikwo a koupe',
2111
+ 'call.error.p2pPeerMedia': 'Lòt moun nan pa t ka jwenn aksè nan kamera oswa mikwo li',
2112
+ 'call.error.p2pConnect': 'Pa t ka konekte apèl la',
2113
+ 'call.error.p2pSetup': 'Pa t ka prepare apèl la',
2114
+ 'call.error.p2pConnectionLost': 'Koneksyon an pèdi',
2115
+ 'call.error.p2pNoPeer': 'Pa ka jwenn lòt patisipan an',
2116
+ 'booking.action.schedule': 'Pwograme yon apèl',
2117
+ 'booking.sheet.createTitle': 'Pwograme yon apèl',
2118
+ 'booking.sheet.editTitle': 'Modifye apèl ki pwograme a',
2119
+ 'booking.field.title': 'Tit',
2120
+ 'booking.field.notes': 'Nòt',
2121
+ 'booking.field.notesPlaceholder': 'Opsyonèl',
2122
+ 'booking.field.date': 'Dat',
2123
+ 'booking.field.time': 'Lè',
2124
+ 'booking.field.duration': 'Dire',
2125
+ 'booking.field.kind': 'Kalite',
2126
+ 'booking.duration.minutes': '{n} min',
2127
+ 'booking.action.create': 'Pwograme',
2128
+ 'booking.action.save': 'Anrejistre',
2129
+ 'booking.action.edit': 'Modifye',
2130
+ 'booking.action.cancelCall': 'Anile apèl la',
2131
+ 'booking.action.keepCall': 'Kenbe apèl la',
2132
+ 'booking.action.join': 'Antre',
2133
+ 'booking.action.close': 'Fèmen',
2134
+ 'booking.calendar.add': 'Ajoute nan kalandriye',
2135
+ 'booking.calendar.google': 'Google Calendar',
2136
+ 'booking.calendar.outlook': 'Outlook',
2137
+ 'booking.calendar.ics': 'Fichye .ics',
2138
+ 'booking.state.upcoming': 'Pwograme',
2139
+ 'booking.state.startingSoon': 'Ap kòmanse talè',
2140
+ 'booking.state.inProgress': 'Ap dewoule',
2141
+ 'booking.state.ended': 'Fini',
2142
+ 'booking.state.cancelled': 'Anile',
2143
+ 'booking.state.updated': 'Mizajou',
2144
+ 'booking.card.starts': '{date} a {time}',
2145
+ 'booking.card.opensAt': 'Ou ka antre depi {time}',
2146
+ 'booking.prejoin.title': 'Apèl pwograme',
2147
+ 'booking.prejoin.hint': 'Apèl la kòmanse sèlman lè ou peze Antre.',
2148
+ 'booking.prejoin.joinFrom': 'Ou ap ka antre a {time}',
2149
+ 'booking.error.notMember': 'Ou pa manm chat sa a',
2150
+ 'booking.error.notFound': 'Apèl la pa jwenn',
2151
+ 'booking.error.cancelled': 'Apèl sa a te anile',
2152
+ 'booking.error.failed': 'Pa t kapab chaje apèl la. Eseye ankò.',
2153
+ 'booking.error.save': 'Pa t kapab anrejistre apèl la',
2154
+ 'booking.error.cancel': 'Pa t kapab anile apèl la',
2155
+ 'booking.error.pastTime': 'Chwazi yon lè nan lavni',
2156
+ 'booking.error.busy': 'Fini apèl ou genyen kounye a anvan',
2157
+ 'booking.error.joinFailed': 'Pa t kapab kòmanse apèl la',
2158
+ 'booking.error.callsOff': 'Apèl yo dezaktive',
2159
+ 'booking.error.openLink': 'Pa t kapab louvri lyen an',
2160
+ 'booking.confirm.cancelTitle': 'Anile apèl sa a?',
2161
+ 'booking.confirm.cancelMessage': 'Tout moun nan chat la ap wè l kòm anile.',
2162
+ 'booking.toast.scheduled': 'Apèl pwograme',
2163
+ 'booking.toast.updated': 'Apèl mizajou',
2164
+ 'booking.toast.cancelled': 'Apèl anile',
2165
+ 'booking.a11y.previousDay': 'Jou anvan',
2166
+ 'booking.a11y.nextDay': 'Jou apre',
2167
+ 'booking.a11y.earlier': 'Pi bonè',
2168
+ 'booking.a11y.later': 'Pi ta',
2169
+ 'booking.scheduleCallLabel': 'Pwograme yon apèl',
1802
2170
  'action.send': 'Voye',
1803
2171
  'action.cancel': 'Anile',
1804
2172
  'action.save': 'Anrejistre',
@@ -1861,6 +2229,8 @@ const ht: UiStringTable = {
1861
2229
  'toast.roomCreating': 'Sal la ap kreye...',
1862
2230
  'toast.success': 'Siksè!',
1863
2231
  'toast.successTitle': 'Siksè',
2232
+ 'toast.reportSent': 'Rapò a voye. Mèsi.',
2233
+ 'toast.reportFailed': 'Nou pa t kapab voye rapò a. Tanpri eseye ankò.',
1864
2234
  'toast.roomCreatedSuccess': 'Sal la kreye avèk siksè!',
1865
2235
  'toast.usersAddedSuccess': 'Itilizatè yo ajoute avèk siksè!',
1866
2236
  'toast.roomImageUpdated': 'Imaj sal la mete ajou avèk siksè',
@@ -2210,6 +2580,78 @@ const zh: UiStringTable = {
2210
2580
  'call.error.noAnswerTimeout': '无人接听,通话已超时',
2211
2581
  'call.peerMuted': '{name} 已静音',
2212
2582
  'call.selfMuted': '你的麦克风已静音',
2583
+ 'call.incomingNeutral': '来电',
2584
+ 'call.incomingGroupAudio': '群组语音来电',
2585
+ 'call.incomingGroupVideo': '群组视频来电',
2586
+ 'call.groupAudioCall': '群组语音通话',
2587
+ 'call.groupVideoCall': '群组视频通话',
2588
+ 'call.callingIn': '{caller} 正在 {room} 中呼叫',
2589
+ 'call.status.waitingForOthers': '正在等待其他人…',
2590
+ 'call.status.participants': '{count} 位参与者',
2591
+ 'call.status.speaking': '正在发言:{names}',
2592
+ 'call.status.reconnecting': '正在重新连接…',
2593
+ 'call.participant.you': '你',
2594
+ 'call.participant.default': '参与者',
2595
+ 'call.participant.micOff': '麦克风已关闭',
2596
+ 'call.error.p2pPeerMedia': '对方无法使用摄像头或麦克风',
2597
+ 'call.error.p2pConnect': '无法接通通话',
2598
+ 'call.error.p2pSetup': '无法准备通话',
2599
+ 'call.error.p2pConnectionLost': '连接已断开',
2600
+ 'call.error.p2pNoPeer': '无法联系到另一位参与者',
2601
+ 'booking.action.schedule': '预约通话',
2602
+ 'booking.sheet.createTitle': '预约通话',
2603
+ 'booking.sheet.editTitle': '编辑预约通话',
2604
+ 'booking.field.title': '标题',
2605
+ 'booking.field.notes': '备注',
2606
+ 'booking.field.notesPlaceholder': '可选',
2607
+ 'booking.field.date': '日期',
2608
+ 'booking.field.time': '时间',
2609
+ 'booking.field.duration': '时长',
2610
+ 'booking.field.kind': '类型',
2611
+ 'booking.duration.minutes': '{n} 分钟',
2612
+ 'booking.action.create': '预约',
2613
+ 'booking.action.save': '保存',
2614
+ 'booking.action.edit': '编辑',
2615
+ 'booking.action.cancelCall': '取消通话',
2616
+ 'booking.action.keepCall': '保留通话',
2617
+ 'booking.action.join': '加入',
2618
+ 'booking.action.close': '关闭',
2619
+ 'booking.calendar.add': '添加到日历',
2620
+ 'booking.calendar.google': 'Google 日历',
2621
+ 'booking.calendar.outlook': 'Outlook',
2622
+ 'booking.calendar.ics': '.ics 文件',
2623
+ 'booking.state.upcoming': '已预约',
2624
+ 'booking.state.startingSoon': '即将开始',
2625
+ 'booking.state.inProgress': '进行中',
2626
+ 'booking.state.ended': '已结束',
2627
+ 'booking.state.cancelled': '已取消',
2628
+ 'booking.state.updated': '已更新',
2629
+ 'booking.card.starts': '{date} {time}',
2630
+ 'booking.card.opensAt': '{time} 起可加入',
2631
+ 'booking.prejoin.title': '预约通话',
2632
+ 'booking.prejoin.hint': '只有点击加入后通话才会开始。',
2633
+ 'booking.prejoin.joinFrom': '{time} 起可加入',
2634
+ 'booking.error.notMember': '你不是此聊天的成员',
2635
+ 'booking.error.notFound': '未找到通话',
2636
+ 'booking.error.cancelled': '此通话已取消',
2637
+ 'booking.error.failed': '无法加载通话,请重试。',
2638
+ 'booking.error.save': '无法保存通话',
2639
+ 'booking.error.cancel': '无法取消通话',
2640
+ 'booking.error.pastTime': '请选择未来的时间',
2641
+ 'booking.error.busy': '请先结束当前通话',
2642
+ 'booking.error.joinFailed': '无法开始通话',
2643
+ 'booking.error.callsOff': '通话已关闭',
2644
+ 'booking.error.openLink': '无法打开链接',
2645
+ 'booking.confirm.cancelTitle': '取消此通话?',
2646
+ 'booking.confirm.cancelMessage': '聊天中的所有人都会看到它已取消。',
2647
+ 'booking.toast.scheduled': '通话已预约',
2648
+ 'booking.toast.updated': '通话已更新',
2649
+ 'booking.toast.cancelled': '通话已取消',
2650
+ 'booking.a11y.previousDay': '前一天',
2651
+ 'booking.a11y.nextDay': '后一天',
2652
+ 'booking.a11y.earlier': '提前',
2653
+ 'booking.a11y.later': '推迟',
2654
+ 'booking.scheduleCallLabel': '预约通话',
2213
2655
  'action.send': '发送',
2214
2656
  'action.cancel': '取消',
2215
2657
  'action.save': '保存',
@@ -2272,6 +2714,8 @@ const zh: UiStringTable = {
2272
2714
  'toast.roomCreating': '正在创建聊天室...',
2273
2715
  'toast.success': '成功!',
2274
2716
  'toast.successTitle': '成功',
2717
+ 'toast.reportSent': '举报已发送,谢谢。',
2718
+ 'toast.reportFailed': '无法发送举报,请重试。',
2275
2719
  'toast.roomCreatedSuccess': '聊天室创建成功!',
2276
2720
  'toast.usersAddedSuccess': '用户添加成功!',
2277
2721
  'toast.roomImageUpdated': '聊天室图片更新成功',
package/src/main.ts CHANGED
@@ -42,6 +42,38 @@ export type { CallPushIntent } from './helpers/incomingCallFromPush';
42
42
  export { isCallPush, parseCallPush } from './helpers/callPush';
43
43
  export type { ParsedCallPush } from './helpers/callPush';
44
44
  export type { PushPayloadOutcome } from './helpers/pushPayload';
45
+
46
+ // Scheduled calls and their deep links. The host passes incoming URLs and
47
+ // reminder-push data in; see README, "Scheduled calls and deep links".
48
+ export {
49
+ parseScheduledCallLink,
50
+ configureScheduledCallLinks,
51
+ DEFAULT_SCHEDULED_CALL_HOSTS,
52
+ } from './booking/scheduledCallLink';
53
+ export type { ScheduledCallLinkOptions } from './booking/scheduledCallLink';
54
+ export {
55
+ openScheduledCall,
56
+ handleScheduledCallUrl,
57
+ handleScheduledCallPush,
58
+ isScheduledCallReminderPush,
59
+ scheduledCallSlugFromPush,
60
+ SCHEDULED_CALL_REMINDER_PUSH_TYPE,
61
+ } from './booking/pendingScheduledCall';
62
+ export {
63
+ getScheduledCall,
64
+ listScheduledCalls,
65
+ createScheduledCall,
66
+ updateScheduledCall,
67
+ cancelScheduledCall,
68
+ isScheduledCallApiError,
69
+ } from './networking/api-requests/scheduledCalls.api';
70
+ export type {
71
+ ScheduledCall,
72
+ ScheduledCallDetail,
73
+ ScheduledCallLinks,
74
+ CreateScheduledCallInput,
75
+ UpdateScheduledCallInput,
76
+ } from './networking/api-requests/scheduledCalls.api';
45
77
  export {
46
78
  registerPushToken,
47
79
  unregisterPushToken,
@@ -128,6 +160,7 @@ export type {
128
160
  RNFontSource,
129
161
  ChatTextStyle,
130
162
  VideoCallsConfig,
163
+ ScheduledCallsConfig,
131
164
  VideoCallIcons,
132
165
  OngoingCallNotification,
133
166
  OngoingCallNotificationAction,