Compare commits
3 Commits
3.8.3+hotf
...
3.8.3+hotf
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
95889be7a2 | ||
|
|
6c4ca2fb56 | ||
|
|
0a175bb8b1 |
19
.github/workflows/issue-translator.yml
vendored
Normal file
19
.github/workflows/issue-translator.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
name: 'issue-translator'
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
issues:
|
||||
types: [opened]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: usthe/issues-translate-action@v2.7
|
||||
with:
|
||||
BOT_GITHUB_TOKEN: ${{ secrets.BOT_TOKEN }}
|
||||
IS_MODIFY_TITLE: true
|
||||
# not require, default false, . Decide whether to modify the issue title
|
||||
# if true, the robot account @Issues-translate-bot must have modification permissions, invite @Issues-translate-bot to your project or use your custom bot.
|
||||
CUSTOM_BOT_NOTE: Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑🤝🧑👫🧑🏿🤝🧑🏻👩🏾🤝👨🏿👬🏿
|
||||
# not require. Customize the translation robot prefix message.
|
||||
@@ -1,3 +1,11 @@
|
||||
## 3.8.3+hotfix.12
|
||||
|
||||
- [Bug fixes and performance enhancements.](https://github.com/openimsdk/openim-sdk-core/releases/tag/v3.8.3-patch.12)
|
||||
|
||||
## 3.8.3+hotfix.10.1
|
||||
|
||||
- [Bug fixes and performance enhancements.](https://github.com/openimsdk/openim-sdk-core/releases/tag/v3.8.3-patch.10)
|
||||
|
||||
## 3.8.3+hotfix.10
|
||||
|
||||
- [Bug fixes and performance enhancements.](https://github.com/openimsdk/openim-sdk-core/releases/tag/v3.8.3-patch.10)
|
||||
|
||||
@@ -36,7 +36,7 @@ android {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'io.openim:core-sdk:3.8.3-patch10@aar'
|
||||
implementation 'io.openim:core-sdk:3.8.3-patch12@aar'
|
||||
testImplementation("junit:junit:4.13.2")
|
||||
testImplementation("org.mockito:mockito-core:5.0.0")
|
||||
}
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
rootProject.name = 'flutter_openim_sdk'
|
||||
|
||||
@@ -13,19 +13,4 @@ public class OnUserListener implements open_im_sdk_callback.OnUserListener {
|
||||
public void onUserStatusChanged(String s) {
|
||||
CommonUtil.emitEvent("userListener", "onUserStatusChanged", s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUserCommandAdd(String s) {
|
||||
CommonUtil.emitEvent("userListener", "onUserCommandAdd", s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUserCommandDelete(String s) {
|
||||
CommonUtil.emitEvent("userListener", "onUserCommandDelete", s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUserCommandUpdate(String s) {
|
||||
CommonUtil.emitEvent("userListener", "onUserCommandUpdate", s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -650,7 +650,7 @@ code + .copy-button {
|
||||
<script type="text/javascript">
|
||||
function configurationCacheProblems() { return (
|
||||
// begin-report-data
|
||||
{"diagnostics":[{"problem":[{"text":"Disabling Gradle user home cache cleanup with the 'org.gradle.cache.cleanup' property has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 9.0."}],"contextualLabel":"Disabling Gradle user home cache cleanup with the 'org.gradle.cache.cleanup' property has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#disabling_user_home_cache_cleanup","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"disabling-gradle-user-home-cache-cleanup-with-the-org-gradle-cache-cleanup-property","displayName":"Disabling Gradle user home cache cleanup with the 'org.gradle.cache.cleanup' property has been deprecated."}]},{"problem":[{"text":"Disabling Gradle user home cache cleanup with the 'org.gradle.cache.cleanup' property has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 9.0."}],"contextualLabel":"Disabling Gradle user home cache cleanup with the 'org.gradle.cache.cleanup' property has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#disabling_user_home_cache_cleanup","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"disabling-gradle-user-home-cache-cleanup-with-the-org-gradle-cache-cleanup-property","displayName":"Disabling Gradle user home cache cleanup with the 'org.gradle.cache.cleanup' property has been deprecated."}]}],"problemsReport":{"totalProblemCount":2,"buildName":"android","requestedTasks":"assembleDebug","documentationLink":"https://docs.gradle.org/8.12/userguide/problems-report.html","documentationLinkCaption":"Problem report","summaries":[]}}
|
||||
{"diagnostics":[{"locations":[{"pluginId":"dev.flutter.flutter-gradle-plugin"}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = <value>') instead."}]]},{"locations":[{"pluginId":"dev.flutter.flutter-gradle-plugin"}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('url = <value>') instead."}]]},{"locations":[{"pluginId":"dev.flutter.flutter-gradle-plugin"}],"problem":[{"text":"Space-assignment syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Space-assignment syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.12/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"space-assignment-syntax-in-groovy-dsl","displayName":"Space-assignment syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('shrinkResources = <value>') instead."}]]}],"problemsReport":{"totalProblemCount":3,"buildName":"android","requestedTasks":"","documentationLink":"https://docs.gradle.org/8.12/userguide/problems-report.html","documentationLinkCaption":"Problem report","summaries":[]}}
|
||||
// end-report-data
|
||||
);}
|
||||
</script>
|
||||
|
||||
@@ -2,8 +2,8 @@ PODS:
|
||||
- Flutter (1.0.0)
|
||||
- flutter_openim_sdk (0.0.1):
|
||||
- Flutter
|
||||
- OpenIMSDKCore (= 3.8.3-hotfix.10)
|
||||
- OpenIMSDKCore (3.8.3-hotfix.10)
|
||||
- OpenIMSDKCore (= 3.8.3-hotfix.12)
|
||||
- OpenIMSDKCore (3.8.3-hotfix.12)
|
||||
|
||||
DEPENDENCIES:
|
||||
- Flutter (from `Flutter`)
|
||||
@@ -21,9 +21,9 @@ EXTERNAL SOURCES:
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
|
||||
flutter_openim_sdk: 59aa0c08eb7499a1790168e10539e4dd915ced6e
|
||||
OpenIMSDKCore: bc9a6e5de2aabed76e4f69fe06a7c9df1d945afc
|
||||
flutter_openim_sdk: bb2a5af4aeda4b44362ca6c223c1515e2fee795d
|
||||
OpenIMSDKCore: 02383b2a3f989a1fff29ad5f83c1dac1ee5bfb36
|
||||
|
||||
PODFILE CHECKSUM: 819463e6a0290f5a72f145ba7cde16e8b6ef0796
|
||||
PODFILE CHECKSUM: 7be2f5f74864d463a8ad433546ed1de7e0f29aef
|
||||
|
||||
COCOAPODS: 1.16.2
|
||||
|
||||
@@ -76,7 +76,7 @@ packages:
|
||||
path: ".."
|
||||
relative: true
|
||||
source: path
|
||||
version: "3.8.3+hotfix.10"
|
||||
version: "3.8.3+hotfix.10.1"
|
||||
flutter_test:
|
||||
dependency: "direct dev"
|
||||
description: flutter
|
||||
|
||||
@@ -17,13 +17,13 @@ A new Flutter project.
|
||||
s.dependency 'Flutter'
|
||||
s.platform = :ios, '11.0'
|
||||
|
||||
s.dependency 'OpenIMSDKCore','3.8.3-hotfix.10'
|
||||
s.dependency 'OpenIMSDKCore','3.8.3-hotfix.12'
|
||||
s.static_framework = true
|
||||
s.library = 'resolv'
|
||||
|
||||
# s.vendored_frameworks = 'Framework/*.xcframework'
|
||||
# Flutter.framework does not contain a i386 slice.
|
||||
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386 arm64' }
|
||||
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }
|
||||
s.swift_version = '5.0'
|
||||
|
||||
s.resource_bundles = {'flutter_openim_sdk_privacy' => ['Resources/PrivacyInfo.xcprivacy']}
|
||||
|
||||
@@ -299,6 +299,17 @@ class FriendshipManager {
|
||||
.then((value) => value);
|
||||
}
|
||||
|
||||
Future<int> getFriendApplicationUnhandledCount(GetFriendApplicationUnhandledCountReq req,
|
||||
{String? operationID}) =>
|
||||
_channel
|
||||
.invokeMethod(
|
||||
'getFriendApplicationUnhandledCount',
|
||||
_buildParam({
|
||||
'req': req.toJson(),
|
||||
'operationID': Utils.checkOperationID(operationID),
|
||||
}))
|
||||
.then((value) => int.parse(value));
|
||||
|
||||
static Map _buildParam(Map<String, dynamic> param) {
|
||||
param["ManagerName"] = "friendshipManager";
|
||||
param = Utils.cleanMap(param);
|
||||
|
||||
@@ -127,15 +127,17 @@ class GroupManager {
|
||||
}))
|
||||
.then((value) => Utils.toList(value, (map) => GroupInfo.fromJson(map)));
|
||||
|
||||
Future<List<GroupInfo>> getJoinedGroupListPage({String? operationID, int offset = 0, int count = 40}) => _channel
|
||||
.invokeMethod(
|
||||
'getJoinedGroupListPage',
|
||||
_buildParam({
|
||||
'offset': offset,
|
||||
'count': count,
|
||||
'operationID': Utils.checkOperationID(operationID),
|
||||
}))
|
||||
.then((value) => Utils.toList(value, (map) => GroupInfo.fromJson(map)));
|
||||
Future<List<GroupInfo>> getJoinedGroupListPage(
|
||||
{String? operationID, int offset = 0, int count = 40}) =>
|
||||
_channel
|
||||
.invokeMethod(
|
||||
'getJoinedGroupListPage',
|
||||
_buildParam({
|
||||
'offset': offset,
|
||||
'count': count,
|
||||
'operationID': Utils.checkOperationID(operationID),
|
||||
}))
|
||||
.then((value) => Utils.toList(value, (map) => GroupInfo.fromJson(map)));
|
||||
|
||||
/// Query the list of joined groups
|
||||
Future<List<dynamic>> getJoinedGroupListMap({String? operationID}) => _channel
|
||||
@@ -214,7 +216,11 @@ class GroupManager {
|
||||
/// Apply to join a group, requiring approval from an administrator or the group.
|
||||
/// [joinSource] 2: Invited, 3: Searched, 4: Using a QR code
|
||||
Future<dynamic> joinGroup(
|
||||
{required String groupID, String? reason, String? operationID, int joinSource = 3, String? ex}) =>
|
||||
{required String groupID,
|
||||
String? reason,
|
||||
String? operationID,
|
||||
int joinSource = 3,
|
||||
String? ex}) =>
|
||||
_channel.invokeMethod(
|
||||
'joinGroup',
|
||||
_buildParam({
|
||||
@@ -599,6 +605,17 @@ class GroupManager {
|
||||
'operationID': Utils.checkOperationID(operationID),
|
||||
}));
|
||||
|
||||
Future<int> getGroupApplicationUnhandledCount(GetGroupApplicationUnhandledCountReq req,
|
||||
{String? operationID}) =>
|
||||
_channel
|
||||
.invokeMethod(
|
||||
'getGroupApplicationUnhandledCount',
|
||||
_buildParam({
|
||||
'req': req.toJson(),
|
||||
'operationID': Utils.checkOperationID(operationID),
|
||||
}))
|
||||
.then((value) => int.parse(value));
|
||||
|
||||
static Map _buildParam(Map<String, dynamic> param) {
|
||||
param["ManagerName"] = "groupManager";
|
||||
param = Utils.cleanMap(param);
|
||||
|
||||
@@ -429,7 +429,7 @@ class GetGroupApplicationListAsRecipientReq {
|
||||
final int offset;
|
||||
final int count;
|
||||
|
||||
GetGroupApplicationListAsRecipientReq({
|
||||
GetGroupApplicationListAsRecipientReq({
|
||||
this.groupIDs = const [],
|
||||
this.handleResults = const [],
|
||||
required this.offset,
|
||||
@@ -466,8 +466,8 @@ class GetGroupApplicationListAsApplicantReq {
|
||||
GetGroupApplicationListAsApplicantReq({
|
||||
this.groupIDs = const [],
|
||||
this.handleResults = const [],
|
||||
required this.offset,
|
||||
required this.count,
|
||||
this.offset = 0,
|
||||
this.count = 40,
|
||||
});
|
||||
|
||||
GetGroupApplicationListAsApplicantReq.fromJson(Map<String, dynamic> json)
|
||||
|
||||
@@ -257,7 +257,8 @@ class Message {
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) || other is Message && runtimeType == other.runtimeType && clientMsgID == other.clientMsgID;
|
||||
identical(this, other) ||
|
||||
other is Message && runtimeType == other.runtimeType && clientMsgID == other.clientMsgID;
|
||||
|
||||
@override
|
||||
int get hashCode => clientMsgID.hashCode;
|
||||
@@ -787,12 +788,15 @@ class AttachedInfoElem {
|
||||
/// Do not send offline push notifications
|
||||
bool? notSenderNotificationPush;
|
||||
|
||||
UploadProgress? uploadProgress;
|
||||
|
||||
AttachedInfoElem({
|
||||
this.groupHasReadInfo,
|
||||
this.isPrivateChat,
|
||||
this.hasReadTime,
|
||||
this.burnDuration,
|
||||
this.notSenderNotificationPush,
|
||||
this.uploadProgress,
|
||||
});
|
||||
|
||||
AttachedInfoElem.fromJson(Map<String, dynamic> json) {
|
||||
@@ -801,6 +805,7 @@ class AttachedInfoElem {
|
||||
hasReadTime = json['hasReadTime'];
|
||||
burnDuration = json['burnDuration'];
|
||||
notSenderNotificationPush = json['notSenderNotificationPush'];
|
||||
uploadProgress = json['uploadProgress'] == null ? null : UploadProgress.fromJson(json['uploadProgress']);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
@@ -810,6 +815,33 @@ class AttachedInfoElem {
|
||||
data['hasReadTime'] = this.hasReadTime;
|
||||
data['burnDuration'] = this.burnDuration;
|
||||
data['notSenderNotificationPush'] = this.notSenderNotificationPush;
|
||||
data['uploadProgress'] = uploadProgress?.toJson();
|
||||
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
class UploadProgress {
|
||||
int? total;
|
||||
int? save;
|
||||
int? current;
|
||||
String? uploadID;
|
||||
|
||||
UploadProgress({this.total, this.save, this.current, this.uploadID});
|
||||
|
||||
UploadProgress.fromJson(Map<String, dynamic> json) {
|
||||
total = json['total'] ?? 0;
|
||||
save = json['save'] ?? 0;
|
||||
current = json['current'] ?? 0;
|
||||
uploadID = json['uploadID'] ?? '';
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final data = <String, dynamic>{};
|
||||
data['total'] = total;
|
||||
data['save'] = save;
|
||||
data['current'] = current;
|
||||
data['uploadID'] = uploadID;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@@ -879,7 +911,9 @@ class AdvancedTextElem {
|
||||
|
||||
AdvancedTextElem.fromJson(Map<String, dynamic> json) {
|
||||
text = json['text'];
|
||||
messageEntityList = json['messageEntityList'] == null ? null : (json['messageEntityList'] as List).map((e) => MessageEntity.fromJson(e)).toList();
|
||||
messageEntityList = json['messageEntityList'] == null
|
||||
? null
|
||||
: (json['messageEntityList'] as List).map((e) => MessageEntity.fromJson(e)).toList();
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
@@ -961,7 +995,8 @@ class ReadReceiptInfo {
|
||||
/// Conversation type [ConversationType]
|
||||
int? sessionType;
|
||||
|
||||
ReadReceiptInfo({this.userID, this.groupID, this.msgIDList, this.readTime, this.msgFrom, this.contentType, this.sessionType});
|
||||
ReadReceiptInfo(
|
||||
{this.userID, this.groupID, this.msgIDList, this.readTime, this.msgFrom, this.contentType, this.sessionType});
|
||||
|
||||
ReadReceiptInfo.fromJson(Map<String, dynamic> json) {
|
||||
userID = json['uid'] ?? json['userID'];
|
||||
@@ -1132,7 +1167,8 @@ class AdvancedMessage {
|
||||
});
|
||||
|
||||
AdvancedMessage.fromJson(Map<String, dynamic> json) {
|
||||
messageList = json['messageList'] == null ? null : (json['messageList'] as List).map((e) => Message.fromJson(e)).toList();
|
||||
messageList =
|
||||
json['messageList'] == null ? null : (json['messageList'] as List).map((e) => Message.fromJson(e)).toList();
|
||||
isEnd = json['isEnd'];
|
||||
errCode = json['errCode'];
|
||||
errMsg = json['errMsg'];
|
||||
|
||||
@@ -2,7 +2,7 @@ import 'package:flutter/services.dart';
|
||||
import 'package:flutter_openim_sdk/flutter_openim_sdk.dart';
|
||||
|
||||
class OpenIM {
|
||||
static const version = '3.8.3+hotfix.10';
|
||||
static const version = '3.8.3+hotfix.12';
|
||||
|
||||
static const _channel = MethodChannel('flutter_openim_sdk');
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: flutter_openim_sdk
|
||||
description: An instant messaging plug-in that supports Android and IOS. And the server is also all open source.
|
||||
version: 3.8.3+hotfix.10
|
||||
version: 3.8.3+hotfix.12
|
||||
homepage: https://www.openim.io
|
||||
repository: https://github.com/openimsdk/open-im-sdk-flutter
|
||||
|
||||
|
||||
Reference in New Issue
Block a user