@stream-io/feeds-client 1.0.0 → 1.2.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.
- package/CHANGELOG.md +21 -0
- package/dist/cjs/index.js +477 -466
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/react-bindings.js +454 -463
- package/dist/cjs/react-bindings.js.map +1 -1
- package/dist/es/index.mjs +440 -466
- package/dist/es/index.mjs.map +1 -1
- package/dist/es/react-bindings.mjs +447 -493
- package/dist/es/react-bindings.mjs.map +1 -1
- package/dist/feeds-client-ACVPbpUP.mjs +8752 -0
- package/dist/feeds-client-ACVPbpUP.mjs.map +1 -0
- package/dist/feeds-client-BP0fE4NZ.js +8918 -0
- package/dist/feeds-client-BP0fE4NZ.js.map +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/types/bindings/react/hooks/feed-state-hooks/useIsAggregatedActivityRead.d.ts +6 -2
- package/dist/types/bindings/react/hooks/feed-state-hooks/useIsAggregatedActivityRead.d.ts.map +1 -1
- package/dist/types/bindings/react/hooks/feed-state-hooks/useIsAggregatedActivitySeen.d.ts +6 -2
- package/dist/types/bindings/react/hooks/feed-state-hooks/useIsAggregatedActivitySeen.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/activity/handle-activity-deleted.d.ts +3 -2
- package/dist/types/feed/event-handlers/activity/handle-activity-deleted.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/activity/handle-activity-feedback.d.ts +5 -0
- package/dist/types/feed/event-handlers/activity/handle-activity-feedback.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/activity/handle-activity-pinned.d.ts +3 -2
- package/dist/types/feed/event-handlers/activity/handle-activity-pinned.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/activity/handle-activity-unpinned.d.ts +3 -2
- package/dist/types/feed/event-handlers/activity/handle-activity-unpinned.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/activity/index.d.ts +3 -1
- package/dist/types/feed/event-handlers/activity/index.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/activity-updater.d.ts +1 -0
- package/dist/types/feed/event-handlers/activity-updater.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/add-aggregated-activities-to-state.d.ts +1 -1
- package/dist/types/feed/event-handlers/add-aggregated-activities-to-state.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/bookmark/handle-bookmark-added.d.ts +6 -5
- package/dist/types/feed/event-handlers/bookmark/handle-bookmark-added.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/bookmark/handle-bookmark-deleted.d.ts +6 -5
- package/dist/types/feed/event-handlers/bookmark/handle-bookmark-deleted.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/bookmark/handle-bookmark-updated.d.ts +6 -5
- package/dist/types/feed/event-handlers/bookmark/handle-bookmark-updated.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/feed/handle-feed-deleted.d.ts +4 -0
- package/dist/types/feed/event-handlers/feed/handle-feed-deleted.d.ts.map +1 -0
- package/dist/types/feed/event-handlers/feed/handle-feed-updated.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/feed/index.d.ts +1 -0
- package/dist/types/feed/event-handlers/feed/index.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/feed-member/handle-feed-member-added.d.ts +3 -2
- package/dist/types/feed/event-handlers/feed-member/handle-feed-member-added.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/feed-member/handle-feed-member-removed.d.ts +3 -2
- package/dist/types/feed/event-handlers/feed-member/handle-feed-member-removed.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/feed-member/handle-feed-member-updated.d.ts +3 -2
- package/dist/types/feed/event-handlers/feed-member/handle-feed-member-updated.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/follow/handle-follow-updated.d.ts.map +1 -1
- package/dist/types/feed/event-handlers/notification-feed/handle-notification-feed-updated.d.ts +3 -2
- package/dist/types/feed/event-handlers/notification-feed/handle-notification-feed-updated.d.ts.map +1 -1
- package/dist/types/feed/feed.d.ts.map +1 -1
- package/dist/types/feeds-client/feeds-client.d.ts +25 -1
- package/dist/types/feeds-client/feeds-client.d.ts.map +1 -1
- package/dist/types/gen/feeds/FeedsApi.d.ts +6 -4
- package/dist/types/gen/feeds/FeedsApi.d.ts.map +1 -1
- package/dist/types/gen/models/index.d.ts +40 -2
- package/dist/types/gen/models/index.d.ts.map +1 -1
- package/dist/types/utils/state-update-queue.d.ts +11 -2
- package/dist/types/utils/state-update-queue.d.ts.map +1 -1
- package/dist/types/utils/unique-array-merge.d.ts +1 -1
- package/dist/types/utils/unique-array-merge.d.ts.map +1 -1
- package/package.json +15 -15
- package/src/bindings/react/hooks/feed-state-hooks/useIsAggregatedActivityRead.ts +6 -20
- package/src/bindings/react/hooks/feed-state-hooks/useIsAggregatedActivitySeen.ts +6 -20
- package/src/feed/event-handlers/activity/handle-activity-deleted.ts +28 -2
- package/src/feed/event-handlers/activity/handle-activity-feedback.ts +17 -7
- package/src/feed/event-handlers/activity/handle-activity-pinned.ts +25 -3
- package/src/feed/event-handlers/activity/handle-activity-unpinned.ts +25 -2
- package/src/feed/event-handlers/activity/index.ts +3 -1
- package/src/feed/event-handlers/add-aggregated-activities-to-state.ts +11 -2
- package/src/feed/event-handlers/bookmark/handle-bookmark-added.ts +20 -11
- package/src/feed/event-handlers/bookmark/handle-bookmark-deleted.ts +21 -11
- package/src/feed/event-handlers/bookmark/handle-bookmark-updated.ts +24 -10
- package/src/feed/event-handlers/feed/handle-feed-deleted.ts +12 -0
- package/src/feed/event-handlers/feed/handle-feed-updated.ts +8 -0
- package/src/feed/event-handlers/feed/index.ts +1 -0
- package/src/feed/event-handlers/feed-member/handle-feed-member-added.ts +25 -2
- package/src/feed/event-handlers/feed-member/handle-feed-member-removed.ts +25 -2
- package/src/feed/event-handlers/feed-member/handle-feed-member-updated.ts +25 -2
- package/src/feed/event-handlers/follow/handle-follow-updated.ts +14 -0
- package/src/feed/event-handlers/notification-feed/handle-notification-feed-updated.ts +64 -2
- package/src/feed/event-handlers/story-feeds/handle-story-feeds-updated.ts +1 -1
- package/src/feed/feed.ts +7 -5
- package/src/feeds-client/feeds-client.ts +359 -45
- package/src/gen/feeds/FeedsApi.ts +79 -12
- package/src/gen/model-decoders/decoders.ts +7 -0
- package/src/gen/models/index.ts +66 -4
- package/src/utils/state-update-queue.ts +42 -28
- package/src/utils/unique-array-merge.ts +11 -3
- package/dist/feeds-client-B03y08Kq.mjs +0 -8409
- package/dist/feeds-client-B03y08Kq.mjs.map +0 -1
- package/dist/feeds-client-tw63OGrd.js +0 -8425
- package/dist/feeds-client-tw63OGrd.js.map +0 -1
- package/dist/types/feed/event-handlers/activity/handle-activity-marked.d.ts +0 -12
- package/dist/types/feed/event-handlers/activity/handle-activity-marked.d.ts.map +0 -1
- package/src/feed/event-handlers/activity/handle-activity-marked.ts +0 -68
package/src/gen/models/index.ts
CHANGED
|
@@ -493,6 +493,8 @@ export interface ActivityResponse {
|
|
|
493
493
|
|
|
494
494
|
location?: ActivityLocation;
|
|
495
495
|
|
|
496
|
+
metrics?: Record<string, number>;
|
|
497
|
+
|
|
496
498
|
moderation?: ModerationV2Response;
|
|
497
499
|
|
|
498
500
|
notification_context?: NotificationContext;
|
|
@@ -983,6 +985,8 @@ export interface BackstageSettingsResponse {
|
|
|
983
985
|
export interface BanActionRequestPayload {
|
|
984
986
|
channel_ban_only?: boolean;
|
|
985
987
|
|
|
988
|
+
channel_cid?: string;
|
|
989
|
+
|
|
986
990
|
delete_messages?: 'soft' | 'pruning' | 'hard';
|
|
987
991
|
|
|
988
992
|
ip_ban?: boolean;
|
|
@@ -1056,6 +1060,8 @@ export interface BlockListConfig {
|
|
|
1056
1060
|
rules: BlockListRule[];
|
|
1057
1061
|
|
|
1058
1062
|
async?: boolean;
|
|
1063
|
+
|
|
1064
|
+
match_substring?: boolean;
|
|
1059
1065
|
}
|
|
1060
1066
|
|
|
1061
1067
|
export interface BlockListOptions {
|
|
@@ -3695,6 +3701,8 @@ export interface MessageResponse {
|
|
|
3695
3701
|
|
|
3696
3702
|
show_in_channel?: boolean;
|
|
3697
3703
|
|
|
3704
|
+
mentioned_group_ids?: string[];
|
|
3705
|
+
|
|
3698
3706
|
mentioned_roles?: string[];
|
|
3699
3707
|
|
|
3700
3708
|
thread_participants?: UserResponse[];
|
|
@@ -4470,6 +4478,28 @@ export interface QueryBookmarksResponse {
|
|
|
4470
4478
|
prev?: string;
|
|
4471
4479
|
}
|
|
4472
4480
|
|
|
4481
|
+
export interface QueryCollectionsRequest {
|
|
4482
|
+
limit?: number;
|
|
4483
|
+
|
|
4484
|
+
next?: string;
|
|
4485
|
+
|
|
4486
|
+
prev?: string;
|
|
4487
|
+
|
|
4488
|
+
sort?: SortParamRequest[];
|
|
4489
|
+
|
|
4490
|
+
filter?: Record<string, any>;
|
|
4491
|
+
}
|
|
4492
|
+
|
|
4493
|
+
export interface QueryCollectionsResponse {
|
|
4494
|
+
duration: string;
|
|
4495
|
+
|
|
4496
|
+
collections: CollectionResponse[];
|
|
4497
|
+
|
|
4498
|
+
next?: string;
|
|
4499
|
+
|
|
4500
|
+
prev?: string;
|
|
4501
|
+
}
|
|
4502
|
+
|
|
4473
4503
|
export interface QueryCommentReactionsRequest {
|
|
4474
4504
|
limit?: number;
|
|
4475
4505
|
|
|
@@ -4495,6 +4525,8 @@ export interface QueryCommentReactionsResponse {
|
|
|
4495
4525
|
export interface QueryCommentsRequest {
|
|
4496
4526
|
filter: Record<string, any>;
|
|
4497
4527
|
|
|
4528
|
+
id_around?: string;
|
|
4529
|
+
|
|
4498
4530
|
limit?: number;
|
|
4499
4531
|
|
|
4500
4532
|
next?: string;
|
|
@@ -4816,10 +4848,6 @@ export interface ReadCollectionsResponse {
|
|
|
4816
4848
|
duration: string;
|
|
4817
4849
|
|
|
4818
4850
|
collections: CollectionResponse[];
|
|
4819
|
-
|
|
4820
|
-
next?: string;
|
|
4821
|
-
|
|
4822
|
-
prev?: string;
|
|
4823
4851
|
}
|
|
4824
4852
|
|
|
4825
4853
|
export interface ReadReceiptsResponse {
|
|
@@ -4878,6 +4906,12 @@ export interface ReminderResponseData {
|
|
|
4878
4906
|
user?: UserResponse;
|
|
4879
4907
|
}
|
|
4880
4908
|
|
|
4909
|
+
export interface RemoveUserGroupMembersRequest {
|
|
4910
|
+
member_ids: string[];
|
|
4911
|
+
|
|
4912
|
+
team_id?: string;
|
|
4913
|
+
}
|
|
4914
|
+
|
|
4881
4915
|
export interface RemoveUserGroupMembersResponse {
|
|
4882
4916
|
duration: string;
|
|
4883
4917
|
|
|
@@ -5403,6 +5437,34 @@ export interface ThumbnailsSettingsResponse {
|
|
|
5403
5437
|
|
|
5404
5438
|
export interface Time {}
|
|
5405
5439
|
|
|
5440
|
+
export interface TrackActivityMetricsEvent {
|
|
5441
|
+
activity_id: string;
|
|
5442
|
+
|
|
5443
|
+
metric: string;
|
|
5444
|
+
|
|
5445
|
+
delta?: number;
|
|
5446
|
+
}
|
|
5447
|
+
|
|
5448
|
+
export interface TrackActivityMetricsEventResult {
|
|
5449
|
+
activity_id: string;
|
|
5450
|
+
|
|
5451
|
+
allowed: boolean;
|
|
5452
|
+
|
|
5453
|
+
metric: string;
|
|
5454
|
+
|
|
5455
|
+
error?: string;
|
|
5456
|
+
}
|
|
5457
|
+
|
|
5458
|
+
export interface TrackActivityMetricsRequest {
|
|
5459
|
+
events: TrackActivityMetricsEvent[];
|
|
5460
|
+
}
|
|
5461
|
+
|
|
5462
|
+
export interface TrackActivityMetricsResponse {
|
|
5463
|
+
duration: string;
|
|
5464
|
+
|
|
5465
|
+
results: TrackActivityMetricsEventResult[];
|
|
5466
|
+
}
|
|
5467
|
+
|
|
5406
5468
|
export interface TranscriptionSettingsResponse {
|
|
5407
5469
|
closed_caption_mode: 'available' | 'disabled' | 'auto-on';
|
|
5408
5470
|
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import type { FollowResponse } from '../gen/models';
|
|
1
2
|
import type {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import type {
|
|
3
|
+
ActivityDeletedPayload,
|
|
4
|
+
ActivityPinnedPayload,
|
|
5
5
|
ActivityReactionAddedPayload,
|
|
6
6
|
ActivityReactionDeletedPayload,
|
|
7
|
+
ActivityUnpinnedPayload,
|
|
7
8
|
ActivityUpdatedPayload,
|
|
8
9
|
CommentAddedPayload,
|
|
9
10
|
CommentDeletedPayload,
|
|
@@ -12,14 +13,16 @@ import type {
|
|
|
12
13
|
CommentUpdatedPayload,
|
|
13
14
|
} from '../feed';
|
|
14
15
|
import { ensureExhausted } from './ensure-exhausted';
|
|
15
|
-
import type {
|
|
16
|
-
|
|
17
|
-
} from '../feed/event-handlers/
|
|
18
|
-
import type {
|
|
19
|
-
|
|
20
|
-
} from '../feed/event-handlers/activity/handle-activity-reaction-updated';
|
|
16
|
+
import type { CommentReactionUpdatedPayload } from '../feed/event-handlers/comment/handle-comment-reaction-updated';
|
|
17
|
+
import type { ActivityReactionUpdatedPayload } from '../feed/event-handlers/activity/handle-activity-reaction-updated';
|
|
18
|
+
import type { FeedMemberAddedPayload } from '../feed/event-handlers/feed-member/handle-feed-member-added';
|
|
19
|
+
import type { FeedMemberUpdatedPayload } from '../feed/event-handlers/feed-member/handle-feed-member-updated';
|
|
20
|
+
import type { FeedMemberRemovedPayload } from '../feed/event-handlers/feed-member/handle-feed-member-removed';
|
|
21
21
|
|
|
22
22
|
export type StateUpdateQueuePrefix =
|
|
23
|
+
| 'activity-deleted'
|
|
24
|
+
| 'activity-pinned'
|
|
25
|
+
| 'activity-unpinned'
|
|
23
26
|
| 'activity-updated'
|
|
24
27
|
| 'activity-reaction-created'
|
|
25
28
|
| 'activity-reaction-deleted'
|
|
@@ -32,9 +35,15 @@ export type StateUpdateQueuePrefix =
|
|
|
32
35
|
| 'follow-updated'
|
|
33
36
|
| 'comment-created'
|
|
34
37
|
| 'comment-deleted'
|
|
35
|
-
| 'comment-updated'
|
|
38
|
+
| 'comment-updated'
|
|
39
|
+
| 'feed-member-added'
|
|
40
|
+
| 'feed-member-updated'
|
|
41
|
+
| 'feed-member-removed';
|
|
36
42
|
|
|
37
43
|
type StateUpdateQueuePayloadByPrefix = {
|
|
44
|
+
'activity-deleted': ActivityDeletedPayload;
|
|
45
|
+
'activity-pinned': ActivityPinnedPayload;
|
|
46
|
+
'activity-unpinned': ActivityUnpinnedPayload;
|
|
38
47
|
'activity-updated': ActivityUpdatedPayload;
|
|
39
48
|
'activity-reaction-created': ActivityReactionAddedPayload;
|
|
40
49
|
'activity-reaction-deleted': ActivityReactionDeletedPayload;
|
|
@@ -48,6 +57,9 @@ type StateUpdateQueuePayloadByPrefix = {
|
|
|
48
57
|
'comment-created': CommentAddedPayload;
|
|
49
58
|
'comment-deleted': CommentDeletedPayload;
|
|
50
59
|
'comment-updated': CommentUpdatedPayload;
|
|
60
|
+
'feed-member-added': FeedMemberAddedPayload;
|
|
61
|
+
'feed-member-updated': FeedMemberUpdatedPayload;
|
|
62
|
+
'feed-member-removed': FeedMemberRemovedPayload;
|
|
51
63
|
};
|
|
52
64
|
|
|
53
65
|
// Union of ([payload, prefix]) tuples:
|
|
@@ -162,40 +174,35 @@ export const shouldUpdateState = ({
|
|
|
162
174
|
return true;
|
|
163
175
|
};
|
|
164
176
|
|
|
165
|
-
export function getStateUpdateQueueId(
|
|
166
|
-
...args: StateUpdateQueuePairTuples
|
|
167
|
-
) {
|
|
177
|
+
export function getStateUpdateQueueId(...args: StateUpdateQueuePairTuples) {
|
|
168
178
|
const [data, prefix] = args;
|
|
169
179
|
const toJoin = [prefix as string];
|
|
170
180
|
|
|
171
181
|
switch (prefix) {
|
|
182
|
+
case 'activity-deleted': {
|
|
183
|
+
return toJoin.concat([data.activity.id]).join('-');
|
|
184
|
+
}
|
|
185
|
+
case 'activity-pinned':
|
|
186
|
+
case 'activity-unpinned': {
|
|
187
|
+
return toJoin.concat([data.pinned_activity.activity.id]).join('-');
|
|
188
|
+
}
|
|
172
189
|
case 'activity-updated': {
|
|
173
|
-
return toJoin.concat([data.activity.id]).join('-')
|
|
190
|
+
return toJoin.concat([data.activity.id]).join('-');
|
|
174
191
|
}
|
|
175
192
|
case 'activity-reaction-created':
|
|
176
193
|
case 'activity-reaction-deleted':
|
|
177
194
|
case 'activity-reaction-updated': {
|
|
178
|
-
return toJoin
|
|
179
|
-
.concat([
|
|
180
|
-
data.activity.id,
|
|
181
|
-
data.reaction.type,
|
|
182
|
-
])
|
|
183
|
-
.join('-');
|
|
195
|
+
return toJoin.concat([data.activity.id, data.reaction.type]).join('-');
|
|
184
196
|
}
|
|
185
197
|
case 'comment-reaction-created':
|
|
186
198
|
case 'comment-reaction-deleted':
|
|
187
199
|
case 'comment-reaction-updated': {
|
|
188
|
-
return toJoin
|
|
189
|
-
.concat([
|
|
190
|
-
data.comment.id,
|
|
191
|
-
data.reaction.type,
|
|
192
|
-
])
|
|
193
|
-
.join('-');
|
|
200
|
+
return toJoin.concat([data.comment.id, data.reaction.type]).join('-');
|
|
194
201
|
}
|
|
195
202
|
case 'comment-created':
|
|
196
203
|
case 'comment-deleted':
|
|
197
204
|
case 'comment-updated': {
|
|
198
|
-
return toJoin.concat([data.comment.id]).join('-')
|
|
205
|
+
return toJoin.concat([data.comment.id]).join('-');
|
|
199
206
|
}
|
|
200
207
|
case 'follow-created':
|
|
201
208
|
case 'follow-deleted':
|
|
@@ -204,8 +211,15 @@ export function getStateUpdateQueueId(
|
|
|
204
211
|
.concat([data.source_feed.feed, data.target_feed.feed])
|
|
205
212
|
.join('-');
|
|
206
213
|
}
|
|
214
|
+
case 'feed-member-added':
|
|
215
|
+
case 'feed-member-updated': {
|
|
216
|
+
return toJoin.concat([data.member.user.id]).join('-');
|
|
217
|
+
}
|
|
218
|
+
case 'feed-member-removed': {
|
|
219
|
+
return toJoin.concat([data.member_id]).join('-');
|
|
220
|
+
}
|
|
207
221
|
default: {
|
|
208
|
-
ensureExhausted(data, 'Encountered unknown state update queue prefix.')
|
|
222
|
+
ensureExhausted(data, 'Encountered unknown state update queue prefix.');
|
|
209
223
|
}
|
|
210
224
|
}
|
|
211
225
|
}
|
|
@@ -22,6 +22,7 @@ export const replaceUniqueArrayMerge = <T>(
|
|
|
22
22
|
existingArray: T[],
|
|
23
23
|
arrayToMerge: T[],
|
|
24
24
|
getKey: (v: T) => string,
|
|
25
|
+
position: 'start' | 'end',
|
|
25
26
|
) => {
|
|
26
27
|
const existingMap = new Map<string, T>();
|
|
27
28
|
(existingArray ?? []).forEach((item) => {
|
|
@@ -41,9 +42,16 @@ export const replaceUniqueArrayMerge = <T>(
|
|
|
41
42
|
}
|
|
42
43
|
});
|
|
43
44
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
// New items (only in arrayToMerge): add in arrayToMerge order
|
|
46
|
+
const newItemsInOrder = arrayToMerge.filter((item) =>
|
|
47
|
+
existingMap.has(getKey(item)),
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
if (position === 'end') {
|
|
51
|
+
newItemsInOrder.forEach((item) => result.push(item));
|
|
52
|
+
} else {
|
|
53
|
+
result.unshift(...newItemsInOrder);
|
|
54
|
+
}
|
|
47
55
|
|
|
48
56
|
return result;
|
|
49
57
|
};
|