Skip to content

Commit 526087e

Browse files
feat: release V3.8.3-patch.10 (#74)
1 parent cbe98e7 commit 526087e

File tree

8 files changed

+135
-72
lines changed

8 files changed

+135
-72
lines changed

android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,6 @@ dependencies {
5858
implementation "com.facebook.react:react-native:+" // From node_modules
5959
implementation 'androidx.collection:collection:1.1.0'
6060
implementation 'com.alibaba:fastjson:1.1.72.android'
61-
implementation 'io.openim:core-sdk:3.8.3-patch3@aar'
61+
implementation 'io.openim:core-sdk:3.8.3-patch10@aar'
6262
// implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'], exclude: [])
6363
}

android/src/main/java/com/openimsdkrn/OpenImSdkRnModule.java

Lines changed: 37 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ public void getMultipleConversation(ReadableArray conversationIDList, String ope
208208
public void setGlobalRecvMessageOpt(int opt, String operationID, Promise promise) {
209209
JSONObject params = new JSONObject();
210210
params.put("globalRecvMsgOpt", opt);
211-
Open_im_sdk.setGroupInfo(new BaseImpl(promise), operationID, params.toString());
211+
Open_im_sdk.setSelfInfo(new BaseImpl(promise), operationID, params.toString());
212212
}
213213

214214
@ReactMethod
@@ -279,9 +279,14 @@ public void getTotalUnreadMsgCount(String operationID, Promise promise) {
279279
Open_im_sdk.getTotalUnreadMsgCount(new BaseImpl(promise), operationID);
280280
}
281281

282+
/**
283+
* @deprecated This method may lead to app crash and has been deprecated in the SDK.
284+
* It is not exported in the JS API.
285+
*/
286+
@Deprecated
282287
@ReactMethod
283-
public String getAtAllTag(String OperationID) {
284-
return Open_im_sdk.getAtAllTag(OperationID);
288+
public void getAtAllTag(String OperationID, Promise promise) {
289+
promise.resolve(Open_im_sdk.getAtAllTag(OperationID));
285290
}
286291

287292
@ReactMethod
@@ -544,7 +549,7 @@ public void createFileMessageFromFullPath(ReadableMap options, String operationI
544549
String filePath = options.getString("filePath");
545550
String fileName = options.getString("fileName");
546551

547-
String message = Open_im_sdk.createFileMessage(operationID, filePath, fileName);
552+
String message = Open_im_sdk.createFileMessageFromFullPath(operationID, filePath, fileName);
548553
try {
549554
JSONObject obj = JSON.parseObject(message);
550555
promise.resolve(emitter.convertJsonToMap(obj));
@@ -730,6 +735,7 @@ public void setFriendListener() {
730735
Open_im_sdk.setFriendListener(new OnFriendshipListener(reactContext));
731736
}
732737

738+
@ReactMethod
733739
public void getSpecifiedFriendsInfo(ReadableMap options, String operationID, Promise promise) {
734740
ReadableArray userIDList = options.getArray("userIDList");
735741
boolean filterBlack = false;
@@ -792,13 +798,13 @@ public void deleteFriend(String friendUserID, String operationID, Promise promis
792798
}
793799

794800
@ReactMethod
795-
public void getFriendApplicationListAsRecipient(String operationID, Promise promise) {
796-
Open_im_sdk.getFriendApplicationListAsRecipient(new BaseImpl(promise), operationID);
801+
public void getFriendApplicationListAsRecipient(String operationID, ReadableMap req, Promise promise) {
802+
Open_im_sdk.getFriendApplicationListAsRecipient(new BaseImpl(promise), operationID, map2string(req));
797803
}
798804

799805
@ReactMethod
800-
public void getFriendApplicationListAsApplicant(String operationID, Promise promise) {
801-
Open_im_sdk.getFriendApplicationListAsApplicant(new BaseImpl(promise), operationID);
806+
public void getFriendApplicationListAsApplicant(String operationID, ReadableMap req, Promise promise) {
807+
Open_im_sdk.getFriendApplicationListAsApplicant(new BaseImpl(promise), operationID, map2string(req));
802808
}
803809

804810
@ReactMethod
@@ -862,7 +868,7 @@ public void changeGroupMute(ReadableMap options, String operationID, Promise pro
862868
@ReactMethod
863869
public void changeGroupMemberMute(ReadableMap options, String operationID, Promise promise) {
864870
Open_im_sdk.changeGroupMemberMute(new BaseImpl(promise), operationID, options.getString("groupID"),
865-
options.getString("userID"), options.getInt("mutedSeconds"));
871+
options.getString("userID"), (long) options.getDouble("mutedSeconds"));
866872
}
867873

868874
@ReactMethod
@@ -974,13 +980,13 @@ public void inviteUserToGroup(ReadableMap options, String operationID, Promise p
974980
}
975981

976982
@ReactMethod
977-
public void getGroupApplicationListAsRecipient(String operationID, Promise promise) {
978-
Open_im_sdk.getGroupApplicationListAsRecipient(new BaseImpl(promise), operationID);
983+
public void getGroupApplicationListAsRecipient(String operationID, ReadableMap req, Promise promise) {
984+
Open_im_sdk.getGroupApplicationListAsRecipient(new BaseImpl(promise), operationID, map2string(req));
979985
}
980986

981987
@ReactMethod
982-
public void getGroupApplicationListAsApplicant(String operationID, Promise promise) {
983-
Open_im_sdk.getGroupApplicationListAsApplicant(new BaseImpl(promise), operationID);
988+
public void getGroupApplicationListAsApplicant(String operationID, ReadableMap req, Promise promise) {
989+
Open_im_sdk.getGroupApplicationListAsApplicant(new BaseImpl(promise), operationID, map2string(req));
984990
}
985991

986992
@ReactMethod
@@ -1015,8 +1021,8 @@ public void isJoinGroup(String groupID, String operationID, Promise promise) {
10151021
}
10161022

10171023
@ReactMethod
1018-
public void updateFcmToken(ReadableMap options, String operationID, Promise promise) {
1019-
Open_im_sdk.updateFcmToken(new BaseImpl(promise), operationID, options.getString("fcmToken"), options.getInt("expireTime"));
1024+
public void updateFcmToken(String fcmToken, double expireTime, String operationID, Promise promise) {
1025+
Open_im_sdk.updateFcmToken(new BaseImpl(promise), operationID, fcmToken, (int)expireTime);
10201026
}
10211027

10221028
@ReactMethod
@@ -1077,29 +1083,34 @@ public void sendMessageNotOss(ReadableMap options, String operationID, Promise p
10771083
}
10781084

10791085
@ReactMethod
1080-
public void setAppBadge(Integer appUnreadCount, String operationID, Promise promise) {
1081-
Open_im_sdk.setAppBadge(new BaseImpl(promise), operationID, appUnreadCount);
1086+
public void setAppBadge(double appUnreadCount, String operationID, Promise promise) {
1087+
Open_im_sdk.setAppBadge(new BaseImpl(promise), operationID, (int)appUnreadCount);
10821088
}
10831089

10841090
@ReactMethod
10851091
public void uploadLogs(ReadableMap options, String operationID, Promise promise) {
1086-
Open_im_sdk.uploadLogs(new BaseImpl(promise), operationID, options.getInt("line"), options.getString("ex"), new UploadLogProgressListener(reactContext, operationID));
1092+
Open_im_sdk.uploadLogs(new BaseImpl(promise), operationID, (long)options.getDouble("line"), options.getString("ex"), new UploadLogProgressListener(reactContext, operationID));
10871093
}
10881094

10891095
@ReactMethod
10901096
public void logs(ReadableMap options, String operationID, Promise promise) {
1091-
long logLevel = options.getInt("logLevel");
1097+
long logLevel = (long)options.getDouble("logLevel");
10921098
String file = options.getString("file");
1093-
long line = options.getInt("line");
1099+
long line = (long)options.getDouble("line");
10941100
String msg = options.getString("msgs");
10951101
String err = options.getString("err");
1096-
String keyAndValue = options.getString("keyAndValue");
1097-
Open_im_sdk.logs(new BaseImpl(promise), operationID, logLevel, file, line, msg, err, keyAndValue);
1102+
ReadableArray keyAndValue = options.getArray("keyAndValue");
1103+
Open_im_sdk.logs(new BaseImpl(promise), operationID, logLevel, file, line, msg, err, keyAndValue.toString());
10981104
}
10991105

1106+
/**
1107+
* This method should be an async method with Promise parameter, otherwise it is incompatible with React Native 0.80+ versions.
1108+
* Details: https://github.com/openimsdk/open-im-sdk-reactnative/issues/72
1109+
* Note: React Native 0.82+ dropped support for the old architecture.
1110+
*/
11001111
@ReactMethod
1101-
public String getSdkVersion() {
1102-
return Open_im_sdk.getSdkVersion();
1112+
public void getSdkVersion(Promise promise) {
1113+
promise.resolve(Open_im_sdk.getSdkVersion());
11031114
}
11041115

11051116
@ReactMethod
@@ -1109,7 +1120,8 @@ public void uploadFile(ReadableMap reqData, String operationID, Promise promise)
11091120
}
11101121

11111122
@ReactMethod
1112-
public void unInitSDK(String operationID) {
1123+
public void unInitSDK(String operationID, Promise promise) {
11131124
Open_im_sdk.unInitSDK(operationID);
1125+
promise.resolve(null);
11141126
}
11151127
}

ios/OpenImSdkRn.m

Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ - (dispatch_queue_t)methodQueue {
7575
@"onRecvMessageExtensionsDeleted",
7676

7777
@"onConversationChanged",
78-
@"onConversationUserInputStatusChanged",
78+
@"onInputStatusChanged",
7979
@"onNewConversation",
8080
@"onSyncServerFailed",
8181
@"onSyncServerFinish",
@@ -431,7 +431,7 @@ - (NSArray *)parseJsonStr2Array:(NSString *)jsonStr {
431431
}
432432

433433
RCT_EXPORT_METHOD(createQuoteMessage:(NSDictionary *)options operationID:(NSString *)operationID resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
434-
NSString *result = Open_im_sdkCreateQuoteMessage(operationID,options[@"text"],options[@"message"]);
434+
NSString *result = Open_im_sdkCreateQuoteMessage(operationID,options[@"text"], [options[@"message"] json]);
435435
NSDictionary *message = [self parseJsonStr2Dict:result];
436436
if (message) {
437437
resolver(message);
@@ -441,7 +441,10 @@ - (NSArray *)parseJsonStr2Array:(NSString *)jsonStr {
441441
}
442442

443443
RCT_EXPORT_METHOD(createAdvancedQuoteMessage:(NSDictionary *)options operationID:(NSString *)operationID resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
444-
NSString *result = Open_im_sdkCreateAdvancedQuoteMessage(operationID,options[@"text"] ,options[@"message"],options[@"messageEntityList"]);
444+
NSString *text = options[@"text"];
445+
NSDictionary *quoteMessage = options[@"message"];
446+
NSArray *messageEntityList = options[@"messageEntityList"];
447+
NSString *result = Open_im_sdkCreateAdvancedQuoteMessage(operationID, text, [quoteMessage json], [messageEntityList json]);
445448
NSDictionary *message = [self parseJsonStr2Dict:result];
446449
if (message) {
447450
resolver(message);
@@ -820,10 +823,10 @@ - (NSArray *)parseJsonStr2Array:(NSString *)jsonStr {
820823
RCT_EXPORT_METHOD(insertGroupMessageToLocalStorage:(NSDictionary *)options operationID:(NSString *)operationID resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
821824
RNCallbackProxy *proxy = [[RNCallbackProxy alloc] initWithCallback:resolver rejecter:rejecter];
822825
NSDictionary *message = options[@"message"];
823-
NSString *recvID = options[@"recvID"];
826+
NSString *groupID = options[@"groupID"];
824827
NSString *sendID = options[@"sendID"];
825828

826-
Open_im_sdkInsertGroupMessageToLocalStorage(proxy, operationID, [message json], recvID, sendID);
829+
Open_im_sdkInsertGroupMessageToLocalStorage(proxy, operationID, [message json], groupID, sendID);
827830
}
828831

829832
RCT_EXPORT_METHOD(searchLocalMessages:(NSDictionary *)searchParam operationID:(NSString *)operationID resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
@@ -897,14 +900,14 @@ - (NSArray *)parseJsonStr2Array:(NSString *)jsonStr {
897900
Open_im_sdkDeleteFriend(proxy, operationID, friendUserID);
898901
}
899902

900-
RCT_EXPORT_METHOD(getFriendApplicationListAsRecipient:(NSString *)operationID resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
903+
RCT_EXPORT_METHOD(getFriendApplicationListAsRecipient:(NSString *)operationID req: (NSDictionary *)req resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
901904
RNCallbackProxy *proxy = [[RNCallbackProxy alloc] initWithCallback:resolver rejecter:rejecter];
902-
Open_im_sdkGetFriendApplicationListAsRecipient(proxy, operationID);
905+
Open_im_sdkGetFriendApplicationListAsRecipient(proxy, operationID, [req json]);
903906
}
904907

905-
RCT_EXPORT_METHOD(getFriendApplicationListAsApplicant:(NSString *)operationID resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
908+
RCT_EXPORT_METHOD(getFriendApplicationListAsApplicant:(NSString *)operationID req: (NSDictionary *)req resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
906909
RNCallbackProxy *proxy = [[RNCallbackProxy alloc] initWithCallback:resolver rejecter:rejecter];
907-
Open_im_sdkGetFriendApplicationListAsApplicant(proxy, operationID);
910+
Open_im_sdkGetFriendApplicationListAsApplicant(proxy, operationID, [req json]);
908911
}
909912

910913
RCT_EXPORT_METHOD(acceptFriendApplication:(NSDictionary *)userIDHandleMsg operationID:(NSString *)operationID resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
@@ -990,6 +993,15 @@ - (NSArray *)parseJsonStr2Array:(NSString *)jsonStr {
990993
Open_im_sdkChangeGroupMute(proxy, operationID, groupID, isMute);
991994
}
992995

996+
RCT_EXPORT_METHOD(changeGroupMemberMute:(NSDictionary *)options operationID:(NSString *)operationID resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
997+
RNCallbackProxy *proxy = [[RNCallbackProxy alloc] initWithCallback:resolver rejecter:rejecter];
998+
NSString *groupID = options[@"groupID"];
999+
NSString *userID = options[@"userID"];
1000+
long mutedSeconds = [options[@"mutedSeconds"] longValue];
1001+
1002+
Open_im_sdkChangeGroupMemberMute(proxy, operationID, groupID, userID, mutedSeconds);
1003+
}
1004+
9931005
RCT_EXPORT_METHOD(setGroupMemberRoleLevel:(NSDictionary *)options operationID:(NSString *)operationID resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
9941006
RNCallbackProxy *proxy = [[RNCallbackProxy alloc] initWithCallback:resolver rejecter:rejecter];
9951007

@@ -1134,14 +1146,14 @@ - (NSArray *)parseJsonStr2Array:(NSString *)jsonStr {
11341146
Open_im_sdkInviteUserToGroup(proxy, operationID, groupID, reason, [userIDList json]);
11351147
}
11361148

1137-
RCT_EXPORT_METHOD(getGroupApplicationListAsRecipient:(NSString *)operationID resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
1149+
RCT_EXPORT_METHOD(getGroupApplicationListAsRecipient:(NSString *)operationID req: (NSDictionary *)req resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
11381150
RNCallbackProxy *proxy = [[RNCallbackProxy alloc] initWithCallback:resolver rejecter:rejecter];
1139-
Open_im_sdkGetGroupApplicationListAsRecipient(proxy, operationID);
1151+
Open_im_sdkGetGroupApplicationListAsRecipient(proxy, operationID, [req json]);
11401152
}
11411153

1142-
RCT_EXPORT_METHOD(getGroupApplicationListAsApplicant:(NSString *)operationID resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
1154+
RCT_EXPORT_METHOD(getGroupApplicationListAsApplicant:(NSString *)operationID req: (NSDictionary *)req resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
11431155
RNCallbackProxy *proxy = [[RNCallbackProxy alloc] initWithCallback:resolver rejecter:rejecter];
1144-
Open_im_sdkGetGroupApplicationListAsApplicant(proxy, operationID);
1156+
Open_im_sdkGetGroupApplicationListAsApplicant(proxy, operationID, [req json]);
11451157
}
11461158

11471159
RCT_EXPORT_METHOD(acceptGroupApplication:(NSDictionary *)options operationID:(NSString *)operationID resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
@@ -1185,7 +1197,7 @@ - (NSArray *)parseJsonStr2Array:(NSString *)jsonStr {
11851197
Open_im_sdkIsJoinGroup(proxy, operationID, groupID);
11861198
}
11871199

1188-
RCT_EXPORT_METHOD(addAdvancedMsgListener) {
1200+
RCT_EXPORT_METHOD(setAdvancedMsgListener) {
11891201
Open_im_sdkSetAdvancedMsgListener(self);
11901202
}
11911203

@@ -1194,17 +1206,14 @@ - (NSArray *)parseJsonStr2Array:(NSString *)jsonStr {
11941206
Open_im_sdkUnInitSDK(operationID);
11951207
}
11961208

1197-
RCT_EXPORT_METHOD(updateFcmToken:(NSDictionary *)options operationID:(NSString *)operationID resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
1209+
RCT_EXPORT_METHOD(updateFcmToken:(NSString *)fcmToken expireTime:(nonnull NSNumber *)expireTime operationID:(NSString *)operationID resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
11981210
RNCallbackProxy *proxy = [[RNCallbackProxy alloc] initWithCallback:resolver rejecter:rejecter];
1199-
NSArray *userIDList = options[@"userIDList"];
1200-
NSInteger expiredTime = [options[@"expiredTime"] integerValue];
1201-
1202-
Open_im_sdkUpdateFcmToken(proxy, operationID, [userIDList json], (long)expiredTime);
1211+
Open_im_sdkUpdateFcmToken(proxy, operationID, fcmToken, (int64_t)[expireTime intValue]);
12031212
}
12041213

1205-
RCT_EXPORT_METHOD(setAppBadge:(int32_t)appUnreadCount operationID:(NSString *)operationID resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
1214+
RCT_EXPORT_METHOD(setAppBadge:(nonnull NSNumber *)appUnreadCount operationID:(NSString *)operationID resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
12061215
RNCallbackProxy *proxy = [[RNCallbackProxy alloc] initWithCallback:resolver rejecter:rejecter];
1207-
Open_im_sdkSetAppBadge(proxy, operationID, appUnreadCount);
1216+
Open_im_sdkSetAppBadge(proxy, operationID, (int32_t)[appUnreadCount intValue]);
12081217
}
12091218

12101219
RCT_EXPORT_METHOD(uploadLogs:(NSDictionary *)options operationID:(NSString *)operationID resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
@@ -1222,8 +1231,9 @@ - (NSArray *)parseJsonStr2Array:(NSString *)jsonStr {
12221231

12231232
RCT_EXPORT_METHOD(logs:(NSDictionary *)options operationID:(NSString *)operationID resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {
12241233
RNCallbackProxy *proxy = [[RNCallbackProxy alloc] initWithCallback:resolver rejecter:rejecter];
1234+
NSArray* keyAndValue = [options valueForKey:@"keyAndValue"];
12251235

1226-
Open_im_sdkLogs(proxy, operationID, [[options valueForKey:@"logLevel"] longValue],[options valueForKey:@"file"],[[options valueForKey:@"line"] longValue],[options valueForKey:@"msgs"],[options valueForKey:@"err"],[options valueForKey:@"keyAndValue"]);
1236+
Open_im_sdkLogs(proxy, operationID, [[options valueForKey:@"logLevel"] longValue],[options valueForKey:@"file"],[[options valueForKey:@"line"] longValue],[options valueForKey:@"msgs"],[options valueForKey:@"err"],[keyAndValue json]);
12271237
}
12281238

12291239
RCT_EXPORT_METHOD(getSdkVersion:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter) {

open-im-sdk-rn.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Pod::Spec.new do |s|
2323
# else
2424
s.static_framework = true
2525
s.dependency "React-Core"
26-
s.dependency "OpenIMSDKCore","3.8.3+3"
26+
s.dependency "OpenIMSDKCore","3.8.3-hotfix.10"
2727
s.library = 'resolv'
2828
# Don't install the dependencies when we run `pod install` in the old architecture.
2929
if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"name": "open-im-sdk-rn",
3-
"version": "3.8.3-patch.3",
2+
"name": "@openim/rn-client-sdk",
3+
"version": "3.8.3-patch.10",
44
"description": "OpenIM SDK for react-native",
55
"main": "lib/commonjs/index",
66
"module": "lib/module/index",

0 commit comments

Comments
 (0)