stream-chat 9.50.3 → 10.0.0-rc.2

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 (242) hide show
  1. package/dist/cjs/index.browser.js +19798 -14472
  2. package/dist/cjs/index.browser.js.map +4 -4
  3. package/dist/cjs/index.node.js +19817 -14482
  4. package/dist/cjs/index.node.js.map +4 -4
  5. package/dist/esm/index.mjs +19795 -14469
  6. package/dist/esm/index.mjs.map +4 -4
  7. package/dist/types/ChannelManager.d.ts +221 -0
  8. package/dist/types/EventHandlerPipeline.d.ts +104 -0
  9. package/dist/types/api-client.d.ts +26 -0
  10. package/dist/types/campaign.d.ts +0 -44
  11. package/dist/types/channel.d.ts +454 -479
  12. package/dist/types/channel_batch_updater.d.ts +0 -93
  13. package/dist/types/channel_state.d.ts +53 -201
  14. package/dist/types/client.d.ts +451 -1920
  15. package/dist/types/client_state.d.ts +4 -4
  16. package/dist/types/configuration/InstanceConfigurationService.d.ts +26 -0
  17. package/dist/types/configuration/index.d.ts +1 -0
  18. package/dist/types/configuration/types.d.ts +53 -0
  19. package/dist/types/connection.d.ts +49 -41
  20. package/dist/types/connection_fallback.d.ts +6 -4
  21. package/dist/types/constants.d.ts +0 -4
  22. package/dist/types/custom_types.d.ts +2 -0
  23. package/dist/types/entityStore/EntityStore.d.ts +111 -0
  24. package/dist/types/entityStore/StoreBackedItemIndex.d.ts +60 -0
  25. package/dist/types/entityStore/applyReactionLocally.d.ts +26 -0
  26. package/dist/types/entityStore/index.d.ts +2 -0
  27. package/dist/types/errors.d.ts +10 -2
  28. package/dist/types/gen/chat/ChannelApi.d.ts +45 -0
  29. package/dist/types/gen/chat/ChatApi.d.ts +334 -0
  30. package/dist/types/gen/model-decoders/decoders.d.ts +3 -0
  31. package/dist/types/gen/model-decoders/event-decoder-mapping.d.ts +6 -0
  32. package/dist/types/gen/models/index.d.ts +8836 -0
  33. package/dist/types/gen/moderation/ModerationApi.d.ts +50 -0
  34. package/dist/types/gen-imports.d.ts +3 -0
  35. package/dist/types/index.d.ts +8 -7
  36. package/dist/types/insights.d.ts +9 -8
  37. package/dist/types/logger.d.ts +9 -0
  38. package/dist/types/messageComposer/LocationComposer.d.ts +7 -4
  39. package/dist/types/messageComposer/attachmentIdentity.d.ts +2 -2
  40. package/dist/types/messageComposer/attachmentManager.d.ts +8 -4
  41. package/dist/types/messageComposer/configuration/types.d.ts +11 -11
  42. package/dist/types/messageComposer/linkPreviewsManager.d.ts +25 -13
  43. package/dist/types/messageComposer/messageComposer.d.ts +10 -10
  44. package/dist/types/messageComposer/middleware/messageComposer/types.d.ts +3 -3
  45. package/dist/types/messageComposer/middleware/pollComposer/types.d.ts +4 -7
  46. package/dist/types/messageComposer/middleware/textComposer/commandUtils.d.ts +3 -3
  47. package/dist/types/messageComposer/middleware/textComposer/commands.d.ts +7 -7
  48. package/dist/types/messageComposer/middleware/textComposer/mentions.d.ts +218 -4
  49. package/dist/types/messageComposer/middleware/textComposer/types.d.ts +9 -4
  50. package/dist/types/messageComposer/pollComposer.d.ts +5 -4
  51. package/dist/types/messageComposer/textComposer.d.ts +8 -3
  52. package/dist/types/messageComposer/types.d.ts +6 -28
  53. package/dist/types/messageDelivery/MessageDeliveryReporter.d.ts +40 -25
  54. package/dist/types/messageDelivery/MessageReceiptsTracker.d.ts +53 -12
  55. package/dist/types/messageOperations/MessageOperationStatePolicy.d.ts +19 -0
  56. package/dist/types/messageOperations/MessageOperations.d.ts +17 -0
  57. package/dist/types/messageOperations/index.d.ts +3 -0
  58. package/dist/types/messageOperations/types.d.ts +49 -0
  59. package/dist/types/moderation.d.ts +21 -203
  60. package/dist/types/notifications/types.d.ts +8 -7
  61. package/dist/types/offline-support/offline_support_api.d.ts +111 -87
  62. package/dist/types/offline-support/offline_sync_manager.d.ts +0 -7
  63. package/dist/types/offline-support/types.d.ts +19 -23
  64. package/dist/types/offline-support/util.d.ts +4 -2
  65. package/dist/types/pagination/FilterBuilder.d.ts +1 -1
  66. package/dist/types/pagination/ItemIndex.d.ts +25 -0
  67. package/dist/types/pagination/cursorDerivation/createdAtAroundPaginationFlags.d.ts +9 -0
  68. package/dist/types/pagination/cursorDerivation/idAroundPaginationFlags.d.ts +6 -0
  69. package/dist/types/pagination/cursorDerivation/index.d.ts +1 -0
  70. package/dist/types/pagination/cursorDerivation/linearPaginationFlags.d.ts +6 -0
  71. package/dist/types/pagination/filterCompiler.d.ts +7 -0
  72. package/dist/types/pagination/index.d.ts +1 -3
  73. package/dist/types/pagination/paginators/BasePaginator.d.ts +848 -0
  74. package/dist/types/pagination/paginators/ChannelPaginator.d.ts +212 -0
  75. package/dist/types/pagination/paginators/MessageIntervalPaginator.d.ts +282 -0
  76. package/dist/types/pagination/paginators/MessagePaginator.d.ts +208 -0
  77. package/dist/types/pagination/paginators/PinnedMessagePaginator.d.ts +39 -0
  78. package/dist/types/pagination/paginators/ReminderPaginator.d.ts +19 -0
  79. package/dist/types/pagination/paginators/UserGroupPaginator.d.ts +24 -0
  80. package/dist/types/pagination/paginators/index.d.ts +7 -0
  81. package/dist/types/pagination/paginators/stateThrottling.d.ts +2 -0
  82. package/dist/types/pagination/sortCompiler.d.ts +49 -0
  83. package/dist/types/pagination/types.normalization.d.ts +11 -0
  84. package/dist/types/pagination/utility.normalization.d.ts +18 -0
  85. package/dist/types/pagination/utility.queryChannel.d.ts +26 -0
  86. package/dist/types/pagination/utility.search.d.ts +13 -0
  87. package/dist/types/permissions.d.ts +1 -1
  88. package/dist/types/poll.d.ts +29 -32
  89. package/dist/types/poll_manager.d.ts +2 -2
  90. package/dist/types/reminders/Reminder.d.ts +2 -5
  91. package/dist/types/reminders/ReminderManager.d.ts +2 -9
  92. package/dist/types/search/MessageSearchSource.d.ts +4 -4
  93. package/dist/types/search/UserSearchSource.d.ts +1 -1
  94. package/dist/types/search/types.d.ts +3 -3
  95. package/dist/types/segment.d.ts +0 -34
  96. package/dist/types/signing.d.ts +105 -65
  97. package/dist/types/store.d.ts +1 -0
  98. package/dist/types/thread.d.ts +70 -34
  99. package/dist/types/thread_manager.d.ts +3 -3
  100. package/dist/types/token_manager.d.ts +15 -10
  101. package/dist/types/types.d.ts +197 -3404
  102. package/dist/types/utils/FixedSizeQueueCache.d.ts +12 -6
  103. package/dist/types/utils/WithSubscriptions.d.ts +2 -1
  104. package/dist/types/utils/concurrency.d.ts +4 -4
  105. package/dist/types/utils/mergeWith/mergeWith.d.ts +3 -3
  106. package/dist/types/utils/mergeWith/mergeWithCore.d.ts +8 -3
  107. package/dist/types/utils/retryable.d.ts +34 -0
  108. package/dist/types/utils/throttling/throttle.d.ts +36 -0
  109. package/dist/types/utils.d.ts +100 -194
  110. package/package.json +7 -3
  111. package/src/ChannelManager.ts +724 -0
  112. package/src/CooldownTimer.ts +2 -2
  113. package/src/EventHandlerPipeline.ts +228 -0
  114. package/src/LiveLocationManager.ts +12 -11
  115. package/src/api-client.ts +275 -0
  116. package/src/campaign.ts +1 -77
  117. package/src/channel.ts +1344 -1282
  118. package/src/channel_batch_updater.ts +1 -211
  119. package/src/channel_state.ts +144 -1013
  120. package/src/client.ts +936 -3995
  121. package/src/client_state.ts +4 -4
  122. package/src/configuration/InstanceConfigurationService.ts +73 -0
  123. package/src/configuration/index.ts +1 -0
  124. package/src/configuration/types.ts +81 -0
  125. package/src/connection.ts +145 -94
  126. package/src/connection_fallback.ts +29 -27
  127. package/src/constants.ts +1 -5
  128. package/src/custom_types.ts +4 -1
  129. package/src/entityStore/EntityStore.ts +208 -0
  130. package/src/entityStore/StoreBackedItemIndex.ts +115 -0
  131. package/src/entityStore/applyReactionLocally.ts +113 -0
  132. package/src/entityStore/index.ts +2 -0
  133. package/src/errors.ts +14 -2
  134. package/src/gen/chat/ChannelApi.ts +275 -0
  135. package/src/gen/chat/ChatApi.ts +2554 -0
  136. package/src/gen/model-decoders/decoders.ts +2680 -0
  137. package/src/gen/model-decoders/event-decoder-mapping.ts +198 -0
  138. package/src/gen/models/index.ts +12673 -0
  139. package/src/gen/moderation/ModerationApi.ts +607 -0
  140. package/src/gen-imports.ts +3 -0
  141. package/src/index.ts +11 -12
  142. package/src/insights.ts +6 -5
  143. package/src/logger.ts +28 -0
  144. package/src/messageComposer/LocationComposer.ts +9 -5
  145. package/src/messageComposer/MessageComposerEffectHandlers.ts +1 -0
  146. package/src/messageComposer/attachmentIdentity.ts +16 -9
  147. package/src/messageComposer/attachmentManager.ts +13 -8
  148. package/src/messageComposer/configuration/types.ts +11 -11
  149. package/src/messageComposer/linkPreviewsManager.ts +9 -10
  150. package/src/messageComposer/messageComposer.ts +57 -53
  151. package/src/messageComposer/middleware/messageComposer/attachments.ts +1 -2
  152. package/src/messageComposer/middleware/messageComposer/cleanData.ts +1 -1
  153. package/src/messageComposer/middleware/messageComposer/compositionValidation.ts +2 -2
  154. package/src/messageComposer/middleware/messageComposer/messageComposerState.ts +2 -2
  155. package/src/messageComposer/middleware/messageComposer/sharedLocation.ts +4 -3
  156. package/src/messageComposer/middleware/messageComposer/textComposer.ts +2 -2
  157. package/src/messageComposer/middleware/messageComposer/types.ts +3 -4
  158. package/src/messageComposer/middleware/messageComposer/userDataInjection.ts +9 -5
  159. package/src/messageComposer/middleware/pollComposer/state.ts +0 -2
  160. package/src/messageComposer/middleware/pollComposer/types.ts +4 -7
  161. package/src/messageComposer/middleware/textComposer/TextComposerMiddlewareExecutor.ts +10 -1
  162. package/src/messageComposer/middleware/textComposer/commandEffects.ts +4 -4
  163. package/src/messageComposer/middleware/textComposer/commandUtils.ts +3 -6
  164. package/src/messageComposer/middleware/textComposer/commands.ts +3 -3
  165. package/src/messageComposer/middleware/textComposer/mentionUtils.ts +1 -1
  166. package/src/messageComposer/middleware/textComposer/mentions.ts +31 -15
  167. package/src/messageComposer/middleware/textComposer/types.ts +9 -4
  168. package/src/messageComposer/pollComposer.ts +6 -8
  169. package/src/messageComposer/textComposer.ts +27 -2
  170. package/src/messageComposer/types.ts +6 -28
  171. package/src/messageDelivery/MessageDeliveryReporter.ts +101 -45
  172. package/src/messageDelivery/MessageReceiptsTracker.ts +294 -21
  173. package/src/messageOperations/MessageOperationStatePolicy.ts +77 -0
  174. package/src/messageOperations/MessageOperations.ts +212 -0
  175. package/src/messageOperations/index.ts +10 -0
  176. package/src/messageOperations/types.ts +64 -0
  177. package/src/moderation.ts +38 -431
  178. package/src/notifications/types.ts +8 -7
  179. package/src/offline-support/offline_support_api.ts +200 -133
  180. package/src/offline-support/offline_sync_manager.ts +23 -44
  181. package/src/offline-support/types.ts +23 -26
  182. package/src/offline-support/util.ts +5 -4
  183. package/src/pagination/FilterBuilder.ts +4 -1
  184. package/src/pagination/ItemIndex.ts +25 -0
  185. package/src/pagination/cursorDerivation/createdAtAroundPaginationFlags.ts +73 -0
  186. package/src/pagination/cursorDerivation/idAroundPaginationFlags.ts +53 -0
  187. package/src/pagination/cursorDerivation/index.ts +1 -0
  188. package/src/pagination/cursorDerivation/linearPaginationFlags.ts +86 -0
  189. package/src/pagination/filterCompiler.ts +196 -0
  190. package/src/pagination/index.ts +1 -3
  191. package/src/pagination/paginators/BasePaginator.ts +2859 -0
  192. package/src/pagination/paginators/ChannelPaginator.ts +729 -0
  193. package/src/pagination/paginators/MessageIntervalPaginator.ts +1116 -0
  194. package/src/pagination/paginators/MessagePaginator.ts +508 -0
  195. package/src/pagination/paginators/PinnedMessagePaginator.ts +108 -0
  196. package/src/pagination/paginators/ReminderPaginator.ts +107 -0
  197. package/src/pagination/paginators/UserGroupPaginator.ts +127 -0
  198. package/src/pagination/paginators/index.ts +7 -0
  199. package/src/pagination/paginators/stateThrottling.ts +31 -0
  200. package/src/pagination/sortCompiler.ts +193 -0
  201. package/src/pagination/types.normalization.ts +14 -0
  202. package/src/pagination/utility.normalization.ts +106 -0
  203. package/src/pagination/utility.queryChannel.ts +84 -0
  204. package/src/pagination/utility.search.ts +80 -0
  205. package/src/permissions.ts +7 -8
  206. package/src/poll.ts +101 -110
  207. package/src/poll_manager.ts +14 -8
  208. package/src/reminders/Reminder.ts +2 -5
  209. package/src/reminders/ReminderManager.ts +19 -21
  210. package/src/search/BaseSearchSource.ts +0 -3
  211. package/src/search/ChannelMemberSearchSource.ts +7 -1
  212. package/src/search/ChannelSearchSource.ts +10 -3
  213. package/src/search/MessageSearchSource.ts +29 -30
  214. package/src/search/UserSearchSource.ts +12 -8
  215. package/src/search/types.ts +3 -4
  216. package/src/segment.ts +1 -95
  217. package/src/signing.ts +107 -67
  218. package/src/store.ts +2 -1
  219. package/src/thread.ts +562 -238
  220. package/src/thread_manager.ts +37 -16
  221. package/src/token_manager.ts +21 -10
  222. package/src/types.ts +364 -4533
  223. package/src/uploadManager.ts +8 -0
  224. package/src/utils/FixedSizeQueueCache.ts +12 -6
  225. package/src/utils/WithSubscriptions.ts +2 -1
  226. package/src/utils/concurrency.ts +4 -4
  227. package/src/utils/mergeWith/mergeWith.ts +3 -3
  228. package/src/utils/mergeWith/mergeWithCore.ts +140 -164
  229. package/src/utils/mergeWith/mergeWithDiff.ts +3 -3
  230. package/src/utils/retryable.ts +117 -0
  231. package/src/utils/throttling/throttle.ts +130 -0
  232. package/src/utils.ts +208 -754
  233. package/dist/types/channel_manager.d.ts +0 -122
  234. package/dist/types/events.d.ts +0 -72
  235. package/dist/types/pagination/BasePaginator.d.ts +0 -69
  236. package/dist/types/pagination/ReminderPaginator.d.ts +0 -16
  237. package/dist/types/pagination/UserGroupPaginator.d.ts +0 -21
  238. package/src/channel_manager.ts +0 -830
  239. package/src/events.ts +0 -75
  240. package/src/pagination/BasePaginator.ts +0 -184
  241. package/src/pagination/ReminderPaginator.ts +0 -56
  242. package/src/pagination/UserGroupPaginator.ts +0 -93
@@ -1,11 +1,21 @@
1
+ import { chatLoggerSystem } from './logger';
1
2
  import { StateStore } from './store';
2
3
  import { throttle } from './utils';
3
4
 
4
5
  import type { StreamChat } from './client';
5
6
  import type { Thread } from './thread';
6
- import type { Event, OwnUserResponse, QueryThreadsOptions } from './types';
7
+ import type {
8
+ Event,
9
+ EventPayload,
10
+ EventType,
11
+ OwnUserResponse,
12
+ QueryThreadsRequest,
13
+ } from './types';
7
14
  import { WithSubscriptions } from './utils/WithSubscriptions';
8
15
 
16
+ const eventIsHealthCheck = (event: Event): event is EventPayload<'health.check'> =>
17
+ Object.hasOwn(event, 'me');
18
+
9
19
  const DEFAULT_CONNECTION_RECOVERY_THROTTLE_DURATION = 1000;
10
20
  const MAX_QUERY_THREADS_LIMIT = 25;
11
21
  export const THREAD_MANAGER_INITIAL_STATE = {
@@ -51,6 +61,8 @@ export type ThreadManagerPagination = {
51
61
  nextCursor: string | null;
52
62
  };
53
63
 
64
+ const logger = chatLoggerSystem.getLogger('thread-manager');
65
+
54
66
  export class ThreadManager extends WithSubscriptions {
55
67
  public readonly state: StateStore<ThreadManagerState>;
56
68
  private client: StreamChat;
@@ -121,16 +133,21 @@ export class ThreadManager extends WithSubscriptions {
121
133
  (this.client.user as OwnUserResponse) ?? {};
122
134
  this.state.partialNext({ unreadThreadCount });
123
135
 
124
- const unsubscribeFunctions = [
125
- 'health.check',
126
- 'notification.mark_read',
127
- 'notification.mark_unread',
128
- 'notification.thread_message_new',
129
- 'notification.channel_deleted',
130
- ].map(
136
+ const unsubscribeFunctions = (
137
+ [
138
+ 'health.check',
139
+ 'notification.mark_read',
140
+ 'notification.mark_unread',
141
+ 'notification.thread_message_new',
142
+ 'notification.channel_deleted',
143
+ ] as const satisfies EventType[]
144
+ ).map(
131
145
  (eventType) =>
132
146
  this.client.on(eventType, (event) => {
133
- const { unread_threads: unreadThreadCount } = event.me ?? event;
147
+ const { unread_threads: unreadThreadCount } =
148
+ (eventIsHealthCheck(event) && event.me) ||
149
+ (event as Extract<typeof event, { unread_threads?: any }>);
150
+
134
151
  if (typeof unreadThreadCount === 'number') {
135
152
  this.state.partialNext({ unreadThreadCount });
136
153
  }
@@ -174,7 +191,7 @@ export class ThreadManager extends WithSubscriptions {
174
191
  );
175
192
 
176
193
  private subscribeNewReplies = () =>
177
- this.client.on('notification.thread_message_new', (event: Event) => {
194
+ this.client.on('notification.thread_message_new', (event) => {
178
195
  const parentId = event.message?.parent_id;
179
196
  if (!parentId) return;
180
197
 
@@ -211,7 +228,7 @@ export class ThreadManager extends WithSubscriptions {
211
228
  },
212
229
  DEFAULT_CONNECTION_RECOVERY_THROTTLE_DURATION,
213
230
  { trailing: true },
214
- );
231
+ ).throttledFn;
215
232
 
216
233
  const unsubscribeConnectionRecovered = this.client.on(
217
234
  'connection.recovered',
@@ -280,7 +297,9 @@ export class ThreadManager extends WithSubscriptions {
280
297
  ready: true,
281
298
  }));
282
299
  } catch (error) {
283
- this.client.logger('error', (error as Error).message);
300
+ logger
301
+ .withExtraTags('reload')
302
+ .error('Failed to reload the thread list.', { error });
284
303
  this.state.next((current) => ({
285
304
  ...current,
286
305
  pagination: {
@@ -291,8 +310,8 @@ export class ThreadManager extends WithSubscriptions {
291
310
  }
292
311
  };
293
312
 
294
- public queryThreads = (options: QueryThreadsOptions = {}) =>
295
- this.client.queryThreads({
313
+ public queryThreads = (options: QueryThreadsRequest = {}) =>
314
+ this.client.queryThreadsAndHydrate({
296
315
  limit: 25,
297
316
  participant_limit: 10,
298
317
  reply_limit: 10,
@@ -300,7 +319,7 @@ export class ThreadManager extends WithSubscriptions {
300
319
  ...options,
301
320
  });
302
321
 
303
- public loadNextPage = async (options: Omit<QueryThreadsOptions, 'next'> = {}) => {
322
+ public loadNextPage = async (options: Omit<QueryThreadsRequest, 'next'> = {}) => {
304
323
  const { pagination } = this.state.getLatestValue();
305
324
 
306
325
  if (pagination.isLoadingNext || !pagination.nextCursor) return;
@@ -325,7 +344,9 @@ export class ThreadManager extends WithSubscriptions {
325
344
  },
326
345
  }));
327
346
  } catch (error) {
328
- this.client.logger('error', (error as Error).message);
347
+ logger
348
+ .withExtraTags('loadNextPage')
349
+ .error('Failed to load the next page of threads.', { error });
329
350
  this.state.next((current) => ({
330
351
  ...current,
331
352
  pagination: {
@@ -1,9 +1,13 @@
1
1
  import type jwt from 'jsonwebtoken';
2
2
 
3
+ import { chatLoggerSystem } from './logger';
3
4
  import { JWTServerToken, JWTUserToken, UserFromToken } from './signing';
4
5
  import { isFunction } from './utils';
5
- import type { TokenOrProvider, UserResponse } from './types';
6
+ import type { TokenOrProvider } from './types';
6
7
 
8
+ const logger = chatLoggerSystem.getLogger('token-manager');
9
+
10
+ export type TokenManagerMinimalUser = { id: string; anon?: boolean };
7
11
  /**
8
12
  * TokenManager
9
13
  *
@@ -15,11 +19,12 @@ export class TokenManager {
15
19
  secret?: jwt.Secret;
16
20
  token?: string;
17
21
  tokenProvider?: TokenOrProvider;
18
- user?: UserResponse;
22
+ user?: TokenManagerMinimalUser;
19
23
  /**
20
- * Constructor
24
+ * Initializes the token manager, optionally with a server-side API secret used to mint tokens
25
+ * locally.
21
26
  *
22
- * @param {Secret} secret
27
+ * @param secret - Optional API secret. When provided, the manager will sign server tokens locally.
23
28
  */
24
29
  constructor(secret?: jwt.Secret) {
25
30
  this.loadTokenPromise = null;
@@ -35,13 +40,16 @@ export class TokenManager {
35
40
  }
36
41
 
37
42
  /**
38
- * Set the static string token or token provider.
39
- * Token provider should return a token string or a promise which resolves to string token.
43
+ * Sets the static string token or token provider. A token provider should return a token string
44
+ * or a promise that resolves to a token string.
40
45
  *
41
- * @param {TokenOrProvider} tokenOrProvider
42
- * @param {UserResponse} user
46
+ * @param tokenOrProvider - A token string or an async provider that returns one.
47
+ * @param user - The user the token belongs to.
43
48
  */
44
- setTokenOrProvider = async (tokenOrProvider: TokenOrProvider, user: UserResponse) => {
49
+ setTokenOrProvider = async (
50
+ tokenOrProvider: TokenOrProvider,
51
+ user: TokenManagerMinimalUser,
52
+ ) => {
45
53
  this.validateToken(tokenOrProvider, user);
46
54
  this.user = user;
47
55
 
@@ -76,7 +84,7 @@ export class TokenManager {
76
84
  };
77
85
 
78
86
  // Validates the user token.
79
- validateToken = (tokenOrProvider: TokenOrProvider, user: UserResponse) => {
87
+ validateToken = (tokenOrProvider: TokenOrProvider, user: TokenManagerMinimalUser) => {
80
88
  // allow empty token for anon user
81
89
  if (user && user.anon && !tokenOrProvider) return;
82
90
 
@@ -126,6 +134,9 @@ export class TokenManager {
126
134
  try {
127
135
  this.token = await this.tokenProvider();
128
136
  } catch (e) {
137
+ logger
138
+ .withExtraTags('loadToken')
139
+ .error('The token provider threw an error.', { error: e });
129
140
  return reject(
130
141
  new Error(`Call to tokenProvider failed with message: ${e}`, { cause: e }),
131
142
  );