stream-chat 8.40.2 → 8.40.4
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/dist/browser.es.js +406 -344
- package/dist/browser.es.js.map +1 -1
- package/dist/browser.full-bundle.min.js +1 -1
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/browser.js +406 -344
- package/dist/browser.js.map +1 -1
- package/dist/index.es.js +406 -344
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +406 -344
- package/dist/index.js.map +1 -1
- package/dist/types/channel.d.ts +11 -1
- package/dist/types/channel.d.ts.map +1 -1
- package/dist/types/thread.d.ts.map +1 -1
- package/dist/types/types.d.ts +4 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/channel.ts +30 -6
- package/src/thread.ts +9 -1
- package/src/types.ts +5 -0
- package/src/utils.ts +5 -1
package/src/channel.ts
CHANGED
|
@@ -37,6 +37,7 @@ import {
|
|
|
37
37
|
MuteChannelAPIResponse,
|
|
38
38
|
PartialUpdateChannel,
|
|
39
39
|
PartialUpdateChannelAPIResponse,
|
|
40
|
+
PartialUpdateMember,
|
|
40
41
|
PinnedMessagePaginationOptions,
|
|
41
42
|
PinnedMessagesSort,
|
|
42
43
|
QueryMembersOptions,
|
|
@@ -299,6 +300,25 @@ export class Channel<StreamChatGenerics extends ExtendableGenerics = DefaultGene
|
|
|
299
300
|
);
|
|
300
301
|
}
|
|
301
302
|
|
|
303
|
+
/**
|
|
304
|
+
* partialUpdateMember - Partial update a member
|
|
305
|
+
*
|
|
306
|
+
* @param {string} user_id member user id
|
|
307
|
+
* @param {PartialUpdateMember<StreamChatGenerics>} updates
|
|
308
|
+
*
|
|
309
|
+
* @return {Promise<ChannelMemberResponse<StreamChatGenerics>>} Updated member
|
|
310
|
+
*/
|
|
311
|
+
async partialUpdateMember(user_id: string, updates: PartialUpdateMember<StreamChatGenerics>) {
|
|
312
|
+
if (!user_id) {
|
|
313
|
+
throw Error('Please specify the user id');
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
return await this.getClient().patch<ChannelMemberResponse<StreamChatGenerics>>(
|
|
317
|
+
this._channelURL() + `/member/${encodeURIComponent(user_id)}`,
|
|
318
|
+
updates,
|
|
319
|
+
);
|
|
320
|
+
}
|
|
321
|
+
|
|
302
322
|
/**
|
|
303
323
|
* sendReaction - Send a reaction about a message
|
|
304
324
|
*
|
|
@@ -1633,12 +1653,7 @@ export class Channel<StreamChatGenerics extends ExtendableGenerics = DefaultGene
|
|
|
1633
1653
|
}
|
|
1634
1654
|
|
|
1635
1655
|
if (state.members) {
|
|
1636
|
-
this.state.members
|
|
1637
|
-
if (member.user) {
|
|
1638
|
-
acc[member.user.id] = member;
|
|
1639
|
-
}
|
|
1640
|
-
return acc;
|
|
1641
|
-
}, {} as ChannelState<StreamChatGenerics>['members']);
|
|
1656
|
+
this._hydrateMembers(state.members);
|
|
1642
1657
|
}
|
|
1643
1658
|
|
|
1644
1659
|
return {
|
|
@@ -1656,6 +1671,15 @@ export class Channel<StreamChatGenerics extends ExtendableGenerics = DefaultGene
|
|
|
1656
1671
|
}
|
|
1657
1672
|
}
|
|
1658
1673
|
|
|
1674
|
+
_hydrateMembers(members: ChannelMemberResponse<StreamChatGenerics>[]) {
|
|
1675
|
+
this.state.members = members.reduce((acc, member) => {
|
|
1676
|
+
if (member.user) {
|
|
1677
|
+
acc[member.user.id] = member;
|
|
1678
|
+
}
|
|
1679
|
+
return acc;
|
|
1680
|
+
}, {} as ChannelState<StreamChatGenerics>['members']);
|
|
1681
|
+
}
|
|
1682
|
+
|
|
1659
1683
|
_disconnect() {
|
|
1660
1684
|
this._client.logger('info', `channel:disconnect() - Disconnecting the channel ${this.cid}`, {
|
|
1661
1685
|
tags: ['connection', 'channel'],
|
package/src/thread.ts
CHANGED
|
@@ -74,9 +74,17 @@ export class Thread<SCG extends ExtendableGenerics = DefaultGenerics> {
|
|
|
74
74
|
private failedRepliesMap: Map<string, FormatMessageResponse<SCG>> = new Map();
|
|
75
75
|
|
|
76
76
|
constructor({ client, threadData }: { client: StreamChat<SCG>; threadData: ThreadResponse<SCG> }) {
|
|
77
|
+
const channel = client.channel(threadData.channel.type, threadData.channel.id, {
|
|
78
|
+
name: threadData.channel.name,
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
if (threadData.channel.members) {
|
|
82
|
+
channel._hydrateMembers(threadData.channel.members);
|
|
83
|
+
}
|
|
84
|
+
|
|
77
85
|
this.state = new StateStore<ThreadState<SCG>>({
|
|
78
86
|
active: false,
|
|
79
|
-
channel
|
|
87
|
+
channel,
|
|
80
88
|
createdAt: new Date(threadData.created_at),
|
|
81
89
|
deletedAt: threadData.deleted_at ? new Date(threadData.deleted_at) : null,
|
|
82
90
|
isLoading: false,
|
package/src/types.ts
CHANGED
|
@@ -2472,6 +2472,11 @@ export type PartialUpdateChannel<StreamChatGenerics extends ExtendableGenerics =
|
|
|
2472
2472
|
unset?: Array<keyof ChannelResponse<StreamChatGenerics>>;
|
|
2473
2473
|
};
|
|
2474
2474
|
|
|
2475
|
+
export type PartialUpdateMember<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> = {
|
|
2476
|
+
set?: Partial<ChannelMemberResponse<StreamChatGenerics>>;
|
|
2477
|
+
unset?: Array<keyof ChannelMemberResponse<StreamChatGenerics>>;
|
|
2478
|
+
};
|
|
2479
|
+
|
|
2475
2480
|
export type PartialUserUpdate<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> = {
|
|
2476
2481
|
id: string;
|
|
2477
2482
|
set?: Partial<UserResponse<StreamChatGenerics>>;
|
package/src/utils.ts
CHANGED
|
@@ -384,8 +384,10 @@ export function addToMessageList<T extends FormatMessageResponse>(
|
|
|
384
384
|
}
|
|
385
385
|
|
|
386
386
|
// for empty list just concat and return unless it's an update or deletion
|
|
387
|
-
if (
|
|
387
|
+
if (newMessages.length === 0 && addMessageToList) {
|
|
388
388
|
return newMessages.concat(newMessage);
|
|
389
|
+
} else if (newMessages.length === 0) {
|
|
390
|
+
return newMessages;
|
|
389
391
|
}
|
|
390
392
|
|
|
391
393
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
@@ -396,6 +398,8 @@ export function addToMessageList<T extends FormatMessageResponse>(
|
|
|
396
398
|
// if message is newer than last item in the list concat and return unless it's an update or deletion
|
|
397
399
|
if (messageIsNewest && addMessageToList) {
|
|
398
400
|
return newMessages.concat(newMessage);
|
|
401
|
+
} else if (newMessages.length === 0) {
|
|
402
|
+
return newMessages;
|
|
399
403
|
}
|
|
400
404
|
|
|
401
405
|
// find the closest index to push the new message
|