Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion im_flutter_sdk/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
## 4.17.0
- 安卓依赖 SDK 升级到 4.17.1;
- iOS依赖 SDK 升级到 4.17.1;
- 长连接支持 WebSocket 协议;
- 私有化部署底层链路支持 TCP 和 WebSocket 之间切换;

## 4.16.0
- 安卓依赖 SDK 升级到 4.16.1;
- iOS以来 SDK 升级到 4.16.2;
- iOS依赖 SDK 升级到 4.16.2;
- 新增 `loadMessagesWithIds` API;
- 修复 `Thread` 子区会被加入到 `conversation` 列表中;
- 修复 当修改文本和自定义消息之外的消息时,`EEMChatEventHandler#onMessageContentChanged` 回调中不返回修改的信息的问题;
Expand Down
8 changes: 4 additions & 4 deletions im_flutter_sdk/example/ios/Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
PODS:
- AgoraInfra_iOS (1.3.0)
- Flutter (1.0.0)
- HyphenateChat (4.16.2):
- HyphenateChat (4.17.1):
- AgoraInfra_iOS (~> 1.3.0)
- im_flutter_sdk_ios (4.15.2):
- Flutter
- HyphenateChat (= 4.16.2)
- HyphenateChat (= 4.17.1)

DEPENDENCIES:
- Flutter (from `Flutter`)
Expand All @@ -25,8 +25,8 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
AgoraInfra_iOS: bfbe01cc1cbc8cdd6fa2cba50393e621fd859c6b
Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467
HyphenateChat: 05918e069e96a19e4c13e0b4be41a9ac3eeba5d0
im_flutter_sdk_ios: 76fc6ec20105bb45c9308e12002613d9fb4f259a
HyphenateChat: b41e58b4d6731e0ee38aa52253dfc38caad6db38
im_flutter_sdk_ios: 85e0cf97f4e788b0479c90155f9ba6572512bc8d

PODFILE CHECKSUM: 3c63482e143d1b91d2d2560aee9fb04ecc74ac7e

Expand Down
8 changes: 4 additions & 4 deletions im_flutter_sdk/example/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -81,28 +81,28 @@ packages:
path: ".."
relative: true
source: path
version: "4.16.0"
version: "4.17.0"
im_flutter_sdk_android:
dependency: transitive
description:
path: "../../im_flutter_sdk_android"
relative: true
source: path
version: "4.15.2"
version: "4.17.0"
im_flutter_sdk_interface:
dependency: transitive
description:
path: "../../im_flutter_sdk_interface"
relative: true
source: path
version: "4.15.2"
version: "4.17.0"
im_flutter_sdk_ios:
dependency: transitive
description:
path: "../../im_flutter_sdk_ios"
relative: true
source: path
version: "4.15.2"
version: "4.17.0"
leak_tracker:
dependency: transitive
description:
Expand Down
70 changes: 70 additions & 0 deletions im_flutter_sdk/lib/src/models/em_options.dart
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,34 @@ class EMOptions {
/// ~end
final int? imPort;

/// ~english
/// The WebSocket server.
///
/// This property is effective only when `enableDnsConfig` is `NO`.
/// Can only be set when initializing the SDK with [EMClient.init], cannot be altered in runtime.
/// ~end
///
/// ~chinese
/// WebSocket 服务器地址。
///
/// enableDnsConfig 为 NO 时生效。只能在 [EMClient.init] 中设置,不能在程序运行过程中动态修改。
/// ~end
final String? webSocketServer;

/// ~english
/// The WebSocket server port.
///
/// This property is effective only when `enableDnsConfig` is `NO`.
/// Can only be set when initializing the SDK with [EMClient.init], cannot be altered in runtime.
/// ~end
///
/// ~chinese
/// WebSocket 服务器端口。
///
/// enableDnsConfig 为 NO 时生效。只能在 [EMClient.init] 中设置,不能在程序运行过程中动态修改。
/// ~end
final int? webSocketPort;

/// ~english
/// Whether to enable TLS connection, which takes effect during initialization and is false by default.
/// ~end
Expand Down Expand Up @@ -586,6 +614,10 @@ class EMOptions {
///
/// Param [imServer] The IM server URL for private deployment.
///
/// Param [webSocketServer] The WebSocket server for private deployments.
///
/// Param [webSocketPort] The WebSocket server port for private deployments.
///
/// Param [chatAreaCode] The area code.
///
/// Param [enableEmptyConversation] Whether to include empty conversations when the SDK loads conversations from the local database.
Expand Down Expand Up @@ -682,6 +714,10 @@ class EMOptions {
///
/// Param [imServer] 私有部署时的 IM 服务器地址。
///
/// Param [webSocketServer] 私有部署时的 WebSocket 服务器地址。
///
/// Param [webSocketPort] 私有部署时的 WebSocket 服务器端口。
///
/// Param [chatAreaCode] server 区域码.
///
/// Param [enableEmptyConversation] 从本地数据库加载会话时是否包括空会话。
Expand Down Expand Up @@ -728,6 +764,8 @@ class EMOptions {
String? restServer,
int? imPort,
String? imServer,
String? webSocketServer,
int? webSocketPort,
int? chatAreaCode,
bool enableEmptyConversation = false,
String? deviceName,
Expand Down Expand Up @@ -759,6 +797,8 @@ class EMOptions {
restServer: restServer,
imPort: imPort,
imServer: imServer,
webSocketServer: webSocketServer,
webSocketPort: webSocketPort,
chatAreaCode: chatAreaCode ?? ChatAreaCode.GLOB,
enableEmptyConversation: enableEmptyConversation,
deviceName: deviceName,
Expand Down Expand Up @@ -841,6 +881,10 @@ class EMOptions {
///
/// Param [imServer] The IM server URL for private deployment.
///
/// Param [webSocketServer] The WebSocket server for private deployments.
///
/// Param [webSocketPort] The WebSocket server port for private deployments.
///
/// Param [chatAreaCode] The area code.
///
/// Param [enableEmptyConversation] Whether to include empty conversations when the SDK loads conversations from the local database.
Expand Down Expand Up @@ -937,6 +981,10 @@ class EMOptions {
///
/// Param [imServer] 私有部署时的 IM 服务器地址。
///
/// Param [webSocketServer] 私有部署时的 WebSocket 服务器地址。
///
/// Param [webSocketPort] 私有部署时的 WebSocket 服务器端口。
///
/// Param [chatAreaCode] server 区域码.
///
/// Param [enableEmptyConversation] 从本地数据库加载会话时是否包括空会话。
Expand Down Expand Up @@ -983,6 +1031,8 @@ class EMOptions {
String? restServer,
int? imPort,
String? imServer,
String? webSocketServer,
int? webSocketPort,
int? chatAreaCode,
bool enableEmptyConversation = false,
String? deviceName,
Expand Down Expand Up @@ -1014,6 +1064,8 @@ class EMOptions {
restServer: restServer,
imPort: imPort,
imServer: imServer,
webSocketServer: webSocketServer,
webSocketPort: webSocketPort,
chatAreaCode: chatAreaCode ?? ChatAreaCode.GLOB,
enableEmptyConversation: enableEmptyConversation,
deviceName: deviceName,
Expand Down Expand Up @@ -1098,6 +1150,10 @@ class EMOptions {
///
/// Param [imServer] The IM server URL for private deployment.
///
/// Param [webSocketServer] The WebSocket server for private deployments.
///
/// Param [webSocketPort] The WebSocket server port for private deployments.
///
/// Param [chatAreaCode] The area code.
///
/// Param [enableEmptyConversation] Whether to include empty conversations when the SDK loads conversations from the local database.
Expand Down Expand Up @@ -1194,6 +1250,10 @@ class EMOptions {
///
/// Param [imServer] 私有部署时的 IM 服务器地址。
///
/// Param [webSocketServer] 私有部署时的 WebSocket 服务器地址。
///
/// Param [webSocketPort] 私有部署时的 WebSocket 服务器端口。
///
/// Param [chatAreaCode] server 区域码.
///
/// Param [enableEmptyConversation] 从本地数据库加载会话时是否包括空会话。
Expand Down Expand Up @@ -1240,6 +1300,8 @@ class EMOptions {
String? restServer,
int? imPort,
String? imServer,
String? webSocketServer,
int? webSocketPort,
int? chatAreaCode,
bool enableEmptyConversation = false,
String? deviceName,
Expand Down Expand Up @@ -1270,6 +1332,8 @@ class EMOptions {
restServer: restServer,
imPort: imPort,
imServer: imServer,
webSocketServer: webSocketServer,
webSocketPort: webSocketPort,
chatAreaCode: chatAreaCode ?? ChatAreaCode.GLOB,
enableEmptyConversation: enableEmptyConversation,
deviceName: deviceName,
Expand Down Expand Up @@ -1304,6 +1368,8 @@ class EMOptions {
this.restServer,
this.imPort,
this.imServer,
this.webSocketServer,
this.webSocketPort,
this.chatAreaCode = ChatAreaCode.GLOB,
this.enableEmptyConversation = false,
this.deviceName,
Expand Down Expand Up @@ -1335,6 +1401,8 @@ class EMOptions {
data.putIfNotNull("enableDNSConfig", enableDNSConfig);
data.putIfNotNull("imPort", imPort);
data.putIfNotNull("imServer", imServer);
data.putIfNotNull("webSocketServer", webSocketServer);
data.putIfNotNull("webSocketPort", webSocketPort);
data.putIfNotNull("isAutoDownload", isAutoDownloadThumbnail);
data.putIfNotNull(
"isChatRoomOwnerLeaveAllowed", isChatRoomOwnerLeaveAllowed);
Expand Down Expand Up @@ -1426,6 +1494,8 @@ class EMOptions {
restServer: restServer,
imPort: imPort,
imServer: imServer,
webSocketServer: webSocketServer,
webSocketPort: webSocketPort,
chatAreaCode: chatAreaCode,
enableEmptyConversation: enableEmptyConversation,
deviceName: deviceName,
Expand Down
2 changes: 1 addition & 1 deletion im_flutter_sdk/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: im_flutter_sdk
description: Integrate the Chat SDK to enjoy the global IM services with high reliability, ultra-low latency, and high concurrency.
version: 4.16.0
version: 4.17.0
homepage: https://www.easemob.com

environment:
Expand Down
5 changes: 5 additions & 0 deletions im_flutter_sdk_android/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
## 4.17.0
- 安卓依赖 SDK 升级到 4.17.1;
- 长连接支持 WebSocket 协议;
- 私有化部署底层链路支持 TCP 和 WebSocket 之间切换;

## 4.16.0
- 安卓依赖 SDK 升级到 4.16.1;
- 新增 `loadMessagesWithIds` API;
Expand Down
2 changes: 1 addition & 1 deletion im_flutter_sdk_android/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,6 @@ tasks.withType(JavaCompile){
dependencies {
api 'androidx.appcompat:appcompat:1.1.0'
// implementation 'cn.shengwang:chat-sdk:1.3.2'
implementation 'io.hyphenate:hyphenate-chat:4.16.1'
implementation 'io.hyphenate:hyphenate-chat:4.17.1'
implementation fileTree(dir: 'libs', include: ['*.jar'])
}
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,12 @@ static EMOptions fromJson(JSONObject json, Context context) throws JSONException
if (json.has("imServer")) {
options.setIMServer(json.getString("imServer"));
}
if (json.has("webSocketServer")) {
options.setWebSocketServer(json.getString("webSocketServer"));
}
if (json.has("webSocketPort")) {
options.setWebSocketPort(json.getInt("webSocketPort"));
}
if (json.has("restServer")) {
options.setRestServer(json.getString("restServer"));
}
Expand Down
2 changes: 1 addition & 1 deletion im_flutter_sdk_android/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: im_flutter_sdk_android
description: Integrate the Chat SDK to enjoy the global IM services with high reliability, ultra-low latency, and high concurrency.
version: 4.16.0
version: 4.17.0
homepage: https://www.easemob.com

environment:
Expand Down
2 changes: 2 additions & 0 deletions im_flutter_sdk_interface/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
## 4.17.0

## 4.16.0
- 新增 `loadMessagesWithIds` API;

Expand Down
2 changes: 1 addition & 1 deletion im_flutter_sdk_interface/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: im_flutter_sdk_interface
description: Integrate the Chat SDK to enjoy the global IM services with high reliability, ultra-low latency, and high concurrency.
version: 4.16.0
version: 4.17.0
homepage: https://www.easemob.com

environment:
Expand Down
7 changes: 6 additions & 1 deletion im_flutter_sdk_ios/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
## 4.17.0
- iOS依赖 SDK 升级到 4.17.1;
- 长连接支持 WebSocket 协议;
- 私有化部署底层链路支持 TCP 和 WebSocket 之间切换;

## 4.16.0
- iOS以来 SDK 升级到 4.16.2;
- iOS依赖 SDK 升级到 4.16.2;
- 新增 `loadMessagesWithIds` API;
- 修复 当修改文本和自定义消息之外的消息时,`EEMChatEventHandler#onMessageContentChanged` 回调中不返回修改的信息的问题;
- 修复 拉取漫游消息时,设置为不保存消息 `FetchMessageOptions#needSave 设置为 false`,也会生成新的本地会话的问题;
Expand Down
4 changes: 4 additions & 0 deletions im_flutter_sdk_ios/ios/Classes/OptionsHelper.m
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ - (NSDictionary *)toJson {
data[@"enableDNSConfig"] = @(self.enableDnsConfig);
data[@"imPort"] = @(self.chatPort);
data[@"imServer"] = self.chatServer;
data[@"webSocketServer"] = self.webSocketServer;
data[@"webSocketPort"] = @(self.webSocketPort);
data[@"restServer"] = self.restServer;
data[@"dnsUrl"] = self.dnsURL;
data[@"areaCode"] = @(self.area);
Expand Down Expand Up @@ -73,6 +75,8 @@ + (EMOptions *)fromJson:(NSDictionary *)aJson {
options.enableDnsConfig = [aJson[@"enableDNSConfig"] boolValue];
options.chatPort = [aJson[@"imPort"] intValue];
options.chatServer = aJson[@"imServer"];
options.webSocketServer = aJson[@"webSocketServer"];
options.webSocketPort = [aJson[@"webSocketPort"] intValue];
options.restServer = aJson[@"restServer"];
options.dnsURL = aJson[@"dnsURL"];
options.area = [aJson[@"areaCode"] intValue];
Expand Down
2 changes: 1 addition & 1 deletion im_flutter_sdk_ios/ios/im_flutter_sdk_ios.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ A new flutter plugin project.
s.public_header_files = 'Classes/**/*.h'

s.dependency 'Flutter'
s.dependency 'HyphenateChat','4.16.2'
s.dependency 'HyphenateChat','4.17.1'
# s.dependency 'ShengwangChat_iOS','1.3.2'
# 注释掉本地 framework,使用 CocoaPods 依赖
# s.ios.vendored_frameworks = 'framework/HyphenateChat.xcframework', 'framework/aosl.xcframework'
Expand Down
2 changes: 1 addition & 1 deletion im_flutter_sdk_ios/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: im_flutter_sdk_ios
description: Integrate the Chat SDK to enjoy the global IM services with high reliability, ultra-low latency, and high concurrency.
version: 4.16.0
version: 4.17.0
homepage: https://www.easemob.com

environment:
Expand Down