Skip to content

Commit e703bc6

Browse files
committed
v4.2.0
1 parent d0616f9 commit e703bc6

16 files changed

+59
-26
lines changed

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,28 @@
11

22
# Changelog
33

4+
## v4.2.0 (Dec 9, 2022)
5+
### **Features**
6+
### **Pinned Message :pushpin:**
7+
Pinned Message is released. You can now maintain a special set of messages (up to 10 per channel) that you want everyone in the channel to share. It can be anything from announcements, surveys, upcoming events, and any many more. Pin your messages and never miss them!
8+
Stay tuned for updates as we are rolling out more exciting features and see below for exact specifications:point_down:
9+
#### **Specification**
10+
- Pin when sending a message
11+
- `UserMessageCreateParams.isPinnedMessage: boolean = false`
12+
- `FileMessageCreateParams.isPinnedMessage: boolean = false`
13+
- Pin existing message
14+
- `GroupChannel.pinMessage(messageId: number): Promise<void>`
15+
- Unpin a message
16+
- `GroupChannel.unpinMessage(messageId: number): Promise<void>`
17+
- Pinned messages
18+
- `GroupChannel.lastPinnedMessage: BaseMessage = null`
19+
- `GroupChannel.pinnedMessageIds: number[] = []`
20+
#### **We strongly recommend using Collections (Message, Channel) to implement Pinned Messages as it would automatically take care of numerous events out of the box when messages are created, updated, and deleted.**
21+
22+
------
23+
### **Improvements**
24+
- Improved stability
25+
426
## v4.1.5 (Nov 24, 2022)
527
- `MessageCollection` now loads unsent messages from cache before `onCacheResult()` is called
628

__bundle-069d83a3.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

__bundle-d597243b.js renamed to __bundle-15216cba.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

__bundle-355c0e46.js

Lines changed: 0 additions & 15 deletions
This file was deleted.

__bundle-6abe43ec.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

__bundle-71216a79.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

__bundle-c491791b.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

__bundle-ea4e3e2a.js

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

groupChannel.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/__definition.d.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,13 @@ declare class AppInfo {
1919
readonly applicationAttributes: string[];
2020
readonly premiumFeatureList: string[];
2121
readonly enabledChannelMemberShipHistory: boolean;
22+
static payloadify(appInfo: AppInfo): AppInfoParams;
2223
}
2324

2425
export declare class AppleCriticalAlertOptions {
2526
readonly name: string;
2627
readonly volume: number;
28+
serialize(): AppleCriticalAlertOptionsPayload;
2729
}
2830

2931
export declare class ApplicationUserListQuery extends BaseListQuery {
@@ -178,6 +180,7 @@ declare interface BaseMessageCreateParams {
178180
isReplyToChannel?: boolean;
179181
pushNotificationDeliveryOption?: PushNotificationDeliveryOption;
180182
appleCriticalAlertOptions?: AppleCriticalAlertOptions;
183+
isPinnedMessage?: boolean;
181184
}
182185

183186
declare interface BaseMessageUpdateParams {
@@ -378,6 +381,8 @@ export declare class GroupChannel extends BaseChannel {
378381
inviter: User;
379382
invitedAt: number;
380383
joinedAt: number;
384+
pinnedMessageIds: number[];
385+
lastPinnedMessage: BaseMessage;
381386
get isHidden(): boolean;
382387
get isTyping(): boolean;
383388
get cachedUnreadMemberState(): object;
@@ -387,7 +392,7 @@ export declare class GroupChannel extends BaseChannel {
387392
createMessageCollection(params?: MessageCollectionParams): MessageCollection;
388393
createMemberListQuery(params?: MemberListQueryParams): MemberListQuery;
389394
addMember(member: Member, ts?: number): void;
390-
removeMember(member: Member): boolean;
395+
removeMember(memberOrUserId: Member | string): boolean;
391396
getUnreadMemberCount(message: BaseMessage): number;
392397
getUndeliveredMemberCount(message: BaseMessage): number;
393398
getReadMembers(message: BaseMessage, includeAllMembers?: boolean): Member[];
@@ -446,6 +451,8 @@ export declare class GroupChannel extends BaseChannel {
446451
getPollChangeLogsSinceToken(token: string): Promise<PollChangelogs>;
447452
createPollListQuery(limit?: number): PollListQuery;
448453
createPollVoterListQuery(pollId: number, pollOptionId: number, limit?: number): PollVoterListQuery;
454+
pinMessage(messageId: number): Promise<void>;
455+
unpinMessage(messageId: number): Promise<void>;
449456
}
450457

451458
export declare class GroupChannelEventContext {
@@ -477,6 +484,7 @@ export declare enum GroupChannelEventSource {
477484
EVENT_MESSAGE_SENT = 'EVENT_MESSAGE_SENT',
478485
EVENT_MESSAGE_RECEIVED = 'EVENT_MESSAGE_RECEIVED',
479486
EVENT_MESSAGE_UPDATED = 'EVENT_MESSAGE_UPDATED',
487+
EVENT_PINNED_MESSAGE_UPDATED = 'EVENT_PINNED_MESSAGE_UPDATED',
480488
REQUEST_CHANNEL = 'REQUEST_CHANNEL',
481489
REQUEST_CHANNEL_CHANGELOGS = 'REQUEST_CHANNEL_CHANGELOGS',
482490
SYNC_CHANNEL_BACKGROUND = 'SYNC_CHANNEL_BACKGROUND',
@@ -880,6 +888,8 @@ export declare class OpenChannel extends BaseChannel {
880888
customType: string,
881889
): Promise<OpenChannel>;
882890
delete(): Promise<void>;
891+
sendUserMessage(params: UserMessageCreateParams): MessageRequestHandler;
892+
sendFileMessage(params: FileMessageCreateParams): MessageRequestHandler;
883893
}
884894

885895
export declare interface OpenChannelUpdateParams {
@@ -1604,6 +1614,7 @@ declare abstract class GroupChannelHandlerParams extends BaseChannelHandlerParam
16041614
onPollUpdated?: (channel: GroupChannel, event: PollUpdateEvent) => void;
16051615
onPollVoted?: (channel: GroupChannel, event: PollVoteEvent) => void;
16061616
onPollDeleted?: (channel: GroupChannel, id: number) => void;
1617+
onPinnedMessageUpdated?: (channel: GroupChannel) => void;
16071618
}
16081619

16091620
export declare enum GroupChannelListOrder {

message.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

openChannel.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"version": "4.1.5",
2+
"version": "4.2.0",
33
"description": "Sendbird SDK for JavaScript",
44
"name": "@sendbird/chat",
55
"author": "Sendbird <[email protected]>",

poll.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sendbird.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sendbird.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)