@oxyhq/services 10.3.0 → 10.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/ui/hooks/useFollow.js +22 -6
- package/lib/commonjs/ui/hooks/useFollow.js.map +1 -1
- package/lib/module/ui/hooks/useFollow.js +22 -6
- package/lib/module/ui/hooks/useFollow.js.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useFollow.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useFollow.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/ui/hooks/useFollow.ts +27 -10
|
@@ -38,19 +38,35 @@ const useFollow = userId => {
|
|
|
38
38
|
const followingCount = (0, _followStore.useFollowStore)((0, _react.useCallback)(s => isSingleUser && userId ? s.followingCounts[userId] ?? null : null, [isSingleUser, userId]));
|
|
39
39
|
const isLoadingCounts = (0, _followStore.useFollowStore)((0, _react.useCallback)(s => isSingleUser && userId ? s.loadingCounts[userId] ?? false : false, [isSingleUser, userId]));
|
|
40
40
|
|
|
41
|
-
// For multi-user mode,
|
|
42
|
-
|
|
41
|
+
// For multi-user mode, subscribe to a FLAT snapshot of the per-user fields.
|
|
42
|
+
// `useShallow` only compares one level deep, so the selector must NOT return a
|
|
43
|
+
// nested object — a freshly allocated `{ isFollowing, isLoading, error }` per
|
|
44
|
+
// user would never shallow-compare equal, making `useSyncExternalStore`
|
|
45
|
+
// resubscribe every render and loop until React throws "Maximum update depth
|
|
46
|
+
// exceeded". Keeping the snapshot flat lets the shallow compare cache it; the
|
|
47
|
+
// nested `followData` shape is then assembled in a `useMemo` below.
|
|
48
|
+
const followFlat = (0, _followStore.useFollowStore)((0, _shallow.useShallow)(s => {
|
|
43
49
|
if (isSingleUser) return {};
|
|
50
|
+
const flat = {};
|
|
51
|
+
for (const uid of userIds) {
|
|
52
|
+
flat[`${uid}:isFollowing`] = s.followingUsers[uid] ?? false;
|
|
53
|
+
flat[`${uid}:isLoading`] = s.loadingUsers[uid] ?? false;
|
|
54
|
+
flat[`${uid}:error`] = s.errors[uid] ?? null;
|
|
55
|
+
}
|
|
56
|
+
return flat;
|
|
57
|
+
}));
|
|
58
|
+
const followData = (0, _react.useMemo)(() => {
|
|
44
59
|
const data = {};
|
|
60
|
+
if (isSingleUser) return data;
|
|
45
61
|
for (const uid of userIds) {
|
|
46
62
|
data[uid] = {
|
|
47
|
-
isFollowing:
|
|
48
|
-
isLoading:
|
|
49
|
-
error:
|
|
63
|
+
isFollowing: Boolean(followFlat[`${uid}:isFollowing`]),
|
|
64
|
+
isLoading: Boolean(followFlat[`${uid}:isLoading`]),
|
|
65
|
+
error: followFlat[`${uid}:error`] ?? null
|
|
50
66
|
};
|
|
51
67
|
}
|
|
52
68
|
return data;
|
|
53
|
-
})
|
|
69
|
+
}, [isSingleUser, userIds, followFlat]);
|
|
54
70
|
|
|
55
71
|
// Multi-user aggregate selectors
|
|
56
72
|
const multiUserLoadingState = (0, _followStore.useFollowStore)((0, _shallow.useShallow)(s => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_followStore","_OxyContext","_core","_shallow","useFollow","userId","oxyServices","canUsePrivateApi","useOxy","userIds","useMemo","Array","isArray","isSingleUser","isFollowing","useFollowStore","useCallback","s","followingUsers","isLoading","loadingUsers","error","errors","followerCount","followerCounts","followingCount","followingCounts","isLoadingCounts","loadingCounts","followData","useShallow","data","uid","multiUserLoadingState","isAnyLoading","hasAnyError","allFollowing","allNotFollowing","some","every","toggleFollow","Error","currentlyFollowing","getState","toggleFollowUser","setFollowStatus","following","setFollowingStatus","fetchStatus","fetchFollowStatus","clearError","clearFollowError","fetchUserCounts","setFollowerCount","count","setFollowingCount","useEffect","catch","loggerUtil","warn","component","toggleFollowForUser","targetUserId","currentState","setFollowStatusForUser","fetchStatusForUser","fetchAllStatuses","store","Promise","all","map","followAllUsers","followManyUsers","clearErrorForUser","updateCountsFromFollowAction","action","counts","currentUserId","getCurrentUserId","undefined","exports","useFollowForButton","useFollowerCounts"],"sourceRoot":"../../../../src","sources":["ui/hooks/useFollow.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_followStore","_OxyContext","_core","_shallow","useFollow","userId","oxyServices","canUsePrivateApi","useOxy","userIds","useMemo","Array","isArray","isSingleUser","isFollowing","useFollowStore","useCallback","s","followingUsers","isLoading","loadingUsers","error","errors","followerCount","followerCounts","followingCount","followingCounts","isLoadingCounts","loadingCounts","followFlat","useShallow","flat","uid","followData","data","Boolean","multiUserLoadingState","isAnyLoading","hasAnyError","allFollowing","allNotFollowing","some","every","toggleFollow","Error","currentlyFollowing","getState","toggleFollowUser","setFollowStatus","following","setFollowingStatus","fetchStatus","fetchFollowStatus","clearError","clearFollowError","fetchUserCounts","setFollowerCount","count","setFollowingCount","useEffect","catch","loggerUtil","warn","component","toggleFollowForUser","targetUserId","currentState","setFollowStatusForUser","fetchStatusForUser","fetchAllStatuses","store","Promise","all","map","followAllUsers","followManyUsers","clearErrorForUser","updateCountsFromFollowAction","action","counts","currentUserId","getCurrentUserId","undefined","exports","useFollowForButton","useFollowerCounts"],"sourceRoot":"../../../../src","sources":["ui/hooks/useFollow.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -35,19 +35,35 @@ export const useFollow = userId => {
|
|
|
35
35
|
const followingCount = useFollowStore(useCallback(s => isSingleUser && userId ? s.followingCounts[userId] ?? null : null, [isSingleUser, userId]));
|
|
36
36
|
const isLoadingCounts = useFollowStore(useCallback(s => isSingleUser && userId ? s.loadingCounts[userId] ?? false : false, [isSingleUser, userId]));
|
|
37
37
|
|
|
38
|
-
// For multi-user mode,
|
|
39
|
-
|
|
38
|
+
// For multi-user mode, subscribe to a FLAT snapshot of the per-user fields.
|
|
39
|
+
// `useShallow` only compares one level deep, so the selector must NOT return a
|
|
40
|
+
// nested object — a freshly allocated `{ isFollowing, isLoading, error }` per
|
|
41
|
+
// user would never shallow-compare equal, making `useSyncExternalStore`
|
|
42
|
+
// resubscribe every render and loop until React throws "Maximum update depth
|
|
43
|
+
// exceeded". Keeping the snapshot flat lets the shallow compare cache it; the
|
|
44
|
+
// nested `followData` shape is then assembled in a `useMemo` below.
|
|
45
|
+
const followFlat = useFollowStore(useShallow(s => {
|
|
40
46
|
if (isSingleUser) return {};
|
|
47
|
+
const flat = {};
|
|
48
|
+
for (const uid of userIds) {
|
|
49
|
+
flat[`${uid}:isFollowing`] = s.followingUsers[uid] ?? false;
|
|
50
|
+
flat[`${uid}:isLoading`] = s.loadingUsers[uid] ?? false;
|
|
51
|
+
flat[`${uid}:error`] = s.errors[uid] ?? null;
|
|
52
|
+
}
|
|
53
|
+
return flat;
|
|
54
|
+
}));
|
|
55
|
+
const followData = useMemo(() => {
|
|
41
56
|
const data = {};
|
|
57
|
+
if (isSingleUser) return data;
|
|
42
58
|
for (const uid of userIds) {
|
|
43
59
|
data[uid] = {
|
|
44
|
-
isFollowing:
|
|
45
|
-
isLoading:
|
|
46
|
-
error:
|
|
60
|
+
isFollowing: Boolean(followFlat[`${uid}:isFollowing`]),
|
|
61
|
+
isLoading: Boolean(followFlat[`${uid}:isLoading`]),
|
|
62
|
+
error: followFlat[`${uid}:error`] ?? null
|
|
47
63
|
};
|
|
48
64
|
}
|
|
49
65
|
return data;
|
|
50
|
-
})
|
|
66
|
+
}, [isSingleUser, userIds, followFlat]);
|
|
51
67
|
|
|
52
68
|
// Multi-user aggregate selectors
|
|
53
69
|
const multiUserLoadingState = useFollowStore(useShallow(s => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useMemo","useEffect","useFollowStore","useOxy","logger","loggerUtil","useShallow","useFollow","userId","oxyServices","canUsePrivateApi","userIds","Array","isArray","isSingleUser","isFollowing","s","followingUsers","isLoading","loadingUsers","error","errors","followerCount","followerCounts","followingCount","followingCounts","isLoadingCounts","loadingCounts","followData","data","uid","multiUserLoadingState","isAnyLoading","hasAnyError","allFollowing","allNotFollowing","some","every","toggleFollow","Error","currentlyFollowing","getState","toggleFollowUser","setFollowStatus","following","setFollowingStatus","fetchStatus","fetchFollowStatus","clearError","clearFollowError","fetchUserCounts","setFollowerCount","count","setFollowingCount","catch","warn","component","toggleFollowForUser","targetUserId","currentState","setFollowStatusForUser","fetchStatusForUser","fetchAllStatuses","store","Promise","all","map","followAllUsers","followManyUsers","clearErrorForUser","updateCountsFromFollowAction","action","counts","currentUserId","getCurrentUserId","undefined","useFollowForButton","useFollowerCounts"],"sourceRoot":"../../../../src","sources":["ui/hooks/useFollow.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useMemo","useEffect","useFollowStore","useOxy","logger","loggerUtil","useShallow","useFollow","userId","oxyServices","canUsePrivateApi","userIds","Array","isArray","isSingleUser","isFollowing","s","followingUsers","isLoading","loadingUsers","error","errors","followerCount","followerCounts","followingCount","followingCounts","isLoadingCounts","loadingCounts","followFlat","flat","uid","followData","data","Boolean","multiUserLoadingState","isAnyLoading","hasAnyError","allFollowing","allNotFollowing","some","every","toggleFollow","Error","currentlyFollowing","getState","toggleFollowUser","setFollowStatus","following","setFollowingStatus","fetchStatus","fetchFollowStatus","clearError","clearFollowError","fetchUserCounts","setFollowerCount","count","setFollowingCount","catch","warn","component","toggleFollowForUser","targetUserId","currentState","setFollowStatusForUser","fetchStatusForUser","fetchAllStatuses","store","Promise","all","map","followAllUsers","followManyUsers","clearErrorForUser","updateCountsFromFollowAction","action","counts","currentUserId","getCurrentUserId","undefined","useFollowForButton","useFollowerCounts"],"sourceRoot":"../../../../src","sources":["ui/hooks/useFollow.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFollow.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/useFollow.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwB,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG5F;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,GAAG,MAAM,EAAE;;;;;
|
|
1
|
+
{"version":3,"file":"useFollow.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/useFollow.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwB,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG5F;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,GAAG,MAAM,EAAE;;;;;iCAgFF,OAAO;;;;;;;8BAqBV,MAAM;+BAKL,MAAM;;;;;;;;;;;;;;qBA5DR,OAAO;mBAAa,OAAO;eAAS,MAAM,GAAG,IAAI;;wCA6EhC,MAAM;2CAMT,MAAM,aAAa,OAAO;uCAIxB,MAAM;;0BAYrB,OAAO,CAAC,gBAAgB,CAAC;sCAKjB,MAAM;;;;;;;;;;;;;;;;;;CAwC5D,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,EAAE,aAAa,WAAW;;;;;;iCAoBzB,OAAO;;CAiBxD,CAAC;AAGF,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM;;;;;8BAiBD,MAAM;+BAIL,MAAM;CAYrD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFollow.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/useFollow.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwB,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG5F;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,GAAG,MAAM,EAAE;;;;;
|
|
1
|
+
{"version":3,"file":"useFollow.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/useFollow.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwB,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG5F;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,GAAG,MAAM,EAAE;;;;;iCAgFF,OAAO;;;;;;;8BAqBV,MAAM;+BAKL,MAAM;;;;;;;;;;;;;;qBA5DR,OAAO;mBAAa,OAAO;eAAS,MAAM,GAAG,IAAI;;wCA6EhC,MAAM;2CAMT,MAAM,aAAa,OAAO;uCAIxB,MAAM;;0BAYrB,OAAO,CAAC,gBAAgB,CAAC;sCAKjB,MAAM;;;;;;;;;;;;;;;;;;CAwC5D,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,EAAE,aAAa,WAAW;;;;;;iCAoBzB,OAAO;;CAiBxD,CAAC;AAGF,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM;;;;;8BAiBD,MAAM;+BAIL,MAAM;CAYrD,CAAC"}
|
package/package.json
CHANGED
|
@@ -42,22 +42,39 @@ export const useFollow = (userId?: string | string[]) => {
|
|
|
42
42
|
useCallback((s) => (isSingleUser && userId ? s.loadingCounts[userId] ?? false : false), [isSingleUser, userId])
|
|
43
43
|
);
|
|
44
44
|
|
|
45
|
-
// For multi-user mode,
|
|
46
|
-
|
|
45
|
+
// For multi-user mode, subscribe to a FLAT snapshot of the per-user fields.
|
|
46
|
+
// `useShallow` only compares one level deep, so the selector must NOT return a
|
|
47
|
+
// nested object — a freshly allocated `{ isFollowing, isLoading, error }` per
|
|
48
|
+
// user would never shallow-compare equal, making `useSyncExternalStore`
|
|
49
|
+
// resubscribe every render and loop until React throws "Maximum update depth
|
|
50
|
+
// exceeded". Keeping the snapshot flat lets the shallow compare cache it; the
|
|
51
|
+
// nested `followData` shape is then assembled in a `useMemo` below.
|
|
52
|
+
const followFlat = useFollowStore(
|
|
47
53
|
useShallow((s) => {
|
|
48
|
-
if (isSingleUser) return {}
|
|
49
|
-
const
|
|
54
|
+
if (isSingleUser) return {} as Record<string, boolean | string | null>;
|
|
55
|
+
const flat: Record<string, boolean | string | null> = {};
|
|
50
56
|
for (const uid of userIds) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
error: s.errors[uid] ?? null,
|
|
55
|
-
};
|
|
57
|
+
flat[`${uid}:isFollowing`] = s.followingUsers[uid] ?? false;
|
|
58
|
+
flat[`${uid}:isLoading`] = s.loadingUsers[uid] ?? false;
|
|
59
|
+
flat[`${uid}:error`] = s.errors[uid] ?? null;
|
|
56
60
|
}
|
|
57
|
-
return
|
|
61
|
+
return flat;
|
|
58
62
|
})
|
|
59
63
|
);
|
|
60
64
|
|
|
65
|
+
const followData = useMemo(() => {
|
|
66
|
+
const data: Record<string, { isFollowing: boolean; isLoading: boolean; error: string | null }> = {};
|
|
67
|
+
if (isSingleUser) return data;
|
|
68
|
+
for (const uid of userIds) {
|
|
69
|
+
data[uid] = {
|
|
70
|
+
isFollowing: Boolean(followFlat[`${uid}:isFollowing`]),
|
|
71
|
+
isLoading: Boolean(followFlat[`${uid}:isLoading`]),
|
|
72
|
+
error: (followFlat[`${uid}:error`] as string | null) ?? null,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
return data;
|
|
76
|
+
}, [isSingleUser, userIds, followFlat]);
|
|
77
|
+
|
|
61
78
|
// Multi-user aggregate selectors
|
|
62
79
|
const multiUserLoadingState = useFollowStore(
|
|
63
80
|
useShallow((s) => {
|