@oxyhq/services 26.2.0 → 27.1.0

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 (109) hide show
  1. package/lib/commonjs/index.js +50 -1
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/ui/components/FollowButton.js +3 -5
  4. package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
  5. package/lib/commonjs/ui/components/FollowTargetButton.js +292 -0
  6. package/lib/commonjs/ui/components/FollowTargetButton.js.map +1 -0
  7. package/lib/commonjs/ui/components/authChooser/requestSurfaces.js +14 -6
  8. package/lib/commonjs/ui/components/authChooser/requestSurfaces.js.map +1 -1
  9. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +16 -3
  10. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  11. package/lib/commonjs/ui/hooks/queries/userCache.js +164 -10
  12. package/lib/commonjs/ui/hooks/queries/userCache.js.map +1 -1
  13. package/lib/commonjs/ui/hooks/useFollowTarget.js +140 -0
  14. package/lib/commonjs/ui/hooks/useFollowTarget.js.map +1 -0
  15. package/lib/commonjs/ui/screens/AccountMembersScreen.js +49 -6
  16. package/lib/commonjs/ui/screens/AccountMembersScreen.js.map +1 -1
  17. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +6 -1
  18. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  19. package/lib/commonjs/ui/screens/CreateAccountScreen.js +73 -40
  20. package/lib/commonjs/ui/screens/CreateAccountScreen.js.map +1 -1
  21. package/lib/commonjs/ui/stores/followTargetStore.js +113 -0
  22. package/lib/commonjs/ui/stores/followTargetStore.js.map +1 -0
  23. package/lib/commonjs/ui/stores/resetSessionScopedStores.js +2 -0
  24. package/lib/commonjs/ui/stores/resetSessionScopedStores.js.map +1 -1
  25. package/lib/commonjs/ui/utils/avatarUtils.js +5 -0
  26. package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
  27. package/lib/module/index.js +8 -2
  28. package/lib/module/index.js.map +1 -1
  29. package/lib/module/ui/components/FollowButton.js +3 -5
  30. package/lib/module/ui/components/FollowButton.js.map +1 -1
  31. package/lib/module/ui/components/FollowTargetButton.js +287 -0
  32. package/lib/module/ui/components/FollowTargetButton.js.map +1 -0
  33. package/lib/module/ui/components/authChooser/requestSurfaces.js +15 -7
  34. package/lib/module/ui/components/authChooser/requestSurfaces.js.map +1 -1
  35. package/lib/module/ui/hooks/mutations/useAccountMutations.js +16 -3
  36. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  37. package/lib/module/ui/hooks/queries/userCache.js +161 -10
  38. package/lib/module/ui/hooks/queries/userCache.js.map +1 -1
  39. package/lib/module/ui/hooks/useFollowTarget.js +136 -0
  40. package/lib/module/ui/hooks/useFollowTarget.js.map +1 -0
  41. package/lib/module/ui/screens/AccountMembersScreen.js +49 -6
  42. package/lib/module/ui/screens/AccountMembersScreen.js.map +1 -1
  43. package/lib/module/ui/screens/AccountSettingsScreen.js +6 -1
  44. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  45. package/lib/module/ui/screens/CreateAccountScreen.js +74 -41
  46. package/lib/module/ui/screens/CreateAccountScreen.js.map +1 -1
  47. package/lib/module/ui/stores/followTargetStore.js +107 -0
  48. package/lib/module/ui/stores/followTargetStore.js.map +1 -0
  49. package/lib/module/ui/stores/resetSessionScopedStores.js +2 -0
  50. package/lib/module/ui/stores/resetSessionScopedStores.js.map +1 -1
  51. package/lib/module/ui/utils/avatarUtils.js +5 -0
  52. package/lib/module/ui/utils/avatarUtils.js.map +1 -1
  53. package/lib/typescript/commonjs/index.d.ts +7 -2
  54. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  55. package/lib/typescript/commonjs/ui/components/FollowButton.d.ts.map +1 -1
  56. package/lib/typescript/commonjs/ui/components/FollowTargetButton.d.ts +119 -0
  57. package/lib/typescript/commonjs/ui/components/FollowTargetButton.d.ts.map +1 -0
  58. package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts +6 -1
  59. package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts.map +1 -1
  60. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +1 -1
  61. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  62. package/lib/typescript/commonjs/ui/hooks/queries/userCache.d.ts +79 -2
  63. package/lib/typescript/commonjs/ui/hooks/queries/userCache.d.ts.map +1 -1
  64. package/lib/typescript/commonjs/ui/hooks/useFollowTarget.d.ts +41 -0
  65. package/lib/typescript/commonjs/ui/hooks/useFollowTarget.d.ts.map +1 -0
  66. package/lib/typescript/commonjs/ui/screens/AccountMembersScreen.d.ts.map +1 -1
  67. package/lib/typescript/commonjs/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  68. package/lib/typescript/commonjs/ui/screens/CreateAccountScreen.d.ts.map +1 -1
  69. package/lib/typescript/commonjs/ui/stores/followTargetStore.d.ts +70 -0
  70. package/lib/typescript/commonjs/ui/stores/followTargetStore.d.ts.map +1 -0
  71. package/lib/typescript/commonjs/ui/stores/resetSessionScopedStores.d.ts.map +1 -1
  72. package/lib/typescript/commonjs/ui/utils/avatarUtils.d.ts.map +1 -1
  73. package/lib/typescript/module/index.d.ts +7 -2
  74. package/lib/typescript/module/index.d.ts.map +1 -1
  75. package/lib/typescript/module/ui/components/FollowButton.d.ts.map +1 -1
  76. package/lib/typescript/module/ui/components/FollowTargetButton.d.ts +119 -0
  77. package/lib/typescript/module/ui/components/FollowTargetButton.d.ts.map +1 -0
  78. package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts +6 -1
  79. package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts.map +1 -1
  80. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +1 -1
  81. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  82. package/lib/typescript/module/ui/hooks/queries/userCache.d.ts +79 -2
  83. package/lib/typescript/module/ui/hooks/queries/userCache.d.ts.map +1 -1
  84. package/lib/typescript/module/ui/hooks/useFollowTarget.d.ts +41 -0
  85. package/lib/typescript/module/ui/hooks/useFollowTarget.d.ts.map +1 -0
  86. package/lib/typescript/module/ui/screens/AccountMembersScreen.d.ts.map +1 -1
  87. package/lib/typescript/module/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  88. package/lib/typescript/module/ui/screens/CreateAccountScreen.d.ts.map +1 -1
  89. package/lib/typescript/module/ui/stores/followTargetStore.d.ts +70 -0
  90. package/lib/typescript/module/ui/stores/followTargetStore.d.ts.map +1 -0
  91. package/lib/typescript/module/ui/stores/resetSessionScopedStores.d.ts.map +1 -1
  92. package/lib/typescript/module/ui/utils/avatarUtils.d.ts.map +1 -1
  93. package/package.json +4 -4
  94. package/src/index.ts +26 -3
  95. package/src/ui/components/FollowButton.tsx +3 -5
  96. package/src/ui/components/FollowTargetButton.tsx +326 -0
  97. package/src/ui/components/__tests__/followTargetButton.test.ts +132 -0
  98. package/src/ui/components/authChooser/requestSurfaces.tsx +12 -4
  99. package/src/ui/hooks/mutations/useAccountMutations.ts +20 -3
  100. package/src/ui/hooks/queries/__tests__/userCacheClear.test.ts +301 -0
  101. package/src/ui/hooks/queries/userCache.ts +211 -10
  102. package/src/ui/hooks/useFollowTarget.ts +194 -0
  103. package/src/ui/screens/AccountMembersScreen.tsx +62 -6
  104. package/src/ui/screens/AccountSettingsScreen.tsx +9 -1
  105. package/src/ui/screens/CreateAccountScreen.tsx +66 -36
  106. package/src/ui/stores/__tests__/resetSessionScopedStores.test.ts +23 -0
  107. package/src/ui/stores/followTargetStore.ts +119 -0
  108. package/src/ui/stores/resetSessionScopedStores.ts +2 -0
  109. package/src/ui/utils/avatarUtils.ts +9 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_reactQuery","require","_core","_queryKeys","_mutationKeys","_OxyContext","_toast","_avatarUtils","_authStore","useUpdateProfile","oxyServices","activeSessionId","user","useOxy","queryClient","useQueryClient","useMutation","mutationKey","mutationKeys","account","updateProfile","mutationFn","updates","authenticatedApiCall","onMutate","cancelQueries","queryKey","queryKeys","accounts","current","previousUser","getQueryData","optimisticUser","name","setQueryData","users","profile","onError","error","context","changedKeys","Object","keys","partialRollback","reduce","acc","key","currentProfile","toast","Error","message","onSuccess","data","useAuthStore","getState","setUser","avatar","refreshAvatarInStore","invalidateUserQueries","invalidateAccountQueries","invalidateSessionQueries","exports","useUploadAvatar","uploadAvatar","file","uploadResult","assetUpload","fileId","id","uri","_file","previousAvatar","success","useUpdateAccountSettings","mutation","updateSettings","currentUser","userId","updatedPrivacy","updatePrivacySettings","privacySettings","settings","previousPrivacy","partialPrivacyRollback","onSettled","invalidateQueries","mutate","mutateAsync","useUpdatePrivacySettings","targetUserId","privacy","previousPrivacySettings","length","currentPrivacy","incoming","requested","previous","updatedUser","useUpdateNotificationPreferences","updateNotificationPreferences","preferences","notificationPreferences","_preferences","useUpdateUserPreferences","updateUserPreferences","userPreferences","useRevokeConnectedApp","connectedApps","revoke","applicationId","revokeAppGrant","invalidateConnectedAppsQueries","useUploadFile","uploadFile","visibility","metadata","onProgress"],"sourceRoot":"../../../../../src","sources":["ui/hooks/mutations/useAccountMutations.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactQuery","require","_core","_queryKeys","_mutationKeys","_OxyContext","_toast","_avatarUtils","_authStore","_accountStore","_userCache","useUpdateProfile","oxyServices","activeSessionId","user","useOxy","queryClient","useQueryClient","useMutation","mutationKey","mutationKeys","account","updateProfile","mutationFn","updates","authenticatedApiCall","onMutate","cancelQueries","queryKey","queryKeys","accounts","current","previousUser","getQueryData","optimisticUser","name","setQueryData","users","profile","onError","error","context","changedKeys","Object","keys","partialRollback","reduce","acc","key","currentProfile","toast","Error","message","onSuccess","data","useAuthStore","getState","setUser","cleared","clearedFieldsFromProfileUpdate","upsertCachedUser","id","length","undefined","avatar","refreshAvatarInStore","useAccountStore","updateAccount","avatarUrl","invalidateUserQueries","invalidateAccountQueries","invalidateSessionQueries","exports","useUploadAvatar","uploadAvatar","file","uploadResult","assetUpload","fileId","uri","_file","previousAvatar","success","useUpdateAccountSettings","mutation","updateSettings","currentUser","userId","updatedPrivacy","updatePrivacySettings","privacySettings","settings","previousPrivacy","partialPrivacyRollback","onSettled","invalidateQueries","mutate","mutateAsync","useUpdatePrivacySettings","targetUserId","privacy","previousPrivacySettings","currentPrivacy","incoming","requested","previous","updatedUser","useUpdateNotificationPreferences","updateNotificationPreferences","preferences","notificationPreferences","_preferences","useUpdateUserPreferences","updateUserPreferences","userPreferences","useRevokeConnectedApp","connectedApps","revoke","applicationId","revokeAppGrant","invalidateConnectedAppsQueries","useUploadFile","uploadFile","visibility","metadata","onProgress"],"sourceRoot":"../../../../../src","sources":["ui/hooks/mutations/useAccountMutations.ts"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.CLEARABLE_USER_FIELDS = void 0;
7
+ exports.clearedFieldsFromAccountUpdate = clearedFieldsFromAccountUpdate;
8
+ exports.clearedFieldsFromProfileUpdate = clearedFieldsFromProfileUpdate;
6
9
  exports.upsertCachedUser = upsertCachedUser;
7
10
  exports.upsertCachedUsers = upsertCachedUsers;
8
11
  var _authStore = require("../../stores/authStore.js");
@@ -45,6 +48,33 @@ var _queryKeys = require("./queryKeys.js");
45
48
  * never overwritten by a degraded/empty one (empty username, the
46
49
  * `'Unknown user'` ghost-author sentinel, `null` avatar).
47
50
  *
51
+ * EXPRESSING A DELIBERATE CLEAR ("remove my picture")
52
+ * ---------------------------------------------------
53
+ * The anti-degradation rule above is right for a sparse source and wrong for a
54
+ * user who just emptied the field — and the two are NOT distinguishable from the
55
+ * payload. Measured against oxy-api's canonical serializer (`formatUserResponse`
56
+ * in `packages/api/src/utils/userTransform.ts`, which passes every field through
57
+ * `typeof value === 'string' ? value : undefined`): an account whose avatar,
58
+ * bio and display name were all just CLEARED serializes to
59
+ * `{"id":…,"publicKey":…,"username":…,"name":{},"languages":[]}` — byte-identical
60
+ * to the same account read as a sparse projection. There is no `null` and no
61
+ * `''` on the wire to key on. The information that a field was deliberately
62
+ * emptied exists ONLY at the call site that performed the write.
63
+ *
64
+ * So the caller declares it: `upsertCachedUser(qc, user, viewerId, { cleared:
65
+ * ['avatar'] })`. For a declared field an incoming EMPTY value means the field
66
+ * IS empty and the stale value is dropped; a MEANINGFUL incoming value still
67
+ * wins as usual (so `{ cleared: ['name.displayName'] }` on a personal account,
68
+ * where clearing the explicit name makes the server return the COMPOSED one,
69
+ * keeps the composed name rather than blanking it).
70
+ *
71
+ * A blanket "this source is authoritative, treat every absent field as cleared"
72
+ * flag was considered and rejected: because the two payloads are byte-identical,
73
+ * such a flag is an unverifiable promise about provenance, and the failure mode
74
+ * of getting it wrong is blanking real identity data in every Oxy app. Naming
75
+ * the fields states something the caller actually observed — which fields the
76
+ * user emptied — and bounds the damage to exactly those.
77
+ *
48
78
  * It is a cache write only — zero network, one `setQueryData` per key.
49
79
  */
50
80
 
@@ -60,6 +90,75 @@ var _queryKeys = require("./queryKeys.js");
60
90
  /** The degraded display-name sentinel (ghost-author rule). */
61
91
  const DEGRADED_DISPLAY_NAME = "Unknown user";
62
92
 
93
+ /**
94
+ * The profile fields a user can genuinely EMPTY through a real Oxy write, and
95
+ * for which "empty" is a state every renderer already handles.
96
+ *
97
+ * Deliberately a closed list rather than "any field": a clear DELETES data from
98
+ * the cache, so the blast radius of a mistaken declaration is bounded here
99
+ * instead of resting on each call site. `username` is absent because an account
100
+ * always has one; `_count` and `relationship` are absent because they are
101
+ * server-derived, never user-emptied — and dropping a viewer `relationship` is
102
+ * the exact "Follows you vanishes" bug this module exists to prevent.
103
+ *
104
+ * Each entry is clearable through a shipped write path: `avatar`, `bio`,
105
+ * `description` and `name.displayName` via `UserProfileUpdate` (`''` clears) and
106
+ * `UpdateAccountInput` (`null` clears avatar/bio; `accountCategories: []`
107
+ * clears the ordered category list), and `color` via its nullable field.
108
+ */
109
+ const CLEARABLE_USER_FIELDS = exports.CLEARABLE_USER_FIELDS = ["avatar", "bio", "description", "color", "accountCategories", "name.displayName"];
110
+
111
+ /** A field nameable in {@link UpsertCachedUserOptions.cleared}. */
112
+
113
+ /**
114
+ * Fields the caller deliberately emptied in a `PUT /users/me` patch. The wire
115
+ * response omits cleared scalars, so the cache needs this list to drop stale
116
+ * values immediately instead of waiting for a refetch that merges the same
117
+ * sparse payload.
118
+ */
119
+ function clearedFieldsFromProfileUpdate(updates) {
120
+ const cleared = [];
121
+ if ("avatar" in updates && !isMeaningful(updates.avatar)) {
122
+ cleared.push("avatar");
123
+ }
124
+ if ("bio" in updates && !isMeaningful(updates.bio)) {
125
+ cleared.push("bio");
126
+ }
127
+ if ("description" in updates && !isMeaningful(updates.description)) {
128
+ cleared.push("description");
129
+ }
130
+ if ("color" in updates && updates.color === null) {
131
+ cleared.push("color");
132
+ }
133
+ if (updates.name !== undefined && "displayName" in updates.name && !isMeaningful(updates.name.displayName)) {
134
+ cleared.push("name.displayName");
135
+ }
136
+ return cleared;
137
+ }
138
+
139
+ /**
140
+ * Same contract as {@link clearedFieldsFromProfileUpdate} for managed-account
141
+ * `PATCH /accounts/:id` writes (`null` clears avatar/bio/category).
142
+ */
143
+ function clearedFieldsFromAccountUpdate(input) {
144
+ const cleared = [];
145
+ if ("avatar" in input && !isMeaningful(input.avatar)) {
146
+ cleared.push("avatar");
147
+ }
148
+ if ("bio" in input && !isMeaningful(input.bio)) {
149
+ cleared.push("bio");
150
+ }
151
+ if ("accountCategories" in input && Array.isArray(input.accountCategories) && input.accountCategories.length === 0) {
152
+ cleared.push("accountCategories");
153
+ }
154
+ if (input.name !== undefined && "displayName" in input.name && !isMeaningful(input.name.displayName)) {
155
+ cleared.push("name.displayName");
156
+ }
157
+ return cleared;
158
+ }
159
+
160
+ /** Options for {@link upsertCachedUser}. */
161
+
63
162
  /** A cache entry always carries a resolved string `id`. */
64
163
 
65
164
  /**
@@ -124,9 +223,38 @@ function normalizeIncoming(user) {
124
223
  return cached.id ? cached : null;
125
224
  }
126
225
 
127
- /** Merge two `name` objects field-by-field, with anti-degradation on `displayName`. */
128
- function mergeName(existing, incoming) {
129
- if (incoming === undefined) return existing;
226
+ /**
227
+ * Copy a name WITHOUT its `displayName`. The key must end up ABSENT rather than
228
+ * present-and-`undefined`: consumers render `name.displayName` directly and fall
229
+ * back to the handle when it is missing, and a present-but-undefined key also
230
+ * changes what a later merge sees.
231
+ */
232
+ function omitDisplayName(name) {
233
+ const result = {};
234
+ for (const [key, value] of Object.entries(name)) {
235
+ if (key !== "displayName") result[key] = value;
236
+ }
237
+ return result;
238
+ }
239
+
240
+ /**
241
+ * Merge two `name` objects field-by-field, with anti-degradation on
242
+ * `displayName`.
243
+ *
244
+ * `clearDisplayName` is the declared-clear escape hatch: the incoming value
245
+ * still wins whenever it is meaningful (an account that clears its explicit
246
+ * display name gets the server-COMPOSED one back, which must not be discarded),
247
+ * and only a genuinely empty incoming value drops the stored one.
248
+ *
249
+ * Both incoming shapes reach the clear, and they are separate branches: the
250
+ * measured oxy-api response carries `name` as a PRESENT-but-empty object, while
251
+ * a caller passing a bare user object may carry no `name` key at all.
252
+ */
253
+ function mergeName(existing, incoming, clearDisplayName) {
254
+ if (incoming === undefined) {
255
+ if (!clearDisplayName || existing === undefined) return existing;
256
+ return omitDisplayName(existing);
257
+ }
130
258
  if (existing === undefined) return incoming;
131
259
  const merged = {
132
260
  ...existing
@@ -135,11 +263,13 @@ function mergeName(existing, incoming) {
135
263
  if (key === "displayName") continue;
136
264
  if (isMeaningful(value)) merged[key] = value;
137
265
  }
138
- // Never let an empty / `'Unknown user'` displayName overwrite a real one.
266
+ // Never let an empty / `'Unknown user'` displayName overwrite a real one
267
+ // unless the caller declared that the user cleared it.
139
268
  if (isMeaningfulDisplayName(incoming.displayName)) {
140
269
  merged.displayName = incoming.displayName;
270
+ return merged;
141
271
  }
142
- return merged;
272
+ return clearDisplayName ? omitDisplayName(merged) : merged;
143
273
  }
144
274
 
145
275
  /** Merge `_count` field-by-field so a partial count never replaces a fuller one. */
@@ -174,9 +304,15 @@ function mergeRelationship(existing, incoming) {
174
304
  * When `includeRelationship` is false (the viewer-independent by-id key), the
175
305
  * viewer-relative `relationship` field is never read, written, or preserved —
176
306
  * only the by-username key carries it (`useUserByUsername`).
307
+ *
308
+ * `cleared` names the fields the write deliberately emptied. It is applied
309
+ * AFTER the merge, because the merge loop can only ever COPY a meaningful value
310
+ * — an emptied field is absent from `incoming` (see the module docs: oxy-api
311
+ * omits it entirely) and would otherwise survive from `existing` untouched.
177
312
  */
178
313
  function mergeUsers(existing, incoming, options) {
179
314
  const includeRelationship = options?.includeRelationship ?? true;
315
+ const cleared = options?.cleared;
180
316
  const merged = {
181
317
  ...existing
182
318
  };
@@ -188,7 +324,7 @@ function mergeUsers(existing, incoming, options) {
188
324
  }
189
325
  if (isMeaningful(value)) merged[key] = value;
190
326
  }
191
- const name = mergeName(existing.name, incoming.name);
327
+ const name = mergeName(existing.name, incoming.name, cleared?.includes("name.displayName") ?? false);
192
328
  if (name !== undefined) merged.name = name;
193
329
  const count = mergeCount(existing._count, incoming._count);
194
330
  if (count !== undefined) merged._count = count;
@@ -198,13 +334,20 @@ function mergeUsers(existing, incoming, options) {
198
334
  } else {
199
335
  merged.relationship = undefined;
200
336
  }
337
+ if (cleared) {
338
+ for (const field of cleared) {
339
+ if (field === "name.displayName") continue; // handled by `mergeName`.
340
+ if (!isMeaningful(incoming[field])) delete merged[field];
341
+ }
342
+ }
201
343
  return merged;
202
344
  }
203
345
 
204
346
  /** Merge-upsert a normalized user into one cache key (see module docs for semantics). */
205
347
  function upsertOneKey(queryClient, key, incoming, options) {
206
348
  const mergeOpts = {
207
- includeRelationship: options.includeRelationship
349
+ includeRelationship: options.includeRelationship,
350
+ cleared: options.cleared
208
351
  };
209
352
  const existing = queryClient.getQueryData(key);
210
353
  if (existing === undefined) {
@@ -247,16 +390,22 @@ function resolveViewerId(viewerId) {
247
390
  * @param user A `User`-shaped object (may be sparse).
248
391
  * @param viewerId The active viewer id for the by-username key. Defaults to
249
392
  * the current auth-store user id.
393
+ * @param options `cleared` names the fields the write deliberately emptied
394
+ * — the ONLY way "remove my picture" can propagate, since a
395
+ * cleared field and an uncarried one are byte-identical on
396
+ * the wire (see the module docs).
250
397
  */
251
- function upsertCachedUser(queryClient, user, viewerId) {
398
+ function upsertCachedUser(queryClient, user, viewerId, options) {
252
399
  const incoming = normalizeIncoming(user);
253
400
  if (!incoming) return;
401
+ const cleared = options?.cleared;
254
402
 
255
403
  // By-id identity entry (read by `useUserById`). Not viewer-scoped — never store
256
404
  // the viewer-relative `relationship` here or one viewer's follow state leaks
257
405
  // into every other viewer's by-id cache entry.
258
406
  upsertOneKey(queryClient, _queryKeys.queryKeys.users.detail(incoming.id), incoming, {
259
- includeRelationship: false
407
+ includeRelationship: false,
408
+ cleared
260
409
  });
261
410
  const username = incoming.username;
262
411
  if (typeof username === "string" && username.trim() !== "") {
@@ -266,7 +415,8 @@ function upsertCachedUser(queryClient, user, viewerId) {
266
415
  // (`trim().toLowerCase()`) matches byte-for-byte.
267
416
  const key = _queryKeys.queryKeys.users.byUsername(username, resolveViewerId(viewerId));
268
417
  upsertOneKey(queryClient, key, incoming, {
269
- includeRelationship: true
418
+ includeRelationship: true,
419
+ cleared
270
420
  });
271
421
  }
272
422
  }
@@ -275,6 +425,10 @@ function upsertCachedUser(queryClient, user, viewerId) {
275
425
  * Batch merge-upsert many users at once (for a feed / list / search response).
276
426
  * Resolves the viewer id once and upserts each user cumulatively — a user that
277
427
  * appears twice merges both slices into the single cache entry.
428
+ *
429
+ * Takes NO `cleared`, deliberately: a batch is a multi-user projection, so it is
430
+ * exactly the sparse source the anti-degradation guard exists for, and one
431
+ * declaration could not be true of every user in the array anyway.
278
432
  */
279
433
  function upsertCachedUsers(queryClient, users, viewerId) {
280
434
  if (!Array.isArray(users) || users.length === 0) return;
@@ -1 +1 @@
1
- {"version":3,"names":["_authStore","require","_queryKeys","DEGRADED_DISPLAY_NAME","isMeaningful","value","undefined","trim","isMeaningfulDisplayName","isPlainObject","Array","isArray","normalizeName","name","trimmed","displayName","toCachedUser","user","fallbackId","rawName","rest","id","String","_id","normalized","normalizeIncoming","cached","mergeName","existing","incoming","merged","key","Object","entries","mergeCount","followers","following","mergeRelationship","isFollowing","followsYou","mergeUsers","options","includeRelationship","count","_count","relationship","upsertOneKey","queryClient","mergeOpts","getQueryData","seeded","setQueryData","updatedAt","dataUpdatedAt","getQueryState","resolveViewerId","viewerId","useAuthStore","getState","upsertCachedUser","queryKeys","users","detail","username","byUsername","upsertCachedUsers","length","resolvedViewerId"],"sourceRoot":"../../../../../src","sources":["ui/hooks/queries/userCache.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_authStore","require","_queryKeys","DEGRADED_DISPLAY_NAME","CLEARABLE_USER_FIELDS","exports","clearedFieldsFromProfileUpdate","updates","cleared","isMeaningful","avatar","push","bio","description","color","name","undefined","displayName","clearedFieldsFromAccountUpdate","input","Array","isArray","accountCategories","length","value","trim","isMeaningfulDisplayName","isPlainObject","normalizeName","trimmed","toCachedUser","user","fallbackId","rawName","rest","id","String","_id","normalized","normalizeIncoming","cached","omitDisplayName","result","key","Object","entries","mergeName","existing","incoming","clearDisplayName","merged","mergeCount","followers","following","mergeRelationship","isFollowing","followsYou","mergeUsers","options","includeRelationship","includes","count","_count","relationship","field","upsertOneKey","queryClient","mergeOpts","getQueryData","seeded","setQueryData","updatedAt","dataUpdatedAt","getQueryState","resolveViewerId","viewerId","useAuthStore","getState","upsertCachedUser","queryKeys","users","detail","username","byUsername","upsertCachedUsers","resolvedViewerId"],"sourceRoot":"../../../../../src","sources":["ui/hooks/queries/userCache.ts"],"mappings":";;;;;;;;;;AAuEA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAwBA;AACA,MAAME,qBAAqB,GAAG,cAAc;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,CACpC,QAAQ,EACR,KAAK,EACL,aAAa,EACb,OAAO,EACP,mBAAmB,EACnB,kBAAkB,CACT;;AAEV;;AAGA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,8BAA8BA,CAC7CC,OAA0B,EACH;EACvB,MAAMC,OAA6B,GAAG,EAAE;EACxC,IAAI,QAAQ,IAAID,OAAO,IAAI,CAACE,YAAY,CAACF,OAAO,CAACG,MAAM,CAAC,EAAE;IACzDF,OAAO,CAACG,IAAI,CAAC,QAAQ,CAAC;EACvB;EACA,IAAI,KAAK,IAAIJ,OAAO,IAAI,CAACE,YAAY,CAACF,OAAO,CAACK,GAAG,CAAC,EAAE;IACnDJ,OAAO,CAACG,IAAI,CAAC,KAAK,CAAC;EACpB;EACA,IAAI,aAAa,IAAIJ,OAAO,IAAI,CAACE,YAAY,CAACF,OAAO,CAACM,WAAW,CAAC,EAAE;IACnEL,OAAO,CAACG,IAAI,CAAC,aAAa,CAAC;EAC5B;EACA,IAAI,OAAO,IAAIJ,OAAO,IAAIA,OAAO,CAACO,KAAK,KAAK,IAAI,EAAE;IACj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","ignoreList":[]}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useFollowTarget = useFollowTarget;
7
+ var _react = require("react");
8
+ var _OxyContext = require("../context/OxyContext.js");
9
+ var _followTargetStore = require("../stores/followTargetStore.js");
10
+ /**
11
+ * `useFollowTarget` — the one hook every application uses to follow anything.
12
+ *
13
+ * Wraps the `/v2/follows` SDK methods with the store above, an optimistic
14
+ * update, and a rollback. Nothing in here knows what kind of thing it is
15
+ * following, which is the property that lets an application the SDK has never
16
+ * heard of use it without a release of this package.
17
+ *
18
+ * ## Optimism, and its one limit
19
+ *
20
+ * A follow flips the button immediately and rolls back if the server refuses,
21
+ * because the round trip is long enough to feel like a bug otherwise. But an
22
+ * optimistic follow has no relationship id until the server answers, and every
23
+ * other operation addresses the relationship — so those stay disabled for the
24
+ * width of one request rather than being sent with a guessed id.
25
+ */
26
+
27
+ function useFollowTarget(targetId, options) {
28
+ const {
29
+ oxyServices,
30
+ canUsePrivateApi
31
+ } = (0, _OxyContext.useOxy)();
32
+ const status = (0, _followTargetStore.useFollowTargetStore)((0, _react.useCallback)(s => targetId ? s.statuses[targetId] : undefined, [targetId]));
33
+ const isPending = (0, _followTargetStore.useFollowTargetStore)((0, _react.useCallback)(s => targetId ? s.pending[targetId] ?? false : false, [targetId]));
34
+ const error = (0, _followTargetStore.useFollowTargetStore)((0, _react.useCallback)(s => targetId ? s.errors[targetId] : undefined, [targetId]));
35
+ const initialStatus = options?.initialStatus;
36
+
37
+ // A caller that already knows the status — a follow list, a feed payload —
38
+ // seeds it rather than making this hook re-ask once per rendered row.
39
+ (0, _react.useEffect)(() => {
40
+ if (!targetId || !initialStatus) return;
41
+ const store = _followTargetStore.useFollowTargetStore.getState();
42
+ if (!store.statuses[targetId]) store.setStatus(targetId, initialStatus);
43
+ }, [targetId, initialStatus]);
44
+ const refresh = (0, _react.useCallback)(async () => {
45
+ // Gated on `canUsePrivateApi`, not on `isAuthenticated`: during the session
46
+ // cold boot the second is true well before the first, and a read sent in
47
+ // that window 401s and would leave the button stuck reporting an error the
48
+ // user cannot act on.
49
+ if (!targetId || !canUsePrivateApi) return;
50
+ try {
51
+ const next = await oxyServices.getFollowTargetStatus(targetId);
52
+ _followTargetStore.useFollowTargetStore.getState().setStatus(targetId, next);
53
+ _followTargetStore.useFollowTargetStore.getState().setError(targetId, undefined);
54
+ } catch (e) {
55
+ _followTargetStore.useFollowTargetStore.getState().setError(targetId, e instanceof Error ? e.message : 'Could not read follow status');
56
+ }
57
+ }, [targetId, canUsePrivateApi, oxyServices]);
58
+ (0, _react.useEffect)(() => {
59
+ if (!targetId || !canUsePrivateApi) return;
60
+ if (_followTargetStore.useFollowTargetStore.getState().statuses[targetId]) return;
61
+ void refresh();
62
+ }, [targetId, canUsePrivateApi, refresh]);
63
+
64
+ /**
65
+ * Run a mutation optimistically: show `optimistic` at once, keep the previous
66
+ * value, and put it back if the server refuses. Every mutation below goes
67
+ * through this so the rollback cannot be forgotten in one of them.
68
+ */
69
+ const mutate = (0, _react.useCallback)(async (optimistic, run, failureMessage) => {
70
+ if (!targetId) return;
71
+ const store = _followTargetStore.useFollowTargetStore.getState();
72
+ const previous = store.statuses[targetId];
73
+ store.setStatus(targetId, optimistic);
74
+ store.setPending(targetId, true);
75
+ store.setError(targetId, undefined);
76
+ try {
77
+ const settled = await run();
78
+ if (settled) _followTargetStore.useFollowTargetStore.getState().setStatus(targetId, settled);
79
+ } catch (e) {
80
+ const s = _followTargetStore.useFollowTargetStore.getState();
81
+ // Back to what was true, not to a guess. Clearing the entry instead
82
+ // would make the next render ask again and flash the wrong state.
83
+ if (previous) s.setStatus(targetId, previous);
84
+ s.setError(targetId, e instanceof Error ? e.message : failureMessage);
85
+ } finally {
86
+ _followTargetStore.useFollowTargetStore.getState().setPending(targetId, false);
87
+ }
88
+ }, [targetId]);
89
+ const current = status ?? _followTargetStore.UNKNOWN_FOLLOW_STATUS;
90
+ const follow = (0, _react.useCallback)(async opts => {
91
+ if (!targetId) return;
92
+ await mutate({
93
+ ...(0, _followTargetStore.withApplicationMode)({
94
+ ...current,
95
+ globalState: 'active'
96
+ }, current.applicationMode),
97
+ ...(opts?.expiresIn ? {
98
+ expiresAt: new Date(Date.now() + opts.expiresIn * 1000).toISOString()
99
+ } : {})
100
+ },
101
+ // The server returns the whole resulting status, so store it rather
102
+ // than reconstructing one: `effectiveState`'s derivation lives there,
103
+ // and a client recomputing it is a second implementation of one rule.
104
+ async () => (await oxyServices.followTarget(targetId, opts)).status, 'Could not follow');
105
+ }, [targetId, current, mutate, oxyServices]);
106
+ const unfollow = (0, _react.useCallback)(async () => {
107
+ const relationshipId = current.relationshipId;
108
+ if (!targetId || !relationshipId) return;
109
+ await mutate({
110
+ ..._followTargetStore.UNKNOWN_FOLLOW_STATUS
111
+ }, async () => {
112
+ await oxyServices.unfollowTarget(relationshipId);
113
+ return {
114
+ ..._followTargetStore.UNKNOWN_FOLLOW_STATUS
115
+ };
116
+ }, 'Could not unfollow');
117
+ }, [targetId, current.relationshipId, mutate, oxyServices]);
118
+ const setMode = (0, _react.useCallback)(async mode => {
119
+ const relationshipId = current.relationshipId;
120
+ if (!targetId || !relationshipId) return;
121
+ await mutate((0, _followTargetStore.withApplicationMode)(current, mode), async () => {
122
+ await oxyServices.setFollowApplicationMode(relationshipId, mode);
123
+ }, 'Could not change this app’s setting for this follow');
124
+ }, [targetId, current, mutate, oxyServices]);
125
+ const disableHere = (0, _react.useCallback)(() => setMode('disabled'), [setMode]);
126
+ const enableHere = (0, _react.useCallback)(() => setMode('enabled'), [setMode]);
127
+ return {
128
+ status: current,
129
+ isFollowing: (0, _followTargetStore.isFollowedGlobally)(current),
130
+ isUnknown: status === undefined,
131
+ isPending,
132
+ error,
133
+ follow,
134
+ unfollow,
135
+ disableHere,
136
+ enableHere,
137
+ refresh
138
+ };
139
+ }
140
+ //# sourceMappingURL=useFollowTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_OxyContext","_followTargetStore","useFollowTarget","targetId","options","oxyServices","canUsePrivateApi","useOxy","status","useFollowTargetStore","useCallback","s","statuses","undefined","isPending","pending","error","errors","initialStatus","useEffect","store","getState","setStatus","refresh","next","getFollowTargetStatus","setError","e","Error","message","mutate","optimistic","run","failureMessage","previous","setPending","settled","current","UNKNOWN_FOLLOW_STATUS","follow","opts","withApplicationMode","globalState","applicationMode","expiresIn","expiresAt","Date","now","toISOString","followTarget","unfollow","relationshipId","unfollowTarget","setMode","mode","setFollowApplicationMode","disableHere","enableHere","isFollowing","isFollowedGlobally","isUnknown"],"sourceRoot":"../../../../src","sources":["ui/hooks/useFollowTarget.ts"],"mappings":";;;;;;AAiBA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AApBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA+BO,SAASG,eAAeA,CAC7BC,QAA4B,EAC5BC,OAA0C,EACnB;EACvB,MAAM;IAAEC,WAAW;IAAEC;EAAiB,CAAC,GAAG,IAAAC,kBAAM,EAAC,CAAC;EAElD,MAAMC,MAAM,GAAG,IAAAC,uCAAoB,EACjC,IAAAC,kBAAW,EAAEC,CAAC,IAAMR,QAAQ,GAAGQ,CAAC,CAACC,QAAQ,CAACT,QAAQ,CAAC,GAAGU,SAAU,EAAE,CAACV,QAAQ,CAAC,CAC9E,CAAC;EACD,MAAMW,SAAS,GAAG,IAAAL,uCAAoB,EACpC,IAAAC,kBAAW,EAAEC,CAAC,IAAMR,QAAQ,GAAIQ,CAAC,CAACI,OAAO,CAACZ,QAAQ,CAAC,IAAI,KAAK,GAAI,KAAM,EAAE,CAACA,QAAQ,CAAC,CACpF,CAAC;EACD,MAAMa,KAAK,GAAG,IAAAP,uCAAoB,EAChC,IAAAC,kBAAW,EAAEC,CAAC,IAAMR,QAAQ,GAAGQ,CAAC,CAACM,MAAM,CAACd,QAAQ,CAAC,GAAGU,SAAU,EAAE,CAACV,QAAQ,CAAC,CAC5E,CAAC;EAED,MAAMe,aAAa,GAAGd,OAAO,EAAEc,aAAa;;EAE5C;EACA;EACA,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAI,CAAChB,QAAQ,IAAI,CAACe,aAAa,EAAE;IACjC,MAAME,KAAK,GAAGX,uCAAoB,CAACY,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAACD,KAAK,CAACR,QAAQ,CAACT,QAAQ,CAAC,EAAEiB,KAAK,CAACE,SAAS,CAACnB,QAAQ,EAAEe,aAAa,CAAC;EACzE,CAAC,EAAE,CAACf,QAAQ,EAAEe,aAAa,CAAC,CAAC;EAE7B,MAAMK,OAAO,GAAG,IAAAb,kBAAW,EAAC,YAAY;IACtC;IACA;IACA;IACA;IACA,IAAI,CAACP,QAAQ,IAAI,CAACG,gBAAgB,EAAE;IACpC,IAAI;MACF,MAAMkB,IAAI,GAAG,MAAMnB,WAAW,CAACoB,qBAAqB,CAACtB,QAAQ,CAAC;MAC9DM,uCAAoB,CAACY,QAAQ,CAAC,CAAC,CAACC,SAAS,CAACnB,QAAQ,EAAEqB,IAAI,CAAC;MACzDf,uCAAoB,CAACY,QAAQ,CAAC,CAAC,CAACK,QAAQ,CAACvB,QAAQ,EAAEU,SAAS,CAAC;IAC/D,CAAC,CAAC,OAAOc,CAAC,EAAE;MACVlB,uCAAoB,CACjBY,QAAQ,CAAC,CAAC,CACVK,QAAQ,CAACvB,QAAQ,EAAEwB,CAAC,YAAYC,KAAK,GAAGD,CAAC,CAACE,OAAO,GAAG,8BAA8B,CAAC;IACxF;EACF,CAAC,EAAE,CAAC1B,QAAQ,EAAEG,gBAAgB,EAAED,WAAW,CAAC,CAAC;EAE7C,IAAAc,gBAAS,EAAC,MAAM;IACd,IAAI,CAAChB,QAAQ,IAAI,CAACG,gBAAgB,EAAE;IACpC,IAAIG,uCAAoB,CAACY,QAAQ,CAAC,CAAC,CAACT,QAAQ,CAACT,QAAQ,CAAC,EAAE;IACxD,KAAKoB,OAAO,CAAC,CAAC;EAChB,CAAC,EAAE,CAACpB,QAAQ,EAAEG,gBAAgB,EAAEiB,OAAO,CAAC,CAAC;;EAEzC;AACF;AACA;AACA;AACA;EACE,MAAMO,MAAM,GAAG,IAAApB,kBAAW,EACxB,OACEqB,UAAwB,EACxBC,GAAuC,EACvCC,cAAsB,KACnB;IACH,IAAI,CAAC9B,QAAQ,EAAE;IACf,MAAMiB,KAAK,GAAGX,uCAAoB,CAACY,QAAQ,CAAC,CAAC;IAC7C,MAAMa,QAAQ,GAAGd,KAAK,CAACR,QAAQ,CAACT,QAAQ,CAAC;IACzCiB,KAAK,CAACE,SAAS,CAACnB,QAAQ,EAAE4B,UAAU,CAAC;IACrCX,KAAK,CAACe,UAAU,CAAChC,QAAQ,EAAE,IAAI,CAAC;IAChCiB,KAAK,CAACM,QAAQ,CAACvB,QAAQ,EAAEU,SAAS,CAAC;IACnC,IAAI;MACF,MAAMuB,OAAO,GAAG,MAAMJ,GAAG,CAAC,CAAC;MAC3B,IAAII,OAAO,EAAE3B,uCAAoB,CAACY,QAAQ,CAAC,CAAC,CAACC,SAAS,CAACnB,QAAQ,EAAEiC,OAAO,CAAC;IAC3E,CAAC,CAAC,OAAOT,CAAC,EAAE;MACV,MAAMhB,CAAC,GAAGF,uCAAoB,CAACY,QAAQ,CAAC,CAAC;MACzC;MACA;MACA,IAAIa,QAAQ,EAAEvB,CAAC,CAACW,SAAS,CAACnB,QAAQ,EAAE+B,QAAQ,CAAC;MAC7CvB,CAAC,CAACe,QAAQ,CAACvB,QAAQ,EAAEwB,CAAC,YAAYC,KAAK,GAAGD,CAAC,CAACE,OAAO,GAAGI,cAAc,CAAC;IACvE,CAAC,SAAS;MACRxB,uCAAoB,CAACY,QAAQ,CAAC,CAAC,CAACc,UAAU,CAAChC,QAAQ,EAAE,KAAK,CAAC;IAC7D;EACF,CAAC,EACD,CAACA,QAAQ,CACX,CAAC;EAED,MAAMkC,OAAO,GAAG7B,MAAM,IAAI8B,wCAAqB;EAE/C,MAAMC,MAAM,GAAG,IAAA7B,kBAAW,EACxB,MAAO8B,IAA6B,IAAK;IACvC,IAAI,CAACrC,QAAQ,EAAE;IACf,MAAM2B,MAAM,CACV;MACE,GAAG,IAAAW,sCAAmB,EAAC;QAAE,GAAGJ,OAAO;QAAEK,WAAW,EAAE;MAAS,CAAC,EAAEL,OAAO,CAACM,eAAe,CAAC;MACtF,IAAIH,IAAI,EAAEI,SAAS,GACf;QAAEC,SAAS,EAAE,IAAIC,IAAI,CAACA,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGP,IAAI,CAACI,SAAS,GAAG,IAAI,CAAC,CAACI,WAAW,CAAC;MAAE,CAAC,GACzE,CAAC,CAAC;IACR,CAAC;IACD;IACA;IACA;IACA,YAAY,CAAC,MAAM3C,WAAW,CAAC4C,YAAY,CAAC9C,QAAQ,EAAEqC,IAAI,CAAC,EAAEhC,MAAM,EACnE,kBACF,CAAC;EACH,CAAC,EACD,CAACL,QAAQ,EAAEkC,OAAO,EAAEP,MAAM,EAAEzB,WAAW,CACzC,CAAC;EAED,MAAM6C,QAAQ,GAAG,IAAAxC,kBAAW,EAAC,YAAY;IACvC,MAAMyC,cAAc,GAAGd,OAAO,CAACc,cAAc;IAC7C,IAAI,CAAChD,QAAQ,IAAI,CAACgD,cAAc,EAAE;IAClC,MAAMrB,MAAM,CACV;MAAE,GAAGQ;IAAsB,CAAC,EAC5B,YAAY;MACV,MAAMjC,WAAW,CAAC+C,cAAc,CAACD,cAAc,CAAC;MAChD,OAAO;QAAE,GAAGb;MAAsB,CAAC;IACrC,CAAC,EACD,oBACF,CAAC;EACH,CAAC,EAAE,CAACnC,QAAQ,EAAEkC,OAAO,CAACc,cAAc,EAAErB,MAAM,EAAEzB,WAAW,CAAC,CAAC;EAE3D,MAAMgD,OAAO,GAAG,IAAA3C,kBAAW,EACzB,MAAO4C,IAA4B,IAAK;IACtC,MAAMH,cAAc,GAAGd,OAAO,CAACc,cAAc;IAC7C,IAAI,CAAChD,QAAQ,IAAI,CAACgD,cAAc,EAAE;IAClC,MAAMrB,MAAM,CACV,IAAAW,sCAAmB,EAACJ,OAAO,EAAEiB,IAAI,CAAC,EAClC,YAAY;MACV,MAAMjD,WAAW,CAACkD,wBAAwB,CAACJ,cAAc,EAAEG,IAAI,CAAC;IAClE,CAAC,EACD,qDACF,CAAC;EACH,CAAC,EACD,CAACnD,QAAQ,EAAEkC,OAAO,EAAEP,MAAM,EAAEzB,WAAW,CACzC,CAAC;EAED,MAAMmD,WAAW,GAAG,IAAA9C,kBAAW,EAAC,MAAM2C,OAAO,CAAC,UAAU,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EACrE,MAAMI,UAAU,GAAG,IAAA/C,kBAAW,EAAC,MAAM2C,OAAO,CAAC,SAAS,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEnE,OAAO;IACL7C,MAAM,EAAE6B,OAAO;IACfqB,WAAW,EAAE,IAAAC,qCAAkB,EAACtB,OAAO,CAAC;IACxCuB,SAAS,EAAEpD,MAAM,KAAKK,SAAS;IAC/BC,SAAS;IACTE,KAAK;IACLuB,MAAM;IACNW,QAAQ;IACRM,WAAW;IACXC,UAAU;IACVlC;EACF,CAAC;AACH","ignoreList":[]}