Skip to content

Releases: leancloud/js-realtime-sdk

v4.0.0-beta.0

24 Nov 09:18
Compare
Choose a tag to compare
v4.0.0-beta.0 Pre-release
Pre-release

Bug Fixes

  • 修复了创建 unique 对话时,尽管内存中已经存在了该对话,仍然会得到一个新实例的问题。

Features

  • 支持临时对话(TemporaryConversation)。临时对话是一种有有效期的对话,更多关于临时对话的的说明请参考《实时通信服务总览 - 临时对话》
  • 拆分了对话的概念。
    • SDK 现在暴露了四种不同的对话类:
      • 普通对话(Conversation
      • 聊天室(ChatRoom
      • 服务号(ServiceConversation
      • 临时对话(TemporaryConversation
    • 相应的,IMClient 提供了三种创建对话的方法(服务号不支持在客户端创建):
      • IMClient#createConversation
      • IMClient#createChatRoom
      • IMClient#createTemporaryConversation
  • 改善了小程序中的性能
    • 使用二进制帧通讯,减少流量消耗。
    • 自动感知网络状态变化从而获得更及时的重连。
  • 支持私有部署。

v4.0.0-alpha.3

02 Nov 09:02
Compare
Choose a tag to compare
v4.0.0-alpha.3 Pre-release
Pre-release

BREAKING CHANGES

  • 重新设计了对话与消息的序列化方法。现在在小程序中能够直接将 Conversation 与 Message 实例作为 data 设置给视图层使用了。
    • AVMessage 接口原有的用来获取消息内容的 toJSON 方法现在改名为 getPayload。内置的 Message 类及其子类均已更新,如果使用富文本消息插件(leancloud-realtime-plugin-typed-messages),需要更新插件至 v3.0.0。
    • Message 类及其子类重新实现了 toJSON 方法用于获取该消息的有效信息。
    • Conversation 类增加了 toJSON 方法用于获取该对话的有效信息。

Bug Fixes

  • 解决了与序列化 Conversation 抛循环引用异常相关的问题,包括小程序中无法 console.log Conversation 的问题。

v4.0.0-alpha.2

25 Sep 05:53
Compare
Choose a tag to compare
v4.0.0-alpha.2 Pre-release
Pre-release

Features

  • 重命名 Conversation#mentioned 属性为 Conversation#unreadMessagesMentioned

v4.0.0-alpha.1

20 Sep 11:43
Compare
Choose a tag to compare
v4.0.0-alpha.1 Pre-release
Pre-release

Bug Fixes

  • 修复了某些情况下登录后 unreadmessagescountupdatemessage 等事件没有派发的问题。
  • 修复了被服务端踢下线后链接没有正确断开的问题。

Features

  • 消息支持提及(@)对话中的成员。
    • 增加了 Message#setMentionListMessage#mentionAll 方法用于指定消息提及的对话成员。
    • 在收到消息时可以通过 Message#mentioned 属性判断当前用户是否被提及,通过 Message#mentionListMessage#mentionedAll 属性获取详细的信息。
    • 增加了 Conversation#mentioned 属性(已在 alpha.2 中改为 unreadMessagesMentioned)指示当前用户是否在对话中被提及。该属性会在 unreadmessagescountupdate 事件发生时被更新,调用 Conversation#read 方法会重置该属性。
  • 支持发送接收二进制消息。
    • 增加了 BinaryMessage,可以通过 ArrayBuffer 构造。
  • 查询历史消息接口(Conversation#queryMessage)现在支持按照从旧到新的方向查询,可以实现弹幕等需求。
    • 增加了 direction 选项,其值为 MessageQueryDirection.NEW_TO_OLDMessageQueryDirection.OLD_TO_NEW
    • 增加了方向的概念后,原先指定查询区间的参数会产生歧义,这些参数因此被重新命名了:
      • beforeTime -> startTime
      • beforeMessageId -> startMessageId
      • afterTime -> endTime
      • afterMessageId -> endMessageId
    • 增加了 startClosedendMessageId 选项用于指定查询区间的开闭。

v3.5.7

11 Sep 03:21
Compare
Choose a tag to compare

Bug Fixes

  • IM: 修复了某些情况下登录后 unreadmessagescountupdatemessage 等事件没有派发的问题 (#570) (7de8432)

v4.0.0-alpha.0

01 Sep 08:47
Compare
Choose a tag to compare
v4.0.0-alpha.0 Pre-release
Pre-release

BREAKING CHANGES

  • 初始化 Realtime 现在需要 appKey 参数。

    示例
     const realtime = new Realtime({
       appId: 'YOUR_APP_ID',
    +  appKey: 'YOUR_APP_KEY',
     });
  • 现在所有异步 API 的异常都是以异步的方式抛出。我们还更新了 API 文档,标出了 API 的异步属性。

    示例
    // before
    try {
      conversation.send(message);
    } catch (error) {
      // hanlde `Connection unavailable` error
    }
    
    // after
    conversation.add(members).catch(error => {
      // hanlde `Connection unavailable` error
    });
  • 为了更好的隔离服务,我们为每个应用提供了独立的域名。对于小程序用户,请前往 《小程序域名白名单配置》 更新域名白名单。

  • 移除了 v3 中被标记为废弃的 API,包括:

    移除 API 列表
    • IMClient
      • #markAllAsRead 方法
      • createConversationoptions.attributes 参数
      • unreadmessages 事件
    • Conversation
      • attributes 属性
      • #setAttributes#setAttribute#setName#markAsRead 方法
      • receipt 事件
    • ConversationQuery
      • #withLastMessages 方法
    • Message
      • needReceipttransient 属性
      • #setNeedReceipt#setTransient 方法

Features

  • 支持与 LeanCloud 用户系统集成。Realtime#createIMClient 方法现在支持使用一个已登录的 AV.User 登录 IM,详见 相关文档

v3.5.6

01 Sep 08:58
Compare
Choose a tag to compare

Bug Fixes

  • WebSocketPlus: 修复了在 Electron 的 Chromium 环境中报错的问题 (15d16e5), closes #566

v3.5.5

28 Jul 16:09
Compare
Choose a tag to compare

Bug Fixes

  • IMClient: 修复了 getConversations 方法在获取大量会话的时候可能会错误的返回部分 null 的问题 (4a3d48f)

v3.5.4

28 Jul 11:52
Compare
Choose a tag to compare

Bug Fixes

  • IMClient: 修复了 v3.5.3 中没有彻底修复的 createIMClient 失败后,使用相同的 id 再次创建会一直失败的问题 (0cbe268)

v3.5.3

28 Jul 06:33
Compare
Choose a tag to compare

Bug Fixes

  • IMClient: 修复了 createIMClient 失败后,使用相同的 id 再次创建会一直失败的问题 (#561) (b8d7c6a)
  • IMClient: 修复了某些情况下 SDK 会出现 unhandled Promise rejection 的问题 (#562) (697bf60)