@ethora/chat-component-rn 26.7.9 → 26.7.10
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.
- package/CHANGELOG.md +3 -0
- package/README.md +10 -0
- package/lib/commonjs/components/MainComponents/ChatRoom.js +63 -15
- package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +58 -14
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/getServerReadTimestamp.js +66 -3
- package/lib/commonjs/helpers/getServerReadTimestamp.js.map +1 -1
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js +51 -9
- package/lib/commonjs/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/commonjs/helpers/keyboardLayout.js +12 -2
- package/lib/commonjs/helpers/keyboardLayout.js.map +1 -1
- package/lib/commonjs/helpers/msgSortableMs.js +37 -0
- package/lib/commonjs/helpers/msgSortableMs.js.map +1 -0
- package/lib/commonjs/hooks/useChatRoomFocus.js +31 -7
- package/lib/commonjs/hooks/useChatRoomFocus.js.map +1 -1
- package/lib/commonjs/hooks/useLogout.js +8 -0
- package/lib/commonjs/hooks/useLogout.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +66 -32
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/components/MainComponents/ChatRoom.js +65 -17
- package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
- package/lib/module/context/xmppProvider.js +59 -15
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/getServerReadTimestamp.js +63 -2
- package/lib/module/helpers/getServerReadTimestamp.js.map +1 -1
- package/lib/module/helpers/insertMessageWithDelimiter.js +52 -9
- package/lib/module/helpers/insertMessageWithDelimiter.js.map +1 -1
- package/lib/module/helpers/keyboardLayout.js +12 -2
- package/lib/module/helpers/keyboardLayout.js.map +1 -1
- package/lib/module/helpers/msgSortableMs.js +32 -0
- package/lib/module/helpers/msgSortableMs.js.map +1 -0
- package/lib/module/hooks/useChatRoomFocus.js +33 -9
- package/lib/module/hooks/useChatRoomFocus.js.map +1 -1
- package/lib/module/hooks/useLogout.js +8 -0
- package/lib/module/hooks/useLogout.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +53 -27
- package/lib/module/roomStore/roomsSlice.js.map +1 -1
- package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/helpers/getServerReadTimestamp.d.ts +40 -1
- package/lib/typescript/helpers/getServerReadTimestamp.d.ts.map +1 -1
- package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts +1 -1
- package/lib/typescript/helpers/insertMessageWithDelimiter.d.ts.map +1 -1
- package/lib/typescript/helpers/keyboardLayout.d.ts +5 -1
- package/lib/typescript/helpers/keyboardLayout.d.ts.map +1 -1
- package/lib/typescript/helpers/msgSortableMs.d.ts +2 -0
- package/lib/typescript/helpers/msgSortableMs.d.ts.map +1 -0
- package/lib/typescript/hooks/useChatRoomFocus.d.ts.map +1 -1
- package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts +29 -2
- package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +1 -0
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/MainComponents/ChatRoom.tsx +68 -17
- package/src/context/xmppProvider.tsx +87 -18
- package/src/helpers/getServerReadTimestamp.ts +79 -2
- package/src/helpers/insertMessageWithDelimiter.ts +55 -19
- package/src/helpers/keyboardLayout.ts +23 -2
- package/src/helpers/msgSortableMs.ts +25 -0
- package/src/hooks/useChatRoomFocus.ts +39 -8
- package/src/hooks/useLogout.tsx +14 -0
- package/src/roomStore/roomsSlice.ts +74 -22
- package/src/types/types.ts +14 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,7 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); this pr
|
|
|
7
7
|
|
|
8
8
|
### Added
|
|
9
9
|
|
|
10
|
+
- **`config.inputDockPaddingBottom`** - controls the input dock's bottom padding directly, used verbatim on both platforms when a number is given (0 allowed), instead of the built-in default (iOS safe-area inset, 12dp on Android). Customer-reported #44.
|
|
10
11
|
- **`handlePushPayload(data)` / `openRoomFromPush(jid)` are exported from the package root.** The host owns the native push side (token, permission, tap listeners) and hands the tapped notification's `data` to `handlePushPayload`: a call push rings, a message push (`data.jid` / `chatJid` / `roomJid`) opens its room — immediately when the room list is loaded, otherwise as soon as it is (`usePendingNotification` is now mounted in `ChatWrapper` and actually opens the room; it used to find it and do nothing). The pending jid is also persisted (with a 5-minute TTL), so a tap handled by a JS context that gets replaced right after (cold-start races) still opens the room on the next mount.
|
|
11
12
|
- **`config.headerLayout.safeAreaTop`** — the room-list and chat header cards pad their top by the safe-area inset and run under the status bar as one white surface. Hosts used to wrap `<Chat>` in a top-edge `SafeAreaView`, which painted its own white band above the card; on Android the card's elevation drew a hairline seam where the two met. Off by default, so existing hosts keep their layout; when on, drop the host-side top inset.
|
|
12
13
|
|
|
@@ -57,6 +58,7 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); this pr
|
|
|
57
58
|
|
|
58
59
|
### Fixed
|
|
59
60
|
|
|
61
|
+
- **Leaving a room while scrolled up marked genuinely-unread messages as read, locally and on the server (customer #42, a regression of #33 reintroduced by #38).** #38 anchored the read marker to the newest server-acknowledged message instead of `Date.now()`, but every "leaving this room" path (unmount, AppState background, the host's `isVisible` prop going false, the live `advance()` effect, `useChatRoomFocus`) then stamped that newest message unconditionally, regardless of how far the user had actually scrolled - and because the private-store merge is forward-only, a later correct (smaller) marker could never overwrite the wrong one. A per-room read boundary (`rooms.readBoundaries`, populated by `MessageList` the moment the user scrolls away from the bottom) is now the single source every one of those paths consults via the new `getReadMarkerTimestamp` helper, and is carried through to the server write as `visibleRoomTs`. Also fixed: the "New messages" divider landed one message too high (above the last read message instead of directly below it). The divider was positioned by comparing `msg.date` strings against `new Date(marker).toString()`, and `Date.prototype.toString()` has second precision - the marker was silently truncated down to the whole second, so the very message it points at compared as "newer" and fell on the unread side, disagreeing by one with the unread count (which compares exact milliseconds). `insertMessageWithDelimiter` now compares numerically, on the same server id-encoded `msgSortableMs` source the unread count itself uses, and also accepts a raw numeric marker (`new Date("1700000000000")` is an Invalid Date, so a numeric-string marker used to make every comparison false).
|
|
60
62
|
- **Push notifications never arrived for users who only ever signed in through this SDK.** The `initBeforeLoad` bootstrap in `XmppProvider` re-joined rooms with presence but never sent the MucSub (`urn:xmpp:mucsub:0`) subscription — only the legacy `ChatWrapper` path did, via `initRoomsPresence`. ejabberd decides whom to push for offline messages by MucSub subscriptions, so such users had a registered device token and still got nothing ("no MucSub subscription" server-side). The bootstrap and the reconnect `onOnline` handler now subscribe every room in the store after the presence pass, regardless of how that pass ended; `pushSubscriptionService` still dedupes rooms already subscribed on the device.
|
|
61
63
|
- **MucSub subscriptions are sent in parallel batches and carry unique IQ ids.** The pass used to be strictly sequential (await + 100 ms pause per room, 5 s timeout each), so a user with a few dozen rooms needed minutes and a backgrounded socket died long before the end, leaving most rooms unsubscribed. Ids were `newSubscription:<Date.now()>`, which in a batch made every request resolve on the first reply. A refused subscription now logs the server's condition (`registration-required`, `forbidden`, …) so room-config / affiliation problems are visible instead of silent.
|
|
62
64
|
- **The XMPP stream is closed as soon as the app goes to the background** (`XmppClient.suspend()`), and reopened on foreground (`resume()` → immediate reconnect). Android keeps a backgrounded WebSocket alive for minutes; while it lived, ejabberd still saw the user online and routed new messages into the socket instead of sending a push — so only the very first push after a cold start ever arrived, and nothing after the app had been opened and backgrounded again. The suspend is immediate, not deferred: RN pauses JS timers while an Android app is backgrounded. A reconnect that was in flight when the app got backgrounded closes its fresh socket at once, and `resume()` skips the 3 s `stop()` timeout on the already-closed client. Opt out with `xmppSettings.keepAliveInBackground: true`.
|
|
@@ -78,6 +80,7 @@ The repo itself now lives on **Expo SDK 57 (RN 0.86.2, React 19.2.8, New Archite
|
|
|
78
80
|
|
|
79
81
|
### Changed
|
|
80
82
|
|
|
83
|
+
- **The input dock's bottom padding now defaults to `0` when `disableKeyboardAvoidingView` is set** (it used to be the iOS safe-area inset / 12dp on Android regardless). A host that owns keyboard layout typically already places the chat above its own chrome, e.g. a tab bar, and the built-in padding added a visible extra gap there (customer-reported #44). **Behaviour change for existing consumers of `disableKeyboardAvoidingView`:** if your chat does sit at the very bottom of the screen and you want the old inset back, set `config.inputDockPaddingBottom` explicitly. Hosts that do not set `disableKeyboardAvoidingView` are unaffected.
|
|
81
84
|
- **Dev/test toolchain moved SDK 54 → 57**: `expo ~57`, `react-native 0.86.2`, `react 19.2.8`, `jest-expo ~57`, all `expo-*` dev pins to `57.x`, `reanimated ~4.5`, `worklets ~0.10`, `gesture-handler ~2.32`, `screens ~4.26`, `safe-area-context ~5.7`, `svg 15.15.4`, `netinfo 12`. LiveKit dev pins moved to the RN 0.86 line: `@livekit/react-native 2.12.0`, `@livekit/react-native-webrtc 144.1.2`, `livekit-client 2.21.0`.
|
|
82
85
|
- **iOS `deploymentTarget` 15.1 → 16.4** in `app.json` — the minimum `expo-modules-core@57` accepts.
|
|
83
86
|
- **`StyleSheet.absoluteFillObject` → `StyleSheet.absoluteFill`** across 9 files: RN 0.86 removed `absoluteFillObject` entirely; `absoluteFill` is the same plain object on every RN version our peer range spans, so spreads keep working for SDK 54 consumers.
|
package/README.md
CHANGED
|
@@ -18,6 +18,7 @@ React Native chat UI + chat core for iOS and Android, powered by the Ethora plat
|
|
|
18
18
|
- [Unread tracking in tab-based hosts](#unread-tracking-in-tab-based-hosts)
|
|
19
19
|
- [Logging out](#logging-out)
|
|
20
20
|
- [Customization flags worth knowing](#customization-flags-worth-knowing)
|
|
21
|
+
- [Keyboard handling](#keyboard-handling)
|
|
21
22
|
- [Header height & font sizing](#header-height--font-sizing)
|
|
22
23
|
- [Quality & test coverage](#quality--test-coverage)
|
|
23
24
|
- [Local development](#local-development)
|
|
@@ -314,6 +315,15 @@ Why awaitable: the persistence layer debounces writes by 200 ms, and the chat sl
|
|
|
314
315
|
| `disableConnectionErrorOverlay` | Replaces the full-screen "Connection error" overlay with a small, non-blocking `ConnectionBanner`. Set this when a transient reconnect shouldn't take over the whole screen. |
|
|
315
316
|
| `eventHandlers.onMessageRetry` | `(event) => void` fired when the user taps the "Failed — tap to retry" indicator on a stuck send. Use for telemetry / surfacing a retry banner. |
|
|
316
317
|
|
|
318
|
+
## Keyboard handling
|
|
319
|
+
|
|
320
|
+
| Flag | What it does |
|
|
321
|
+
| --- | --- |
|
|
322
|
+
| `disableKeyboardAvoidingView` | Opts out of the built-in `KeyboardAvoidingView`, so a host app that already wraps `<Chat>` in its own keyboard handling doesn't get a second one avoiding the keyboard on top of it. |
|
|
323
|
+
| `keyboardStickyInput` | Wraps only the input dock in a `KeyboardStickyView` instead of avoiding the keyboard for the whole chat tree, so the message list never resizes. Ignored when `disableKeyboardAvoidingView` is set. |
|
|
324
|
+
| `keyboardVerticalOffset` | Pass-through offset added on top of the iOS safe-area inset when avoiding the keyboard. |
|
|
325
|
+
| `inputDockPaddingBottom` | Bottom padding on the input dock (the composer's outer wrapper). When a number is given (0 allowed), it is used verbatim on both platforms. Left unset, it defaults to `0` when `disableKeyboardAvoidingView` is set, since the host then owns layout and the chat is typically already placed above the host's own chrome (e.g. a tab bar) - the built-in padding would otherwise add an extra gap. Otherwise it is unchanged: the iOS safe-area inset, or a fixed 12dp gap on Android. |
|
|
326
|
+
|
|
317
327
|
## Header height & font sizing
|
|
318
328
|
|
|
319
329
|
### Header height (`headerLayout.height`)
|
|
@@ -179,30 +179,64 @@ const ChatRoom = /*#__PURE__*/_react.default.memo(({
|
|
|
179
179
|
// Tracks what the user actually saw: `null` while they're at the
|
|
180
180
|
// bottom (safe to mark everything read), or the timestamp of the
|
|
181
181
|
// newest message visible when they scrolled away from it. Reported
|
|
182
|
-
// by MessageList via onReadBoundaryChange
|
|
183
|
-
//
|
|
184
|
-
//
|
|
185
|
-
//
|
|
186
|
-
|
|
182
|
+
// by MessageList via onReadBoundaryChange, and mirrored into redux
|
|
183
|
+
// (`rooms.readBoundaries`) rather than kept only in a local ref - it
|
|
184
|
+
// is the single source of truth every "leaving this room" path
|
|
185
|
+
// consults (xmppProvider's AppState background handler, its
|
|
186
|
+
// `isVisible=false` handler, the live `advance()` effect, and
|
|
187
|
+
// `useChatRoomFocus`'s `leaveRoom`), not just this component's own
|
|
188
|
+
// unmount cleanup below. Without a boundary, leaving a room (or
|
|
189
|
+
// backgrounding) while scrolled up stamped `now()` (bug #33) or,
|
|
190
|
+
// after the #38 fix, the newest acked message regardless of scroll
|
|
191
|
+
// position (bug #42) - both silently discard genuinely-unread
|
|
192
|
+
// messages.
|
|
193
|
+
//
|
|
194
|
+
// MessageList reports the boundary from onScroll, which fires on
|
|
195
|
+
// every frame of a drag (the "back at the bottom" branch re-reports
|
|
196
|
+
// `null` each time). Mirror only actual CHANGES into redux: an
|
|
197
|
+
// unconditional dispatch per scroll frame would run the whole
|
|
198
|
+
// middleware chain and, worse, reset persistenceMiddleware's 200 ms
|
|
199
|
+
// debounce on every frame, starving the persisted write for as long
|
|
200
|
+
// as the user keeps scrolling.
|
|
201
|
+
const lastBoundarySentRef = (0, _react.useRef)(null);
|
|
187
202
|
const handleReadBoundaryChange = (0, _react.useCallback)(boundaryTs => {
|
|
188
|
-
|
|
189
|
-
|
|
203
|
+
if (!activeRoomJID) {
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
const next = boundaryTs && boundaryTs > 0 ? boundaryTs : null;
|
|
207
|
+
if (lastBoundarySentRef.current === next) {
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
lastBoundarySentRef.current = next;
|
|
211
|
+
dispatch((0, _roomsSlice.setReadBoundary)({
|
|
212
|
+
jid: activeRoomJID,
|
|
213
|
+
ts: next
|
|
214
|
+
}));
|
|
215
|
+
}, [activeRoomJID, dispatch]);
|
|
190
216
|
(0, _react.useEffect)(() => {
|
|
191
217
|
if (!activeRoomJID) {
|
|
192
218
|
return;
|
|
193
219
|
}
|
|
194
|
-
|
|
220
|
+
lastBoundarySentRef.current = null;
|
|
221
|
+
dispatch((0, _roomsSlice.setReadBoundary)({
|
|
222
|
+
jid: activeRoomJID,
|
|
223
|
+
ts: null
|
|
224
|
+
}));
|
|
195
225
|
dispatch((0, _roomsSlice.setVisibleRoom)({
|
|
196
226
|
roomJID: activeRoomJID
|
|
197
227
|
}));
|
|
198
228
|
setIsLoadingMore(false);
|
|
199
229
|
return () => {
|
|
200
|
-
const
|
|
201
|
-
const
|
|
202
|
-
|
|
230
|
+
const state = _roomStore.store.getState();
|
|
231
|
+
const rooms = state.rooms?.rooms;
|
|
232
|
+
const heapState = state.roomHeapSlice;
|
|
233
|
+
const boundaryTs = state.rooms?.readBoundaries?.[activeRoomJID] ?? null;
|
|
234
|
+
// getReadMarkerTimestamp honours the boundary (the newest message
|
|
235
|
+
// the user actually reached) when one is set, and otherwise falls
|
|
236
|
+
// back to the newest server-acked message - never the device
|
|
203
237
|
// clock: a fast device clock would write a future marker that the
|
|
204
238
|
// forward-only private-store merge could never correct (bug #38).
|
|
205
|
-
const timestamp =
|
|
239
|
+
const timestamp = (0, _getServerReadTimestamp.getReadMarkerTimestamp)(rooms?.[activeRoomJID], heapState, boundaryTs);
|
|
206
240
|
if (timestamp > 0) {
|
|
207
241
|
dispatch((0, _roomsSlice.setLastViewedTimestamp)({
|
|
208
242
|
chatJID: activeRoomJID,
|
|
@@ -217,15 +251,27 @@ const ChatRoom = /*#__PURE__*/_react.default.memo(({
|
|
|
217
251
|
// Carry the same boundary to the SERVER marker. Without
|
|
218
252
|
// this the flush defaults to "everything" for the visible
|
|
219
253
|
// room, so messages the user never scrolled down to come
|
|
220
|
-
// back as read on the next login
|
|
254
|
+
// back as read on the next login - the local count was
|
|
221
255
|
// right but the server overrode it.
|
|
222
|
-
|
|
256
|
+
// Clamped through the same helper as the local stamp -
|
|
257
|
+
// an unclamped boundary would bypass the newest-acked
|
|
258
|
+
// ceiling on the one path where a bad value is permanent
|
|
259
|
+
// (the private-store merge is forward-only, bug #38).
|
|
260
|
+
visibleRoomTs: (0, _getServerReadTimestamp.getFlushBoundaryTs)(rooms?.[activeRoomJID], heapState, boundaryTs)
|
|
223
261
|
}).catch(() => {});
|
|
224
262
|
}
|
|
225
263
|
dispatch((0, _roomsSlice.deleteRoomMessage)({
|
|
226
264
|
roomJID: activeRoomJID,
|
|
227
265
|
messageId: 'delimiter-new'
|
|
228
266
|
}));
|
|
267
|
+
// The room is genuinely being left (unmount, or activeRoomJID
|
|
268
|
+
// changed to a different room) - release the boundary now that
|
|
269
|
+
// it's been consumed, so a stale value can't leak into the next
|
|
270
|
+
// time this room becomes visible.
|
|
271
|
+
dispatch((0, _roomsSlice.clearReadBoundary)({
|
|
272
|
+
jid: activeRoomJID
|
|
273
|
+
}));
|
|
274
|
+
lastBoundarySentRef.current = null;
|
|
229
275
|
setIsLoadingMore(false);
|
|
230
276
|
};
|
|
231
277
|
}, [activeRoomJID, dispatch]);
|
|
@@ -249,7 +295,9 @@ const ChatRoom = /*#__PURE__*/_react.default.memo(({
|
|
|
249
295
|
});
|
|
250
296
|
const inputDockPaddingBottom = (0, _keyboardLayout.getInputDockPaddingBottom)({
|
|
251
297
|
platform: _reactNative.Platform.OS,
|
|
252
|
-
bottomInset: insets.bottom
|
|
298
|
+
bottomInset: insets.bottom,
|
|
299
|
+
configuredPadding: configWithEventHandlers?.inputDockPaddingBottom,
|
|
300
|
+
hostOwnsLayout: !!configWithEventHandlers?.disableKeyboardAvoidingView
|
|
253
301
|
});
|
|
254
302
|
|
|
255
303
|
// Keyboard avoidance is delegated to react-native-keyboard-controller's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_StyledComponents","_reactRedux","_MessageList","_interopRequireDefault","_SendInput","_roomsSlice","_Loader","_xmppProvider","_ChatHeader","_NoMessagesPlaceholder","_NewChatModal","_EditWrapper","_EmptyChatIllustration","_getIconColor","_getChatBackground","_ChooseChatMessage","_useSendMessage","_useRoomInitialization","_useRoomState","_useChatSettingState","_isOwnMessage","_CustomTypingIndicator","_reactNative","_reactNativeKeyboardController","_useComposing","_roomStore","_getServerReadTimestamp","_reactNativeSafeAreaContext","_keyboardLayout","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ChatRoom","React","memo","CustomMessageComponent","CustomInputComponent","CustomScrollableArea","CustomDaySeparator","CustomNewMessageLabel","handleBackClick","eventHandlers","propsEventHandlers","client","useXmppClient","dispatch","useDispatch","insets","useSafeAreaInsets","isLoadingMore","setIsLoadingMore","useState","user","config","storeConfig","useChatSettingState","configWithEventHandlers","useMemo","roomsList","activeRoomJID","editAction","loading","globalLoading","roomMessages","useRoomState","sendMessage","sendMs","sendMedia","sendMessageMedia","sendEditMessage","isLastMessageFromUserAndProcessing","useSendMessage","sendStartComposing","sendEndComposing","useComposing","stickyInputEnabled","disableKeyboardAvoidingView","keyboardStickyInput","useEffect","onAppStateChange","nextState","Keyboard","dismiss","subscription","AppState","addEventListener","remove","useCallback","message","data","type","loadMoreMessages","chatJID","max","idOfMessageBefore","historyComplete","lastMsgId","Number","messages","length","id","getHistoryStanza","jid","onCloseEdit","setEditAction","isEdit","clientRef","useRef","current","readBoundaryRef","handleReadBoundaryChange","boundaryTs","setVisibleRoom","roomJID","rooms","store","getState","heapState","roomHeapSlice","timestamp","getServerReadTimestamp","setLastViewedTimestamp","clearVisibleRoom","liveClient","flushLastViewedToPrivateStoreStanza","visibleRoomJID","visibleRoomTs","catch","deleteRoomMessage","messageId","useRoomInitialization","keys","jsx","NonRoomChat","children","ChooseChatMessage","keyboardVerticalOffset","getKeyboardVerticalOffset","platform","Platform","OS","configuredOffset","bottomInset","bottom","inputDockPaddingBottom","getInputDockPaddingBottom","noKeyboardHandling","stickyInput","avoidKeyboard","KeyboardWrapper","KeyboardAvoidingView","View","keyboardWrapperProps","style","flex","behavior","InputDockTag","KeyboardStickyView","inputDockProps","paddingBottom","backgroundColor","borderTopLeftRadius","borderTopRightRadius","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","offset","closed","opened","jsxs","ChatContainer","getChatBackgroundColor","chatRoomStyles","disableHeader","currentRoom","chatHeaderAdditional","enabled","element","justifyContent","alignItems","color","colors","primary","EmptyChatIllustration","getIconColor","decoratedMessages","map","msg","idx","showDateLabel","Date","date","toDateString","isLoading","isReply","renderMessage","decorated","isUser","isOwnMessage","scrollController","scrollToBottom","waitForImagesLoaded","showScrollButton","newMessagesCount","resetNewMessageCounter","typingIndicator","composing","customTypingIndicator","customComponent","usersTyping","composingList","text","isVisible","undefined","CustomMessage","onReadBoundaryChange","EditWrapper","onClose","onFocus","onBlur","isMessageProcessing","editMessage","position","styles","_default","exports"],"sourceRoot":"../../../../src","sources":["components/MainComponents/ChatRoom.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_StyledComponents","_reactRedux","_MessageList","_interopRequireDefault","_SendInput","_roomsSlice","_Loader","_xmppProvider","_ChatHeader","_NoMessagesPlaceholder","_NewChatModal","_EditWrapper","_EmptyChatIllustration","_getIconColor","_getChatBackground","_ChooseChatMessage","_useSendMessage","_useRoomInitialization","_useRoomState","_useChatSettingState","_isOwnMessage","_CustomTypingIndicator","_reactNative","_reactNativeKeyboardController","_useComposing","_roomStore","_getServerReadTimestamp","_reactNativeSafeAreaContext","_keyboardLayout","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ChatRoom","React","memo","CustomMessageComponent","CustomInputComponent","CustomScrollableArea","CustomDaySeparator","CustomNewMessageLabel","handleBackClick","eventHandlers","propsEventHandlers","client","useXmppClient","dispatch","useDispatch","insets","useSafeAreaInsets","isLoadingMore","setIsLoadingMore","useState","user","config","storeConfig","useChatSettingState","configWithEventHandlers","useMemo","roomsList","activeRoomJID","editAction","loading","globalLoading","roomMessages","useRoomState","sendMessage","sendMs","sendMedia","sendMessageMedia","sendEditMessage","isLastMessageFromUserAndProcessing","useSendMessage","sendStartComposing","sendEndComposing","useComposing","stickyInputEnabled","disableKeyboardAvoidingView","keyboardStickyInput","useEffect","onAppStateChange","nextState","Keyboard","dismiss","subscription","AppState","addEventListener","remove","useCallback","message","data","type","loadMoreMessages","chatJID","max","idOfMessageBefore","historyComplete","lastMsgId","Number","messages","length","id","getHistoryStanza","jid","onCloseEdit","setEditAction","isEdit","clientRef","useRef","current","lastBoundarySentRef","handleReadBoundaryChange","boundaryTs","next","setReadBoundary","ts","setVisibleRoom","roomJID","state","store","getState","rooms","heapState","roomHeapSlice","readBoundaries","timestamp","getReadMarkerTimestamp","setLastViewedTimestamp","clearVisibleRoom","liveClient","flushLastViewedToPrivateStoreStanza","visibleRoomJID","visibleRoomTs","getFlushBoundaryTs","catch","deleteRoomMessage","messageId","clearReadBoundary","useRoomInitialization","keys","jsx","NonRoomChat","children","ChooseChatMessage","keyboardVerticalOffset","getKeyboardVerticalOffset","platform","Platform","OS","configuredOffset","bottomInset","bottom","inputDockPaddingBottom","getInputDockPaddingBottom","configuredPadding","hostOwnsLayout","noKeyboardHandling","stickyInput","avoidKeyboard","KeyboardWrapper","KeyboardAvoidingView","View","keyboardWrapperProps","style","flex","behavior","InputDockTag","KeyboardStickyView","inputDockProps","paddingBottom","backgroundColor","borderTopLeftRadius","borderTopRightRadius","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","offset","closed","opened","jsxs","ChatContainer","getChatBackgroundColor","chatRoomStyles","disableHeader","currentRoom","chatHeaderAdditional","enabled","element","justifyContent","alignItems","color","colors","primary","EmptyChatIllustration","getIconColor","decoratedMessages","map","msg","idx","showDateLabel","Date","date","toDateString","isLoading","isReply","renderMessage","decorated","isUser","isOwnMessage","scrollController","scrollToBottom","waitForImagesLoaded","showScrollButton","newMessagesCount","resetNewMessageCounter","typingIndicator","composing","customTypingIndicator","customComponent","usersTyping","composingList","text","isVisible","undefined","CustomMessage","onReadBoundaryChange","EditWrapper","onClose","onFocus","onBlur","isMessageProcessing","editMessage","position","styles","_default","exports"],"sourceRoot":"../../../../src","sources":["components/MainComponents/ChatRoom.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -546,7 +546,8 @@ const XmppProvider = ({
|
|
|
546
546
|
// Mark the open room "not visible" while backgrounded so messages
|
|
547
547
|
// that arrive (or MAM-replay on reconnect) count as unread instead
|
|
548
548
|
// of being silently treated as read — the "mounted == visible ==
|
|
549
|
-
// read" gap. Stamp lastViewed=<
|
|
549
|
+
// read" gap. Stamp lastViewed=<the read boundary, if the user left
|
|
550
|
+
// scrolled up, else the newest server-acked message>, not
|
|
550
551
|
// Date.now(), as the read baseline: a device clock running ahead
|
|
551
552
|
// would otherwise write a future marker that the forward-only
|
|
552
553
|
// private-store merge can never correct again (bug #38). Then
|
|
@@ -555,9 +556,20 @@ const XmppProvider = ({
|
|
|
555
556
|
// here in the provider so consumers using the component as a
|
|
556
557
|
// package get correct unread without reaching into the chat store
|
|
557
558
|
// themselves.
|
|
559
|
+
//
|
|
560
|
+
// The read boundary (rooms.readBoundaries) is deliberately left
|
|
561
|
+
// untouched here - MessageList normally stays mounted through a
|
|
562
|
+
// simple background/foreground cycle, so its own scroll-tracking
|
|
563
|
+
// ref (the only thing that could re-derive this value) is still
|
|
564
|
+
// intact, and clearing the redux copy would desync the two. It's
|
|
565
|
+
// only USED here for the one-shot stamp+flush, matching customer
|
|
566
|
+
// #42: leaving (or backgrounding) a room while scrolled up must not
|
|
567
|
+
// mark messages the user never reached as read.
|
|
558
568
|
visibleBeforeBackground = visibleRoomJID;
|
|
569
|
+
let boundaryTs = null;
|
|
559
570
|
if (visibleRoomJID) {
|
|
560
|
-
|
|
571
|
+
boundaryTs = state.rooms?.readBoundaries?.[visibleRoomJID] ?? null;
|
|
572
|
+
const readTs = (0, _getServerReadTimestamp.getReadMarkerTimestamp)(rooms?.[visibleRoomJID], state.roomHeapSlice, boundaryTs);
|
|
561
573
|
// Nothing to anchor to yet (no known messages, no prior marker)
|
|
562
574
|
// - skip the local stamp rather than fall back to the device
|
|
563
575
|
// clock. The flush below still runs so the visibility clear
|
|
@@ -578,9 +590,14 @@ const XmppProvider = ({
|
|
|
578
590
|
_roomStore.store.dispatch((0, _roomsSlice.clearVisibleRoom)());
|
|
579
591
|
}
|
|
580
592
|
// Fire-and-forget — we're going to the background and don't
|
|
581
|
-
// care about the resolution path.
|
|
593
|
+
// care about the resolution path. `visibleRoomTs` carries the same
|
|
594
|
+
// boundary to the SERVER marker - without it the flush defaults to
|
|
595
|
+
// "everything" for the visible room, overriding a correct smaller
|
|
596
|
+
// local count.
|
|
582
597
|
c.flushLastViewedToPrivateStoreStanza(rooms, {
|
|
583
|
-
visibleRoomJID
|
|
598
|
+
visibleRoomJID,
|
|
599
|
+
// Clamped through the same helper as the local stamp above.
|
|
600
|
+
visibleRoomTs: visibleRoomJID ? (0, _getServerReadTimestamp.getFlushBoundaryTs)(rooms?.[visibleRoomJID], state.roomHeapSlice, boundaryTs) : undefined
|
|
584
601
|
}).catch(() => {});
|
|
585
602
|
});
|
|
586
603
|
return () => sub.remove();
|
|
@@ -616,11 +633,19 @@ const XmppProvider = ({
|
|
|
616
633
|
}));
|
|
617
634
|
}
|
|
618
635
|
} else {
|
|
636
|
+
// The read boundary (rooms.readBoundaries) is USED for the stamp
|
|
637
|
+
// and flush below but deliberately left in place - a host using
|
|
638
|
+
// `isVisible` keeps <Chat> mounted while hidden, so MessageList's
|
|
639
|
+
// own scroll-tracking ref is still intact and the redux copy must
|
|
640
|
+
// stay in sync with it. Only consumed, never Date.now(): a fast
|
|
641
|
+
// device clock would write a future marker that the forward-only
|
|
642
|
+
// private-store merge could then never correct (bug #38). And
|
|
643
|
+
// never "the newest acked message" unconditionally either - that
|
|
644
|
+
// silently marks messages the user scrolled past and never reached
|
|
645
|
+
// as read (bug #42, a regression of #33).
|
|
646
|
+
const boundaryTs = activeRoomJID ? state.rooms?.readBoundaries?.[activeRoomJID] ?? null : null;
|
|
619
647
|
if (wasVisible && activeRoomJID) {
|
|
620
|
-
|
|
621
|
-
// marker that the forward-only private-store merge could then
|
|
622
|
-
// never correct (bug #38).
|
|
623
|
-
const readTs = (0, _getServerReadTimestamp.getServerReadTimestamp)(rooms?.[activeRoomJID], state.roomHeapSlice);
|
|
648
|
+
const readTs = (0, _getServerReadTimestamp.getReadMarkerTimestamp)(rooms?.[activeRoomJID], state.roomHeapSlice, boundaryTs);
|
|
624
649
|
if (readTs > 0) {
|
|
625
650
|
_roomStore.store.dispatch((0, _roomsSlice.setLastViewedTimestamp)({
|
|
626
651
|
chatJID: activeRoomJID,
|
|
@@ -637,7 +662,11 @@ const XmppProvider = ({
|
|
|
637
662
|
_roomStore.store.dispatch((0, _roomsSlice.clearVisibleRoom)());
|
|
638
663
|
if (wasVisible && client?.flushLastViewedToPrivateStoreStanza) {
|
|
639
664
|
client.flushLastViewedToPrivateStoreStanza(rooms, {
|
|
640
|
-
visibleRoomJID: activeRoomJID
|
|
665
|
+
visibleRoomJID: activeRoomJID,
|
|
666
|
+
// Carry the same boundary to the SERVER marker - without it
|
|
667
|
+
// the flush defaults to "everything" for the visible room.
|
|
668
|
+
// Clamped exactly like the local stamp above.
|
|
669
|
+
visibleRoomTs: activeRoomJID ? (0, _getServerReadTimestamp.getFlushBoundaryTs)(rooms?.[activeRoomJID], state.roomHeapSlice, boundaryTs) : undefined
|
|
641
670
|
}).catch(() => {});
|
|
642
671
|
}
|
|
643
672
|
}
|
|
@@ -664,13 +693,21 @@ const XmppProvider = ({
|
|
|
664
693
|
}
|
|
665
694
|
lastMessagesRef = room.messages;
|
|
666
695
|
|
|
667
|
-
//
|
|
696
|
+
// getReadMarkerTimestamp (not a hand-rolled scan + Date.now()):
|
|
668
697
|
// it excludes pending/optimistic messages, which carry the DEVICE
|
|
669
698
|
// send time via `date` until the server echoes them back - a
|
|
670
699
|
// manual scan without that exclusion could pick up a pending
|
|
671
700
|
// message's device timestamp here and write a future marker the
|
|
672
|
-
// same way a raw Date.now() would (bug #38).
|
|
673
|
-
|
|
701
|
+
// same way a raw Date.now() would (bug #38). And when the user has
|
|
702
|
+
// scrolled up (a boundary is set for this room), it clamps to that
|
|
703
|
+
// boundary instead of the newest message - without this, every
|
|
704
|
+
// incoming message while scrolled up advanced the marker to
|
|
705
|
+
// "newest" regardless of scroll position, and the later, smaller
|
|
706
|
+
// boundary write on leave was rejected by the forward-only
|
|
707
|
+
// private-store merge, leaving 0 unread even after a restart
|
|
708
|
+
// (customer #42, a regression of #33 reintroduced by #38).
|
|
709
|
+
const boundaryTs = s.rooms?.readBoundaries?.[jid] ?? null;
|
|
710
|
+
const newest = (0, _getServerReadTimestamp.getReadMarkerTimestamp)(room, s.roomHeapSlice, boundaryTs);
|
|
674
711
|
if (!newest || newest <= lastStampedMs) {
|
|
675
712
|
return;
|
|
676
713
|
}
|
|
@@ -684,8 +721,15 @@ const XmppProvider = ({
|
|
|
684
721
|
}
|
|
685
722
|
if (client?.flushLastViewedToPrivateStoreStanza) {
|
|
686
723
|
flushTimer = setTimeout(() => {
|
|
687
|
-
|
|
688
|
-
|
|
724
|
+
// Re-read fresh state rather than closing over `boundaryTs`:
|
|
725
|
+
// the user may have scrolled back to the bottom (clearing the
|
|
726
|
+
// boundary) in the 2s between the stamp and this flush, and
|
|
727
|
+
// the flush should reflect that.
|
|
728
|
+
const freshState = _roomStore.store.getState();
|
|
729
|
+
const freshBoundaryTs = freshState.rooms?.readBoundaries?.[jid] ?? null;
|
|
730
|
+
client.flushLastViewedToPrivateStoreStanza(freshState.rooms?.rooms, {
|
|
731
|
+
visibleRoomJID: jid,
|
|
732
|
+
visibleRoomTs: (0, _getServerReadTimestamp.getFlushBoundaryTs)(freshState.rooms?.rooms?.[jid], freshState.roomHeapSlice, freshBoundaryTs)
|
|
689
733
|
}).catch(() => {});
|
|
690
734
|
}, 2000);
|
|
691
735
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_netinfo","_interopRequireDefault","_VideoCallOverlay","_xmppClient","_authRefresh","_clientRegistry","_resolveInitBeforeLoadUser","_ensureScopedChatCache","_rooms","_allRoomPresences","_pushSubscriptionService","_roomStore","_chatSettingsSlice","_roomsSlice","_getServerReadTimestamp","_historyPreloadScheduler","_updateMessagesTillLast","_secureUserStorage","_persistence","_devLogger","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","XmppContext","createContext","LOGOUT_EVENT","subscribeAllRoomsForPush","client","reason","rooms","keys","store","getState","length","nick","jid","getLocal","pushSubscriptionService","subscribeToRooms","then","devPushLog","catch","XmppProvider","children","config","isVisible","setClient","useState","providerBootstrapStatus","setProviderBootstrapStatus","initMode","initBeforeLoad","lastCredsRef","useRef","completedBootstrapKeyRef","inflightBootstrapKeyRef","credentialsProvider","useMemo","refreshTokens","enabled","rotated","refreshAuthTokensQuietly","force","xmppPassword","rotatedUser","chatSettingStore","user","username","xmppUsername","defaultWallet","walletAddress","password","fresh","refreshUserCredentialsForXmpp","err","applyResolvedUserToStore","u","jwtLogin","token","userLogin","customLogin","initBeforeLoadAuth","myEndpoint","initializeClient","useCallback","xmppSettings","settings","key","buildXmppClientKey","reusable","getReusableXmppClientByKey","current","isXmppClientReusable","created","withXmppClientInitLock","prevGlobal","getGlobalXmppClient","close","newClient","XmppClient","setCredentialsProvider","setGlobalXmppClient","waitForOnline","console","error","setOnOnline","underlying","allRoomPresences","finally","getChatsPrivateStoreRequestStanza","updateMessagesTillLast","useEffect","abortController","AbortController","cancelled","MAX_BOOTSTRAP_ATTEMPTS","bootstrapAttempt","BOOTSTRAP_BUDGET_MS","reachedReady","budgetTimer","setTimeout","abort","dispatch","setUnreadSyncing","clearBudget","clearTimeout","run","explicitUser","appId","baseUrl","devServer","join","mode","clearStoreBeforeInit","setLogoutState","logout","secureUserStorage","remove","undefined","ensureScopedChatCache","resolved","resolveInitBeforeLoadUser","signal","hasResolved","xmppPasswordPresent","setConfig","connectPassword","restRoomsPromise","prefetchRoomsViaRest","c","getRoomsStanza","roomCount","setStoreClient","qos","historyQoS","activeRoomJID","defaultRoomJids","defaultRooms","map","filter","Boolean","runHistoryPreloadScheduler","selectedRoomJid","concurrency","stagedPreloadConcurrency","pageSize","stagedPreloadFirstPassSize","roomLimit","preloadTopKRooms","warn","aborted","backoff","Math","min","message","status","response","data","id","setInterval","AppState","currentState","suppressReconnect","forceReconnect","ensureStreamAlive","clearInterval","visibleBeforeBackground","suspendInBackground","keepAliveInBackground","sub","addEventListener","next","isSuspended","resume","setVisibleRoom","roomJID","suspend","state","visibleRoomJID","readTs","getServerReadTimestamp","roomHeapSlice","setLastViewedTimestamp","chatJID","timestamp","deleteRoomMessage","messageId","clearVisibleRoom","flushLastViewedToPrivateStoreStanza","chatWasVisibleRef","wasVisible","lastMessagesRef","lastStampedMs","flushTimer","advance","s","room","messages","newest","unsub","subscribe","NetInfo","reachable","isConnected","isInternetReachable","DeviceEventEmitter","addListener","disconnect","clearPersistedState","jsxs","Provider","value","jsx","VideoCallOverlay","exports","useXmppClient","context","useContext","Error","candidates","live","find","emitXmppLogout","emit"],"sourceRoot":"../../../src","sources":["context/xmppProvider.tsx"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAUA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAF,sBAAA,CAAAH,OAAA;AAGA,IAAAM,YAAA,GAAAN,OAAA;AAOA,IAAAO,eAAA,GAAAP,OAAA;AAQA,IAAAQ,0BAAA,GAAAR,OAAA;AAKA,IAAAS,sBAAA,GAAAT,OAAA;AACA,IAAAU,MAAA,GAAAV,OAAA;AACA,IAAAW,iBAAA,GAAAX,OAAA;AACA,IAAAY,wBAAA,GAAAZ,OAAA;AACA,IAAAa,UAAA,GAAAb,OAAA;AACA,IAAAc,kBAAA,GAAAd,OAAA;AACA,IAAAe,WAAA,GAAAf,OAAA;AAQA,IAAAgB,uBAAA,GAAAhB,OAAA;AACA,IAAAiB,wBAAA,GAAAjB,OAAA;AACA,IAAAkB,uBAAA,GAAAlB,OAAA;AACA,IAAAmB,kBAAA,GAAAnB,OAAA;AACA,IAAAoB,YAAA,GAAApB,OAAA;AACA,IAAAqB,UAAA,GAAArB,OAAA;AAA2D,IAAAsB,WAAA,GAAAtB,OAAA;AAAA,SAAAG,uBAAAoB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAxB,wBAAAwB,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAA5B,uBAAA,YAAAA,CAAAwB,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAkB3D,MAAMgB,WAAW,gBAAG,IAAAC,oBAAa,EAAyB,IAAI,CAAC;AAW/D,MAAMC,YAAY,GAAG,oBAAoB;AAEzC,MAAMC,wBAAwB,GAAGA,CAACC,MAAW,EAAEC,MAAc,KAAK;EAChE,MAAMC,KAAK,GAAGT,MAAM,CAACU,IAAI,CAACC,gBAAK,CAACC,QAAQ,CAAC,CAAC,CAACH,KAAK,CAACA,KAAK,IAAI,CAAC,CAAC,CAAC;EAC7D,IAAI,CAACF,MAAM,IAAI,CAACE,KAAK,CAACI,MAAM,EAAE;IAAC;EAAO;EACtC,MAAMC,IAAI,GAAGP,MAAM,CAACQ,GAAG,EAAEC,QAAQ,CAAC,CAAC;EACnCC,gDAAuB,CACpBC,gBAAgB,CAACX,MAAM,EAAEE,KAAK,EAAEK,IAAI,CAAC,CACrCK,IAAI,CAAC,MAAM,IAAAC,kBAAU,EAAC,MAAM,EAAE,GAAGZ,MAAM,mBAAmBC,KAAK,CAACI,MAAM,QAAQ,CAAC,CAAC,CAChFQ,KAAK,CAAErC,CAAC,IAAK,IAAAoC,kBAAU,EAAC,MAAM,EAAE,GAAGZ,MAAM,2BAA2B,EAAExB,CAAC,CAAC,CAAC;AAC9E,CAAC;AAEM,MAAMsC,YAAyC,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,MAAM;EAAEC;AAAU,CAAC,KAAK;EAC5F,MAAM,CAAClB,MAAM,EAAEmB,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAAoB,IAAI,CAAC;EAC7D,MAAM,CAACC,uBAAuB,EAAEC,0BAA0B,CAAC,GACzD,IAAAF,eAAQ,EAA0B,MAAM,CAAC;;EAE3C;EACA;EACA,MAAMG,QAA6B,GAAGN,MAAM,EAAEO,cAAc,GAAG,UAAU,GAAG,MAAM;EAElF,MAAMC,YAAY,GAAG,IAAAC,aAAM,EAAkF,IAAI,CAAC;EAClH,MAAMC,wBAAwB,GAAG,IAAAD,aAAM,EAAS,EAAE,CAAC;EACnD,MAAME,uBAAuB,GAAG,IAAAF,aAAM,EAAS,EAAE,CAAC;;EAElD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMG,mBAAmB,GAAG,IAAAC,cAAO,EAA0B,MAAM;IACjE,OAAO,YAAY;MACjB;MACA;MACA;MACA;MACA;MACA;MACA;MACA,IAAIb,MAAM,EAAEc,aAAa,EAAEC,OAAO,EAAE;QAClC,MAAMC,OAAO,GAAG,MAAM,IAAAC,qCAAwB,EAAC;UAAEC,KAAK,EAAE;QAAK,CAAC,CAAC;QAE/D,IAAIF,OAAO,EAAEG,YAAY,EAAE;UACzB,MAAMC,WAAW,GAAGjC,gBAAK,CAACC,QAAQ,CAAC,CAAC,CAACiC,gBAAgB,CAACC,IAAI;UAC1D,OAAO;YACLC,QAAQ,EACNH,WAAW,EAAEI,YAAY,IACzBJ,WAAW,EAAEK,aAAa,EAAEC,aAAa,IACzC,EAAE;YACJC,QAAQ,EAAEX,OAAO,CAACG;UACpB,CAAC;QACH;MACF;;MAEA;MACA;MACA;MACA;MACA,MAAMS,KAAK,GAAG,MAAM,IAAAC,wDAA6B,EAAC7B,MAAM,CAAC,CAACH,KAAK,CAC5DiC,GAAG,IAAK;QACP,IAAAlC,kBAAU,EAAC,MAAM,EAAE,uCAAuC,EAAEkC,GAAG,CAAC;QAChE,OAAO,IAAI;MACb,CACF,CAAC;MACD,IAAIF,KAAK,EAAE;QACT,IAAAG,mDAAwB,EAACH,KAAK,CAAC;QAC/B,OAAO;UACLL,QAAQ,EACNK,KAAK,CAACJ,YAAY,IAClBI,KAAK,CAACH,aAAa,EAAEC,aAAa,IAClC,EAAE;UACJC,QAAQ,EAAEC,KAAK,CAACT,YAAY,IAAI;QAClC,CAAC;MACH;;MAEA;MACA;MACA;MACA;MACA;MACA;MACA,MAAMa,CAAC,GAAG7C,gBAAK,CAACC,QAAQ,CAAC,CAAC,CAACiC,gBAAgB,CAACC,IAAI;MAChD,OAAO;QACLC,QAAQ,EAAES,CAAC,EAAER,YAAY,IAAIQ,CAAC,EAAEP,aAAa,EAAEC,aAAa,IAAI,EAAE;QAClEC,QAAQ,EAAEK,CAAC,EAAEb,YAAY,IAAI;MAC/B,CAAC;IACH,CAAC;EACH,CAAC,EAAE,CACDnB,MAAM,EAAEiC,QAAQ,EAAElB,OAAO,EACzBf,MAAM,EAAEiC,QAAQ,EAAEC,KAAK,EACvBlC,MAAM,EAAEc,aAAa,EAAEC,OAAO,EAC9Bf,MAAM,EAAEmC,SAAS,EAAEpB,OAAO,EAC1Bf,MAAM,EAAEoC,WAAW,EAAErB,OAAO,EAC5Bf,MAAM,EAAEqC,kBAAkB,EAAEC,UAAU,CACvC,CAAC;EAEF,MAAMC,gBAAgB,GAAG,IAAAC,kBAAW,EAClC,OACEjB,QAAgB,EAChBI,QAAgB,EAChBc,YAAoC,KACZ;IACxB,MAAMC,QAAQ,GAAGD,YAAY,IAAIzC,MAAM,EAAEyC,YAAY;IACrD,MAAME,GAAG,GAAG,IAAAC,kCAAkB,EAACrB,QAAQ,EAAEmB,QAAQ,CAAC;;IAElD;IACA,MAAMG,QAAQ,GAAG,IAAAC,0CAA0B,EAACH,GAAG,CAAC;IAChD,IAAIE,QAAQ,EAAE;MACZ3C,SAAS,CAAC2C,QAAQ,CAAC;MACnBrC,YAAY,CAACuC,OAAO,GAAG;QAAExB,QAAQ;QAAEI,QAAQ;QAAEe;MAAS,CAAC;MACvD,OAAOG,QAAQ;IACjB;;IAEA;IACA,IAAI9D,MAAM,IAAI,IAAAiE,oCAAoB,EAACjE,MAAM,CAAC,EAAE;MAC1CyB,YAAY,CAACuC,OAAO,GAAG;QAAExB,QAAQ;QAAEI,QAAQ;QAAEe;MAAS,CAAC;MACvD,OAAO3D,MAAM;IACf;;IAEA;IACA;IACA,MAAMkE,OAAO,GAAG,MAAM,IAAAC,sCAAsB,EAACP,GAAG,EAAE,YAAY;MAC5D,MAAMQ,UAAU,GAAG,IAAAC,mCAAmB,EAAC,CAAC;MACxC,IAAID,UAAU,EAAE;QACd,IAAI;UAAE,MAAMA,UAAU,CAACE,KAAK,CAAC,CAAC;QAAE,CAAC,CAAC,MAAM,CAAC;MAC3C;MACA,MAAMC,SAAS,GAAG,IAAIC,mBAAU,CAAChC,QAAQ,EAAEI,QAAQ,EAAEe,QAAQ,CAAC;MAC9D;MACA;MACA;MACA;MACA;MACAY,SAAS,CAACE,sBAAsB,CAAC5C,mBAAmB,CAAC;MACrD,IAAA6C,mCAAmB,EAACH,SAAS,EAAEX,GAAG,CAAC;MACnC,MAAMW,SAAS,CAACI,aAAa,CAAC,CAAC,CAAC7D,KAAK,CAAEiC,GAAG,IAAK;QAC7C6B,OAAO,CAACC,KAAK,CAAC,gCAAgC,EAAE9B,GAAG,CAAC;QACpD,MAAMA,GAAG;MACX,CAAC,CAAC;MACF,OAAOwB,SAAS;IAClB,CAAC,CAAC;;IAEF;IACA;IACAL,OAAO,CAACO,sBAAsB,CAAC5C,mBAAmB,CAAC;;IAEnD;IACA;IACA;IACA;IACA;IACA;IACAqC,OAAO,CAACY,WAAW,CAAC,MAAM;MACxB,MAAMC,UAAU,GAAIb,OAAO,CAASlE,MAAM;MAC1C,IAAI,CAAC+E,UAAU,EAAE;QAAC;MAAO;MACzB,IAAAC,kCAAgB,EAACD,UAAU,CAAC,CACzBjE,KAAK,CAAErC,CAAC,IACP,IAAAoC,kBAAU,EAAC,MAAM,EAAE,4CAA4C,EAAEpC,CAAC,CACpE,CAAC,CACAwG,OAAO,CAAC,MAAMlF,wBAAwB,CAACgF,UAAU,EAAE,WAAW,CAAC,CAAC;MACnE;MACA;MACA;MACAb,OAAO,CACJgB,iCAAiC,CAAC,CAAC,CACnCpE,KAAK,CAAErC,CAAU,IAChB,IAAAoC,kBAAU,EAAC,MAAM,EAAE,wCAAwC,EAAEpC,CAAC,CAChE,CAAC;MACH;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA,MAAMyB,KAAK,GAAGE,gBAAK,CAACC,QAAQ,CAAC,CAAC,CAACH,KAAK,EAAEA,KAAK,IAAI,CAAC,CAAC;MACjD,IAAAiF,8CAAsB,EAACjF,KAAK,EAAEgE,OAAO,CAAC,CAACpD,KAAK,CAAErC,CAAU,IACtD,IAAAoC,kBAAU,EAAC,MAAM,EAAE,yCAAyC,EAAEpC,CAAC,CACjE,CAAC;IACH,CAAC,CAAC;IAEF0C,SAAS,CAAC+C,OAAO,CAAC;IAClBzC,YAAY,CAACuC,OAAO,GAAG;MAAExB,QAAQ;MAAEI,QAAQ;MAAEe;IAAS,CAAC;IACvD,OAAOO,OAAO;EAChB,CAAC,EACD,CAAClE,MAAM,EAAEiB,MAAM,EAAEyC,YAAY,EAAE7B,mBAAmB,CACpD,CAAC;;EAED;EACA;EACA;EACA,IAAAuD,gBAAS,EAAC,MAAM;IACd,IAAI,CAACnE,MAAM,EAAEO,cAAc,EAAE;MAC3BF,0BAA0B,CAAC,MAAM,CAAC;MAClC;IACF;IAEA,MAAM+D,eAAe,GAAG,IAAIC,eAAe,CAAC,CAAC;IAC7C,IAAIC,SAAS,GAAG,KAAK;IACrB;IACA;IACA;IACA;IACA;IACA,MAAMC,sBAAsB,GAAG,CAAC;IAChC,IAAIC,gBAAgB,GAAG,CAAC;IACxB;IACA;IACA,MAAMC,mBAAmB,GAAG,KAAK;IACjC,IAAIC,YAAY,GAAG,KAAK;IACxB,IAAIC,WAAiD,GAAGC,UAAU,CAAC,MAAM;MACvE,IAAIN,SAAS,IAAII,YAAY,EAAE;QAAC;MAAO;MACvC,IAAA9E,kBAAU,EAAC,MAAM,EAAE,+CAA+C,CAAC;MACnEwE,eAAe,CAACS,KAAK,CAAC,CAAC;MACvBlE,uBAAuB,CAACoC,OAAO,GAAG,EAAE;MACpC5D,gBAAK,CAAC2F,QAAQ,CAAC,IAAAC,4BAAgB,EAAC,KAAK,CAAC,CAAC;MACvC1E,0BAA0B,CAAC,QAAQ,CAAC;IACtC,CAAC,EAAEoE,mBAAmB,CAAC;IACvB,MAAMO,WAAW,GAAGA,CAAA,KAAM;MACxB,IAAIL,WAAW,EAAE;QACfM,YAAY,CAACN,WAAW,CAAC;QACzBA,WAAW,GAAG,IAAI;MACpB;IACF,CAAC;IAED,MAAMO,GAAG,GAAG,MAAAA,CAAA,KAAY;MACtB;MACA,MAAMC,YAAY,GAAGnF,MAAM,EAAEmC,SAAS,EAAEpB,OAAO,GAAGf,MAAM,EAAEmC,SAAS,EAAEb,IAAI,GAAG,IAAI;MAChF,MAAMqB,GAAG,GAAG,CACV3C,MAAM,EAAEoF,KAAK,IAAI,EAAE,EACnBpF,MAAM,EAAEqF,OAAO,IAAI,EAAE,EACrBF,YAAY,EAAE1D,aAAa,EAAEC,aAAa,IAAI,EAAE,EAChDyD,YAAY,EAAE3D,YAAY,IAAI,EAAE,EAChC2D,YAAY,EAAEjD,KAAK,GAAG,GAAG,GAAG,GAAG,EAC/BlC,MAAM,EAAEiC,QAAQ,EAAElB,OAAO,GAAGf,MAAM,EAAEiC,QAAQ,EAAEC,KAAK,IAAI,EAAE,GAAG,EAAE,EAC9DlC,MAAM,EAAEyC,YAAY,EAAE6C,SAAS,IAAI,EAAE,CACtC,CAACC,IAAI,CAAC,GAAG,CAAC;MAEX,IAAI7E,wBAAwB,CAACqC,OAAO,KAAKJ,GAAG,EAAE;QAC5C,IAAA/C,kBAAU,EAAC,IAAI,EAAE,qDAAqD,CAAC;QACvE;MACF;MACA,IAAIe,uBAAuB,CAACoC,OAAO,KAAKJ,GAAG,EAAE;QAC3C,IAAA/C,kBAAU,EAAC,IAAI,EAAE,6CAA6C,CAAC;QAC/D;MACF;MACAe,uBAAuB,CAACoC,OAAO,GAAGJ,GAAG;MACrCtC,0BAA0B,CAAC,SAAS,CAAC;MACrClB,gBAAK,CAAC2F,QAAQ,CAAC,IAAAC,4BAAgB,EAAC,IAAI,CAAC,CAAC;MACtC,IAAAnF,kBAAU,EAAC,IAAI,EAAE,yBAAyB,EAAE;QAC1CwF,KAAK,EAAEpF,MAAM,EAAEoF,KAAK;QACpBC,OAAO,EAAErF,MAAM,EAAEqF,OAAO;QACxBG,IAAI,EACFxF,MAAM,EAAEiC,QAAQ,EAAElB,OAAO,GAAG,KAAK,GACjCf,MAAM,EAAEmC,SAAS,EAAEpB,OAAO,GAAG,WAAW,GACxCf,MAAM,EAAEoC,WAAW,EAAErB,OAAO,GAAG,aAAa,GAAG;MACnD,CAAC,CAAC;MAEF,IAAI;QACF,IAAIf,MAAM,EAAEyF,oBAAoB,EAAE;UAChC,IAAA7F,kBAAU,EAAC,IAAI,EAAE,sCAAsC,CAAC;UACxDT,gBAAK,CAAC2F,QAAQ,CAAC,IAAAY,0BAAc,EAAC,CAAC,CAAC;UAChCvG,gBAAK,CAAC2F,QAAQ,CAAC,IAAAa,yBAAM,EAAC,CAAC,CAAC;UACxB,MAAM,IAAAC,oCAAiB,EAAC,CAAC,CAACC,MAAM,CAAC,CAAC,CAAChG,KAAK,CAAC,MAAMiG,SAAS,CAAC;QAC3D;QAEA,MAAM,IAAAC,4CAAqB,EAAC/F,MAAM,CAAC;QACnC,IAAAJ,kBAAU,EAAC,IAAI,EAAE,2CAA2C,CAAC;QAE7D,MAAMoG,QAAqB,GAAG,MAAM,IAAAC,oDAAyB,EAAC;UAC5DjG,MAAM;UACNkG,MAAM,EAAE9B,eAAe,CAAC8B;QAC1B,CAAC,CAAC;QACF,IAAI5B,SAAS,EAAE;UAAC;QAAO;QAEvB,IAAI,CAAC0B,QAAQ,IAAI,CAACA,QAAQ,CAAC7E,YAAY,IAAI,CAAC6E,QAAQ,CAACxE,YAAY,EAAE;UACjE,IAAA5B,kBAAU,EAAC,OAAO,EAAE,qCAAqC,EAAE;YACzDuG,WAAW,EAAE,CAAC,CAACH,QAAQ;YACvBxE,YAAY,EAAEwE,QAAQ,EAAExE,YAAY;YACpC4E,mBAAmB,EAAE,CAAC,CAACJ,QAAQ,EAAE7E;UACnC,CAAC,CAAC;UACFd,0BAA0B,CAAC,QAAQ,CAAC;UACpCM,uBAAuB,CAACoC,OAAO,GAAG,EAAE;UACpC5D,gBAAK,CAAC2F,QAAQ,CAAC,IAAAC,4BAAgB,EAAC,KAAK,CAAC,CAAC;UACvC;QACF;QAEA,IAAAnF,kBAAU,EAAC,IAAI,EAAE,kCAAkCoG,QAAQ,CAACxE,YAAY,GAAG,CAAC;QAC5E,IAAAO,mDAAwB,EAACiE,QAAQ,CAAC;QAElC,IAAIhG,MAAM,EAAE;UACVb,gBAAK,CAAC2F,QAAQ,CAAC,IAAAuB,4BAAS,EAACrG,MAAM,CAAC,CAAC;QACnC;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,IAAIsG,eAAe,GAAGN,QAAQ,CAAC7E,YAAY;QAC3C,IAAInB,MAAM,EAAEc,aAAa,EAAEC,OAAO,IAAI,CAACf,MAAM,EAAEiC,QAAQ,EAAElB,OAAO,EAAE;UAChE,MAAMC,OAAO,GAAG,MAAM,IAAAC,qCAAwB,EAAC;YAAEC,KAAK,EAAE;UAAK,CAAC,CAAC;UAC/D,IAAIoD,SAAS,EAAE;YAAC;UAAO;UACvB,IAAItD,OAAO,EAAEG,YAAY,EAAE;YACzBmF,eAAe,GAAGtF,OAAO,CAACG,YAAY;UACxC;QACF;;QAEA;QACA;QACA;QACA;QACA;QACA,MAAMoF,gBAAgB,GAAG,IAAAC,eAAoB,EAAC,CAAC,CAAC3G,KAAK,CAAC,MAAMiG,SAAS,CAAC;QAEtE,MAAMW,CAAC,GAAG,MAAMlE,gBAAgB,CAC9ByD,QAAQ,CAACxE,YAAY,EACrB8E,eAAe,EACftG,MAAM,EAAEyC,YACV,CAAC;QACD,IAAI6B,SAAS,EAAE;UAAC;QAAO;QACvB,IAAA1E,kBAAU,EAAC,IAAI,EAAE,sDAAsD,CAAC;QAExE,MAAM6G,CAAC,CAAC/C,aAAa,CAAC,CAAC;QACvB,IAAIY,SAAS,EAAE;UAAC;QAAO;QACvB,IAAA1E,kBAAU,EAAC,MAAM,EAAE,6BAA6B,CAAC;QAEjD,IAAI;UACF,MAAM6G,CAAC,CAACC,cAAc,CAAC,CAAC;UACxB,IAAA9G,kBAAU,EAAC,MAAM,EAAE,mCAAmC,CAAC;QACzD,CAAC,CAAC,OAAOpC,CAAC,EAAE;UACV,IAAAoC,kBAAU,EAAC,MAAM,EAAE,uCAAuC,EAAEpC,CAAC,CAAC;QAChE;QACA,IAAI;UACF,MAAMiJ,CAAC,CAACxC,iCAAiC,CAAC,CAAC;UAC3C,IAAArE,kBAAU,EAAC,MAAM,EAAE,iCAAiC,CAAC;QACvD,CAAC,CAAC,OAAOpC,CAAC,EAAE;UACV,IAAAoC,kBAAU,EAAC,MAAM,EAAE,qCAAqC,EAAEpC,CAAC,CAAC;QAC9D;QACA;QACA;QACA;QACA,IAAI;UACF,MAAM+I,gBAAgB;QACxB,CAAC,CAAC,MAAM,CAAC;QACT,IAAI;UACF,MAAMI,SAAS,GAAGnI,MAAM,CAACU,IAAI,CAACC,gBAAK,CAACC,QAAQ,CAAC,CAAC,CAACH,KAAK,CAACA,KAAK,IAAI,CAAC,CAAC,CAAC,CAACI,MAAM;UACxE,IAAAO,kBAAU,EAAC,MAAM,EAAE,2BAA2B+G,SAAS,sBAAsB,CAAC;UAC9E,MAAM,IAAA5C,kCAAgB,EAAE0C,CAAC,CAAS1H,MAAM,CAAC;UACzC,IAAAa,kBAAU,EAAC,MAAM,EAAE,qCAAqC,CAAC;QAC3D,CAAC,CAAC,OAAOpC,CAAC,EAAE;UACV,IAAAoC,kBAAU,EAAC,MAAM,EAAE,yCAAyC,EAAEpC,CAAC,CAAC;QAClE;QACAsB,wBAAwB,CAAE2H,CAAC,CAAS1H,MAAM,EAAE,gBAAgB,CAAC;QAE7DI,gBAAK,CAAC2F,QAAQ,CAAC,IAAA8B,iCAAc,EAACH,CAAC,CAAC,CAAC;QACjC/F,wBAAwB,CAACqC,OAAO,GAAGJ,GAAG;QACtChC,uBAAuB,CAACoC,OAAO,GAAG,EAAE;QACpC2B,YAAY,GAAG,IAAI;QACnBM,WAAW,CAAC,CAAC;QACb3E,0BAA0B,CAAC,OAAO,CAAC;QACnC,IAAAT,kBAAU,EAAC,IAAI,EAAE,uBAAuB,CAAC;;QAEzC;QACA,MAAMiH,GAAG,GAAG7G,MAAM,EAAE8G,UAAU;QAC9B,MAAMC,aAAa,GAAG5H,gBAAK,CAACC,QAAQ,CAAC,CAAC,CAACH,KAAK,CAAC8H,aAAa,IAAI,IAAI;QAClE,MAAMC,eAAe,GAClBhH,MAAM,EAAEiH,YAAY,EAAYC,GAAG,CAAErJ,CAAC,IACrC,OAAOA,CAAC,KAAK,QAAQ,GAAGA,CAAC,GAAGA,CAAC,EAAE0B,GACjC,CAAC,CAAC4H,MAAM,CAACC,OAAO,CAAC,IAAI,EAAE;QACzB,IAAAC,mDAA0B,EAAC;UACzBtI,MAAM,EAAE0H,CAAC;UACTP,MAAM,EAAE9B,eAAe,CAAC8B,MAAM;UAC9BoB,eAAe,EAAEP,aAAa;UAC9BC,eAAe;UACfO,WAAW,EAAEV,GAAG,EAAEW,wBAAwB;UAC1CC,QAAQ,EAAEZ,GAAG,EAAEa,0BAA0B;UACzCC,SAAS,EAAEd,GAAG,EAAEe;QAClB,CAAC,CAAC,CAAC/H,KAAK,CAAEiC,GAAG,IAAK6B,OAAO,CAACkE,IAAI,CAAC,kCAAkC,EAAE/F,GAAG,CAAC,CAAC;MAC1E,CAAC,CAAC,OAAO8B,KAAU,EAAE;QACnB,IAAIU,SAAS,IAAIF,eAAe,CAAC8B,MAAM,CAAC4B,OAAO,EAAE;UAAC;QAAO;QACzDtD,gBAAgB,IAAI,CAAC;QACrB;QACA;QACA;QACA;QACA;QACA,IAAIA,gBAAgB,GAAGD,sBAAsB,EAAE;UAC7C,MAAMwD,OAAO,GAAGC,IAAI,CAACC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,KAAKzD,gBAAgB,GAAG,CAAC,CAAC,CAAC;UAClE,IAAA5E,kBAAU,EACR,IAAI,EACJ,2BAA2B4E,gBAAgB,YAAYZ,KAAK,EAAEsE,OAAO,kBAAkBH,OAAO,IAChG,CAAC;UACDpH,uBAAuB,CAACoC,OAAO,GAAG,EAAE;UACpC6B,UAAU,CAAC,MAAM;YACf,IAAI,CAACN,SAAS,IAAI,CAACF,eAAe,CAAC8B,MAAM,CAAC4B,OAAO,EAAE;cACjD5C,GAAG,CAAC,CAAC;YACP;UACF,CAAC,EAAE6C,OAAO,CAAC;UACX;QACF;QACA,IAAAnI,kBAAU,EAAC,OAAO,EAAE,6CAA6C,EAAE;UACjEsI,OAAO,EAAEtE,KAAK,EAAEsE,OAAO;UACvBC,MAAM,EAAEvE,KAAK,EAAEwE,QAAQ,EAAED,MAAM;UAC/BE,IAAI,EAAEzE,KAAK,EAAEwE,QAAQ,EAAEC;QACzB,CAAC,CAAC;QACF1H,uBAAuB,CAACoC,OAAO,GAAG,EAAE;QACpCiC,WAAW,CAAC,CAAC;QACb7F,gBAAK,CAAC2F,QAAQ,CAAC,IAAAC,4BAAgB,EAAC,KAAK,CAAC,CAAC;QACvC1E,0BAA0B,CAAC,QAAQ,CAAC;MACtC;IACF,CAAC;IAED6E,GAAG,CAAC,CAAC;IAEL,OAAO,MAAM;MACXZ,SAAS,GAAG,IAAI;MAChBU,WAAW,CAAC,CAAC;MACbZ,eAAe,CAACS,KAAK,CAAC,CAAC;MACvB;MACA;MACA;MACA;MACA;MACAlE,uBAAuB,CAACoC,OAAO,GAAG,EAAE;IACtC,CAAC;IACD;IACA;IACA;IACA;IACA;IACA;IACA;EACF,CAAC,EAAE,CACD/C,MAAM,EAAEO,cAAc,EACtBP,MAAM,EAAEoF,KAAK,EACbpF,MAAM,EAAEqF,OAAO,EACfrF,MAAM,EAAEmC,SAAS,EAAEpB,OAAO,EAC1Bf,MAAM,EAAEmC,SAAS,EAAEb,IAAI,EAAEG,aAAa,EAAEC,aAAa,EACrD1B,MAAM,EAAEmC,SAAS,EAAEb,IAAI,EAAEE,YAAY,EACrCxB,MAAM,EAAEmC,SAAS,EAAEb,IAAI,EAAEY,KAAK,EAC9BlC,MAAM,EAAEiC,QAAQ,EAAElB,OAAO,EACzBf,MAAM,EAAEiC,QAAQ,EAAEC,KAAK,EACvBlC,MAAM,EAAEyC,YAAY,EAAE6C,SAAS,CAChC,CAAC;;EAEF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAAnB,gBAAS,EAAC,MAAM;IACd,IAAI,CAACpF,MAAM,EAAE;MAAC;IAAO;IACrB,MAAMuJ,EAAE,GAAGC,WAAW,CAAC,MAAM;MAC3B;MACA;MACA;MACA;MACA;MACA;MACA,IAAIC,qBAAQ,CAACC,YAAY,KAAK,YAAY,EAAE;QAAC;MAAO;MACpD,IAAI1J,MAAM,CAAC2J,iBAAiB,EAAE;QAAC;MAAO;MACtC,IAAI3J,MAAM,CAACoJ,MAAM,KAAK,QAAQ,EAAE;QAC9B,IAAAvI,kBAAU,EAAC,IAAI,EAAE,oBAAoBb,MAAM,CAACoJ,MAAM,mBAAmB,CAAC;QACtEpJ,MAAM,CAAC4J,cAAc,CAAC,CAAC;MACzB,CAAC,MAAM;QACL5J,MAAM,CAAC6J,iBAAiB,GAAG,CAAC;MAC9B;IACF,CAAC,EAAE,KAAK,CAAC;IACT,OAAO,MAAMC,aAAa,CAACP,EAAE,CAAC;EAChC,CAAC,EAAE,CAACvJ,MAAM,CAAC,CAAC;;EAEZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAAoF,gBAAS,EAAC,MAAM;IACd;IACA;IACA;IACA,IAAI2E,uBAAsC,GAAG,IAAI;IACjD,MAAMC,mBAAmB,GAAG,CAAC/I,MAAM,EAAEyC,YAAY,EAAEuG,qBAAqB;IACxE,MAAMC,GAAG,GAAGT,qBAAQ,CAACU,gBAAgB,CAAC,QAAQ,EAAGC,IAAI,IAAK;MACxD,MAAM1C,CAAC,GAAG1H,MAAM;MAChB,IAAIoK,IAAI,KAAK,QAAQ,EAAE;QACrB,IAAI1C,CAAC,EAAE2C,WAAW,EAAE;UAClB,IAAAxJ,kBAAU,EAAC,IAAI,EAAE,iDAAiD,CAAC;UACnE6G,CAAC,CAAC4C,MAAM,CAAC,CAAC;QACZ;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,IAAI5C,CAAC,KAAKA,CAAC,CAAC0B,MAAM,KAAK,SAAS,IAAI1B,CAAC,CAAC0B,MAAM,KAAK,OAAO,CAAC,EAAE;UACzD,IAAAvI,kBAAU,EAAC,IAAI,EAAE,2BAA2B6G,CAAC,CAAC0B,MAAM,mBAAmB,CAAC;UACxE1B,CAAC,CAACkC,cAAc,CAAC,CAAC;QACpB;QACA;QACA;QACA;QACA;QACA,IAAIG,uBAAuB,EAAE;UAC3B3J,gBAAK,CAAC2F,QAAQ,CAAC,IAAAwE,0BAAc,EAAC;YAAEC,OAAO,EAAET;UAAwB,CAAC,CAAC,CAAC;UACpEA,uBAAuB,GAAG,IAAI;QAChC;QACA;MACF;MACA;MACA,IAAI,CAACrC,CAAC,EAAE;QAAC;MAAO;MAChB,IAAI0C,IAAI,KAAK,YAAY,IAAIJ,mBAAmB,EAAE;QAChDtC,CAAC,CAAC+C,OAAO,CAAC,CAAC,CAAC3J,KAAK,CAAC,MAAMiG,SAAS,CAAC;MACpC;MACA,MAAM2D,KAAK,GAAGtK,gBAAK,CAACC,QAAQ,CAAC,CAAC;MAC9B,MAAMH,KAAK,GAAGwK,KAAK,CAACxK,KAAK,EAAEA,KAAK;MAChC,MAAMyK,cAAc,GAAGD,KAAK,CAACxK,KAAK,EAAEyK,cAAc,IAAI,IAAI;MAC1D;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACAZ,uBAAuB,GAAGY,cAAc;MACxC,IAAIA,cAAc,EAAE;QAClB,MAAMC,MAAM,GAAG,IAAAC,8CAAsB,EACnC3K,KAAK,GAAGyK,cAAc,CAAC,EACvBD,KAAK,CAACI,aACR,CAAC;QACD;QACA;QACA;QACA;QACA,IAAIF,MAAM,GAAG,CAAC,EAAE;UACdxK,gBAAK,CAAC2F,QAAQ,CACZ,IAAAgF,kCAAsB,EAAC;YAAEC,OAAO,EAAEL,cAAc;YAAEM,SAAS,EAAEL;UAAO,CAAC,CACvE,CAAC;QACH;QACA;QACA;QACA;QACAxK,gBAAK,CAAC2F,QAAQ,CACZ,IAAAmF,6BAAiB,EAAC;UAAEV,OAAO,EAAEG,cAAc;UAAEQ,SAAS,EAAE;QAAgB,CAAC,CAC3E,CAAC;QACD/K,gBAAK,CAAC2F,QAAQ,CAAC,IAAAqF,4BAAgB,EAAC,CAAC,CAAC;MACpC;MACA;MACA;MACA1D,CAAC,CAAC2D,mCAAmC,CAACnL,KAAK,EAAE;QAAEyK;MAAe,CAAC,CAAC,CAAC7J,KAAK,CACpE,MAAM,CAAC,CACT,CAAC;IACH,CAAC,CAAC;IACF,OAAO,MAAMoJ,GAAG,CAACpD,MAAM,CAAC,CAAC;EAC3B,CAAC,EAAE,CAAC9G,MAAM,EAAEiB,MAAM,EAAEyC,YAAY,EAAEuG,qBAAqB,CAAC,CAAC;;EAEzD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMqB,iBAAiB,GAAG,IAAA5J,aAAM,EAAC,KAAK,CAAC;EACvC,IAAA0D,gBAAS,EAAC,MAAM;IACd,IAAI,OAAOlE,SAAS,KAAK,SAAS,EAAE;MAAC;IAAO;IAC5C,MAAMwJ,KAAK,GAAGtK,gBAAK,CAACC,QAAQ,CAAC,CAAC;IAC9B,MAAMH,KAAK,GAAGwK,KAAK,CAACxK,KAAK,EAAEA,KAAK;IAChC,MAAM8H,aAAa,GAAG0C,KAAK,CAACxK,KAAK,EAAE8H,aAAa,IAAI,IAAI;IACxD,MAAMuD,UAAU,GAAGD,iBAAiB,CAACtH,OAAO;IAC5CsH,iBAAiB,CAACtH,OAAO,GAAG9C,SAAS;IACrC,IAAIA,SAAS,EAAE;MACb,IAAI8G,aAAa,EAAE;QACjB5H,gBAAK,CAAC2F,QAAQ,CAAC,IAAAwE,0BAAc,EAAC;UAAEC,OAAO,EAAExC;QAAc,CAAC,CAAC,CAAC;MAC5D;IACF,CAAC,MAAM;MACL,IAAIuD,UAAU,IAAIvD,aAAa,EAAE;QAC/B;QACA;QACA;QACA,MAAM4C,MAAM,GAAG,IAAAC,8CAAsB,EACnC3K,KAAK,GAAG8H,aAAa,CAAC,EACtB0C,KAAK,CAACI,aACR,CAAC;QACD,IAAIF,MAAM,GAAG,CAAC,EAAE;UACdxK,gBAAK,CAAC2F,QAAQ,CACZ,IAAAgF,kCAAsB,EAAC;YAAEC,OAAO,EAAEhD,aAAa;YAAEiD,SAAS,EAAEL;UAAO,CAAC,CACtE,CAAC;QACH;QACA;QACA;QACAxK,gBAAK,CAAC2F,QAAQ,CACZ,IAAAmF,6BAAiB,EAAC;UAAEV,OAAO,EAAExC,aAAa;UAAEmD,SAAS,EAAE;QAAgB,CAAC,CAC1E,CAAC;MACH;MAEA/K,gBAAK,CAAC2F,QAAQ,CAAC,IAAAqF,4BAAgB,EAAC,CAAC,CAAC;MAClC,IAAIG,UAAU,IAAIvL,MAAM,EAAEqL,mCAAmC,EAAE;QAC7DrL,MAAM,CACHqL,mCAAmC,CAACnL,KAAK,EAAE;UAAEyK,cAAc,EAAE3C;QAAc,CAAC,CAAC,CAC7ElH,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;MACpB;IACF;EACF,CAAC,EAAE,CAACI,SAAS,EAAElB,MAAM,CAAC,CAAC;EAEvB,IAAAoF,gBAAS,EAAC,MAAM;IACd,IAAIlE,SAAS,KAAK,IAAI,EAAE;MAAC;IAAO;IAChC,IAAIsK,eAAoB,GAAG,IAAI;IAC/B,IAAIC,aAAa,GAAG,CAAC;IACrB,IAAIC,UAAgD,GAAG,IAAI;IAE3D,MAAMC,OAAO,GAAGA,CAAA,KAAM;MACpB,MAAMC,CAAC,GAAGxL,gBAAK,CAACC,QAAQ,CAAC,CAAC;MAC1B,MAAMG,GAAG,GAAGoL,CAAC,CAAC1L,KAAK,EAAE8H,aAAa;MAClC,IAAI,CAACxH,GAAG,EAAE;QAAC;MAAO;MAClB,MAAMqL,IAAI,GAAGD,CAAC,CAAC1L,KAAK,EAAEA,KAAK,GAAGM,GAAG,CAAC;MAClC,IAAI,CAACqL,IAAI,EAAE;QAAC;MAAO;MACnB,IAAIA,IAAI,CAACC,QAAQ,KAAKN,eAAe,EAAE;QAAC;MAAO;MAC/CA,eAAe,GAAGK,IAAI,CAACC,QAAQ;;MAE/B;MACA;MACA;MACA;MACA;MACA;MACA,MAAMC,MAAM,GAAG,IAAAlB,8CAAsB,EAACgB,IAAI,EAAED,CAAC,CAACd,aAAa,CAAC;MAC5D,IAAI,CAACiB,MAAM,IAAIA,MAAM,IAAIN,aAAa,EAAE;QAAC;MAAO;MAChDA,aAAa,GAAGM,MAAM;MAEtB3L,gBAAK,CAAC2F,QAAQ,CACZ,IAAAgF,kCAAsB,EAAC;QAAEC,OAAO,EAAExK,GAAG;QAAEyK,SAAS,EAAEc;MAAO,CAAC,CAC5D,CAAC;MAED,IAAIL,UAAU,EAAE;QAACxF,YAAY,CAACwF,UAAU,CAAC;MAAC;MAC1C,IAAI1L,MAAM,EAAEqL,mCAAmC,EAAE;QAC/CK,UAAU,GAAG7F,UAAU,CAAC,MAAM;UAC5B7F,MAAM,CACHqL,mCAAmC,CAACjL,gBAAK,CAACC,QAAQ,CAAC,CAAC,CAACH,KAAK,EAAEA,KAAK,EAAE;YAClEyK,cAAc,EAAEnK;UAClB,CAAC,CAAC,CACDM,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACpB,CAAC,EAAE,IAAI,CAAC;MACV;IACF,CAAC;IAED6K,OAAO,CAAC,CAAC;IACT,MAAMK,KAAK,GAAG5L,gBAAK,CAAC6L,SAAS,CAACN,OAAO,CAAC;IACtC,OAAO,MAAM;MACXK,KAAK,CAAC,CAAC;MACP,IAAIN,UAAU,EAAE;QAACxF,YAAY,CAACwF,UAAU,CAAC;MAAC;IAC5C,CAAC;EACH,CAAC,EAAE,CAACxK,SAAS,EAAElB,MAAM,CAAC,CAAC;;EAEvB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAAoF,gBAAS,EAAC,MAAM;IACd,IAAI,CAACpF,MAAM,EAAE;MAAC;IAAO;IACrB,MAAMgM,KAAK,GAAGE,gBAAO,CAAC/B,gBAAgB,CAAEO,KAAK,IAAK;MAChD;MACA,MAAMyB,SAAS,GACb,CAAC,CAACzB,KAAK,EAAE0B,WAAW,IAAI1B,KAAK,EAAE2B,mBAAmB,KAAK,KAAK;MAC9D,IAAI,CAACF,SAAS,EAAE;QAAC;MAAO;MACxB;MACA;MACA;MACA;MACA;MACA;MACA,IAAInM,MAAM,CAACoJ,MAAM,KAAK,SAAS,IAAIpJ,MAAM,CAACoJ,MAAM,KAAK,OAAO,EAAE;QAC5D,IAAAvI,kBAAU,EAAC,IAAI,EAAE,+BAA+Bb,MAAM,CAACoJ,MAAM,mBAAmB,CAAC;QACjFpJ,MAAM,CAAC4J,cAAc,CAAC,CAAC;MACzB,CAAC,MAAM,IAAI5J,MAAM,CAACoJ,MAAM,KAAK,QAAQ,EAAE;QACrCpJ,MAAM,CAAC6J,iBAAiB,GAAG,CAAC;MAC9B;IACF,CAAC,CAAC;IACF,OAAO,MAAMmC,KAAK,CAAC,CAAC;EACtB,CAAC,EAAE,CAAChM,MAAM,CAAC,CAAC;;EAEZ;EACA;EACA;EACA;EACA;EACA,IAAAoF,gBAAS,EAAC,MAAM;IACd,MAAM8E,GAAG,GAAGoC,+BAAkB,CAACC,WAAW,CAAC,uBAAuB,EAAE,MAAM;MACxE5K,wBAAwB,CAACqC,OAAO,GAAG,EAAE;MACrCpC,uBAAuB,CAACoC,OAAO,GAAG,EAAE;MACpC1C,0BAA0B,CAAC,MAAM,CAAC;IACpC,CAAC,CAAC;IACF,OAAO,MAAM4I,GAAG,CAACpD,MAAM,CAAC,CAAC;EAC3B,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACA,IAAA1B,gBAAS,EAAC,MAAM;IACd,MAAM8E,GAAG,GAAGoC,+BAAkB,CAACC,WAAW,CAACzM,YAAY,EAAE,YAAY;MACnE,IAAI;QACF,IAAIE,MAAM,EAAE;UACV,MAAMA,MAAM,CAACwM,UAAU,CAAC;YAAE7C,iBAAiB,EAAE;UAAK,CAAC,CAAC;QACtD;MACF,CAAC,CAAC,OAAOlL,CAAC,EAAE;QACVmG,OAAO,CAACkE,IAAI,CAAC,0BAA0B,EAAErK,CAAC,CAAC;MAC7C;MACA,IAAAiG,mCAAmB,EAAC,IAAI,CAAC;MACzBvD,SAAS,CAAC,IAAI,CAAC;MACfQ,wBAAwB,CAACqC,OAAO,GAAG,EAAE;MACrCpC,uBAAuB,CAACoC,OAAO,GAAG,EAAE;MACpC1C,0BAA0B,CAAC,MAAM,CAAC;MAClC,MAAM,IAAAmL,gCAAmB,EAAC,CAAC;IAC7B,CAAC,CAAC;IACF,OAAO,MAAMvC,GAAG,CAACpD,MAAM,CAAC,CAAC;EAC3B,CAAC,EAAE,CAAC9G,MAAM,CAAC,CAAC;EAEZ,oBACE,IAAAxB,WAAA,CAAAkO,IAAA,EAAC9M,WAAW,CAAC+M,QAAQ;IACnBC,KAAK,EAAE;MACL5M,MAAM;MACNqB,uBAAuB;MACvBE,QAAQ;MACRiC,gBAAgB;MAChBrC;IACF,CAAE;IAAAH,QAAA,GAEDA,QAAQ,eAMT,IAAAxC,WAAA,CAAAqO,GAAA,EAACvP,iBAAA,CAAAwP,gBAAgB,IAAE,CAAC;EAAA,CACA,CAAC;AAE3B,CAAC;AAACC,OAAA,CAAAhM,YAAA,GAAAA,YAAA;AAEK,MAAMiM,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAMC,OAAO,GAAG,IAAAC,iBAAU,EAACtN,WAAW,CAAC;EACvC,IAAI,CAACqN,OAAO,EAAE;IACZ,MAAM,IAAIE,KAAK,CAAC,mDAAmD,CAAC;EACtE;EACA,IAAI,CAACF,OAAO,CAACjN,MAAM,EAAE;IACnB,MAAMoN,UAAgD,GAAG,CACvD,IAAA/I,mCAAmB,EAAC,CAAC,EACrBjE,gBAAK,CAACC,QAAQ,CAAC,CAAC,EAAEiC,gBAAgB,EAAEtC,MAAM,CAC3C;IACD,MAAMqN,IAAI,GAAGD,UAAU,CAACE,IAAI,CACzB5F,CAAC,IAAKA,CAAC,IAAKA,CAAC,CAAS0B,MAAM,KAAK,QACpC,CAAC;IACD,IAAIiE,IAAI,EAAE;MACR,OAAO;QAAE,GAAGJ,OAAO;QAAEjN,MAAM,EAAEqN;MAAK,CAAC;IACrC;EACF;EACA,OAAOJ,OAAO;AAChB,CAAC;;AAED;AAAAF,OAAA,CAAAC,aAAA,GAAAA,aAAA;AACO,SAASO,cAAcA,CAAA,EAAG;EAC/BjB,+BAAkB,CAACkB,IAAI,CAAC1N,YAAY,CAAC;AACvC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_netinfo","_interopRequireDefault","_VideoCallOverlay","_xmppClient","_authRefresh","_clientRegistry","_resolveInitBeforeLoadUser","_ensureScopedChatCache","_rooms","_allRoomPresences","_pushSubscriptionService","_roomStore","_chatSettingsSlice","_roomsSlice","_getServerReadTimestamp","_historyPreloadScheduler","_updateMessagesTillLast","_secureUserStorage","_persistence","_devLogger","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","XmppContext","createContext","LOGOUT_EVENT","subscribeAllRoomsForPush","client","reason","rooms","keys","store","getState","length","nick","jid","getLocal","pushSubscriptionService","subscribeToRooms","then","devPushLog","catch","XmppProvider","children","config","isVisible","setClient","useState","providerBootstrapStatus","setProviderBootstrapStatus","initMode","initBeforeLoad","lastCredsRef","useRef","completedBootstrapKeyRef","inflightBootstrapKeyRef","credentialsProvider","useMemo","refreshTokens","enabled","rotated","refreshAuthTokensQuietly","force","xmppPassword","rotatedUser","chatSettingStore","user","username","xmppUsername","defaultWallet","walletAddress","password","fresh","refreshUserCredentialsForXmpp","err","applyResolvedUserToStore","u","jwtLogin","token","userLogin","customLogin","initBeforeLoadAuth","myEndpoint","initializeClient","useCallback","xmppSettings","settings","key","buildXmppClientKey","reusable","getReusableXmppClientByKey","current","isXmppClientReusable","created","withXmppClientInitLock","prevGlobal","getGlobalXmppClient","close","newClient","XmppClient","setCredentialsProvider","setGlobalXmppClient","waitForOnline","console","error","setOnOnline","underlying","allRoomPresences","finally","getChatsPrivateStoreRequestStanza","updateMessagesTillLast","useEffect","abortController","AbortController","cancelled","MAX_BOOTSTRAP_ATTEMPTS","bootstrapAttempt","BOOTSTRAP_BUDGET_MS","reachedReady","budgetTimer","setTimeout","abort","dispatch","setUnreadSyncing","clearBudget","clearTimeout","run","explicitUser","appId","baseUrl","devServer","join","mode","clearStoreBeforeInit","setLogoutState","logout","secureUserStorage","remove","undefined","ensureScopedChatCache","resolved","resolveInitBeforeLoadUser","signal","hasResolved","xmppPasswordPresent","setConfig","connectPassword","restRoomsPromise","prefetchRoomsViaRest","c","getRoomsStanza","roomCount","setStoreClient","qos","historyQoS","activeRoomJID","defaultRoomJids","defaultRooms","map","filter","Boolean","runHistoryPreloadScheduler","selectedRoomJid","concurrency","stagedPreloadConcurrency","pageSize","stagedPreloadFirstPassSize","roomLimit","preloadTopKRooms","warn","aborted","backoff","Math","min","message","status","response","data","id","setInterval","AppState","currentState","suppressReconnect","forceReconnect","ensureStreamAlive","clearInterval","visibleBeforeBackground","suspendInBackground","keepAliveInBackground","sub","addEventListener","next","isSuspended","resume","setVisibleRoom","roomJID","suspend","state","visibleRoomJID","boundaryTs","readBoundaries","readTs","getReadMarkerTimestamp","roomHeapSlice","setLastViewedTimestamp","chatJID","timestamp","deleteRoomMessage","messageId","clearVisibleRoom","flushLastViewedToPrivateStoreStanza","visibleRoomTs","getFlushBoundaryTs","chatWasVisibleRef","wasVisible","lastMessagesRef","lastStampedMs","flushTimer","advance","s","room","messages","newest","freshState","freshBoundaryTs","unsub","subscribe","NetInfo","reachable","isConnected","isInternetReachable","DeviceEventEmitter","addListener","disconnect","clearPersistedState","jsxs","Provider","value","jsx","VideoCallOverlay","exports","useXmppClient","context","useContext","Error","candidates","live","find","emitXmppLogout","emit"],"sourceRoot":"../../../src","sources":["context/xmppProvider.tsx"],"mappings":"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","ignoreList":[]}
|