@ethora/chat-component-rn 26.5.15 → 26.5.17
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/lib/commonjs/components/MainComponents/ReduxWrapper.js +4 -0
- package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +32 -16
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +4 -0
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/historyPreloadScheduler.js +118 -113
- package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/commonjs/hooks/useChatFonts.js +137 -0
- package/lib/commonjs/hooks/useChatFonts.js.map +1 -0
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js +4 -2
- package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/commonjs/main.js +7 -0
- package/lib/commonjs/main.js.map +1 -1
- package/lib/commonjs/roomStore/roomsSlice.js +9 -1
- package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
- package/lib/module/components/MainComponents/ReduxWrapper.js +4 -0
- package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +33 -17
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/module/context/xmppProvider.js +5 -1
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/historyPreloadScheduler.js +119 -114
- package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
- package/lib/module/hooks/useChatFonts.js +132 -0
- package/lib/module/hooks/useChatFonts.js.map +1 -0
- package/lib/module/hooks/useUnreadMessagesCounter.js +4 -2
- package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
- package/lib/module/main.js +2 -0
- package/lib/module/main.js.map +1 -1
- package/lib/module/roomStore/roomsSlice.js +7 -0
- package/lib/module/roomStore/roomsSlice.js.map +1 -1
- package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
- package/lib/typescript/hooks/useChatFonts.d.ts +23 -0
- package/lib/typescript/hooks/useChatFonts.d.ts.map +1 -0
- package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts +1 -0
- package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
- package/lib/typescript/main.d.ts +2 -1
- package/lib/typescript/main.d.ts.map +1 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts +3 -1
- package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +39 -0
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/package.json +5 -1
- package/src/components/MainComponents/ReduxWrapper.tsx +4 -0
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +39 -17
- package/src/context/xmppProvider.tsx +5 -0
- package/src/helpers/historyPreloadScheduler.ts +7 -1
- package/src/hooks/useChatFonts.ts +153 -0
- package/src/hooks/useUnreadMessagesCounter.ts +5 -2
- package/src/main.ts +4 -0
- package/src/roomStore/roomsSlice.ts +11 -0
- package/src/types/types.ts +41 -0
|
@@ -12,7 +12,7 @@ import { getRooms as prefetchRoomsViaRest } from '../networking/api-requests/roo
|
|
|
12
12
|
import { allRoomPresences } from '../networking/xmpp/allRoomPresences.xmpp';
|
|
13
13
|
import { store } from '../roomStore';
|
|
14
14
|
import { logout, setStoreClient, setConfig } from '../roomStore/chatSettingsSlice';
|
|
15
|
-
import { setLogoutState, setVisibleRoom, clearVisibleRoom, setLastViewedTimestamp, deleteRoomMessage, msgSortableMs } from '../roomStore/roomsSlice';
|
|
15
|
+
import { setLogoutState, setVisibleRoom, clearVisibleRoom, setLastViewedTimestamp, deleteRoomMessage, msgSortableMs, setUnreadSyncing } from '../roomStore/roomsSlice';
|
|
16
16
|
import { runHistoryPreloadScheduler } from '../helpers/historyPreloadScheduler';
|
|
17
17
|
import { asyncLocalStorage } from '../hooks/useLocalStorage';
|
|
18
18
|
import { localStorageConstants } from '../helpers/constants/LOCAL_STORAGE';
|
|
@@ -202,6 +202,7 @@ export const XmppProvider = ({
|
|
|
202
202
|
devPushLog('warn', 'initBeforeLoad: time budget exceeded → failed');
|
|
203
203
|
abortController.abort();
|
|
204
204
|
inflightBootstrapKeyRef.current = '';
|
|
205
|
+
store.dispatch(setUnreadSyncing(false));
|
|
205
206
|
setProviderBootstrapStatus('failed');
|
|
206
207
|
}, BOOTSTRAP_BUDGET_MS);
|
|
207
208
|
const clearBudget = () => {
|
|
@@ -224,6 +225,7 @@ export const XmppProvider = ({
|
|
|
224
225
|
}
|
|
225
226
|
inflightBootstrapKeyRef.current = key;
|
|
226
227
|
setProviderBootstrapStatus('running');
|
|
228
|
+
store.dispatch(setUnreadSyncing(true));
|
|
227
229
|
devPushLog('rn', 'initBeforeLoad: running', {
|
|
228
230
|
appId: config?.appId,
|
|
229
231
|
baseUrl: config?.baseUrl,
|
|
@@ -253,6 +255,7 @@ export const XmppProvider = ({
|
|
|
253
255
|
});
|
|
254
256
|
setProviderBootstrapStatus('failed');
|
|
255
257
|
inflightBootstrapKeyRef.current = '';
|
|
258
|
+
store.dispatch(setUnreadSyncing(false));
|
|
256
259
|
return;
|
|
257
260
|
}
|
|
258
261
|
devPushLog('rn', `initBeforeLoad: user resolved (${resolved.xmppUsername})`);
|
|
@@ -352,6 +355,7 @@ export const XmppProvider = ({
|
|
|
352
355
|
});
|
|
353
356
|
inflightBootstrapKeyRef.current = '';
|
|
354
357
|
clearBudget();
|
|
358
|
+
store.dispatch(setUnreadSyncing(false));
|
|
355
359
|
setProviderBootstrapStatus('failed');
|
|
356
360
|
}
|
|
357
361
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","AppState","DeviceEventEmitter","NetInfo","XmppClient","refreshTokens","buildXmppClientKey","getGlobalXmppClient","getReusableXmppClientByKey","isXmppClientReusable","setGlobalXmppClient","withXmppClientInitLock","applyResolvedUserToStore","refreshUserCredentialsForXmpp","resolveInitBeforeLoadUser","ensureScopedChatCache","getRooms","prefetchRoomsViaRest","allRoomPresences","store","logout","setStoreClient","setConfig","setLogoutState","setVisibleRoom","clearVisibleRoom","setLastViewedTimestamp","deleteRoomMessage","msgSortableMs","runHistoryPreloadScheduler","asyncLocalStorage","localStorageConstants","clearPersistedState","pushLog","devPushLog","jsx","_jsx","XmppContext","LOGOUT_EVENT","XmppProvider","children","config","isVisible","client","setClient","providerBootstrapStatus","setProviderBootstrapStatus","initMode","initBeforeLoad","lastCredsRef","completedBootstrapKeyRef","inflightBootstrapKeyRef","credentialsProvider","customRefresh","refreshFunction","result","accessToken","dispatch","token","refreshToken","err","fresh","catch","username","xmppUsername","defaultWallet","walletAddress","password","xmppPassword","u","getState","chatSettingStore","user","jwtLogin","enabled","userLogin","customLogin","initBeforeLoadAuth","myEndpoint","initializeClient","xmppSettings","settings","key","reusable","current","created","prevGlobal","close","newClient","setCredentialsProvider","waitForOnline","console","error","setOnOnline","underlying","e","getChatsPrivateStoreRequestStanza","abortController","AbortController","cancelled","MAX_BOOTSTRAP_ATTEMPTS","bootstrapAttempt","BOOTSTRAP_BUDGET_MS","reachedReady","budgetTimer","setTimeout","abort","clearBudget","clearTimeout","run","explicitUser","appId","baseUrl","devServer","join","mode","clearStoreBeforeInit","ETHORA_USER","remove","undefined","resolved","signal","hasResolved","xmppPasswordPresent","restRoomsPromise","c","getRoomsStanza","roomCount","Object","keys","rooms","length","qos","historyQoS","activeRoomJID","defaultRoomJids","defaultRooms","map","r","jid","filter","Boolean","selectedRoomJid","concurrency","stagedPreloadConcurrency","pageSize","stagedPreloadFirstPassSize","roomLimit","preloadTopKRooms","warn","aborted","backoff","Math","min","message","status","response","data","id","setInterval","currentState","suppressReconnect","forceReconnect","clearInterval","visibleBeforeBackground","sub","addEventListener","next","roomJID","state","visibleRoomJID","chatJID","timestamp","Date","now","messageId","flushLastViewedToPrivateStoreStanza","chatWasVisibleRef","wasVisible","lastMessagesRef","lastStampedMs","flushTimer","advance","s","room","messages","newest","list","m","ms","unsub","subscribe","reachable","isConnected","isInternetReachable","addListener","disconnect","Provider","value","useXmppClient","context","Error","candidates","live","find","emitXmppLogout","emit"],"sourceRoot":"../../../src","sources":["context/xmppProvider.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAEVC,aAAa,EACbC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACH,OAAO;AACd,SAASC,QAAQ,EAAEC,kBAAkB,QAAQ,cAAc;AAC3D,OAAOC,OAAO,MAAM,iCAAiC;AACrD,OAAOC,UAAU,MAEV,0BAA0B;AACjC,SAASC,aAAa,QAAQ,gCAAgC;AAO9D,SACEC,kBAAkB,EAClBC,mBAAmB,EACnBC,0BAA0B,EAC1BC,oBAAoB,EACpBC,mBAAmB,EACnBC,sBAAsB,QACjB,yBAAyB;AAChC,SACEC,wBAAwB,EACxBC,6BAA6B,EAC7BC,yBAAyB,QACpB,sCAAsC;AAC7C,SAASC,qBAAqB,QAAQ,kCAAkC;AACxE,SAASC,QAAQ,IAAIC,oBAAoB,QAAQ,sCAAsC;AACvF,SAASC,gBAAgB,QAAQ,0CAA0C;AAC3E,SAASC,KAAK,QAAQ,cAAc;AACpC,SAASC,MAAM,EAAEC,cAAc,EAAEC,SAAS,QAAQ,gCAAgC;AAClF,SACEC,cAAc,EACdC,cAAc,EACdC,gBAAgB,EAChBC,sBAAsB,EACtBC,iBAAiB,EACjBC,aAAa,QACR,yBAAyB;AAChC,SAASC,0BAA0B,QAAQ,oCAAoC;AAC/E,SAASC,iBAAiB,QAAQ,0BAA0B;AAC5D,SAASC,qBAAqB,QAAQ,oCAAoC;AAC1E,SAASC,mBAAmB,QAAQ,0BAA0B;AAC9D,SAASC,OAAO,IAAIC,UAAU,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAkB3D,MAAMC,WAAW,gBAAG3C,aAAa,CAAyB,IAAI,CAAC;AAW/D,MAAM4C,YAAY,GAAG,oBAAoB;AAEzC,OAAO,MAAMC,YAAyC,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,MAAM;EAAEC;AAAU,CAAC,KAAK;EAC5F,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG5C,QAAQ,CAAoB,IAAI,CAAC;EAC7D,MAAM,CAAC6C,uBAAuB,EAAEC,0BAA0B,CAAC,GACzD9C,QAAQ,CAA0B,MAAM,CAAC;;EAE3C;EACA;EACA,MAAM+C,QAA6B,GAAGN,MAAM,EAAEO,cAAc,GAAG,UAAU,GAAG,MAAM;EAElF,MAAMC,YAAY,GAAGlD,MAAM,CAAkF,IAAI,CAAC;EAClH,MAAMmD,wBAAwB,GAAGnD,MAAM,CAAS,EAAE,CAAC;EACnD,MAAMoD,uBAAuB,GAAGpD,MAAM,CAAS,EAAE,CAAC;;EAElD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMqD,mBAAmB,GAAGtD,OAAO,CAA0B,MAAM;IACjE,OAAO,YAAY;MACjB;MACA;MACA;MACA,MAAMuD,aAAa,GAAGZ,MAAM,EAAEpC,aAAa,EAAEiD,eAAe;MAC5D,IAAID,aAAa,EAAE;QACjB,IAAI;UACF,MAAME,MAAM,GAAG,MAAMF,aAAa,CAAC,CAAC;UACpC,IAAIE,MAAM,EAAEC,WAAW,EAAE;YACvBrC,KAAK,CAACsC,QAAQ,CACZpD,aAAa,CAAC;cACZqD,KAAK,EAAEH,MAAM,CAACC,WAAW;cACzBG,YAAY,EAAEJ,MAAM,CAACI,YAAY,IAAI;YACvC,CAAC,CACH,CAAC;UACH;QACF,CAAC,CAAC,OAAOC,GAAG,EAAE;UACZ1B,UAAU,CAAC,MAAM,EAAE,0CAA0C,EAAE0B,GAAG,CAAC;QACrE;MACF;;MAEA;MACA;MACA;MACA;MACA,MAAMC,KAAK,GAAG,MAAMhD,6BAA6B,CAAC4B,MAAM,CAAC,CAACqB,KAAK,CAC5DF,GAAG,IAAK;QACP1B,UAAU,CAAC,MAAM,EAAE,uCAAuC,EAAE0B,GAAG,CAAC;QAChE,OAAO,IAAI;MACb,CACF,CAAC;MACD,IAAIC,KAAK,EAAE;QACTjD,wBAAwB,CAACiD,KAAK,CAAC;QAC/B,OAAO;UACLE,QAAQ,EACNF,KAAK,CAACG,YAAY,IAClBH,KAAK,CAACI,aAAa,EAAEC,aAAa,IAClC,EAAE;UACJC,QAAQ,EAAEN,KAAK,CAACO,YAAY,IAAI;QAClC,CAAC;MACH;;MAEA;MACA;MACA;MACA;MACA;MACA;MACA,MAAMC,CAAC,GAAGlD,KAAK,CAACmD,QAAQ,CAAC,CAAC,CAACC,gBAAgB,CAACC,IAAI;MAChD,OAAO;QACLT,QAAQ,EAAEM,CAAC,EAAEL,YAAY,IAAIK,CAAC,EAAEJ,aAAa,EAAEC,aAAa,IAAI,EAAE;QAClEC,QAAQ,EAAEE,CAAC,EAAED,YAAY,IAAI;MAC/B,CAAC;IACH,CAAC;EACH,CAAC,EAAE,CACD3B,MAAM,EAAEgC,QAAQ,EAAEC,OAAO,EACzBjC,MAAM,EAAEgC,QAAQ,EAAEf,KAAK,EACvBjB,MAAM,EAAEpC,aAAa,EAAEiD,eAAe,EACtCb,MAAM,EAAEkC,SAAS,EAAED,OAAO,EAC1BjC,MAAM,EAAEmC,WAAW,EAAEF,OAAO,EAC5BjC,MAAM,EAAEoC,kBAAkB,EAAEC,UAAU,CACvC,CAAC;EAEF,MAAMC,gBAAgB,GAAGpF,WAAW,CAClC,OACEoE,QAAgB,EAChBI,QAAgB,EAChBa,YAAoC,KACZ;IACxB,MAAMC,QAAQ,GAAGD,YAAY,IAAIvC,MAAM,EAAEuC,YAAY;IACrD,MAAME,GAAG,GAAG5E,kBAAkB,CAACyD,QAAQ,EAAEkB,QAAQ,CAAC;;IAElD;IACA,MAAME,QAAQ,GAAG3E,0BAA0B,CAAC0E,GAAG,CAAC;IAChD,IAAIC,QAAQ,EAAE;MACZvC,SAAS,CAACuC,QAAQ,CAAC;MACnBlC,YAAY,CAACmC,OAAO,GAAG;QAAErB,QAAQ;QAAEI,QAAQ;QAAEc;MAAS,CAAC;MACvD,OAAOE,QAAQ;IACjB;;IAEA;IACA,IAAIxC,MAAM,IAAIlC,oBAAoB,CAACkC,MAAM,CAAC,EAAE;MAC1CM,YAAY,CAACmC,OAAO,GAAG;QAAErB,QAAQ;QAAEI,QAAQ;QAAEc;MAAS,CAAC;MACvD,OAAOtC,MAAM;IACf;;IAEA;IACA;IACA,MAAM0C,OAAO,GAAG,MAAM1E,sBAAsB,CAACuE,GAAG,EAAE,YAAY;MAC5D,MAAMI,UAAU,GAAG/E,mBAAmB,CAAC,CAAC;MACxC,IAAI+E,UAAU,EAAE;QACd,IAAI;UAAE,MAAMA,UAAU,CAACC,KAAK,CAAC,CAAC;QAAE,CAAC,CAAC,MAAM,CAAC;MAC3C;MACA,MAAMC,SAAS,GAAG,IAAIpF,UAAU,CAAC2D,QAAQ,EAAEI,QAAQ,EAAEc,QAAQ,CAAC;MAC9D;MACA;MACA;MACA;MACA;MACAO,SAAS,CAACC,sBAAsB,CAACrC,mBAAmB,CAAC;MACrD1C,mBAAmB,CAAC8E,SAAS,EAAEN,GAAG,CAAC;MACnC,MAAMM,SAAS,CAACE,aAAa,CAAC,CAAC,CAAC5B,KAAK,CAAEF,GAAG,IAAK;QAC7C+B,OAAO,CAACC,KAAK,CAAC,gCAAgC,EAAEhC,GAAG,CAAC;QACpD,MAAMA,GAAG;MACX,CAAC,CAAC;MACF,OAAO4B,SAAS;IAClB,CAAC,CAAC;;IAEF;IACA;IACAH,OAAO,CAACI,sBAAsB,CAACrC,mBAAmB,CAAC;;IAEnD;IACA;IACA;IACA;IACA;IACA;IACAiC,OAAO,CAACQ,WAAW,CAAC,MAAM;MACxB,MAAMC,UAAU,GAAIT,OAAO,CAAS1C,MAAM;MAC1C,IAAI,CAACmD,UAAU,EAAE;QAAC;MAAO;MACzB5E,gBAAgB,CAAC4E,UAAU,CAAC,CAAChC,KAAK,CAAEiC,CAAC,IACnC7D,UAAU,CAAC,MAAM,EAAE,4CAA4C,EAAE6D,CAAC,CACpE,CAAC;MACD;MACA;MACA;MACAV,OAAO,CACJW,iCAAiC,CAAC,CAAC,CACnClC,KAAK,CAAEiC,CAAU,IAChB7D,UAAU,CAAC,MAAM,EAAE,wCAAwC,EAAE6D,CAAC,CAChE,CAAC;IACL,CAAC,CAAC;IAEFnD,SAAS,CAACyC,OAAO,CAAC;IAClBpC,YAAY,CAACmC,OAAO,GAAG;MAAErB,QAAQ;MAAEI,QAAQ;MAAEc;IAAS,CAAC;IACvD,OAAOI,OAAO;EAChB,CAAC,EACD,CAAC1C,MAAM,EAAEF,MAAM,EAAEuC,YAAY,EAAE5B,mBAAmB,CACpD,CAAC;;EAED;EACA;EACA;EACAvD,SAAS,CAAC,MAAM;IACd,IAAI,CAAC4C,MAAM,EAAEO,cAAc,EAAE;MAC3BF,0BAA0B,CAAC,MAAM,CAAC;MAClC;IACF;IAEA,MAAMmD,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;MACvCrE,UAAU,CAAC,MAAM,EAAE,+CAA+C,CAAC;MACnE+D,eAAe,CAACS,KAAK,CAAC,CAAC;MACvBvD,uBAAuB,CAACiC,OAAO,GAAG,EAAE;MACpCtC,0BAA0B,CAAC,QAAQ,CAAC;IACtC,CAAC,EAAEwD,mBAAmB,CAAC;IACvB,MAAMK,WAAW,GAAGA,CAAA,KAAM;MACxB,IAAIH,WAAW,EAAE;QACfI,YAAY,CAACJ,WAAW,CAAC;QACzBA,WAAW,GAAG,IAAI;MACpB;IACF,CAAC;IAED,MAAMK,GAAG,GAAG,MAAAA,CAAA,KAAY;MACtB;MACA,MAAMC,YAAY,GAAGrE,MAAM,EAAEkC,SAAS,EAAED,OAAO,GAAGjC,MAAM,EAAEkC,SAAS,EAAEH,IAAI,GAAG,IAAI;MAChF,MAAMU,GAAG,GAAG,CACVzC,MAAM,EAAEsE,KAAK,IAAI,EAAE,EACnBtE,MAAM,EAAEuE,OAAO,IAAI,EAAE,EACrBF,YAAY,EAAE7C,aAAa,EAAEC,aAAa,IAAI,EAAE,EAChD4C,YAAY,EAAE9C,YAAY,IAAI,EAAE,EAChC8C,YAAY,EAAEpD,KAAK,GAAG,GAAG,GAAG,GAAG,EAC/BjB,MAAM,EAAEgC,QAAQ,EAAEC,OAAO,GAAGjC,MAAM,EAAEgC,QAAQ,EAAEf,KAAK,IAAI,EAAE,GAAG,EAAE,EAC9DjB,MAAM,EAAEuC,YAAY,EAAEiC,SAAS,IAAI,EAAE,CACtC,CAACC,IAAI,CAAC,GAAG,CAAC;MAEX,IAAIhE,wBAAwB,CAACkC,OAAO,KAAKF,GAAG,EAAE;QAC5ChD,UAAU,CAAC,IAAI,EAAE,qDAAqD,CAAC;QACvE;MACF;MACA,IAAIiB,uBAAuB,CAACiC,OAAO,KAAKF,GAAG,EAAE;QAC3ChD,UAAU,CAAC,IAAI,EAAE,6CAA6C,CAAC;QAC/D;MACF;MACAiB,uBAAuB,CAACiC,OAAO,GAAGF,GAAG;MACrCpC,0BAA0B,CAAC,SAAS,CAAC;MACrCZ,UAAU,CAAC,IAAI,EAAE,yBAAyB,EAAE;QAC1C6E,KAAK,EAAEtE,MAAM,EAAEsE,KAAK;QACpBC,OAAO,EAAEvE,MAAM,EAAEuE,OAAO;QACxBG,IAAI,EACF1E,MAAM,EAAEgC,QAAQ,EAAEC,OAAO,GAAG,KAAK,GACjCjC,MAAM,EAAEkC,SAAS,EAAED,OAAO,GAAG,WAAW,GACxCjC,MAAM,EAAEmC,WAAW,EAAEF,OAAO,GAAG,aAAa,GAAG;MACnD,CAAC,CAAC;MAEF,IAAI;QACF,IAAIjC,MAAM,EAAE2E,oBAAoB,EAAE;UAChClF,UAAU,CAAC,IAAI,EAAE,sCAAsC,CAAC;UACxDf,KAAK,CAACsC,QAAQ,CAAClC,cAAc,CAAC,CAAC,CAAC;UAChCJ,KAAK,CAACsC,QAAQ,CAACrC,MAAM,CAAC,CAAC,CAAC;UACxB,MAAMU,iBAAiB,CAACC,qBAAqB,CAACsF,WAAW,CAAC,CAACC,MAAM,CAAC,CAAC,CAACxD,KAAK,CAAC,MAAMyD,SAAS,CAAC;QAC5F;QAEA,MAAMxG,qBAAqB,CAAC0B,MAAM,CAAC;QACnCP,UAAU,CAAC,IAAI,EAAE,2CAA2C,CAAC;QAE7D,MAAMsF,QAAqB,GAAG,MAAM1G,yBAAyB,CAAC;UAC5D2B,MAAM;UACNgF,MAAM,EAAExB,eAAe,CAACwB;QAC1B,CAAC,CAAC;QACF,IAAItB,SAAS,EAAE;UAAC;QAAO;QAEvB,IAAI,CAACqB,QAAQ,IAAI,CAACA,QAAQ,CAACpD,YAAY,IAAI,CAACoD,QAAQ,CAACxD,YAAY,EAAE;UACjE9B,UAAU,CAAC,OAAO,EAAE,qCAAqC,EAAE;YACzDwF,WAAW,EAAE,CAAC,CAACF,QAAQ;YACvBxD,YAAY,EAAEwD,QAAQ,EAAExD,YAAY;YACpC2D,mBAAmB,EAAE,CAAC,CAACH,QAAQ,EAAEpD;UACnC,CAAC,CAAC;UACFtB,0BAA0B,CAAC,QAAQ,CAAC;UACpCK,uBAAuB,CAACiC,OAAO,GAAG,EAAE;UACpC;QACF;QAEAlD,UAAU,CAAC,IAAI,EAAE,kCAAkCsF,QAAQ,CAACxD,YAAY,GAAG,CAAC;QAC5EpD,wBAAwB,CAAC4G,QAAQ,CAAC;QAElC,IAAI/E,MAAM,EAAE;UACVtB,KAAK,CAACsC,QAAQ,CAACnC,SAAS,CAACmB,MAAM,CAAC,CAAC;QACnC;;QAEA;QACA;QACA;QACA;QACA;QACA,MAAMmF,gBAAgB,GAAG3G,oBAAoB,CAAC,CAAC,CAAC6C,KAAK,CAAC,MAAMyD,SAAS,CAAC;QAEtE,MAAMM,CAAC,GAAG,MAAM9C,gBAAgB,CAC9ByC,QAAQ,CAACxD,YAAY,EACrBwD,QAAQ,CAACpD,YAAY,EACrB3B,MAAM,EAAEuC,YACV,CAAC;QACD,IAAImB,SAAS,EAAE;UAAC;QAAO;QACvBjE,UAAU,CAAC,IAAI,EAAE,sDAAsD,CAAC;QAExE,MAAM2F,CAAC,CAACnC,aAAa,CAAC,CAAC;QACvB,IAAIS,SAAS,EAAE;UAAC;QAAO;QACvBjE,UAAU,CAAC,MAAM,EAAE,6BAA6B,CAAC;QAEjD,IAAI;UACF,MAAM2F,CAAC,CAACC,cAAc,CAAC,CAAC;UACxB5F,UAAU,CAAC,MAAM,EAAE,mCAAmC,CAAC;QACzD,CAAC,CAAC,OAAO6D,CAAC,EAAE;UACV7D,UAAU,CAAC,MAAM,EAAE,uCAAuC,EAAE6D,CAAC,CAAC;QAChE;QACA,IAAI;UACF,MAAM8B,CAAC,CAAC7B,iCAAiC,CAAC,CAAC;UAC3C9D,UAAU,CAAC,MAAM,EAAE,iCAAiC,CAAC;QACvD,CAAC,CAAC,OAAO6D,CAAC,EAAE;UACV7D,UAAU,CAAC,MAAM,EAAE,qCAAqC,EAAE6D,CAAC,CAAC;QAC9D;QACA;QACA;QACA;QACA,IAAI;UACF,MAAM6B,gBAAgB;QACxB,CAAC,CAAC,MAAM,CAAC;QACT,IAAI;UACF,MAAMG,SAAS,GAAGC,MAAM,CAACC,IAAI,CAAC9G,KAAK,CAACmD,QAAQ,CAAC,CAAC,CAAC4D,KAAK,CAACA,KAAK,IAAI,CAAC,CAAC,CAAC,CAACC,MAAM;UACxEjG,UAAU,CAAC,MAAM,EAAE,2BAA2B6F,SAAS,sBAAsB,CAAC;UAC9E,MAAM7G,gBAAgB,CAAE2G,CAAC,CAASlF,MAAM,CAAC;UACzCT,UAAU,CAAC,MAAM,EAAE,qCAAqC,CAAC;QAC3D,CAAC,CAAC,OAAO6D,CAAC,EAAE;UACV7D,UAAU,CAAC,MAAM,EAAE,yCAAyC,EAAE6D,CAAC,CAAC;QAClE;QAEA5E,KAAK,CAACsC,QAAQ,CAACpC,cAAc,CAACwG,CAAC,CAAC,CAAC;QACjC3E,wBAAwB,CAACkC,OAAO,GAAGF,GAAG;QACtC/B,uBAAuB,CAACiC,OAAO,GAAG,EAAE;QACpCmB,YAAY,GAAG,IAAI;QACnBI,WAAW,CAAC,CAAC;QACb7D,0BAA0B,CAAC,OAAO,CAAC;QACnCZ,UAAU,CAAC,IAAI,EAAE,uBAAuB,CAAC;;QAEzC;QACA,MAAMkG,GAAG,GAAG3F,MAAM,EAAE4F,UAAU;QAC9B,MAAMC,aAAa,GAAGnH,KAAK,CAACmD,QAAQ,CAAC,CAAC,CAAC4D,KAAK,CAACI,aAAa,IAAI,IAAI;QAClE,MAAMC,eAAe,GAClB9F,MAAM,EAAE+F,YAAY,EAAYC,GAAG,CAAEC,CAAC,IACrC,OAAOA,CAAC,KAAK,QAAQ,GAAGA,CAAC,GAAGA,CAAC,EAAEC,GACjC,CAAC,CAACC,MAAM,CAACC,OAAO,CAAC,IAAI,EAAE;QACzBhH,0BAA0B,CAAC;UACzBc,MAAM,EAAEkF,CAAC;UACTJ,MAAM,EAAExB,eAAe,CAACwB,MAAM;UAC9BqB,eAAe,EAAER,aAAa;UAC9BC,eAAe;UACfQ,WAAW,EAAEX,GAAG,EAAEY,wBAAwB;UAC1CC,QAAQ,EAAEb,GAAG,EAAEc,0BAA0B;UACzCC,SAAS,EAAEf,GAAG,EAAEgB;QAClB,CAAC,CAAC,CAACtF,KAAK,CAAEF,GAAG,IAAK+B,OAAO,CAAC0D,IAAI,CAAC,kCAAkC,EAAEzF,GAAG,CAAC,CAAC;MAC1E,CAAC,CAAC,OAAOgC,KAAU,EAAE;QACnB,IAAIO,SAAS,IAAIF,eAAe,CAACwB,MAAM,CAAC6B,OAAO,EAAE;UAAC;QAAO;QACzDjD,gBAAgB,IAAI,CAAC;QACrB;QACA;QACA;QACA;QACA;QACA,IAAIA,gBAAgB,GAAGD,sBAAsB,EAAE;UAC7C,MAAMmD,OAAO,GAAGC,IAAI,CAACC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,KAAKpD,gBAAgB,GAAG,CAAC,CAAC,CAAC;UAClEnE,UAAU,CACR,IAAI,EACJ,2BAA2BmE,gBAAgB,YAAYT,KAAK,EAAE8D,OAAO,kBAAkBH,OAAO,IAChG,CAAC;UACDpG,uBAAuB,CAACiC,OAAO,GAAG,EAAE;UACpCqB,UAAU,CAAC,MAAM;YACf,IAAI,CAACN,SAAS,IAAI,CAACF,eAAe,CAACwB,MAAM,CAAC6B,OAAO,EAAE;cACjDzC,GAAG,CAAC,CAAC;YACP;UACF,CAAC,EAAE0C,OAAO,CAAC;UACX;QACF;QACArH,UAAU,CAAC,OAAO,EAAE,6CAA6C,EAAE;UACjEwH,OAAO,EAAE9D,KAAK,EAAE8D,OAAO;UACvBC,MAAM,EAAE/D,KAAK,EAAEgE,QAAQ,EAAED,MAAM;UAC/BE,IAAI,EAAEjE,KAAK,EAAEgE,QAAQ,EAAEC;QACzB,CAAC,CAAC;QACF1G,uBAAuB,CAACiC,OAAO,GAAG,EAAE;QACpCuB,WAAW,CAAC,CAAC;QACb7D,0BAA0B,CAAC,QAAQ,CAAC;MACtC;IACF,CAAC;IAED+D,GAAG,CAAC,CAAC;IAEL,OAAO,MAAM;MACXV,SAAS,GAAG,IAAI;MAChBQ,WAAW,CAAC,CAAC;MACbV,eAAe,CAACS,KAAK,CAAC,CAAC;MACvB;MACA;MACA;MACA;MACA;MACAvD,uBAAuB,CAACiC,OAAO,GAAG,EAAE;IACtC,CAAC;IACD;IACA;IACA;IACA;IACA;IACA;IACA;EACF,CAAC,EAAE,CACD3C,MAAM,EAAEO,cAAc,EACtBP,MAAM,EAAEsE,KAAK,EACbtE,MAAM,EAAEuE,OAAO,EACfvE,MAAM,EAAEkC,SAAS,EAAED,OAAO,EAC1BjC,MAAM,EAAEkC,SAAS,EAAEH,IAAI,EAAEP,aAAa,EAAEC,aAAa,EACrDzB,MAAM,EAAEkC,SAAS,EAAEH,IAAI,EAAER,YAAY,EACrCvB,MAAM,EAAEkC,SAAS,EAAEH,IAAI,EAAEd,KAAK,EAC9BjB,MAAM,EAAEgC,QAAQ,EAAEC,OAAO,EACzBjC,MAAM,EAAEgC,QAAQ,EAAEf,KAAK,EACvBjB,MAAM,EAAEuC,YAAY,EAAEiC,SAAS,CAChC,CAAC;;EAEF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACApH,SAAS,CAAC,MAAM;IACd,IAAI,CAAC8C,MAAM,EAAE;MAAC;IAAO;IACrB,MAAMmH,EAAE,GAAGC,WAAW,CAAC,MAAM;MAC3B,IAAI9J,QAAQ,CAAC+J,YAAY,KAAK,QAAQ,EAAE;QAAC;MAAO;MAChD,IAAIrH,MAAM,CAACgH,MAAM,KAAK,QAAQ,IAAI,CAAChH,MAAM,CAACsH,iBAAiB,EAAE;QAC3D/H,UAAU,CAAC,IAAI,EAAE,oBAAoBS,MAAM,CAACgH,MAAM,mBAAmB,CAAC;QACtEhH,MAAM,CAACuH,cAAc,CAAC,CAAC;MACzB;IACF,CAAC,EAAE,KAAK,CAAC;IACT,OAAO,MAAMC,aAAa,CAACL,EAAE,CAAC;EAChC,CAAC,EAAE,CAACnH,MAAM,CAAC,CAAC;;EAEZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA9C,SAAS,CAAC,MAAM;IACd;IACA;IACA;IACA,IAAIuK,uBAAsC,GAAG,IAAI;IACjD,MAAMC,GAAG,GAAGpK,QAAQ,CAACqK,gBAAgB,CAAC,QAAQ,EAAGC,IAAI,IAAK;MACxD,MAAM1C,CAAC,GAAGlF,MAAM;MAChB,IAAI4H,IAAI,KAAK,QAAQ,EAAE;QACrB;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,IAAI1C,CAAC,KAAKA,CAAC,CAAC8B,MAAM,KAAK,SAAS,IAAI9B,CAAC,CAAC8B,MAAM,KAAK,OAAO,CAAC,EAAE;UACzDzH,UAAU,CAAC,IAAI,EAAE,2BAA2B2F,CAAC,CAAC8B,MAAM,mBAAmB,CAAC;UACxE9B,CAAC,CAACqC,cAAc,CAAC,CAAC;QACpB;QACA;QACA;QACA;QACA;QACA,IAAIE,uBAAuB,EAAE;UAC3BjJ,KAAK,CAACsC,QAAQ,CAACjC,cAAc,CAAC;YAAEgJ,OAAO,EAAEJ;UAAwB,CAAC,CAAC,CAAC;UACpEA,uBAAuB,GAAG,IAAI;QAChC;QACA;MACF;MACA;MACA,IAAI,CAACvC,CAAC,EAAE;QAAC;MAAO;MAChB,MAAM4C,KAAK,GAAGtJ,KAAK,CAACmD,QAAQ,CAAC,CAAC;MAC9B,MAAM4D,KAAK,GAAGuC,KAAK,CAACvC,KAAK,EAAEA,KAAK;MAChC,MAAMwC,cAAc,GAAGD,KAAK,CAACvC,KAAK,EAAEwC,cAAc,IAAI,IAAI;MAC1D;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACAN,uBAAuB,GAAGM,cAAc;MACxC,IAAIA,cAAc,EAAE;QAClBvJ,KAAK,CAACsC,QAAQ,CACZ/B,sBAAsB,CAAC;UAAEiJ,OAAO,EAAED,cAAc;UAAEE,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC;QAAE,CAAC,CAC3E,CAAC;QACD;QACA;QACA;QACA3J,KAAK,CAACsC,QAAQ,CACZ9B,iBAAiB,CAAC;UAAE6I,OAAO,EAAEE,cAAc;UAAEK,SAAS,EAAE;QAAgB,CAAC,CAC3E,CAAC;QACD5J,KAAK,CAACsC,QAAQ,CAAChC,gBAAgB,CAAC,CAAC,CAAC;MACpC;MACA;MACA;MACAoG,CAAC,CAACmD,mCAAmC,CAAC9C,KAAK,EAAE;QAAEwC;MAAe,CAAC,CAAC,CAAC5G,KAAK,CACpE,MAAM,CAAC,CACT,CAAC;IACH,CAAC,CAAC;IACF,OAAO,MAAMuG,GAAG,CAAC/C,MAAM,CAAC,CAAC;EAC3B,CAAC,EAAE,CAAC3E,MAAM,CAAC,CAAC;;EAEZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMsI,iBAAiB,GAAGlL,MAAM,CAAC,KAAK,CAAC;EACvCF,SAAS,CAAC,MAAM;IACd,IAAI,OAAO6C,SAAS,KAAK,SAAS,EAAE;MAAC;IAAO;IAC5C,MAAM+H,KAAK,GAAGtJ,KAAK,CAACmD,QAAQ,CAAC,CAAC;IAC9B,MAAM4D,KAAK,GAAGuC,KAAK,CAACvC,KAAK,EAAEA,KAAK;IAChC,MAAMI,aAAa,GAAGmC,KAAK,CAACvC,KAAK,EAAEI,aAAa,IAAI,IAAI;IACxD,MAAM4C,UAAU,GAAGD,iBAAiB,CAAC7F,OAAO;IAC5C6F,iBAAiB,CAAC7F,OAAO,GAAG1C,SAAS;IACrC,IAAIA,SAAS,EAAE;MACb,IAAI4F,aAAa,EAAE;QACjBnH,KAAK,CAACsC,QAAQ,CAACjC,cAAc,CAAC;UAAEgJ,OAAO,EAAElC;QAAc,CAAC,CAAC,CAAC;MAC5D;IACF,CAAC,MAAM;MACL,IAAI4C,UAAU,IAAI5C,aAAa,EAAE;QAC/BnH,KAAK,CAACsC,QAAQ,CACZ/B,sBAAsB,CAAC;UAAEiJ,OAAO,EAAErC,aAAa;UAAEsC,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC;QAAE,CAAC,CAC1E,CAAC;QACD;QACA;QACA3J,KAAK,CAACsC,QAAQ,CACZ9B,iBAAiB,CAAC;UAAE6I,OAAO,EAAElC,aAAa;UAAEyC,SAAS,EAAE;QAAgB,CAAC,CAC1E,CAAC;MACH;MAEA5J,KAAK,CAACsC,QAAQ,CAAChC,gBAAgB,CAAC,CAAC,CAAC;MAClC,IAAIyJ,UAAU,IAAIvI,MAAM,EAAEqI,mCAAmC,EAAE;QAC7DrI,MAAM,CACHqI,mCAAmC,CAAC9C,KAAK,EAAE;UAAEwC,cAAc,EAAEpC;QAAc,CAAC,CAAC,CAC7ExE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;MACpB;IACF;EACF,CAAC,EAAE,CAACpB,SAAS,EAAEC,MAAM,CAAC,CAAC;EAEvB9C,SAAS,CAAC,MAAM;IACd,IAAI6C,SAAS,KAAK,IAAI,EAAE;MAAC;IAAO;IAChC,IAAIyI,eAAoB,GAAG,IAAI;IAC/B,IAAIC,aAAa,GAAG,CAAC;IACrB,IAAIC,UAAgD,GAAG,IAAI;IAE3D,MAAMC,OAAO,GAAGA,CAAA,KAAM;MACpB,MAAMC,CAAC,GAAGpK,KAAK,CAACmD,QAAQ,CAAC,CAAC;MAC1B,MAAMqE,GAAG,GAAG4C,CAAC,CAACrD,KAAK,EAAEI,aAAa;MAClC,IAAI,CAACK,GAAG,EAAE;QAAC;MAAO;MAClB,MAAM6C,IAAI,GAAGD,CAAC,CAACrD,KAAK,EAAEA,KAAK,GAAGS,GAAG,CAAC;MAClC,IAAI,CAAC6C,IAAI,EAAE;QAAC;MAAO;MACnB,IAAIA,IAAI,CAACC,QAAQ,KAAKN,eAAe,EAAE;QAAC;MAAO;MAC/CA,eAAe,GAAGK,IAAI,CAACC,QAAQ;MAE/B,IAAIC,MAAM,GAAG,CAAC;MACd,MAAMC,IAAI,GAAGH,IAAI,CAACC,QAAQ,IAAI,EAAE;MAChC,KAAK,MAAMG,CAAC,IAAID,IAAI,EAAE;QACpB,IAAI,CAACC,CAAC,IAAIA,CAAC,CAAC9B,EAAE,KAAK,eAAe,EAAE;UAAC;QAAS;QAC9C,MAAM+B,EAAE,GAAGjK,aAAa,CAACgK,CAAC,CAAC;QAC3B,IAAIC,EAAE,GAAGH,MAAM,EAAE;UAACA,MAAM,GAAGG,EAAE;QAAC;MAChC;MACA,IAAIH,MAAM,IAAIN,aAAa,EAAE;QAAC;MAAO;MACrCA,aAAa,GAAGM,MAAM;MAEtBvK,KAAK,CAACsC,QAAQ,CACZ/B,sBAAsB,CAAC;QAAEiJ,OAAO,EAAEhC,GAAG;QAAEiC,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC;MAAE,CAAC,CAChE,CAAC;MAED,IAAIO,UAAU,EAAE;QAACzE,YAAY,CAACyE,UAAU,CAAC;MAAC;MAC1C,IAAI1I,MAAM,EAAEqI,mCAAmC,EAAE;QAC/CK,UAAU,GAAG5E,UAAU,CAAC,MAAM;UAC5B9D,MAAM,CACHqI,mCAAmC,CAAC7J,KAAK,CAACmD,QAAQ,CAAC,CAAC,CAAC4D,KAAK,EAAEA,KAAK,EAAE;YAClEwC,cAAc,EAAE/B;UAClB,CAAC,CAAC,CACD7E,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACpB,CAAC,EAAE,IAAI,CAAC;MACV;IACF,CAAC;IAEDwH,OAAO,CAAC,CAAC;IACT,MAAMQ,KAAK,GAAG3K,KAAK,CAAC4K,SAAS,CAACT,OAAO,CAAC;IACtC,OAAO,MAAM;MACXQ,KAAK,CAAC,CAAC;MACP,IAAIT,UAAU,EAAE;QAACzE,YAAY,CAACyE,UAAU,CAAC;MAAC;IAC5C,CAAC;EACH,CAAC,EAAE,CAAC3I,SAAS,EAAEC,MAAM,CAAC,CAAC;;EAEvB;EACA;EACA;EACA;EACA;EACA;EACA;EACA9C,SAAS,CAAC,MAAM;IACd,IAAI,CAAC8C,MAAM,EAAE;MAAC;IAAO;IACrB,MAAMmJ,KAAK,GAAG3L,OAAO,CAACmK,gBAAgB,CAAEG,KAAK,IAAK;MAChD;MACA,MAAMuB,SAAS,GACb,CAAC,CAACvB,KAAK,EAAEwB,WAAW,IAAIxB,KAAK,EAAEyB,mBAAmB,KAAK,KAAK;MAC9D,IAAI,CAACF,SAAS,EAAE;QAAC;MAAO;MACxB;MACA;MACA;MACA;MACA;MACA;MACA,IAAIrJ,MAAM,CAACgH,MAAM,KAAK,SAAS,IAAIhH,MAAM,CAACgH,MAAM,KAAK,OAAO,EAAE;QAC5DzH,UAAU,CAAC,IAAI,EAAE,+BAA+BS,MAAM,CAACgH,MAAM,mBAAmB,CAAC;QACjFhH,MAAM,CAACuH,cAAc,CAAC,CAAC;MACzB;IACF,CAAC,CAAC;IACF,OAAO,MAAM4B,KAAK,CAAC,CAAC;EACtB,CAAC,EAAE,CAACnJ,MAAM,CAAC,CAAC;;EAEZ;EACA;EACA;EACA;EACA;EACA9C,SAAS,CAAC,MAAM;IACd,MAAMwK,GAAG,GAAGnK,kBAAkB,CAACiM,WAAW,CAAC,uBAAuB,EAAE,MAAM;MACxEjJ,wBAAwB,CAACkC,OAAO,GAAG,EAAE;MACrCjC,uBAAuB,CAACiC,OAAO,GAAG,EAAE;MACpCtC,0BAA0B,CAAC,MAAM,CAAC;IACpC,CAAC,CAAC;IACF,OAAO,MAAMuH,GAAG,CAAC/C,MAAM,CAAC,CAAC;EAC3B,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACAzH,SAAS,CAAC,MAAM;IACd,MAAMwK,GAAG,GAAGnK,kBAAkB,CAACiM,WAAW,CAAC7J,YAAY,EAAE,YAAY;MACnE,IAAI;QACF,IAAIK,MAAM,EAAE;UACV,MAAMA,MAAM,CAACyJ,UAAU,CAAC;YAAEnC,iBAAiB,EAAE;UAAK,CAAC,CAAC;QACtD;MACF,CAAC,CAAC,OAAOlE,CAAC,EAAE;QACVJ,OAAO,CAAC0D,IAAI,CAAC,0BAA0B,EAAEtD,CAAC,CAAC;MAC7C;MACArF,mBAAmB,CAAC,IAAI,CAAC;MACzBkC,SAAS,CAAC,IAAI,CAAC;MACfM,wBAAwB,CAACkC,OAAO,GAAG,EAAE;MACrCjC,uBAAuB,CAACiC,OAAO,GAAG,EAAE;MACpCtC,0BAA0B,CAAC,MAAM,CAAC;MAClC,MAAMd,mBAAmB,CAAC,CAAC;IAC7B,CAAC,CAAC;IACF,OAAO,MAAMqI,GAAG,CAAC/C,MAAM,CAAC,CAAC;EAC3B,CAAC,EAAE,CAAC3E,MAAM,CAAC,CAAC;EAEZ,oBACEP,IAAA,CAACC,WAAW,CAACgK,QAAQ;IACnBC,KAAK,EAAE;MACL3J,MAAM;MACNE,uBAAuB;MACvBE,QAAQ;MACRgC,gBAAgB;MAChBnC;IACF,CAAE;IAAAJ,QAAA,EAEDA;EAAQ,CACW,CAAC;AAE3B,CAAC;AAED,OAAO,MAAM+J,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAMC,OAAO,GAAG5M,UAAU,CAACyC,WAAW,CAAC;EACvC,IAAI,CAACmK,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,mDAAmD,CAAC;EACtE;EACA,IAAI,CAACD,OAAO,CAAC7J,MAAM,EAAE;IACnB,MAAM+J,UAAgD,GAAG,CACvDnM,mBAAmB,CAAC,CAAC,EACrBY,KAAK,CAACmD,QAAQ,CAAC,CAAC,EAAEC,gBAAgB,EAAE5B,MAAM,CAC3C;IACD,MAAMgK,IAAI,GAAGD,UAAU,CAACE,IAAI,CACzB/E,CAAC,IAAKA,CAAC,IAAKA,CAAC,CAAS8B,MAAM,KAAK,QACpC,CAAC;IACD,IAAIgD,IAAI,EAAE;MACR,OAAO;QAAE,GAAGH,OAAO;QAAE7J,MAAM,EAAEgK;MAAK,CAAC;IACrC;EACF;EACA,OAAOH,OAAO;AAChB,CAAC;;AAED;AACA,OAAO,SAASK,cAAcA,CAAA,EAAG;EAC/B3M,kBAAkB,CAAC4M,IAAI,CAACxK,YAAY,CAAC;AACvC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","AppState","DeviceEventEmitter","NetInfo","XmppClient","refreshTokens","buildXmppClientKey","getGlobalXmppClient","getReusableXmppClientByKey","isXmppClientReusable","setGlobalXmppClient","withXmppClientInitLock","applyResolvedUserToStore","refreshUserCredentialsForXmpp","resolveInitBeforeLoadUser","ensureScopedChatCache","getRooms","prefetchRoomsViaRest","allRoomPresences","store","logout","setStoreClient","setConfig","setLogoutState","setVisibleRoom","clearVisibleRoom","setLastViewedTimestamp","deleteRoomMessage","msgSortableMs","setUnreadSyncing","runHistoryPreloadScheduler","asyncLocalStorage","localStorageConstants","clearPersistedState","pushLog","devPushLog","jsx","_jsx","XmppContext","LOGOUT_EVENT","XmppProvider","children","config","isVisible","client","setClient","providerBootstrapStatus","setProviderBootstrapStatus","initMode","initBeforeLoad","lastCredsRef","completedBootstrapKeyRef","inflightBootstrapKeyRef","credentialsProvider","customRefresh","refreshFunction","result","accessToken","dispatch","token","refreshToken","err","fresh","catch","username","xmppUsername","defaultWallet","walletAddress","password","xmppPassword","u","getState","chatSettingStore","user","jwtLogin","enabled","userLogin","customLogin","initBeforeLoadAuth","myEndpoint","initializeClient","xmppSettings","settings","key","reusable","current","created","prevGlobal","close","newClient","setCredentialsProvider","waitForOnline","console","error","setOnOnline","underlying","e","getChatsPrivateStoreRequestStanza","abortController","AbortController","cancelled","MAX_BOOTSTRAP_ATTEMPTS","bootstrapAttempt","BOOTSTRAP_BUDGET_MS","reachedReady","budgetTimer","setTimeout","abort","clearBudget","clearTimeout","run","explicitUser","appId","baseUrl","devServer","join","mode","clearStoreBeforeInit","ETHORA_USER","remove","undefined","resolved","signal","hasResolved","xmppPasswordPresent","restRoomsPromise","c","getRoomsStanza","roomCount","Object","keys","rooms","length","qos","historyQoS","activeRoomJID","defaultRoomJids","defaultRooms","map","r","jid","filter","Boolean","selectedRoomJid","concurrency","stagedPreloadConcurrency","pageSize","stagedPreloadFirstPassSize","roomLimit","preloadTopKRooms","warn","aborted","backoff","Math","min","message","status","response","data","id","setInterval","currentState","suppressReconnect","forceReconnect","clearInterval","visibleBeforeBackground","sub","addEventListener","next","roomJID","state","visibleRoomJID","chatJID","timestamp","Date","now","messageId","flushLastViewedToPrivateStoreStanza","chatWasVisibleRef","wasVisible","lastMessagesRef","lastStampedMs","flushTimer","advance","s","room","messages","newest","list","m","ms","unsub","subscribe","reachable","isConnected","isInternetReachable","addListener","disconnect","Provider","value","useXmppClient","context","Error","candidates","live","find","emitXmppLogout","emit"],"sourceRoot":"../../../src","sources":["context/xmppProvider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { AppState } from 'react-native';
|
|
4
4
|
import { store } from '../roomStore';
|
|
5
|
-
import { applyRoomsPreloadBatch } from '../roomStore/roomsSlice';
|
|
5
|
+
import { applyRoomsPreloadBatch, setUnreadSyncing } from '../roomStore/roomsSlice';
|
|
6
6
|
const DEFAULT_CONCURRENCY = 3;
|
|
7
7
|
// Fetch the most recent ~20 on re-entry (mirrors web). A larger first page
|
|
8
8
|
// also means more id-overlap with cache, so the merge in
|
|
@@ -94,132 +94,137 @@ export const runHistoryPreloadScheduler = async options => {
|
|
|
94
94
|
if (signal?.aborted) {
|
|
95
95
|
return;
|
|
96
96
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
const readyItems = queue.filter(item => item.readyAt <= now && !inFlightByRoom.has(item.jid));
|
|
132
|
-
if (readyItems.length === 0) {
|
|
133
|
-
await sleep(60);
|
|
134
|
-
continue;
|
|
135
|
-
}
|
|
136
|
-
const batch = readyItems.slice(0, Math.max(1, concurrency));
|
|
137
|
-
|
|
138
|
-
// Snapshot each room's historyPreloadState BEFORE marking the
|
|
139
|
-
// batch as 'loading'. Without this snapshot the per-task
|
|
140
|
-
// `currentRoom.historyPreloadState === 'done'` skip check below
|
|
141
|
-
// is dead — the dispatch immediately overwrites 'done' with
|
|
142
|
-
// 'loading', so the task never sees the original value and
|
|
143
|
-
// always re-fetches.
|
|
144
|
-
const preBatchPreloadStateByJid = new Map(batch.map(item => [item.jid, store.getState().rooms.rooms[item.jid]?.historyPreloadState]));
|
|
145
|
-
store.dispatch(applyRoomsPreloadBatch({
|
|
146
|
-
rooms: batch.map(item => ({
|
|
147
|
-
jid: item.jid,
|
|
148
|
-
historyPreloadState: 'loading'
|
|
149
|
-
}))
|
|
150
|
-
}));
|
|
151
|
-
await Promise.all(batch.map(async item => {
|
|
152
|
-
const queueIndex = queue.findIndex(queued => queued.jid === item.jid);
|
|
153
|
-
if (queueIndex !== -1) {
|
|
154
|
-
queue.splice(queueIndex, 1);
|
|
97
|
+
store.dispatch(setUnreadSyncing(true));
|
|
98
|
+
try {
|
|
99
|
+
const state = store.getState();
|
|
100
|
+
const rooms = state.rooms.rooms || {};
|
|
101
|
+
const defaultSet = new Set(defaultRoomJids);
|
|
102
|
+
const sortedQueue = Object.entries(rooms).map(([jid, room]) => ({
|
|
103
|
+
jid,
|
|
104
|
+
priority: getRoomPriority(jid, room, selectedRoomJid, defaultSet),
|
|
105
|
+
activityScore: getRoomLastActivityScore(room),
|
|
106
|
+
attempts: 0,
|
|
107
|
+
readyAt: Date.now()
|
|
108
|
+
})).sort((a, b) => {
|
|
109
|
+
if (a.priority !== b.priority) {
|
|
110
|
+
return a.priority - b.priority;
|
|
111
|
+
}
|
|
112
|
+
if (a.activityScore !== b.activityScore) {
|
|
113
|
+
return b.activityScore - a.activityScore;
|
|
114
|
+
}
|
|
115
|
+
return a.jid.localeCompare(b.jid);
|
|
116
|
+
});
|
|
117
|
+
const queue = roomLimit && roomLimit > 0 ? sortedQueue.slice(0, roomLimit) : sortedQueue;
|
|
118
|
+
const inFlightByRoom = new Map();
|
|
119
|
+
let consecutiveErrorCount = 0;
|
|
120
|
+
while (queue.length > 0) {
|
|
121
|
+
if (signal?.aborted) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
if (!client.isActiveRoomGateOpen()) {
|
|
125
|
+
await sleep(80);
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
if (shouldPauseForVisibility()) {
|
|
129
|
+
await sleep(250);
|
|
130
|
+
continue;
|
|
155
131
|
}
|
|
156
|
-
const
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
132
|
+
const now = Date.now();
|
|
133
|
+
const readyItems = queue.filter(item => item.readyAt <= now && !inFlightByRoom.has(item.jid));
|
|
134
|
+
if (readyItems.length === 0) {
|
|
135
|
+
await sleep(60);
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
const batch = readyItems.slice(0, Math.max(1, concurrency));
|
|
139
|
+
|
|
140
|
+
// Snapshot each room's historyPreloadState BEFORE marking the
|
|
141
|
+
// batch as 'loading'. Without this snapshot the per-task
|
|
142
|
+
// `currentRoom.historyPreloadState === 'done'` skip check below
|
|
143
|
+
// is dead — the dispatch immediately overwrites 'done' with
|
|
144
|
+
// 'loading', so the task never sees the original value and
|
|
145
|
+
// always re-fetches.
|
|
146
|
+
const preBatchPreloadStateByJid = new Map(batch.map(item => [item.jid, store.getState().rooms.rooms[item.jid]?.historyPreloadState]));
|
|
147
|
+
store.dispatch(applyRoomsPreloadBatch({
|
|
148
|
+
rooms: batch.map(item => ({
|
|
149
|
+
jid: item.jid,
|
|
150
|
+
historyPreloadState: 'loading'
|
|
151
|
+
}))
|
|
152
|
+
}));
|
|
153
|
+
await Promise.all(batch.map(async item => {
|
|
154
|
+
const queueIndex = queue.findIndex(queued => queued.jid === item.jid);
|
|
155
|
+
if (queueIndex !== -1) {
|
|
156
|
+
queue.splice(queueIndex, 1);
|
|
167
157
|
}
|
|
168
|
-
|
|
169
|
-
const
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
158
|
+
const task = (async () => {
|
|
159
|
+
const currentRoom = store.getState().rooms.rooms[item.jid];
|
|
160
|
+
const preState = preBatchPreloadStateByJid.get(item.jid);
|
|
161
|
+
if (!currentRoom || !forceReload && preState === 'done') {
|
|
162
|
+
store.dispatch(applyRoomsPreloadBatch({
|
|
163
|
+
rooms: [{
|
|
164
|
+
jid: item.jid,
|
|
165
|
+
historyPreloadState: 'done'
|
|
166
|
+
}]
|
|
167
|
+
}));
|
|
175
168
|
return;
|
|
176
169
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
store.dispatch(applyRoomsPreloadBatch({
|
|
183
|
-
rooms: [{
|
|
184
|
-
jid: item.jid,
|
|
185
|
-
messages: fetchedMessages || [],
|
|
186
|
-
unreadCapped,
|
|
187
|
-
historyPreloadState: 'done'
|
|
188
|
-
}]
|
|
189
|
-
}));
|
|
190
|
-
consecutiveErrorCount = 0;
|
|
191
|
-
} catch {
|
|
192
|
-
const retries = item.attempts + 1;
|
|
193
|
-
const canRetry = retries <= retryLimit;
|
|
194
|
-
if (canRetry) {
|
|
195
|
-
const jitter = Math.floor(Math.random() * 120);
|
|
196
|
-
const backoff = Math.min(1600, 240 * 2 ** item.attempts) + jitter;
|
|
197
|
-
queue.push({
|
|
198
|
-
...item,
|
|
199
|
-
attempts: retries,
|
|
200
|
-
readyAt: Date.now() + backoff
|
|
170
|
+
try {
|
|
171
|
+
const fetchedMessages = await client.getHistoryStanza(item.jid, pageSize, undefined, undefined, {
|
|
172
|
+
coalesceRoom: true,
|
|
173
|
+
skipIfPreloaded: !forceReload,
|
|
174
|
+
source: 'background'
|
|
201
175
|
});
|
|
202
|
-
|
|
176
|
+
if (signal?.aborted) {
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
if (typeof fetchedMessages === 'undefined') {
|
|
180
|
+
throw new Error('history_timeout');
|
|
181
|
+
}
|
|
182
|
+
const nextRoom = store.getState().rooms.rooms[item.jid];
|
|
183
|
+
const unreadCapped = computeUnreadCapped(nextRoom, fetchedMessages || [], pageSize);
|
|
203
184
|
store.dispatch(applyRoomsPreloadBatch({
|
|
204
185
|
rooms: [{
|
|
205
186
|
jid: item.jid,
|
|
206
|
-
|
|
187
|
+
messages: fetchedMessages || [],
|
|
188
|
+
unreadCapped,
|
|
189
|
+
historyPreloadState: 'done'
|
|
207
190
|
}]
|
|
208
191
|
}));
|
|
209
|
-
}
|
|
210
|
-
consecutiveErrorCount += 1;
|
|
211
|
-
if (consecutiveErrorCount >= 3) {
|
|
212
|
-
await sleep(300);
|
|
213
192
|
consecutiveErrorCount = 0;
|
|
193
|
+
} catch {
|
|
194
|
+
const retries = item.attempts + 1;
|
|
195
|
+
const canRetry = retries <= retryLimit;
|
|
196
|
+
if (canRetry) {
|
|
197
|
+
const jitter = Math.floor(Math.random() * 120);
|
|
198
|
+
const backoff = Math.min(1600, 240 * 2 ** item.attempts) + jitter;
|
|
199
|
+
queue.push({
|
|
200
|
+
...item,
|
|
201
|
+
attempts: retries,
|
|
202
|
+
readyAt: Date.now() + backoff
|
|
203
|
+
});
|
|
204
|
+
} else {
|
|
205
|
+
store.dispatch(applyRoomsPreloadBatch({
|
|
206
|
+
rooms: [{
|
|
207
|
+
jid: item.jid,
|
|
208
|
+
historyPreloadState: 'error'
|
|
209
|
+
}]
|
|
210
|
+
}));
|
|
211
|
+
}
|
|
212
|
+
consecutiveErrorCount += 1;
|
|
213
|
+
if (consecutiveErrorCount >= 3) {
|
|
214
|
+
await sleep(300);
|
|
215
|
+
consecutiveErrorCount = 0;
|
|
216
|
+
}
|
|
214
217
|
}
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
}));
|
|
218
|
+
})();
|
|
219
|
+
inFlightByRoom.set(item.jid, task);
|
|
220
|
+
await task.finally(() => inFlightByRoom.delete(item.jid));
|
|
221
|
+
}));
|
|
220
222
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
+
// Yield to JS event loop (no requestIdleCallback in RN).
|
|
224
|
+
await new Promise(r => setTimeout(r, 0));
|
|
225
|
+
}
|
|
226
|
+
} finally {
|
|
227
|
+
store.dispatch(setUnreadSyncing(false));
|
|
223
228
|
}
|
|
224
229
|
};
|
|
225
230
|
export default runHistoryPreloadScheduler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AppState","store","applyRoomsPreloadBatch","DEFAULT_CONCURRENCY","DEFAULT_PAGE_SIZE","DEFAULT_RETRY_LIMIT","sleep","ms","Promise","resolve","setTimeout","messageTimestamp","m","t","timestamp","Number","isFinite","id","getRoomLastActivityScore","room","messages","length","reduce","max","Math","computeUnreadCapped","pageSize","historyComplete","countable","filter","msg","pending","lastViewed","lastViewedTimestamp","oldestTs","minTs","ts","min","MAX_SAFE_INTEGER","getRoomPriority","jid","_room","selectedRoomJid","defaultRoomJids","has","shouldPauseForVisibility","currentState","runHistoryPreloadScheduler","options","client","signal","concurrency","retryLimit","roomLimit","forceReload","aborted","state","getState","rooms","defaultSet","Set","sortedQueue","Object","entries","map","priority","activityScore","attempts","readyAt","Date","now","sort","a","b","localeCompare","queue","slice","inFlightByRoom","Map","consecutiveErrorCount","isActiveRoomGateOpen","readyItems","item","batch","preBatchPreloadStateByJid","historyPreloadState","
|
|
1
|
+
{"version":3,"names":["AppState","store","applyRoomsPreloadBatch","setUnreadSyncing","DEFAULT_CONCURRENCY","DEFAULT_PAGE_SIZE","DEFAULT_RETRY_LIMIT","sleep","ms","Promise","resolve","setTimeout","messageTimestamp","m","t","timestamp","Number","isFinite","id","getRoomLastActivityScore","room","messages","length","reduce","max","Math","computeUnreadCapped","pageSize","historyComplete","countable","filter","msg","pending","lastViewed","lastViewedTimestamp","oldestTs","minTs","ts","min","MAX_SAFE_INTEGER","getRoomPriority","jid","_room","selectedRoomJid","defaultRoomJids","has","shouldPauseForVisibility","currentState","runHistoryPreloadScheduler","options","client","signal","concurrency","retryLimit","roomLimit","forceReload","aborted","dispatch","state","getState","rooms","defaultSet","Set","sortedQueue","Object","entries","map","priority","activityScore","attempts","readyAt","Date","now","sort","a","b","localeCompare","queue","slice","inFlightByRoom","Map","consecutiveErrorCount","isActiveRoomGateOpen","readyItems","item","batch","preBatchPreloadStateByJid","historyPreloadState","all","queueIndex","findIndex","queued","splice","task","currentRoom","preState","get","fetchedMessages","getHistoryStanza","undefined","coalesceRoom","skipIfPreloaded","source","Error","nextRoom","unreadCapped","retries","canRetry","jitter","floor","random","backoff","push","set","finally","delete","r"],"sourceRoot":"../../../src","sources":["helpers/historyPreloadScheduler.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
|
+
import { Text, TextInput } from 'react-native';
|
|
5
|
+
/**
|
|
6
|
+
* Loads and applies the host-provided font configuration for the chat UI.
|
|
7
|
+
*
|
|
8
|
+
* React Native has no web-style runtime `@font-face`, so a custom font must be
|
|
9
|
+
* registered with `expo-font` before it can be used. This hook:
|
|
10
|
+
* 1. loads every entry in `typography.fonts` via `expo-font` (remote URL or
|
|
11
|
+
* bundled `require(...)`), then
|
|
12
|
+
* 2. sets the resolved `fontFamily` as the default for all `<Text>` and
|
|
13
|
+
* `<TextInput>` rendered by the chat — mirroring how the web SDK sets a
|
|
14
|
+
* CSS variable. Individual components can still override per-style.
|
|
15
|
+
*
|
|
16
|
+
* `expo-font` is an optional peer dependency: if the host hasn't installed it,
|
|
17
|
+
* the hook degrades gracefully (font simply isn't loaded) instead of throwing.
|
|
18
|
+
*
|
|
19
|
+
* No-op when `typography` is undefined — the system font is kept, so existing
|
|
20
|
+
* integrations are unaffected.
|
|
21
|
+
*
|
|
22
|
+
* @returns `true` once fonts are ready (or when there's nothing to load), so
|
|
23
|
+
* callers can gate first paint to avoid a font "flash" if desired.
|
|
24
|
+
*/
|
|
25
|
+
export function useChatFonts(typography) {
|
|
26
|
+
const [ready, setReady] = useState(!typography?.fonts?.length);
|
|
27
|
+
applyDefaultFont(typography);
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
let cancelled = false;
|
|
30
|
+
async function load() {
|
|
31
|
+
// Apply the default family immediately so already-available fonts
|
|
32
|
+
// (system, or host-loaded) take effect without waiting on a download.
|
|
33
|
+
applyDefaultFont(typography);
|
|
34
|
+
if (!typography?.fonts?.length) {
|
|
35
|
+
setReady(true);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
// Optional dependency — resolve lazily so apps that don't use custom
|
|
40
|
+
// fonts don't need expo-font installed.
|
|
41
|
+
const ExpoFont = await import('expo-font').catch(() => null);
|
|
42
|
+
if (!ExpoFont) {
|
|
43
|
+
if (!cancelled) setReady(true);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const map = {};
|
|
47
|
+
for (const f of typography.fonts) map[f.family] = f.source;
|
|
48
|
+
await ExpoFont.loadAsync(map);
|
|
49
|
+
if (!cancelled) {
|
|
50
|
+
applyDefaultFont(typography);
|
|
51
|
+
setReady(true);
|
|
52
|
+
}
|
|
53
|
+
} catch {
|
|
54
|
+
// Loading failed (e.g. bad URL) — keep the fallback font, don't block UI.
|
|
55
|
+
if (!cancelled) setReady(true);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
load();
|
|
59
|
+
return () => {
|
|
60
|
+
cancelled = true;
|
|
61
|
+
};
|
|
62
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
63
|
+
}, [typography?.fontFamily, JSON.stringify(typography?.fonts ?? []), JSON.stringify(typography?.weightFamilies ?? {})]);
|
|
64
|
+
return ready;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* The family currently applied as the chat-wide default. Read at render time
|
|
69
|
+
* by the patched components below, so updating it (then triggering a re-render)
|
|
70
|
+
* restyles the whole tree.
|
|
71
|
+
*/
|
|
72
|
+
let activeFamily;
|
|
73
|
+
function wrapFactory(orig) {
|
|
74
|
+
if (typeof orig !== 'function') return orig;
|
|
75
|
+
if (orig.__ethoraFontWrapped) return orig;
|
|
76
|
+
const wrapped = function (type, props, ...rest) {
|
|
77
|
+
if (activeFamily && props && (type === Text || type === TextInput)) {
|
|
78
|
+
props = {
|
|
79
|
+
...props,
|
|
80
|
+
style: [{
|
|
81
|
+
fontFamily: activeFamily
|
|
82
|
+
}, props.style]
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
return orig.call(this, type, props, ...rest);
|
|
86
|
+
};
|
|
87
|
+
wrapped.__ethoraFontWrapped = true;
|
|
88
|
+
return wrapped;
|
|
89
|
+
}
|
|
90
|
+
let factoriesPatched = false;
|
|
91
|
+
function ensurePatched() {
|
|
92
|
+
if (factoriesPatched) return;
|
|
93
|
+
let any = false;
|
|
94
|
+
const patchMod = mod => {
|
|
95
|
+
if (!mod) return;
|
|
96
|
+
for (const fn of ['jsx', 'jsxs', 'jsxDEV']) {
|
|
97
|
+
if (typeof mod[fn] === 'function' && !mod[fn].__ethoraFontWrapped) {
|
|
98
|
+
mod[fn] = wrapFactory(mod[fn]);
|
|
99
|
+
any = true;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
try {
|
|
104
|
+
patchMod(require('react/jsx-runtime'));
|
|
105
|
+
} catch {
|
|
106
|
+
/* ignore */
|
|
107
|
+
}
|
|
108
|
+
try {
|
|
109
|
+
patchMod(require('react/jsx-dev-runtime'));
|
|
110
|
+
} catch {
|
|
111
|
+
/* ignore */
|
|
112
|
+
}
|
|
113
|
+
try {
|
|
114
|
+
const React = require('react');
|
|
115
|
+
if (typeof React.createElement === 'function' && !React.createElement.__ethoraFontWrapped) {
|
|
116
|
+
React.createElement = wrapFactory(React.createElement);
|
|
117
|
+
any = true;
|
|
118
|
+
}
|
|
119
|
+
} catch {
|
|
120
|
+
/* ignore */
|
|
121
|
+
}
|
|
122
|
+
if (any) factoriesPatched = true;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Set (or clear) the chat-wide default font family.
|
|
127
|
+
*/
|
|
128
|
+
function applyDefaultFont(typography) {
|
|
129
|
+
activeFamily = typography?.fontFamily;
|
|
130
|
+
if (activeFamily) ensurePatched();
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=useChatFonts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useState","Text","TextInput","useChatFonts","typography","ready","setReady","fonts","length","applyDefaultFont","cancelled","load","ExpoFont","catch","map","f","family","source","loadAsync","fontFamily","JSON","stringify","weightFamilies","activeFamily","wrapFactory","orig","__ethoraFontWrapped","wrapped","type","props","rest","style","call","factoriesPatched","ensurePatched","any","patchMod","mod","fn","require","React","createElement"],"sourceRoot":"../../../src","sources":["hooks/useChatFonts.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,7 +15,8 @@ export const useUnreadMessagesCounter = () => {
|
|
|
15
15
|
// `rooms` slice reference stable across actions that don't touch it,
|
|
16
16
|
// so non-rooms dispatches still don't trigger a re-render.)
|
|
17
17
|
const subscribe = callback => store.subscribe(callback);
|
|
18
|
-
const
|
|
18
|
+
const roomsState = useSyncExternalStore(subscribe, () => store.getState().rooms);
|
|
19
|
+
const rooms = roomsState.rooms;
|
|
19
20
|
const unreadByRoom = {};
|
|
20
21
|
let totalCount = 0;
|
|
21
22
|
Object.entries(rooms).forEach(([roomJid, room]) => {
|
|
@@ -28,7 +29,8 @@ export const useUnreadMessagesCounter = () => {
|
|
|
28
29
|
return {
|
|
29
30
|
hasUnread: totalCount > 0,
|
|
30
31
|
totalCount,
|
|
31
|
-
unreadByRoom
|
|
32
|
+
unreadByRoom,
|
|
33
|
+
isLoading: !!roomsState.isUnreadSyncing || !!roomsState.isLoading
|
|
32
34
|
};
|
|
33
35
|
};
|
|
34
36
|
export { useUnreadMessagesCounter as useUnread };
|