@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.
Files changed (56) hide show
  1. package/lib/commonjs/components/MainComponents/ReduxWrapper.js +4 -0
  2. package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
  3. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +32 -16
  4. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  5. package/lib/commonjs/context/xmppProvider.js +4 -0
  6. package/lib/commonjs/context/xmppProvider.js.map +1 -1
  7. package/lib/commonjs/helpers/historyPreloadScheduler.js +118 -113
  8. package/lib/commonjs/helpers/historyPreloadScheduler.js.map +1 -1
  9. package/lib/commonjs/hooks/useChatFonts.js +137 -0
  10. package/lib/commonjs/hooks/useChatFonts.js.map +1 -0
  11. package/lib/commonjs/hooks/useUnreadMessagesCounter.js +4 -2
  12. package/lib/commonjs/hooks/useUnreadMessagesCounter.js.map +1 -1
  13. package/lib/commonjs/main.js +7 -0
  14. package/lib/commonjs/main.js.map +1 -1
  15. package/lib/commonjs/roomStore/roomsSlice.js +9 -1
  16. package/lib/commonjs/roomStore/roomsSlice.js.map +1 -1
  17. package/lib/module/components/MainComponents/ReduxWrapper.js +4 -0
  18. package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
  19. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +33 -17
  20. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  21. package/lib/module/context/xmppProvider.js +5 -1
  22. package/lib/module/context/xmppProvider.js.map +1 -1
  23. package/lib/module/helpers/historyPreloadScheduler.js +119 -114
  24. package/lib/module/helpers/historyPreloadScheduler.js.map +1 -1
  25. package/lib/module/hooks/useChatFonts.js +132 -0
  26. package/lib/module/hooks/useChatFonts.js.map +1 -0
  27. package/lib/module/hooks/useUnreadMessagesCounter.js +4 -2
  28. package/lib/module/hooks/useUnreadMessagesCounter.js.map +1 -1
  29. package/lib/module/main.js +2 -0
  30. package/lib/module/main.js.map +1 -1
  31. package/lib/module/roomStore/roomsSlice.js +7 -0
  32. package/lib/module/roomStore/roomsSlice.js.map +1 -1
  33. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
  34. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  35. package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
  36. package/lib/typescript/helpers/historyPreloadScheduler.d.ts.map +1 -1
  37. package/lib/typescript/hooks/useChatFonts.d.ts +23 -0
  38. package/lib/typescript/hooks/useChatFonts.d.ts.map +1 -0
  39. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts +1 -0
  40. package/lib/typescript/hooks/useUnreadMessagesCounter.d.ts.map +1 -1
  41. package/lib/typescript/main.d.ts +2 -1
  42. package/lib/typescript/main.d.ts.map +1 -1
  43. package/lib/typescript/roomStore/roomsSlice.d.ts +3 -1
  44. package/lib/typescript/roomStore/roomsSlice.d.ts.map +1 -1
  45. package/lib/typescript/types/types.d.ts +39 -0
  46. package/lib/typescript/types/types.d.ts.map +1 -1
  47. package/package.json +5 -1
  48. package/src/components/MainComponents/ReduxWrapper.tsx +4 -0
  49. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +39 -17
  50. package/src/context/xmppProvider.tsx +5 -0
  51. package/src/helpers/historyPreloadScheduler.ts +7 -1
  52. package/src/hooks/useChatFonts.ts +153 -0
  53. package/src/hooks/useUnreadMessagesCounter.ts +5 -2
  54. package/src/main.ts +4 -0
  55. package/src/roomStore/roomsSlice.ts +11 -0
  56. 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":"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","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
- const state = store.getState();
98
- const rooms = state.rooms.rooms || {};
99
- const defaultSet = new Set(defaultRoomJids);
100
- const sortedQueue = Object.entries(rooms).map(([jid, room]) => ({
101
- jid,
102
- priority: getRoomPriority(jid, room, selectedRoomJid, defaultSet),
103
- activityScore: getRoomLastActivityScore(room),
104
- attempts: 0,
105
- readyAt: Date.now()
106
- })).sort((a, b) => {
107
- if (a.priority !== b.priority) {
108
- return a.priority - b.priority;
109
- }
110
- if (a.activityScore !== b.activityScore) {
111
- return b.activityScore - a.activityScore;
112
- }
113
- return a.jid.localeCompare(b.jid);
114
- });
115
- const queue = roomLimit && roomLimit > 0 ? sortedQueue.slice(0, roomLimit) : sortedQueue;
116
- const inFlightByRoom = new Map();
117
- let consecutiveErrorCount = 0;
118
- while (queue.length > 0) {
119
- if (signal?.aborted) {
120
- return;
121
- }
122
- if (!client.isActiveRoomGateOpen()) {
123
- await sleep(80);
124
- continue;
125
- }
126
- if (shouldPauseForVisibility()) {
127
- await sleep(250);
128
- continue;
129
- }
130
- const now = Date.now();
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 task = (async () => {
157
- const currentRoom = store.getState().rooms.rooms[item.jid];
158
- const preState = preBatchPreloadStateByJid.get(item.jid);
159
- if (!currentRoom || !forceReload && preState === 'done') {
160
- store.dispatch(applyRoomsPreloadBatch({
161
- rooms: [{
162
- jid: item.jid,
163
- historyPreloadState: 'done'
164
- }]
165
- }));
166
- return;
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
- try {
169
- const fetchedMessages = await client.getHistoryStanza(item.jid, pageSize, undefined, undefined, {
170
- coalesceRoom: true,
171
- skipIfPreloaded: !forceReload,
172
- source: 'background'
173
- });
174
- if (signal?.aborted) {
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
- if (typeof fetchedMessages === 'undefined') {
178
- throw new Error('history_timeout');
179
- }
180
- const nextRoom = store.getState().rooms.rooms[item.jid];
181
- const unreadCapped = computeUnreadCapped(nextRoom, fetchedMessages || [], pageSize);
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
- } else {
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
- historyPreloadState: 'error'
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
- inFlightByRoom.set(item.jid, task);
218
- await task.finally(() => inFlightByRoom.delete(item.jid));
219
- }));
218
+ })();
219
+ inFlightByRoom.set(item.jid, task);
220
+ await task.finally(() => inFlightByRoom.delete(item.jid));
221
+ }));
220
222
 
221
- // Yield to JS event loop (no requestIdleCallback in RN).
222
- await new Promise(r => setTimeout(r, 0));
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","dispatch","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":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AAEvC,SAASC,KAAK,QAAQ,cAAc;AACpC,SAASC,sBAAsB,QAAQ,yBAAyB;AAuBhE,MAAMC,mBAAmB,GAAG,CAAC;AAC7B;AACA;AACA;AACA,MAAMC,iBAAiB,GAAG,EAAE;AAC5B,MAAMC,mBAAmB,GAAG,CAAC;AAE7B,MAAMC,KAAK,GAAIC,EAAU,IAAK,IAAIC,OAAO,CAAEC,OAAO,IAAKC,UAAU,CAACD,OAAO,EAAEF,EAAE,CAAC,CAAC;AAE/E,MAAMI,gBAAgB,GAAIC,CAAW,IAAa;EAChD,IAAI,CAACA,CAAC,EAAE;IAAC,OAAO,CAAC;EAAC;EAClB,MAAMC,CAAC,GAAID,CAAC,CAASE,SAAS;EAC9B,IAAIC,MAAM,CAACC,QAAQ,CAACH,CAAC,CAAC,IAAIA,CAAC,GAAG,CAAC,EAAE;IAAC,OAAOE,MAAM,CAACF,CAAC,CAAC;EAAC;EACnD,MAAMI,EAAE,GAAGF,MAAM,CAACH,CAAC,CAACK,EAAE,CAAC;EACvB,IAAIF,MAAM,CAACC,QAAQ,CAACC,EAAE,CAAC,IAAIA,EAAE,GAAG,CAAC,EAAE;IAAC,OAAOA,EAAE;EAAC;EAC9C,OAAO,CAAC;AACV,CAAC;AAED,MAAMC,wBAAwB,GAAIC,IAAW,IAAa;EACxD,IAAI,CAACA,IAAI,EAAEC,QAAQ,EAAEC,MAAM,EAAE;IAAC,OAAO,CAAC;EAAC;EACvC,OAAOF,IAAI,CAACC,QAAQ,CAACE,MAAM,CAAC,CAACC,GAAG,EAAEX,CAAC,KAAKY,IAAI,CAACD,GAAG,CAACA,GAAG,EAAEZ,gBAAgB,CAACC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,MAAMa,mBAAmB,GAAGA,CAC1BN,IAAW,EACXC,QAAoB,EACpBM,QAAgB,KACJ;EACZ,IAAI,CAACP,IAAI,EAAE;IAAC,OAAO,KAAK;EAAC;EACzB,IAAI,CAACC,QAAQ,IAAIA,QAAQ,CAACC,MAAM,GAAGK,QAAQ,EAAE;IAAC,OAAO,KAAK;EAAC;EAC3D,IAAIP,IAAI,CAACQ,eAAe,KAAK,IAAI,EAAE;IAAC,OAAO,KAAK;EAAC;EAEjD,MAAMC,SAAS,GAAGR,QAAQ,CAACS,MAAM,CAC9BC,GAAG,IAAK,CAAC,CAACA,GAAG,IAAIA,GAAG,CAACb,EAAE,KAAK,eAAe,IAAI,CAACa,GAAG,CAACC,OACvD,CAAC;EACD,IAAIH,SAAS,CAACP,MAAM,GAAGK,QAAQ,EAAE;IAAC,OAAO,KAAK;EAAC;EAE/C,MAAMM,UAAU,GAAGjB,MAAM,CAACI,IAAI,CAACc,mBAAmB,CAAC,IAAI,CAAC;EACxD,IAAID,UAAU,IAAI,CAAC,EAAE;IAAC,OAAO,IAAI;EAAC;EAElC,MAAME,QAAQ,GAAGN,SAAS,CAACN,MAAM,CAAS,CAACa,KAAK,EAAEvB,CAAC,KAAK;IACtD,MAAMwB,EAAE,GAAGzB,gBAAgB,CAACC,CAAC,CAAC;IAC9B,IAAI,CAACG,MAAM,CAACC,QAAQ,CAACoB,EAAE,CAAC,IAAIA,EAAE,IAAI,CAAC,EAAE;MAAC,OAAOD,KAAK;IAAC;IACnD,OAAOX,IAAI,CAACa,GAAG,CAACF,KAAK,EAAEC,EAAE,CAAC;EAC5B,CAAC,EAAErB,MAAM,CAACuB,gBAAgB,CAAC;EAC3B,IAAI,CAACvB,MAAM,CAACC,QAAQ,CAACkB,QAAQ,CAAC,IAAIA,QAAQ,KAAKnB,MAAM,CAACuB,gBAAgB,EACpE;IAAC,OAAO,KAAK;EAAC;EAChB,OAAOJ,QAAQ,GAAGF,UAAU;AAC9B,CAAC;AAED,MAAMO,eAAe,GAAGA,CACtBC,GAAW,EACXC,KAAY,EACZC,eAA8B,EAC9BC,eAA4B,KACjB;EACX,IAAID,eAAe,IAAIA,eAAe,KAAKF,GAAG,EAAE;IAAC,OAAO,CAAC;EAAC;EAC1D,IAAIG,eAAe,CAACC,GAAG,CAACJ,GAAG,CAAC,EAAE;IAAC,OAAO,CAAC;EAAC;EACxC,OAAO,CAAC;AACV,CAAC;AAED,MAAMK,wBAAwB,GAAGA,CAAA,KAAe;EAC9C,OAAO7C,QAAQ,CAAC8C,YAAY,KAAK,QAAQ;AAC3C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,0BAA0B,GAAG,MACxCC,OAAuC,IACrB;EAClB,MAAM;IACJC,MAAM;IACNC,MAAM;IACNC,WAAW,GAAGhD,mBAAmB;IACjCuB,QAAQ,GAAGtB,iBAAiB;IAC5BgD,UAAU,GAAG/C,mBAAmB;IAChCgD,SAAS;IACTX,eAAe,GAAG,IAAI;IACtBC,eAAe,GAAG,EAAE;IACpBW,WAAW,GAAG;EAChB,CAAC,GAAGN,OAAO;EAEX,IAAIE,MAAM,EAAEK,OAAO,EAAE;IAAC;EAAO;EAE7B,MAAMC,KAAK,GAAGvD,KAAK,CAACwD,QAAQ,CAAC,CAAC;EAC9B,MAAMC,KAAK,GAAIF,KAAK,CAACE,KAAK,CAACA,KAAK,IAAI,CAAC,CAA2B;EAChE,MAAMC,UAAU,GAAG,IAAIC,GAAG,CAACjB,eAAe,CAAC;EAE3C,MAAMkB,WAAwB,GAAGC,MAAM,CAACC,OAAO,CAACL,KAAK,CAAC,CACnDM,GAAG,CAAC,CAAC,CAACxB,GAAG,EAAErB,IAAI,CAAkB,MAAM;IACtCqB,GAAG;IACHyB,QAAQ,EAAE1B,eAAe,CAACC,GAAG,EAAErB,IAAI,EAAEuB,eAAe,EAAEiB,UAAU,CAAC;IACjEO,aAAa,EAAEhD,wBAAwB,CAACC,IAAI,CAAC;IAC7CgD,QAAQ,EAAE,CAAC;IACXC,OAAO,EAAEC,IAAI,CAACC,GAAG,CAAC;EACpB,CAAC,CAAC,CAAC,CACFC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK;IACd,IAAID,CAAC,CAACP,QAAQ,KAAKQ,CAAC,CAACR,QAAQ,EAAE;MAAC,OAAOO,CAAC,CAACP,QAAQ,GAAGQ,CAAC,CAACR,QAAQ;IAAC;IAC/D,IAAIO,CAAC,CAACN,aAAa,KAAKO,CAAC,CAACP,aAAa,EAAE;MACvC,OAAOO,CAAC,CAACP,aAAa,GAAGM,CAAC,CAACN,aAAa;IAC1C;IACA,OAAOM,CAAC,CAAChC,GAAG,CAACkC,aAAa,CAACD,CAAC,CAACjC,GAAG,CAAC;EACnC,CAAC,CAAC;EAEJ,MAAMmC,KAAkB,GACtBtB,SAAS,IAAIA,SAAS,GAAG,CAAC,GACtBQ,WAAW,CAACe,KAAK,CAAC,CAAC,EAAEvB,SAAS,CAAC,GAC/BQ,WAAW;EAEjB,MAAMgB,cAAc,GAAG,IAAIC,GAAG,CAAwB,CAAC;EACvD,IAAIC,qBAAqB,GAAG,CAAC;EAE7B,OAAOJ,KAAK,CAACtD,MAAM,GAAG,CAAC,EAAE;IACvB,IAAI6B,MAAM,EAAEK,OAAO,EAAE;MAAC;IAAO;IAE7B,IAAI,CAACN,MAAM,CAAC+B,oBAAoB,CAAC,CAAC,EAAE;MAClC,MAAM1E,KAAK,CAAC,EAAE,CAAC;MACf;IACF;IACA,IAAIuC,wBAAwB,CAAC,CAAC,EAAE;MAC9B,MAAMvC,KAAK,CAAC,GAAG,CAAC;MAChB;IACF;IAEA,MAAMgE,GAAG,GAAGD,IAAI,CAACC,GAAG,CAAC,CAAC;IACtB,MAAMW,UAAU,GAAGN,KAAK,CAAC9C,MAAM,CAC5BqD,IAAI,IAAKA,IAAI,CAACd,OAAO,IAAIE,GAAG,IAAI,CAACO,cAAc,CAACjC,GAAG,CAACsC,IAAI,CAAC1C,GAAG,CAC/D,CAAC;IACD,IAAIyC,UAAU,CAAC5D,MAAM,KAAK,CAAC,EAAE;MAC3B,MAAMf,KAAK,CAAC,EAAE,CAAC;MACf;IACF;IAEA,MAAM6E,KAAK,GAAGF,UAAU,CAACL,KAAK,CAAC,CAAC,EAAEpD,IAAI,CAACD,GAAG,CAAC,CAAC,EAAE4B,WAAW,CAAC,CAAC;;IAE3D;IACA;IACA;IACA;IACA;IACA;IACA,MAAMiC,yBAAyB,GAAG,IAAIN,GAAG,CACvCK,KAAK,CAACnB,GAAG,CAAEkB,IAAI,IAAK,CAClBA,IAAI,CAAC1C,GAAG,EACRvC,KAAK,CAACwD,QAAQ,CAAC,CAAC,CAACC,KAAK,CAACA,KAAK,CAACwB,IAAI,CAAC1C,GAAG,CAAC,EAAE6C,mBAAmB,CAC5D,CACH,CAAC;IAEDpF,KAAK,CAACqF,QAAQ,CACZpF,sBAAsB,CAAC;MACrBwD,KAAK,EAAEyB,KAAK,CAACnB,GAAG,CAAEkB,IAAI,KAAM;QAC1B1C,GAAG,EAAE0C,IAAI,CAAC1C,GAAG;QACb6C,mBAAmB,EAAE;MACvB,CAAC,CAAC;IACJ,CAAC,CACH,CAAC;IAED,MAAM7E,OAAO,CAAC+E,GAAG,CACfJ,KAAK,CAACnB,GAAG,CAAC,MAAOkB,IAAI,IAAK;MACxB,MAAMM,UAAU,GAAGb,KAAK,CAACc,SAAS,CAAEC,MAAM,IAAKA,MAAM,CAAClD,GAAG,KAAK0C,IAAI,CAAC1C,GAAG,CAAC;MACvE,IAAIgD,UAAU,KAAK,CAAC,CAAC,EAAE;QAACb,KAAK,CAACgB,MAAM,CAACH,UAAU,EAAE,CAAC,CAAC;MAAC;MAEpD,MAAMI,IAAI,GAAG,CAAC,YAAY;QACxB,MAAMC,WAAW,GAAG5F,KAAK,CAACwD,QAAQ,CAAC,CAAC,CAACC,KAAK,CAACA,KAAK,CAACwB,IAAI,CAAC1C,GAAG,CAAC;QAC1D,MAAMsD,QAAQ,GAAGV,yBAAyB,CAACW,GAAG,CAACb,IAAI,CAAC1C,GAAG,CAAC;QACxD,IACE,CAACqD,WAAW,IACX,CAACvC,WAAW,IAAIwC,QAAQ,KAAK,MAAO,EACrC;UACA7F,KAAK,CAACqF,QAAQ,CACZpF,sBAAsB,CAAC;YACrBwD,KAAK,EAAE,CAAC;cAAElB,GAAG,EAAE0C,IAAI,CAAC1C,GAAG;cAAE6C,mBAAmB,EAAE;YAAO,CAAC;UACxD,CAAC,CACH,CAAC;UACD;QACF;QAEA,IAAI;UACF,MAAMW,eAAe,GAAG,MAAM/C,MAAM,CAACgD,gBAAgB,CACnDf,IAAI,CAAC1C,GAAG,EACRd,QAAQ,EACRwE,SAAS,EACTA,SAAS,EACT;YACEC,YAAY,EAAE,IAAI;YAClBC,eAAe,EAAE,CAAC9C,WAAW;YAC7B+C,MAAM,EAAE;UACV,CACF,CAAC;UACD,IAAInD,MAAM,EAAEK,OAAO,EAAE;YAAC;UAAO;UAC7B,IAAI,OAAOyC,eAAe,KAAK,WAAW,EAAE;YAC1C,MAAM,IAAIM,KAAK,CAAC,iBAAiB,CAAC;UACpC;UAEA,MAAMC,QAAQ,GAAGtG,KAAK,CAACwD,QAAQ,CAAC,CAAC,CAACC,KAAK,CAACA,KAAK,CAACwB,IAAI,CAAC1C,GAAG,CAAC;UACvD,MAAMgE,YAAY,GAAG/E,mBAAmB,CACtC8E,QAAQ,EACRP,eAAe,IAAI,EAAE,EACrBtE,QACF,CAAC;UAEDzB,KAAK,CAACqF,QAAQ,CACZpF,sBAAsB,CAAC;YACrBwD,KAAK,EAAE,CACL;cACElB,GAAG,EAAE0C,IAAI,CAAC1C,GAAG;cACbpB,QAAQ,EAAE4E,eAAe,IAAI,EAAE;cAC/BQ,YAAY;cACZnB,mBAAmB,EAAE;YACvB,CAAC;UAEL,CAAC,CACH,CAAC;UACDN,qBAAqB,GAAG,CAAC;QAC3B,CAAC,CAAC,MAAM;UACN,MAAM0B,OAAO,GAAGvB,IAAI,CAACf,QAAQ,GAAG,CAAC;UACjC,MAAMuC,QAAQ,GAAGD,OAAO,IAAIrD,UAAU;UACtC,IAAIsD,QAAQ,EAAE;YACZ,MAAMC,MAAM,GAAGnF,IAAI,CAACoF,KAAK,CAACpF,IAAI,CAACqF,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC;YAC9C,MAAMC,OAAO,GAAGtF,IAAI,CAACa,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI6C,IAAI,CAACf,QAAQ,CAAC,GAAGwC,MAAM;YACjEhC,KAAK,CAACoC,IAAI,CAAC;cACT,GAAG7B,IAAI;cACPf,QAAQ,EAAEsC,OAAO;cACjBrC,OAAO,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGwC;YACxB,CAAC,CAAC;UACJ,CAAC,MAAM;YACL7G,KAAK,CAACqF,QAAQ,CACZpF,sBAAsB,CAAC;cACrBwD,KAAK,EAAE,CAAC;gBAAElB,GAAG,EAAE0C,IAAI,CAAC1C,GAAG;gBAAE6C,mBAAmB,EAAE;cAAQ,CAAC;YACzD,CAAC,CACH,CAAC;UACH;UACAN,qBAAqB,IAAI,CAAC;UAC1B,IAAIA,qBAAqB,IAAI,CAAC,EAAE;YAC9B,MAAMzE,KAAK,CAAC,GAAG,CAAC;YAChByE,qBAAqB,GAAG,CAAC;UAC3B;QACF;MACF,CAAC,EAAE,CAAC;MAEJF,cAAc,CAACmC,GAAG,CAAC9B,IAAI,CAAC1C,GAAG,EAAEoD,IAAI,CAAC;MAClC,MAAMA,IAAI,CAACqB,OAAO,CAAC,MAAMpC,cAAc,CAACqC,MAAM,CAAChC,IAAI,CAAC1C,GAAG,CAAC,CAAC;IAC3D,CAAC,CACH,CAAC;;IAED;IACA,MAAM,IAAIhC,OAAO,CAAE2G,CAAC,IAAKzG,UAAU,CAACyG,CAAC,EAAE,CAAC,CAAC,CAAC;EAC5C;AACF,CAAC;AAED,eAAepE,0BAA0B","ignoreList":[]}
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 rooms = useSyncExternalStore(subscribe, () => store.getState().rooms.rooms);
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 };