Merge branch 'v2.3.0release' of github.com:OpenIMSDK/Open-IM-Server into v2.3.0release

This commit is contained in:
wangchuxiao 2023-02-10 11:32:25 +08:00
commit f328ebc300
20 changed files with 787 additions and 702 deletions

View File

@ -27,7 +27,6 @@ By deployment of the Open-IM-Server on the customer's server, developers can int
## Community ## Community
- Join Slack Community : https://join.slack.com/t/openimcommunity/shared_invite/zt-1jo5m1wm9-ym2qj0LUU5UbO68L6Z1zQg
- 中文官网访问这里:[Open-IM中文开发文档](https://doc.rentsoft.cn/) - 中文官网访问这里:[Open-IM中文开发文档](https://doc.rentsoft.cn/)
## Quick start ## Quick start

@ -1 +1 @@
Subproject commit e7bf4b2a2066e8836dccd908d11b4d37c1c6a4ce Subproject commit e731cb86ec9314a0b30b4f8331d53854c2c9d858

View File

@ -175,8 +175,10 @@ func main() {
conversationGroup.POST("/get_all_conversations", conversation.GetAllConversations) conversationGroup.POST("/get_all_conversations", conversation.GetAllConversations)
conversationGroup.POST("/get_conversation", conversation.GetConversation) conversationGroup.POST("/get_conversation", conversation.GetConversation)
conversationGroup.POST("/get_conversations", conversation.GetConversations) conversationGroup.POST("/get_conversations", conversation.GetConversations)
//deprecated
conversationGroup.POST("/set_conversation", conversation.SetConversation) conversationGroup.POST("/set_conversation", conversation.SetConversation)
conversationGroup.POST("/batch_set_conversation", conversation.BatchSetConversations) conversationGroup.POST("/batch_set_conversation", conversation.BatchSetConversations)
//deprecated
conversationGroup.POST("/set_recv_msg_opt", conversation.SetRecvMsgOpt) conversationGroup.POST("/set_recv_msg_opt", conversation.SetRecvMsgOpt)
conversationGroup.POST("/modify_conversation_field", conversation.ModifyConversationField) conversationGroup.POST("/modify_conversation_field", conversation.ModifyConversationField)
} }

View File

@ -115,11 +115,11 @@ sdk:
#对象存储服务以下配置二选一目前支持两种腾讯云和minio二者配置好其中一种即可如果使用minio参考https://doc.rentsoft.cn/#/qa/minio搭建minio服务器 #对象存储服务以下配置二选一目前支持两种腾讯云和minio二者配置好其中一种即可如果使用minio参考https://doc.rentsoft.cn/#/qa/minio搭建minio服务器
credential: #腾讯cos发送图片、视频、文件时需要请自行申请后替换必须修改 credential: #腾讯cos发送图片、视频、文件时需要请自行申请后替换必须修改
tencent: tencent:
appID: 1302656840 appID:
region: ap-chengdu region:
bucket: echat-1302656840 bucket:
secretID: AKIDGNYVChzIQinu7QEgtNp0hnNgqcV8vZTC1 secretID:
secretKey: kz15vW83qM6dBUWIq681eBZA0c0vlIbe1 secretKey:
minio: #MinIO 发送图片、视频、文件时需要,请自行申请后替换,必须修改。 客户端初始化InitSDK中 object_storage参数为minio minio: #MinIO 发送图片、视频、文件时需要,请自行申请后替换,必须修改。 客户端初始化InitSDK中 object_storage参数为minio
bucket: openim # 存储内容桶 bucket: openim # 存储内容桶
appBucket: app # 存储app的桶 appBucket: app # 存储app的桶
@ -132,24 +132,24 @@ credential: #腾讯cos发送图片、视频、文件时需要请自行申
storageTime: 50 #文件在minio中保存的时间 storageTime: 50 #文件在minio中保存的时间
isDistributedMod: false # 是否分布式多硬盘部署 默认docker-compose中为false isDistributedMod: false # 是否分布式多硬盘部署 默认docker-compose中为false
ali: # ali oss ali: # ali oss
regionID: "oss-cn-beijing" regionID:
accessKeyID: "" accessKeyID:
accessKeySecret: "" accessKeySecret:
stsEndpoint: "sts.cn-beijing.aliyun.com" stsEndpoint:
ossEndpoint: "oss-cn-beijing.aliyuncs.com" ossEndpoint:
bucket: "bucket1" bucket:
finalHost: "http://bucket1.oss-cn-beijing.aliyuncs.com" finalHost:
stsDurationSeconds: 3600 stsDurationSeconds:
OssRoleArn: "acs:ram::xxx:role/xxx" OssRoleArn:
aws: aws:
accessKeyID: 1 #AssumeRole用户关联的accessKeyID accessKeyID: #AssumeRole用户关联的accessKeyID
accessKeySecret: 2 #AssumeRole用户关联的accessKeySecrect accessKeySecret: #AssumeRole用户关联的accessKeySecrect
region: ap-southeast-1 #分区 region: #分区
bucket: ouyang #桶 bucket: #桶
finalHost: ouyang.s3.ap-southeast-1.amazonaws.com #对外Host finalHost: #对外Host
roleArn: arn:aws:iam::192209831083:role/AWS_S3_FOR_OUYANG #RoleArn roleArn: #RoleArn
externalId: AssumeRoleExtend #角色扩展Id externalId: #角色扩展Id
roleSessionName: Required-AWS-ID-OPENIM #角色SESSION名称 roleSessionName: #角色SESSION名称
rpcport: #rpc服务端口 默认即可 rpcport: #rpc服务端口 默认即可
@ -216,17 +216,17 @@ longconnsvr:
push: push:
tpns: #腾讯推送,暂未测试 暂不要使用 tpns: #腾讯推送,暂未测试 暂不要使用
ios: ios:
accessID: 1600018281 accessID:
secretKey: 3cd68a77a95b89e5089a1aca523f318f secretKey:
android: android:
accessID: 111 accessID:
secretKey: 111 secretKey:
enable: false # true or false (bool) enable: false # true or false (bool)
jpns: #极光推送 在极光后台申请后,修改以下四项,必须修改 jpns: #极光推送 在极光后台申请后,修改以下四项,必须修改
appKey: cf47465a368f24c659608e7e appKey:
masterSecret: 02204efe3f3832947a236ee5 masterSecret:
pushUrl: "https://api.jpush.cn/v3/push" pushUrl:
pushIntent: "intent:#Intent;component=io.openim.app.enterprisechat/io.openim.app.enterprisechat.MainActivity;end" pushIntent:
enable: false # true or false (bool) enable: false # true or false (bool)
getui: #个推推送 getui: #个推推送
pushUrl: pushUrl:
@ -237,13 +237,13 @@ push:
channelID: "" channelID: ""
channelName: "" channelName: ""
fcm: #firebase cloud message 消息推送 fcm: #firebase cloud message 消息推送
serviceAccount: "openim-5c6c0-firebase-adminsdk-ppwol-8765884a78.json" #帐号文件,此处需要改修配置,并且这个文件放在 config目录下 serviceAccount: #帐号文件,此处需要改修配置,并且这个文件放在 config目录下
enable: false enable: false
mob: #袤博推送 mob: #袤博推送
appKey: "3377f689a25" #帐号文件,此处需要改修配置,并且这个文件放在 config目录下 appKey: #帐号文件,此处需要改修配置,并且这个文件放在 config目录下
pushUrl: "https://api.push.mob.com/v3/push/createPush" pushUrl:
scheme: "dianzhijiaunilinks://dianzhijia.com?page=rent" scheme:
appSecret: "77b4e20e94db3a776b87d8693be23e" appSecret:
enable: false enable: false
@ -765,18 +765,18 @@ demo:
#demo对外服务端口默认即可需要开放此端口或做nginx转发 #demo对外服务端口默认即可需要开放此端口或做nginx转发
openImDemoPort: [ 10004 ] openImDemoPort: [ 10004 ]
alismsverify: #阿里云短信配置在阿里云申请成功后修改以下四项enable为true则必须修改阿里云为默认短信验证方式 alismsverify: #阿里云短信配置在阿里云申请成功后修改以下四项enable为true则必须修改阿里云为默认短信验证方式
accessKeyId: LTAI5tJPkn4HuuePdiLdGqe7 accessKeyId:
accessKeySecret: 4n9OJ7ZCVN1U6KeHDAtOyNeVZcjOuV accessKeySecret:
signName: 托云信息技术 signName:
verificationCodeTemplateCode: SMS_226810164 verificationCodeTemplateCode:
enable: false enable: false
tencentsms: #腾讯云短信配置在腾讯云申请成功后修改以下选项enable为true则必须修改 tencentsms: #腾讯云短信配置在腾讯云申请成功后修改以下选项enable为true则必须修改
appID: 2400000648 appID:
region: "ap-singapore" region:
secretID: IKIDra4JPGsFMDwQedMq42lESQBgwwgBQQAe secretID:
secretKey: HI6fz4uUotjJdiX6QUIrAE2buxlKdgU2 secretKey:
signName: "" signName:
verificationCodeTemplateCode: 2902877 verificationCodeTemplateCode:
enable: true enable: true
superCode: 666666 #超级验证码,建议修改掉,收不到短信验证码时可以用此替代 superCode: 666666 #超级验证码,建议修改掉,收不到短信验证码时可以用此替代
needInvitationCode: false needInvitationCode: false
@ -784,11 +784,11 @@ demo:
codeTTL: 60 codeTTL: 60
useSuperCode: true useSuperCode: true
mail: #仅支持qq邮箱具体操作参考 https://service.mail.qq.com/cgi-bin/help?subtype=1&id=28&no=1001256 必须修改 mail: #仅支持qq邮箱具体操作参考 https://service.mail.qq.com/cgi-bin/help?subtype=1&id=28&no=1001256 必须修改
title: "openIM" title:
senderMail: "765567899@qq.com" senderMail:
senderAuthorizationCode: "gxyausfoevlzbfag" senderAuthorizationCode:
smtpAddr: "smtp.qq.com" smtpAddr:
smtpPort: 25 #需开放此端口 出口方向 smtpPort: #需开放此端口 出口方向
testDepartMentID: 001 testDepartMentID: 001
imAPIURL: http://127.0.0.1:10002 imAPIURL: http://127.0.0.1:10002
onboardProcess: false # 是否开启注册流程 onboardProcess: false # 是否开启注册流程

View File

@ -38,6 +38,7 @@ func SetOptions(options map[string]bool, value bool) {
func newUserSendMsgReq(params *api.ManagementSendMsgReq) *pbChat.SendMsgReq { func newUserSendMsgReq(params *api.ManagementSendMsgReq) *pbChat.SendMsgReq {
var newContent string var newContent string
options := make(map[string]bool, 5)
var err error var err error
switch params.ContentType { switch params.ContentType {
case constant.Text: case constant.Text:
@ -57,12 +58,13 @@ func newUserSendMsgReq(params *api.ManagementSendMsgReq) *pbChat.SendMsgReq {
case constant.CustomOnlineOnly: case constant.CustomOnlineOnly:
fallthrough fallthrough
case constant.AdvancedRevoke: case constant.AdvancedRevoke:
utils.SetSwitchFromOptions(options, constant.IsUnreadCount, false)
newContent = utils.StructToJsonString(params.Content) newContent = utils.StructToJsonString(params.Content)
case constant.Revoke: case constant.Revoke:
utils.SetSwitchFromOptions(options, constant.IsUnreadCount, false)
newContent = params.Content["revokeMsgClientID"].(string) newContent = params.Content["revokeMsgClientID"].(string)
default: default:
} }
options := make(map[string]bool, 5)
if params.IsOnlineOnly { if params.IsOnlineOnly {
SetOptions(options, false) SetOptions(options, false)
} }

View File

@ -33,7 +33,7 @@ func SetMessageReactionExtensions(c *gin.Context) {
} }
var ok bool var ok bool
var errInfo string var errInfo string
ok, reqPb.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) ok, reqPb.OpUserID, errInfo, reqPb.OpUserIDPlatformID = token_verify.GetUserIDAndPlatformIDFromToken(c.Request.Header.Get("token"), req.OperationID)
if !ok { if !ok {
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
log.NewError(req.OperationID, errMsg) log.NewError(req.OperationID, errMsg)
@ -129,7 +129,7 @@ func AddMessageReactionExtensions(c *gin.Context) {
} }
var ok bool var ok bool
var errInfo string var errInfo string
ok, reqPb.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) ok, reqPb.OpUserID, errInfo, reqPb.OpUserIDPlatformID = token_verify.GetUserIDAndPlatformIDFromToken(c.Request.Header.Get("token"), req.OperationID)
if !ok { if !ok {
errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token")
log.NewError(req.OperationID, errMsg) log.NewError(req.OperationID, errMsg)
@ -154,8 +154,8 @@ func AddMessageReactionExtensions(c *gin.Context) {
resp.ErrCode = respPb.ErrCode resp.ErrCode = respPb.ErrCode
resp.ErrMsg = respPb.ErrMsg resp.ErrMsg = respPb.ErrMsg
resp.Data.ResultKeyValue = respPb.Result resp.Data.ResultKeyValue = respPb.Result
resp.Data.MsgFirstModifyTime = reqPb.MsgFirstModifyTime resp.Data.MsgFirstModifyTime = respPb.MsgFirstModifyTime
resp.Data.IsReact = reqPb.IsReact resp.Data.IsReact = respPb.IsReact
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp)
c.JSON(http.StatusOK, resp) c.JSON(http.StatusOK, resp)
} }

View File

@ -79,9 +79,6 @@ func MsgToUser(pushMsg *pbPush.PushMsgReq) {
return return
} }
} }
if pushMsg.MsgData.ContentType > constant.NotificationBegin && pushMsg.MsgData.ContentType < constant.NotificationEnd && pushMsg.MsgData.ContentType != constant.SignalingNotification {
return
}
if pushMsg.MsgData.ContentType == constant.SignalingNotification { if pushMsg.MsgData.ContentType == constant.SignalingNotification {
isSend, err := db.DB.HandleSignalInfo(pushMsg.OperationID, pushMsg.MsgData, pushMsg.PushToUserID) isSend, err := db.DB.HandleSignalInfo(pushMsg.OperationID, pushMsg.MsgData, pushMsg.PushToUserID)
if err != nil { if err != nil {
@ -201,9 +198,6 @@ func MsgToSuperGroupUser(pushMsg *pbPush.PushMsgReq) {
log.Debug(pushMsg.OperationID, "push_result", wsResult, "sendData", pushMsg.MsgData) log.Debug(pushMsg.OperationID, "push_result", wsResult, "sendData", pushMsg.MsgData)
successCount++ successCount++
if isOfflinePush { if isOfflinePush {
if pushMsg.MsgData.ContentType > constant.NotificationBegin && pushMsg.MsgData.ContentType < constant.NotificationEnd && pushMsg.MsgData.ContentType != constant.SignalingNotification {
return
}
var onlineSuccessUserIDList []string var onlineSuccessUserIDList []string
var WebAndPcBackgroundUserIDList []string var WebAndPcBackgroundUserIDList []string
onlineSuccessUserIDList = append(onlineSuccessUserIDList, pushMsg.MsgData.SendID) onlineSuccessUserIDList = append(onlineSuccessUserIDList, pushMsg.MsgData.SendID)

View File

@ -743,6 +743,12 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou
resp.ErrMsg = constant.ErrDB.ErrMsg resp.ErrMsg = constant.ErrDB.ErrMsg
return &resp, nil return &resp, nil
} }
if err := rocksCache.DelGroupMemberListHashFromCache(req.GroupID); err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), req.GroupID, err.Error())
}
if err := rocksCache.DelGroupMemberIDListFromCache(req.GroupID); err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID)
}
reqPb := pbConversation.ModifyConversationFieldReq{Conversation: &pbConversation.Conversation{}} reqPb := pbConversation.ModifyConversationFieldReq{Conversation: &pbConversation.Conversation{}}
reqPb.OperationID = req.OperationID reqPb.OperationID = req.OperationID
reqPb.UserIDList = okUserIDList reqPb.UserIDList = okUserIDList
@ -1330,7 +1336,8 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf
} }
log.NewInfo(req.OperationID, "SetGroupInfo rpc return ", pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{}}) log.NewInfo(req.OperationID, "SetGroupInfo rpc return ", pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{}})
if changedType != 0 { if changedType != 0 {
chat.GroupInfoSetNotification(req.OperationID, req.OpUserID, req.GroupInfoForSet.GroupID, groupName, notification, introduction, faceURL, req.GroupInfoForSet.NeedVerification) chat.GroupInfoSetNotification(req.OperationID, req.OpUserID, req.GroupInfoForSet.GroupID, groupName, notification,
introduction, faceURL, req.GroupInfoForSet.NeedVerification, req.GroupInfoForSet.ApplyMemberFriend, req.GroupInfoForSet.LookMemberInfo)
} }
if req.GroupInfoForSet.Notification != "" { if req.GroupInfoForSet.Notification != "" {
//get group member user id //get group member user id

View File

@ -44,7 +44,7 @@ func (rpc *rpcChat) DelSuperGroupMsg(_ context.Context, req *msg.DelSuperGroupMs
resp.ErrMsg = err.Error() resp.ErrMsg = err.Error()
return resp, nil return resp, nil
} }
err = db.DB.SetGroupUserMinSeq(req.GroupID, req.UserID, groupMaxSeq+1) err = db.DB.SetGroupUserMinSeq(req.GroupID, req.UserID, groupMaxSeq)
if err != nil { if err != nil {
log.NewError(req.OperationID, "SetGroupUserMinSeq false ", req.OpUserID, req.UserID, req.GroupID) log.NewError(req.OperationID, "SetGroupUserMinSeq false ", req.OpUserID, req.UserID, req.GroupID)
resp.ErrCode = constant.ErrDB.ErrCode resp.ErrCode = constant.ErrDB.ErrCode

View File

@ -41,7 +41,7 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S
} }
rResp.MsgFirstModifyTime = callbackResp.MsgFirstModifyTime rResp.MsgFirstModifyTime = callbackResp.MsgFirstModifyTime
rResp.Result = callbackResp.ResultReactionExtensionList rResp.Result = callbackResp.ResultReactionExtensionList
ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, isHistory, false) ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.OpUserIDPlatformID, req.SessionType, req, &rResp, isHistory, false)
return &rResp, nil return &rResp, nil
} }
for _, v := range callbackResp.ResultReactionExtensionList { for _, v := range callbackResp.ResultReactionExtensionList {
@ -187,12 +187,12 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S
} }
if !isExists { if !isExists {
if !req.IsReact { if !req.IsReact {
ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, true, true) ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.OpUserIDPlatformID, req.SessionType, req, &rResp, true, true)
} else { } else {
ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false, false) ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.OpUserIDPlatformID, req.SessionType, req, &rResp, false, false)
} }
} else { } else {
ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false, true) ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.OpUserIDPlatformID, req.SessionType, req, &rResp, false, true)
} }
log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", rResp.String()) log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", rResp.String())
return &rResp, nil return &rResp, nil
@ -323,7 +323,8 @@ func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.A
rResp.MsgFirstModifyTime = callbackResp.MsgFirstModifyTime rResp.MsgFirstModifyTime = callbackResp.MsgFirstModifyTime
rResp.Result = callbackResp.ResultReactionExtensionList rResp.Result = callbackResp.ResultReactionExtensionList
rResp.IsReact = callbackResp.IsReact rResp.IsReact = callbackResp.IsReact
ExtendMessageAddedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, isHistory, false) ExtendMessageAddedNotification(req.OperationID, req.OpUserID, req.SourceID, req.OpUserIDPlatformID, req.SessionType, req, &rResp, isHistory, false)
log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", resp.String())
return &rResp, nil return &rResp, nil
} }
@ -346,7 +347,7 @@ func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *ms
//if ExternalExtension //if ExternalExtension
if req.IsExternalExtensions { if req.IsExternalExtensions {
rResp.Result = callbackResp.ResultReactionExtensionList rResp.Result = callbackResp.ResultReactionExtensionList
ExtendMessageDeleteNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false, false) ExtendMessageDeleteNotification(req.OperationID, req.OpUserID, req.SourceID, req.OpUserIDPlatformID, req.SessionType, req, &rResp, false, false)
return &rResp, nil return &rResp, nil
} }
@ -470,7 +471,7 @@ func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *ms
} }
} }
ExtendMessageDeleteNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false, isExists) ExtendMessageDeleteNotification(req.OperationID, req.OpUserID, req.SourceID, req.OpUserIDPlatformID, req.SessionType, req, &rResp, false, isExists)
log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", rResp.String()) log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", rResp.String())
return &rResp, nil return &rResp, nil
} }

View File

@ -13,7 +13,7 @@ import (
"strings" "strings"
) )
func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID string, sessionType int32, func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID string, senderPlatformID, sessionType int32,
req *msg.SetMessageReactionExtensionsReq, resp *msg.SetMessageReactionExtensionsResp, isHistory bool, isReactionFromCache bool) { req *msg.SetMessageReactionExtensionsReq, resp *msg.SetMessageReactionExtensionsResp, isHistory bool, isReactionFromCache bool) {
var m base_info.ReactionMessageModifierNotification var m base_info.ReactionMessageModifierNotification
m.SourceID = req.SourceID m.SourceID = req.SourceID
@ -35,9 +35,9 @@ func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID strin
m.IsReact = resp.IsReact m.IsReact = resp.IsReact
m.IsExternalExtensions = req.IsExternalExtensions m.IsExternalExtensions = req.IsExternalExtensions
m.MsgFirstModifyTime = resp.MsgFirstModifyTime m.MsgFirstModifyTime = resp.MsgFirstModifyTime
messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory, isReactionFromCache) messageReactionSender(operationID, sendID, sourceID, senderPlatformID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory, isReactionFromCache)
} }
func ExtendMessageAddedNotification(operationID, sendID string, sourceID string, sessionType int32, func ExtendMessageAddedNotification(operationID, sendID string, sourceID string, senderPlatformID, sessionType int32,
req *msg.AddMessageReactionExtensionsReq, resp *msg.AddMessageReactionExtensionsResp, isHistory bool, isReactionFromCache bool) { req *msg.AddMessageReactionExtensionsReq, resp *msg.AddMessageReactionExtensionsResp, isHistory bool, isReactionFromCache bool) {
var m base_info.ReactionMessageModifierNotification var m base_info.ReactionMessageModifierNotification
m.SourceID = req.SourceID m.SourceID = req.SourceID
@ -59,9 +59,9 @@ func ExtendMessageAddedNotification(operationID, sendID string, sourceID string,
m.IsReact = resp.IsReact m.IsReact = resp.IsReact
m.IsExternalExtensions = req.IsExternalExtensions m.IsExternalExtensions = req.IsExternalExtensions
m.MsgFirstModifyTime = resp.MsgFirstModifyTime m.MsgFirstModifyTime = resp.MsgFirstModifyTime
messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory, isReactionFromCache) messageReactionSender(operationID, sendID, sourceID, senderPlatformID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory, isReactionFromCache)
} }
func ExtendMessageDeleteNotification(operationID, sendID string, sourceID string, sessionType int32, func ExtendMessageDeleteNotification(operationID, sendID string, sourceID string, senderPlatformID, sessionType int32,
req *msg.DeleteMessageListReactionExtensionsReq, resp *msg.DeleteMessageListReactionExtensionsResp, isHistory bool, isReactionFromCache bool) { req *msg.DeleteMessageListReactionExtensionsReq, resp *msg.DeleteMessageListReactionExtensionsResp, isHistory bool, isReactionFromCache bool) {
var m base_info.ReactionMessageDeleteNotification var m base_info.ReactionMessageDeleteNotification
m.SourceID = req.SourceID m.SourceID = req.SourceID
@ -81,9 +81,9 @@ func ExtendMessageDeleteNotification(operationID, sendID string, sourceID string
m.ClientMsgID = req.ClientMsgID m.ClientMsgID = req.ClientMsgID
m.MsgFirstModifyTime = req.MsgFirstModifyTime m.MsgFirstModifyTime = req.MsgFirstModifyTime
messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageDeleter, utils.StructToJsonString(m), isHistory, isReactionFromCache) messageReactionSender(operationID, sendID, sourceID, senderPlatformID, sessionType, constant.ReactionMessageDeleter, utils.StructToJsonString(m), isHistory, isReactionFromCache)
} }
func messageReactionSender(operationID, sendID string, sourceID string, sessionType, contentType int32, content string, isHistory bool, isReactionFromCache bool) { func messageReactionSender(operationID, sendID string, sourceID string, senderPlatformID, sessionType, contentType int32, content string, isHistory bool, isReactionFromCache bool) {
options := make(map[string]bool, 5) options := make(map[string]bool, 5)
utils.SetSwitchFromOptions(options, constant.IsOfflinePush, false) utils.SetSwitchFromOptions(options, constant.IsOfflinePush, false)
utils.SetSwitchFromOptions(options, constant.IsConversationUpdate, false) utils.SetSwitchFromOptions(options, constant.IsConversationUpdate, false)
@ -98,6 +98,7 @@ func messageReactionSender(operationID, sendID string, sourceID string, sessionT
OperationID: operationID, OperationID: operationID,
MsgData: &open_im_sdk.MsgData{ MsgData: &open_im_sdk.MsgData{
SendID: sendID, SendID: sendID,
SenderPlatformID: senderPlatformID,
ClientMsgID: utils.GetMsgID(sendID), ClientMsgID: utils.GetMsgID(sendID),
SessionType: sessionType, SessionType: sessionType,
MsgFrom: constant.SysMsgType, MsgFrom: constant.SysMsgType,

View File

@ -94,7 +94,7 @@ func callbackAddMessageReactionExtensions(setReq *msg.AddMessageReactionExtensio
MsgFirstModifyTime: setReq.MsgFirstModifyTime, MsgFirstModifyTime: setReq.MsgFirstModifyTime,
} }
resp := &cbApi.CallbackAddMessageReactionExtResp{CommonCallbackResp: &callbackResp} resp := &cbApi.CallbackAddMessageReactionExtResp{CommonCallbackResp: &callbackResp}
defer log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), req, *resp) defer log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), req, *resp, *resp.CommonCallbackResp, resp.IsReact, resp.MsgFirstModifyTime)
if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackAddMessageListReactionExtensionsCommand, req, resp, config.Config.Callback.CallbackAfterSendGroupMsg.CallbackTimeOut); err != nil { if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackAddMessageListReactionExtensionsCommand, req, resp, config.Config.Callback.CallbackAfterSendGroupMsg.CallbackTimeOut); err != nil {
callbackResp.ErrCode = http2.StatusInternalServerError callbackResp.ErrCode = http2.StatusInternalServerError
callbackResp.ErrMsg = err.Error() callbackResp.ErrMsg = err.Error()

View File

@ -245,12 +245,15 @@ func GroupCreatedNotification(operationID, opUserID, groupID string, initMemberL
// notification := "" // notification := ""
// introduction := "" // introduction := ""
// faceURL := "" // faceURL := ""
func GroupInfoSetNotification(operationID, opUserID, groupID string, groupName, notification, introduction, faceURL string, needVerification *wrapperspb.Int32Value) { func GroupInfoSetNotification(operationID, opUserID, groupID string, groupName, notification, introduction, faceURL string, needVerification, applyMemberFriend, lookMemberInfo *wrapperspb.Int32Value) {
GroupInfoChangedTips := open_im_sdk.GroupInfoSetTips{Group: &open_im_sdk.GroupInfo{}, OpUser: &open_im_sdk.GroupMemberFullInfo{}} GroupInfoChangedTips := open_im_sdk.GroupInfoSetTips{Group: &open_im_sdk.GroupInfo{}, OpUser: &open_im_sdk.GroupMemberFullInfo{}}
if err := setGroupInfo(groupID, GroupInfoChangedTips.Group); err != nil { if err := setGroupInfo(groupID, GroupInfoChangedTips.Group); err != nil {
log.Error(operationID, "setGroupInfo failed ", err.Error(), groupID) log.Error(operationID, "setGroupInfo failed ", err.Error(), groupID)
return return
} }
GroupInfoChangedTips.Group.NeedVerification = 0
GroupInfoChangedTips.Group.LookMemberInfo = 0
GroupInfoChangedTips.Group.ApplyMemberFriend = 0
GroupInfoChangedTips.Group.GroupName = groupName GroupInfoChangedTips.Group.GroupName = groupName
GroupInfoChangedTips.Group.Notification = notification GroupInfoChangedTips.Group.Notification = notification
GroupInfoChangedTips.Group.Introduction = introduction GroupInfoChangedTips.Group.Introduction = introduction
@ -258,6 +261,12 @@ func GroupInfoSetNotification(operationID, opUserID, groupID string, groupName,
if needVerification != nil { if needVerification != nil {
GroupInfoChangedTips.Group.NeedVerification = needVerification.Value GroupInfoChangedTips.Group.NeedVerification = needVerification.Value
} }
if applyMemberFriend != nil {
GroupInfoChangedTips.Group.ApplyMemberFriend = applyMemberFriend.Value
}
if lookMemberInfo != nil {
GroupInfoChangedTips.Group.LookMemberInfo = lookMemberInfo.Value
}
if err := setOpUserInfo(opUserID, groupID, GroupInfoChangedTips.OpUser); err != nil { if err := setOpUserInfo(opUserID, groupID, GroupInfoChangedTips.OpUser); err != nil {
log.Error(operationID, "setOpUserInfo failed ", err.Error(), opUserID, groupID) log.Error(operationID, "setOpUserInfo failed ", err.Error(), opUserID, groupID)

View File

@ -18,6 +18,7 @@ func SuperGroupNotification(operationID, sendID, recvID string) {
SessionType: constant.SingleChatType, SessionType: constant.SingleChatType,
OperationID: operationID, OperationID: operationID,
} }
log.NewInfo(operationID, utils.GetSelfFuncName(), string(n.Content)) log.NewInfo(operationID, utils.GetSelfFuncName(), string(n.Content))
Notification(n) Notification(n)
} }

View File

@ -578,7 +578,6 @@ func GetExtendMsg(sourceID string, sessionType int32, clientMsgID string, firstM
} }
return string(bytes), nil return string(bytes), nil
} }
extendMsgStr, err := db.DB.Rc.Fetch(extendMsgCache+clientMsgID, time.Second*30*60, getExtendMsg) extendMsgStr, err := db.DB.Rc.Fetch(extendMsgCache+clientMsgID, time.Second*30*60, getExtendMsg)
if err != nil { if err != nil {
return nil, utils.Wrap(err, "Fetch failed") return nil, utils.Wrap(err, "Fetch failed")

View File

@ -159,6 +159,16 @@ func GetUserIDFromToken(token string, operationID string) (bool, string, string)
return true, claims.UID, "" return true, claims.UID, ""
} }
func GetUserIDAndPlatformIDFromToken(token string, operationID string) (bool, string, string, int32) {
claims, err := ParseToken(token, operationID)
if err != nil {
log.Error(operationID, "ParseToken failed, ", err.Error(), token)
return false, "", err.Error(), 0
}
log.Debug(operationID, "token claims.ExpiresAt.Second() ", claims.ExpiresAt.Unix())
return true, claims.UID, "", int32(constant.PlatformNameToID(claims.Platform))
}
func GetUserIDFromTokenExpireTime(token string, operationID string) (bool, string, string, int64) { func GetUserIDFromTokenExpireTime(token string, operationID string) (bool, string, string, int64) {
claims, err := ParseToken(token, operationID) claims, err := ParseToken(token, operationID)
if err != nil { if err != nil {

View File

@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} }
func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) }
func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) ProtoMessage() {}
func (*MsgDataToMQ) Descriptor() ([]byte, []int) { func (*MsgDataToMQ) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{0} return fileDescriptor_msg_96239333e69eba2c, []int{0}
} }
func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b)
@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} }
func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) }
func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) ProtoMessage() {}
func (*MsgDataToDB) Descriptor() ([]byte, []int) { func (*MsgDataToDB) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{1} return fileDescriptor_msg_96239333e69eba2c, []int{1}
} }
func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b)
@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} }
func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) }
func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) ProtoMessage() {}
func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{2} return fileDescriptor_msg_96239333e69eba2c, []int{2}
} }
func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b)
@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} }
func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) }
func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) ProtoMessage() {}
func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{3} return fileDescriptor_msg_96239333e69eba2c, []int{3}
} }
func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b)
@ -273,7 +273,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} }
func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) ProtoMessage() {}
func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{4} return fileDescriptor_msg_96239333e69eba2c, []int{4}
} }
func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b)
@ -321,7 +321,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} }
func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) ProtoMessage() {}
func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{5} return fileDescriptor_msg_96239333e69eba2c, []int{5}
} }
func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b)
@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} }
func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) }
func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) ProtoMessage() {}
func (*SendMsgReq) Descriptor() ([]byte, []int) { func (*SendMsgReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{6} return fileDescriptor_msg_96239333e69eba2c, []int{6}
} }
func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { func (m *SendMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) return xxx_messageInfo_SendMsgReq.Unmarshal(m, b)
@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} }
func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) }
func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) ProtoMessage() {}
func (*SendMsgResp) Descriptor() ([]byte, []int) { func (*SendMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{7} return fileDescriptor_msg_96239333e69eba2c, []int{7}
} }
func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { func (m *SendMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) return xxx_messageInfo_SendMsgResp.Unmarshal(m, b)
@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} }
func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) }
func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) ProtoMessage() {}
func (*ClearMsgReq) Descriptor() ([]byte, []int) { func (*ClearMsgReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{8} return fileDescriptor_msg_96239333e69eba2c, []int{8}
} }
func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b)
@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} }
func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) }
func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) ProtoMessage() {}
func (*ClearMsgResp) Descriptor() ([]byte, []int) { func (*ClearMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{9} return fileDescriptor_msg_96239333e69eba2c, []int{9}
} }
func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b)
@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} }
func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) }
func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) ProtoMessage() {}
func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{10} return fileDescriptor_msg_96239333e69eba2c, []int{10}
} }
func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b)
@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} }
func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) }
func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) ProtoMessage() {}
func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{11} return fileDescriptor_msg_96239333e69eba2c, []int{11}
} }
func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b)
@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} }
func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) }
func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) ProtoMessage() {}
func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{12} return fileDescriptor_msg_96239333e69eba2c, []int{12}
} }
func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b)
@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} }
func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) }
func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) ProtoMessage() {}
func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{13} return fileDescriptor_msg_96239333e69eba2c, []int{13}
} }
func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b)
@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} }
func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) }
func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) ProtoMessage() {}
func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{14} return fileDescriptor_msg_96239333e69eba2c, []int{14}
} }
func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b)
@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} }
func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) }
func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) ProtoMessage() {}
func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{15} return fileDescriptor_msg_96239333e69eba2c, []int{15}
} }
func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b)
@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} }
func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) }
func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) ProtoMessage() {}
func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{16} return fileDescriptor_msg_96239333e69eba2c, []int{16}
} }
func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b)
@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} }
func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) }
func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) ProtoMessage() {}
func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{17} return fileDescriptor_msg_96239333e69eba2c, []int{17}
} }
func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b)
@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} }
func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) }
func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) ProtoMessage() {}
func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{18} return fileDescriptor_msg_96239333e69eba2c, []int{18}
} }
func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b)
@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} }
func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) }
func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) ProtoMessage() {}
func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{19} return fileDescriptor_msg_96239333e69eba2c, []int{19}
} }
func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b)
@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} }
func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) }
func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) ProtoMessage() {}
func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{20} return fileDescriptor_msg_96239333e69eba2c, []int{20}
} }
func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b)
@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} }
func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) }
func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) ProtoMessage() {}
func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{21} return fileDescriptor_msg_96239333e69eba2c, []int{21}
} }
func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b)
@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag
func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) }
func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {}
func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{22} return fileDescriptor_msg_96239333e69eba2c, []int{22}
} }
func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b)
@ -1331,14 +1331,15 @@ type SetMessageReactionExtensionsReq struct {
OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"`
SourceID string `protobuf:"bytes,2,opt,name=sourceID" json:"sourceID,omitempty"` SourceID string `protobuf:"bytes,2,opt,name=sourceID" json:"sourceID,omitempty"`
OpUserID string `protobuf:"bytes,3,opt,name=opUserID" json:"opUserID,omitempty"` OpUserID string `protobuf:"bytes,3,opt,name=opUserID" json:"opUserID,omitempty"`
SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` OpUserIDPlatformID int32 `protobuf:"varint,4,opt,name=opUserIDPlatformID" json:"opUserIDPlatformID,omitempty"`
ReactionExtensionList map[string]*sdk_ws.KeyValue `protobuf:"bytes,5,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` SessionType int32 `protobuf:"varint,5,opt,name=sessionType" json:"sessionType,omitempty"`
ClientMsgID string `protobuf:"bytes,6,opt,name=clientMsgID" json:"clientMsgID,omitempty"` ReactionExtensionList map[string]*sdk_ws.KeyValue `protobuf:"bytes,6,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
Ex *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=ex" json:"ex,omitempty"` ClientMsgID string `protobuf:"bytes,7,opt,name=clientMsgID" json:"clientMsgID,omitempty"`
AttachedInfo *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=attachedInfo" json:"attachedInfo,omitempty"` Ex *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=ex" json:"ex,omitempty"`
IsReact bool `protobuf:"varint,9,opt,name=isReact" json:"isReact,omitempty"` AttachedInfo *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=attachedInfo" json:"attachedInfo,omitempty"`
IsExternalExtensions bool `protobuf:"varint,10,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` IsReact bool `protobuf:"varint,10,opt,name=isReact" json:"isReact,omitempty"`
MsgFirstModifyTime int64 `protobuf:"varint,11,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` IsExternalExtensions bool `protobuf:"varint,11,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"`
MsgFirstModifyTime int64 `protobuf:"varint,12,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -1348,7 +1349,7 @@ func (m *SetMessageReactionExtensionsReq) Reset() { *m = SetMessageReact
func (m *SetMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (m *SetMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) }
func (*SetMessageReactionExtensionsReq) ProtoMessage() {} func (*SetMessageReactionExtensionsReq) ProtoMessage() {}
func (*SetMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { func (*SetMessageReactionExtensionsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{23} return fileDescriptor_msg_96239333e69eba2c, []int{23}
} }
func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b) return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b)
@ -1389,6 +1390,13 @@ func (m *SetMessageReactionExtensionsReq) GetOpUserID() string {
return "" return ""
} }
func (m *SetMessageReactionExtensionsReq) GetOpUserIDPlatformID() int32 {
if m != nil {
return m.OpUserIDPlatformID
}
return 0
}
func (m *SetMessageReactionExtensionsReq) GetSessionType() int32 { func (m *SetMessageReactionExtensionsReq) GetSessionType() int32 {
if m != nil { if m != nil {
return m.SessionType return m.SessionType
@ -1461,7 +1469,7 @@ func (m *SetMessageReactionExtensionsResp) Reset() { *m = SetMessageReac
func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) }
func (*SetMessageReactionExtensionsResp) ProtoMessage() {} func (*SetMessageReactionExtensionsResp) ProtoMessage() {}
func (*SetMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { func (*SetMessageReactionExtensionsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{24} return fileDescriptor_msg_96239333e69eba2c, []int{24}
} }
func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b) return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b)
@ -1527,14 +1535,15 @@ type AddMessageReactionExtensionsReq struct {
OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"`
SourceID string `protobuf:"bytes,2,opt,name=sourceID" json:"sourceID,omitempty"` SourceID string `protobuf:"bytes,2,opt,name=sourceID" json:"sourceID,omitempty"`
OpUserID string `protobuf:"bytes,3,opt,name=opUserID" json:"opUserID,omitempty"` OpUserID string `protobuf:"bytes,3,opt,name=opUserID" json:"opUserID,omitempty"`
SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` OpUserIDPlatformID int32 `protobuf:"varint,4,opt,name=opUserIDPlatformID" json:"opUserIDPlatformID,omitempty"`
ReactionExtensionList map[string]*sdk_ws.KeyValue `protobuf:"bytes,5,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` SessionType int32 `protobuf:"varint,5,opt,name=sessionType" json:"sessionType,omitempty"`
ClientMsgID string `protobuf:"bytes,6,opt,name=clientMsgID" json:"clientMsgID,omitempty"` ReactionExtensionList map[string]*sdk_ws.KeyValue `protobuf:"bytes,6,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
Ex *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=ex" json:"ex,omitempty"` ClientMsgID string `protobuf:"bytes,7,opt,name=clientMsgID" json:"clientMsgID,omitempty"`
AttachedInfo *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=attachedInfo" json:"attachedInfo,omitempty"` Ex *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=ex" json:"ex,omitempty"`
IsReact bool `protobuf:"varint,9,opt,name=isReact" json:"isReact,omitempty"` AttachedInfo *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=attachedInfo" json:"attachedInfo,omitempty"`
IsExternalExtensions bool `protobuf:"varint,10,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` IsReact bool `protobuf:"varint,10,opt,name=isReact" json:"isReact,omitempty"`
MsgFirstModifyTime int64 `protobuf:"varint,11,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` IsExternalExtensions bool `protobuf:"varint,11,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"`
MsgFirstModifyTime int64 `protobuf:"varint,12,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -1544,7 +1553,7 @@ func (m *AddMessageReactionExtensionsReq) Reset() { *m = AddMessageReact
func (m *AddMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (m *AddMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) }
func (*AddMessageReactionExtensionsReq) ProtoMessage() {} func (*AddMessageReactionExtensionsReq) ProtoMessage() {}
func (*AddMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { func (*AddMessageReactionExtensionsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{25} return fileDescriptor_msg_96239333e69eba2c, []int{25}
} }
func (m *AddMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { func (m *AddMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AddMessageReactionExtensionsReq.Unmarshal(m, b) return xxx_messageInfo_AddMessageReactionExtensionsReq.Unmarshal(m, b)
@ -1585,6 +1594,13 @@ func (m *AddMessageReactionExtensionsReq) GetOpUserID() string {
return "" return ""
} }
func (m *AddMessageReactionExtensionsReq) GetOpUserIDPlatformID() int32 {
if m != nil {
return m.OpUserIDPlatformID
}
return 0
}
func (m *AddMessageReactionExtensionsReq) GetSessionType() int32 { func (m *AddMessageReactionExtensionsReq) GetSessionType() int32 {
if m != nil { if m != nil {
return m.SessionType return m.SessionType
@ -1657,7 +1673,7 @@ func (m *AddMessageReactionExtensionsResp) Reset() { *m = AddMessageReac
func (m *AddMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (m *AddMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) }
func (*AddMessageReactionExtensionsResp) ProtoMessage() {} func (*AddMessageReactionExtensionsResp) ProtoMessage() {}
func (*AddMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { func (*AddMessageReactionExtensionsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{26} return fileDescriptor_msg_96239333e69eba2c, []int{26}
} }
func (m *AddMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { func (m *AddMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AddMessageReactionExtensionsResp.Unmarshal(m, b) return xxx_messageInfo_AddMessageReactionExtensionsResp.Unmarshal(m, b)
@ -1736,7 +1752,7 @@ func (m *GetMessageListReactionExtensionsReq) Reset() { *m = GetMessageL
func (m *GetMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (m *GetMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) }
func (*GetMessageListReactionExtensionsReq) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq) ProtoMessage() {}
func (*GetMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { func (*GetMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{27} return fileDescriptor_msg_96239333e69eba2c, []int{27}
} }
func (m *GetMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { func (m *GetMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMessageListReactionExtensionsReq.Unmarshal(m, b) return xxx_messageInfo_GetMessageListReactionExtensionsReq.Unmarshal(m, b)
@ -1821,7 +1837,7 @@ func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) String() string
} }
func (*GetMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {}
func (*GetMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { func (*GetMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{27, 0} return fileDescriptor_msg_96239333e69eba2c, []int{27, 0}
} }
func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b)
@ -1868,7 +1884,7 @@ func (m *GetMessageListReactionExtensionsResp) Reset() { *m = GetMessage
func (m *GetMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (m *GetMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) }
func (*GetMessageListReactionExtensionsResp) ProtoMessage() {} func (*GetMessageListReactionExtensionsResp) ProtoMessage() {}
func (*GetMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { func (*GetMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{28} return fileDescriptor_msg_96239333e69eba2c, []int{28}
} }
func (m *GetMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { func (m *GetMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMessageListReactionExtensionsResp.Unmarshal(m, b) return xxx_messageInfo_GetMessageListReactionExtensionsResp.Unmarshal(m, b)
@ -1923,7 +1939,7 @@ func (m *SingleMessageExtensionResult) Reset() { *m = SingleMessageExten
func (m *SingleMessageExtensionResult) String() string { return proto.CompactTextString(m) } func (m *SingleMessageExtensionResult) String() string { return proto.CompactTextString(m) }
func (*SingleMessageExtensionResult) ProtoMessage() {} func (*SingleMessageExtensionResult) ProtoMessage() {}
func (*SingleMessageExtensionResult) Descriptor() ([]byte, []int) { func (*SingleMessageExtensionResult) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{29} return fileDescriptor_msg_96239333e69eba2c, []int{29}
} }
func (m *SingleMessageExtensionResult) XXX_Unmarshal(b []byte) error { func (m *SingleMessageExtensionResult) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SingleMessageExtensionResult.Unmarshal(m, b) return xxx_messageInfo_SingleMessageExtensionResult.Unmarshal(m, b)
@ -1985,7 +2001,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa
func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) }
func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {}
func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{30} return fileDescriptor_msg_96239333e69eba2c, []int{30}
} }
func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b)
@ -2037,11 +2053,12 @@ type DeleteMessageListReactionExtensionsReq struct {
OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"`
OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"` OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"`
SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"` SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"`
SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` OpUserIDPlatformID int32 `protobuf:"varint,4,opt,name=opUserIDPlatformID" json:"opUserIDPlatformID,omitempty"`
ClientMsgID string `protobuf:"bytes,5,opt,name=clientMsgID" json:"clientMsgID,omitempty"` SessionType int32 `protobuf:"varint,5,opt,name=sessionType" json:"sessionType,omitempty"`
IsExternalExtensions bool `protobuf:"varint,6,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` ClientMsgID string `protobuf:"bytes,6,opt,name=clientMsgID" json:"clientMsgID,omitempty"`
MsgFirstModifyTime int64 `protobuf:"varint,7,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` IsExternalExtensions bool `protobuf:"varint,7,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"`
ReactionExtensionList []*sdk_ws.KeyValue `protobuf:"bytes,8,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty"` MsgFirstModifyTime int64 `protobuf:"varint,8,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"`
ReactionExtensionList []*sdk_ws.KeyValue `protobuf:"bytes,9,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -2053,7 +2070,7 @@ func (m *DeleteMessageListReactionExtensionsReq) Reset() {
func (m *DeleteMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (m *DeleteMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) }
func (*DeleteMessageListReactionExtensionsReq) ProtoMessage() {} func (*DeleteMessageListReactionExtensionsReq) ProtoMessage() {}
func (*DeleteMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { func (*DeleteMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{31} return fileDescriptor_msg_96239333e69eba2c, []int{31}
} }
func (m *DeleteMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { func (m *DeleteMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Unmarshal(m, b) return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Unmarshal(m, b)
@ -2094,6 +2111,13 @@ func (m *DeleteMessageListReactionExtensionsReq) GetSourceID() string {
return "" return ""
} }
func (m *DeleteMessageListReactionExtensionsReq) GetOpUserIDPlatformID() int32 {
if m != nil {
return m.OpUserIDPlatformID
}
return 0
}
func (m *DeleteMessageListReactionExtensionsReq) GetSessionType() int32 { func (m *DeleteMessageListReactionExtensionsReq) GetSessionType() int32 {
if m != nil { if m != nil {
return m.SessionType return m.SessionType
@ -2144,7 +2168,7 @@ func (m *DeleteMessageListReactionExtensionsResp) Reset() {
func (m *DeleteMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (m *DeleteMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) }
func (*DeleteMessageListReactionExtensionsResp) ProtoMessage() {} func (*DeleteMessageListReactionExtensionsResp) ProtoMessage() {}
func (*DeleteMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { func (*DeleteMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{32} return fileDescriptor_msg_96239333e69eba2c, []int{32}
} }
func (m *DeleteMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { func (m *DeleteMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Unmarshal(m, b) return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Unmarshal(m, b)
@ -2198,7 +2222,7 @@ func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} }
func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) }
func (*ExtendMsgResp) ProtoMessage() {} func (*ExtendMsgResp) ProtoMessage() {}
func (*ExtendMsgResp) Descriptor() ([]byte, []int) { func (*ExtendMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{33} return fileDescriptor_msg_96239333e69eba2c, []int{33}
} }
func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b)
@ -2254,7 +2278,7 @@ func (m *ExtendMsg) Reset() { *m = ExtendMsg{} }
func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } func (m *ExtendMsg) String() string { return proto.CompactTextString(m) }
func (*ExtendMsg) ProtoMessage() {} func (*ExtendMsg) ProtoMessage() {}
func (*ExtendMsg) Descriptor() ([]byte, []int) { func (*ExtendMsg) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{34} return fileDescriptor_msg_96239333e69eba2c, []int{34}
} }
func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { func (m *ExtendMsg) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) return xxx_messageInfo_ExtendMsg.Unmarshal(m, b)
@ -2322,7 +2346,7 @@ func (m *KeyValueResp) Reset() { *m = KeyValueResp{} }
func (m *KeyValueResp) String() string { return proto.CompactTextString(m) } func (m *KeyValueResp) String() string { return proto.CompactTextString(m) }
func (*KeyValueResp) ProtoMessage() {} func (*KeyValueResp) ProtoMessage() {}
func (*KeyValueResp) Descriptor() ([]byte, []int) { func (*KeyValueResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{35} return fileDescriptor_msg_96239333e69eba2c, []int{35}
} }
func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { func (m *KeyValueResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) return xxx_messageInfo_KeyValueResp.Unmarshal(m, b)
@ -2376,7 +2400,7 @@ func (m *MsgDataToModifyByMQ) Reset() { *m = MsgDataToModifyByMQ{} }
func (m *MsgDataToModifyByMQ) String() string { return proto.CompactTextString(m) } func (m *MsgDataToModifyByMQ) String() string { return proto.CompactTextString(m) }
func (*MsgDataToModifyByMQ) ProtoMessage() {} func (*MsgDataToModifyByMQ) ProtoMessage() {}
func (*MsgDataToModifyByMQ) Descriptor() ([]byte, []int) { func (*MsgDataToModifyByMQ) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_bafb742f07ab638a, []int{36} return fileDescriptor_msg_96239333e69eba2c, []int{36}
} }
func (m *MsgDataToModifyByMQ) XXX_Unmarshal(b []byte) error { func (m *MsgDataToModifyByMQ) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgDataToModifyByMQ.Unmarshal(m, b) return xxx_messageInfo_MsgDataToModifyByMQ.Unmarshal(m, b)
@ -2999,116 +3023,119 @@ var _Msg_serviceDesc = grpc.ServiceDesc{
Metadata: "msg/msg.proto", Metadata: "msg/msg.proto",
} }
func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_bafb742f07ab638a) } func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_96239333e69eba2c) }
var fileDescriptor_msg_bafb742f07ab638a = []byte{ var fileDescriptor_msg_96239333e69eba2c = []byte{
// 1720 bytes of a gzipped FileDescriptorProto // 1761 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0x4f, 0x6f, 0xdb, 0x46, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcb, 0x6e, 0xdb, 0x46,
0x16, 0x07, 0x49, 0x4b, 0xb6, 0x9f, 0xec, 0xd8, 0x19, 0x3b, 0x5e, 0x85, 0x31, 0x10, 0x85, 0xf9, 0x17, 0x06, 0x45, 0x4b, 0xb2, 0x8e, 0xec, 0xd8, 0x19, 0x3b, 0xfe, 0x15, 0xc6, 0x40, 0x14, 0xe6,
0xe7, 0x6c, 0x12, 0x19, 0xeb, 0x5d, 0x20, 0x8b, 0xcd, 0x02, 0x9b, 0x38, 0xf2, 0x2a, 0x46, 0x56, 0xe6, 0xfc, 0x49, 0x64, 0xfc, 0xfe, 0x0b, 0xa4, 0x68, 0x0a, 0x34, 0x71, 0xe4, 0x2a, 0x46, 0xaa,
0xeb, 0x98, 0x72, 0x5b, 0xa0, 0x3d, 0x38, 0x8c, 0x34, 0x66, 0x08, 0x4b, 0x24, 0xcd, 0xa1, 0x62, 0x3a, 0xa6, 0xdc, 0x16, 0x68, 0x17, 0x0e, 0x23, 0x8d, 0x18, 0xc2, 0x12, 0x49, 0x73, 0xa8, 0xd8,
0xab, 0xff, 0x0e, 0x05, 0xda, 0x4b, 0x91, 0x43, 0x8f, 0x3d, 0xf5, 0xd6, 0x5b, 0x3f, 0x44, 0x3f, 0xea, 0x6d, 0x51, 0xa0, 0xdd, 0x65, 0xd1, 0x65, 0x57, 0xdd, 0x75, 0x97, 0x27, 0xe8, 0xaa, 0x0f,
0x40, 0xd1, 0x4b, 0xbf, 0x45, 0x3f, 0x43, 0x81, 0x62, 0x66, 0x28, 0x69, 0xf8, 0x4f, 0xa4, 0xe5, 0x50, 0x74, 0xd3, 0xb7, 0xe8, 0x4b, 0x14, 0x9c, 0x21, 0xa5, 0xe1, 0x4d, 0xa4, 0xe5, 0x20, 0x41,
0x22, 0x48, 0x8a, 0xdc, 0xf4, 0x66, 0xde, 0xbc, 0x79, 0xbf, 0xf7, 0x7e, 0xf3, 0x87, 0xf3, 0x04, 0x2f, 0x3b, 0x9d, 0x99, 0x33, 0x67, 0xce, 0x77, 0xce, 0x37, 0x17, 0xce, 0x11, 0xcc, 0xf7, 0x89,
0xf3, 0x5d, 0x62, 0xae, 0x77, 0x89, 0x59, 0x75, 0x3d, 0xc7, 0x77, 0x90, 0xd2, 0x25, 0xa6, 0xba, 0xb6, 0xde, 0x27, 0x5a, 0xcd, 0xb2, 0x4d, 0xc7, 0x44, 0x62, 0x9f, 0x68, 0xd2, 0xda, 0x8e, 0x85,
0xb6, 0xe3, 0x62, 0xfb, 0xee, 0x76, 0xe3, 0x6e, 0x13, 0x7b, 0x2f, 0xb1, 0xb7, 0xee, 0x1e, 0x9a, 0x8d, 0xdb, 0xdb, 0xcd, 0xdb, 0x2d, 0x6c, 0x3f, 0xc7, 0xf6, 0xba, 0x75, 0xa0, 0xad, 0xd3, 0xee,
0xeb, 0xac, 0x7b, 0x9d, 0xb4, 0x0f, 0xf7, 0x8f, 0xc9, 0xfa, 0x31, 0xe1, 0xea, 0x6a, 0x35, 0x53, 0x75, 0xd2, 0x39, 0xd8, 0x3f, 0x22, 0xeb, 0x47, 0x84, 0xa9, 0x4b, 0xb5, 0x54, 0x4d, 0x5b, 0xb5,
0xd3, 0x33, 0x5c, 0x17, 0x7b, 0x81, 0xbe, 0xf6, 0x09, 0x94, 0x1a, 0xc4, 0xac, 0x19, 0xbe, 0xb1, 0x2c, 0x6c, 0x7b, 0xfa, 0xf2, 0x17, 0x50, 0x6e, 0x12, 0xad, 0xae, 0x3a, 0xea, 0x9e, 0xd9, 0xdc,
0xe7, 0x34, 0x76, 0xd1, 0x32, 0x14, 0x7c, 0xe7, 0x10, 0xdb, 0x65, 0xa9, 0x22, 0xad, 0xcd, 0xea, 0x45, 0xcb, 0x90, 0x77, 0xcc, 0x03, 0x6c, 0x54, 0x84, 0xaa, 0xb0, 0x56, 0x52, 0x98, 0x80, 0xaa,
0x5c, 0x40, 0x15, 0x28, 0x39, 0x2e, 0xf6, 0x0c, 0xdf, 0x72, 0xec, 0xed, 0x5a, 0x59, 0x66, 0x7d, 0x50, 0x36, 0x2d, 0x6c, 0xab, 0x8e, 0x6e, 0x1a, 0xdb, 0xf5, 0x4a, 0x8e, 0xf6, 0xf1, 0x4d, 0xe8,
0x62, 0x13, 0xfa, 0x07, 0x4c, 0x77, 0xb9, 0x99, 0xb2, 0x52, 0x91, 0xd6, 0x4a, 0x1b, 0x6a, 0x95, 0x2d, 0x28, 0xf6, 0x99, 0x99, 0x8a, 0x58, 0x15, 0xd6, 0xca, 0x1b, 0x52, 0x8d, 0x50, 0x07, 0xf6,
0x30, 0x07, 0xf6, 0x0d, 0xd7, 0xda, 0x77, 0x0d, 0xcf, 0xe8, 0x92, 0x6a, 0x30, 0x91, 0x3e, 0x50, 0x55, 0x4b, 0xdf, 0xb7, 0x54, 0x5b, 0xed, 0x93, 0x9a, 0x37, 0x91, 0xe2, 0xab, 0xca, 0x98, 0x9b,
0xd5, 0xb0, 0x30, 0x79, 0x6d, 0x53, 0x34, 0x22, 0xe5, 0x36, 0x92, 0xed, 0x9c, 0xf6, 0x4a, 0x82, 0xbc, 0xbe, 0xc9, 0x1b, 0x11, 0x32, 0x1b, 0x49, 0x77, 0x4e, 0x7e, 0x21, 0xc0, 0xc2, 0xe3, 0x01,
0x85, 0xa7, 0x3d, 0xf2, 0x42, 0x04, 0x5a, 0x81, 0xd2, 0x8e, 0x30, 0x8a, 0xc3, 0x15, 0x9b, 0x44, 0x79, 0xc6, 0x03, 0xad, 0x42, 0x79, 0x87, 0x1b, 0xc5, 0xe0, 0xf2, 0x4d, 0xbc, 0x37, 0xb9, 0xec,
0x6f, 0xe4, 0xfc, 0xde, 0x68, 0x30, 0xe7, 0xf6, 0xc8, 0x8b, 0x3d, 0xe7, 0x3d, 0x82, 0xbd, 0xed, 0xde, 0xc8, 0x30, 0x67, 0x0d, 0xc8, 0xb3, 0x3d, 0xf3, 0x23, 0x82, 0xed, 0xed, 0x3a, 0x8d, 0x46,
0x1a, 0x8b, 0xc6, 0xac, 0x1e, 0x6a, 0xd3, 0xbe, 0x97, 0x00, 0x8d, 0x7c, 0x71, 0x6c, 0xd3, 0xd9, 0x49, 0x09, 0xb4, 0xc9, 0x3f, 0x09, 0x80, 0xc6, 0xbe, 0x98, 0x86, 0x66, 0x6e, 0x0e, 0x9b, 0xbb,
0xec, 0x37, 0x76, 0x51, 0x19, 0xa6, 0x3b, 0x06, 0xf1, 0x9b, 0xf8, 0x88, 0xb9, 0x33, 0xa5, 0x0f, 0xa8, 0x02, 0xc5, 0x9e, 0x4a, 0x9c, 0x16, 0x3e, 0xa4, 0xee, 0xcc, 0x28, 0xbe, 0x88, 0xae, 0xc0,
0x44, 0x74, 0x0d, 0xe6, 0x0d, 0xd3, 0xf4, 0xb0, 0x19, 0x06, 0x19, 0x6e, 0x44, 0x1b, 0x50, 0xea, 0xbc, 0xaa, 0x69, 0x36, 0xd6, 0x82, 0x20, 0x83, 0x8d, 0x68, 0x03, 0xca, 0x7d, 0x4c, 0x88, 0xaa,
0x62, 0x42, 0x0c, 0x13, 0xff, 0xcf, 0x22, 0x7e, 0x59, 0xa9, 0x28, 0x6b, 0xa5, 0x8d, 0xc5, 0x2a, 0xe1, 0x0f, 0x74, 0xe2, 0x54, 0xc4, 0xaa, 0xb8, 0x56, 0xde, 0x58, 0xac, 0xb9, 0x54, 0xe2, 0x90,
0xa5, 0x92, 0x80, 0x5c, 0x17, 0x95, 0xd0, 0x2a, 0xcc, 0xfa, 0x9e, 0x65, 0x9a, 0xcc, 0xd7, 0x29, 0x2b, 0xbc, 0x12, 0x5a, 0x85, 0x92, 0x63, 0xeb, 0x9a, 0x46, 0x7d, 0x9d, 0xa1, 0x56, 0xc7, 0x0d,
0x66, 0x75, 0xd4, 0xa0, 0xfd, 0x1f, 0x50, 0x1d, 0xfb, 0x0d, 0xe3, 0xe4, 0xa1, 0xdd, 0x6e, 0x58, 0xf2, 0x87, 0x80, 0x1a, 0xd8, 0x69, 0xaa, 0xc7, 0xf7, 0x8d, 0x4e, 0x53, 0x37, 0x5a, 0xf8, 0x50,
0x76, 0x13, 0x1f, 0xe9, 0xf8, 0x08, 0xad, 0x40, 0x31, 0x00, 0xc7, 0xa3, 0x16, 0x48, 0xd1, 0x90, 0xc1, 0x87, 0x68, 0x05, 0x0a, 0x1e, 0x38, 0x16, 0x35, 0x4f, 0x0a, 0x87, 0x34, 0x17, 0x09, 0xa9,
0xca, 0xb1, 0x90, 0x6a, 0xc7, 0xb0, 0x14, 0xb3, 0x47, 0x5c, 0x0a, 0x7c, 0xcb, 0xf3, 0x1e, 0x39, 0x7c, 0x04, 0x4b, 0x11, 0x7b, 0xc4, 0x72, 0x81, 0x6f, 0xd9, 0xf6, 0x03, 0xb3, 0x83, 0xa9, 0xc5,
0x6d, 0xcc, 0x2c, 0x16, 0xf4, 0x81, 0x48, 0xa7, 0xda, 0xf2, 0xbc, 0x06, 0x31, 0x03, 0x6b, 0x81, 0xbc, 0xe2, 0x8b, 0xee, 0x54, 0x5b, 0xb6, 0xdd, 0x24, 0x9a, 0x67, 0xcd, 0x93, 0xdc, 0xf6, 0xa6,
0x44, 0xdb, 0x1b, 0xc6, 0x09, 0x8d, 0x14, 0x8d, 0xef, 0xbc, 0x1e, 0x48, 0xac, 0x9d, 0xd9, 0x65, 0x7a, 0xec, 0x46, 0xca, 0x8d, 0xef, 0xbc, 0xe2, 0x49, 0xb4, 0x9d, 0xda, 0xa5, 0x58, 0xdc, 0x76,
0x58, 0x68, 0x3b, 0x93, 0xb4, 0x8f, 0x01, 0x9a, 0xd8, 0x6e, 0x37, 0x88, 0x49, 0x01, 0xbc, 0x5e, 0x2a, 0xc9, 0x9f, 0x03, 0xb4, 0xb0, 0xd1, 0x69, 0x12, 0xcd, 0x05, 0xf0, 0x7a, 0x49, 0xfe, 0xa3,
0x92, 0x7f, 0x27, 0x41, 0x69, 0x38, 0x39, 0x47, 0x8b, 0xc3, 0x68, 0xf1, 0x08, 0x2d, 0x0e, 0xa1, 0x00, 0xe5, 0xd1, 0xe4, 0x0c, 0x2d, 0x0e, 0xa2, 0xc5, 0x63, 0xb4, 0x38, 0x80, 0x96, 0x49, 0xae,
0xe5, 0x12, 0xf5, 0x8c, 0xcf, 0xd3, 0x20, 0xe6, 0x30, 0x4d, 0x62, 0x13, 0xd5, 0x68, 0x75, 0x2c, 0x67, 0x6c, 0x9e, 0x26, 0xd1, 0x46, 0x69, 0xe2, 0x9b, 0x5c, 0x8d, 0x76, 0x4f, 0xc7, 0x86, 0xc3,
0x6c, 0xfb, 0x5c, 0xa3, 0xc0, 0x35, 0x84, 0x26, 0xa4, 0xc2, 0x0c, 0xc1, 0x76, 0x7b, 0xcf, 0xea, 0x34, 0xf2, 0x4c, 0x83, 0x6b, 0x42, 0x12, 0xcc, 0x12, 0x6c, 0x74, 0xf6, 0xf4, 0x3e, 0xae, 0x14,
0xe2, 0x72, 0xb1, 0x22, 0xad, 0x29, 0xfa, 0x50, 0xd6, 0x5a, 0x50, 0x7a, 0xd4, 0xc1, 0x86, 0x17, 0xaa, 0xc2, 0x9a, 0xa8, 0x8c, 0x64, 0xb9, 0x0d, 0xe5, 0x07, 0x3d, 0xac, 0xda, 0x5e, 0x78, 0x56,
0x84, 0x67, 0x05, 0x8a, 0xbd, 0x50, 0x7e, 0xb9, 0x44, 0x4d, 0x38, 0x6e, 0x90, 0x79, 0xee, 0xe0, 0xa0, 0x30, 0x08, 0xe4, 0x97, 0x49, 0xae, 0x09, 0xd3, 0xf2, 0x32, 0xcf, 0x1c, 0x1c, 0xc9, 0xe1,
0x50, 0x8e, 0x06, 0x4f, 0x89, 0x2f, 0xc2, 0x07, 0x30, 0x37, 0x9a, 0x64, 0x92, 0x30, 0x68, 0xdf, 0xe0, 0x89, 0xd1, 0x45, 0x78, 0x0f, 0xe6, 0xc6, 0x93, 0x4c, 0x13, 0x06, 0xf9, 0x07, 0x01, 0x16,
0x4a, 0xb0, 0xd0, 0xc4, 0x14, 0x4f, 0x88, 0x8b, 0x89, 0xbe, 0x96, 0x61, 0xda, 0xf4, 0x9c, 0x9e, 0x5a, 0xd8, 0xc5, 0x13, 0xe0, 0x62, 0xac, 0xaf, 0x15, 0x28, 0x6a, 0xb6, 0x39, 0xb0, 0x46, 0xae,
0x3b, 0x74, 0x75, 0x20, 0xd2, 0x11, 0x5d, 0x4e, 0x91, 0x80, 0x3a, 0x5c, 0x8a, 0x22, 0x98, 0x8a, 0xfa, 0xa2, 0x3b, 0xa2, 0xcf, 0x28, 0xe2, 0x51, 0x87, 0x49, 0x61, 0x04, 0x33, 0xd1, 0xf4, 0xf3,
0xa7, 0x5f, 0xc4, 0x5f, 0x08, 0xe3, 0xd7, 0x6a, 0xb0, 0x18, 0x76, 0x6d, 0x22, 0x84, 0x3b, 0xb0, 0xf8, 0xf3, 0x41, 0xfc, 0x72, 0x1d, 0x16, 0x83, 0xae, 0x4d, 0x85, 0x70, 0x07, 0x96, 0x5a, 0xd8,
0xd4, 0xc4, 0x7e, 0x40, 0x96, 0xa6, 0x6f, 0xf8, 0x3d, 0xa2, 0xc7, 0x5d, 0x93, 0xe2, 0xae, 0xad, 0xf1, 0xc8, 0xd2, 0x72, 0x54, 0x67, 0x40, 0x94, 0xa8, 0x6b, 0x42, 0xd4, 0xb5, 0x15, 0x28, 0x10,
0x40, 0x91, 0x30, 0x75, 0x66, 0xb0, 0xa0, 0x07, 0x92, 0xf6, 0x18, 0x96, 0xe3, 0x06, 0x27, 0x72, 0xaa, 0x4e, 0x0d, 0xe6, 0x15, 0x4f, 0x92, 0x1f, 0xc2, 0x72, 0xd4, 0xe0, 0x54, 0xae, 0xdd, 0xa1,
0xed, 0x1e, 0x5b, 0xba, 0xa7, 0x77, 0x4d, 0x7b, 0x06, 0xcb, 0xf5, 0x3f, 0xc4, 0x05, 0x01, 0xa4, 0x4b, 0xf7, 0xe4, 0xae, 0xc9, 0x4f, 0x60, 0xb9, 0xf1, 0x4a, 0x5c, 0xe0, 0x40, 0x8a, 0x01, 0x90,
0x12, 0x02, 0xf9, 0xa5, 0x04, 0x4b, 0x35, 0xdc, 0x69, 0xf6, 0x5c, 0xec, 0xd5, 0x69, 0x96, 0x03, 0xdf, 0x0a, 0xb0, 0x54, 0xc7, 0xbd, 0xd6, 0xc0, 0xc2, 0x76, 0xc3, 0xcd, 0xb2, 0xc7, 0x63, 0x3e,
0x1e, 0x8b, 0xf9, 0x92, 0x22, 0x7c, 0x1d, 0xf1, 0x46, 0x4e, 0xe3, 0x8d, 0x12, 0xe6, 0x4d, 0x26, 0x5f, 0x42, 0x88, 0xaf, 0x63, 0xde, 0xe4, 0x92, 0x78, 0x23, 0x06, 0x79, 0x93, 0xca, 0x0f, 0x37,
0x3f, 0x68, 0xb0, 0xe3, 0x6e, 0x4c, 0x14, 0xec, 0x16, 0x0f, 0x76, 0x14, 0x50, 0x36, 0x0f, 0x16, 0xd8, 0x51, 0x37, 0xa6, 0x0a, 0x76, 0x9b, 0x05, 0x3b, 0x0c, 0x28, 0x9d, 0x07, 0x8b, 0x20, 0xba,
0x41, 0xa1, 0xcc, 0x96, 0x19, 0xb3, 0xe9, 0xcf, 0x74, 0x40, 0xda, 0xe7, 0x3c, 0x31, 0x67, 0x77, 0xcc, 0xce, 0x51, 0x66, 0xbb, 0x3f, 0x93, 0x01, 0xc9, 0x5f, 0xb3, 0xc4, 0x9c, 0xde, 0xdd, 0x29,
0x77, 0xc2, 0x7d, 0xf1, 0x31, 0x3b, 0x5c, 0x3e, 0xf0, 0x2c, 0x1f, 0xd7, 0xac, 0x83, 0x83, 0xc9, 0xf7, 0xc5, 0x87, 0xf4, 0x70, 0xf9, 0xc4, 0xd6, 0x1d, 0x5c, 0xd7, 0xbb, 0xdd, 0xe9, 0x31, 0xca,
0x31, 0x6a, 0x9f, 0xb1, 0x70, 0x85, 0x2d, 0xbd, 0x46, 0x20, 0xdf, 0x14, 0x40, 0x6b, 0x38, 0x6d, 0x5f, 0xd1, 0x70, 0x05, 0x2d, 0xbd, 0x46, 0x20, 0xdf, 0xe7, 0x41, 0x6e, 0x9a, 0x1d, 0xbd, 0x3b,
0xeb, 0xa0, 0xdf, 0xe0, 0x27, 0xab, 0x8e, 0x8d, 0x16, 0x75, 0x76, 0xeb, 0xc4, 0xc7, 0x36, 0xb1, 0x6c, 0xb2, 0x93, 0x55, 0xc1, 0x6a, 0xdb, 0x75, 0x76, 0xeb, 0xd8, 0xc1, 0x06, 0xd1, 0x4d, 0x23,
0x1c, 0x3b, 0xe7, 0x2a, 0xa6, 0x7b, 0xb4, 0xd3, 0xf3, 0x5a, 0x78, 0xb4, 0xc1, 0x0e, 0xe4, 0x10, 0xe3, 0x2a, 0x76, 0xf7, 0x68, 0x73, 0x60, 0xb7, 0xf1, 0x78, 0x83, 0xf5, 0xe5, 0x00, 0x99, 0xc5,
0x99, 0x95, 0xf8, 0xe6, 0x4b, 0x30, 0xa1, 0x13, 0xed, 0xf5, 0x5d, 0xcc, 0xa8, 0x59, 0xd0, 0xc5, 0xe8, 0xe6, 0x4b, 0x30, 0x71, 0x27, 0xda, 0x1b, 0x5a, 0x98, 0x52, 0x33, 0xaf, 0xf0, 0x4d, 0xe8,
0x26, 0x74, 0x02, 0x17, 0xbc, 0xa8, 0x53, 0xec, 0x92, 0x50, 0x60, 0x97, 0x84, 0x4d, 0x7e, 0x49, 0x18, 0xce, 0xd9, 0x61, 0xa7, 0xe8, 0x25, 0x21, 0x4f, 0x2f, 0x09, 0x9b, 0xec, 0x92, 0x90, 0x8a,
0xc8, 0xc4, 0x50, 0xd5, 0x93, 0x8c, 0x6c, 0xd9, 0xbe, 0xd7, 0xd7, 0x93, 0x27, 0x88, 0x9e, 0x4c, 0xa1, 0xa6, 0xc4, 0x19, 0xd9, 0x32, 0x1c, 0x7b, 0xa8, 0xc4, 0x4f, 0x10, 0x3e, 0x99, 0x0a, 0xd1,
0xc5, 0xf8, 0xc9, 0x74, 0x07, 0x64, 0x7c, 0x52, 0x9e, 0x66, 0xf1, 0x5e, 0xad, 0x9a, 0x8e, 0x63, 0x93, 0xe9, 0x16, 0xe4, 0xf0, 0x71, 0xa5, 0x48, 0xe3, 0xbd, 0x5a, 0xd3, 0x4c, 0x53, 0xeb, 0x61,
0x76, 0x30, 0xbf, 0x9c, 0x3e, 0xef, 0x1d, 0x54, 0x9b, 0xbe, 0x67, 0xd9, 0xe6, 0xfb, 0x46, 0xa7, 0x76, 0x39, 0x7d, 0x3a, 0xe8, 0xd6, 0x5a, 0x8e, 0xad, 0x1b, 0xda, 0xc7, 0x6a, 0x6f, 0x80, 0x95,
0x87, 0x75, 0x19, 0x9f, 0xa0, 0x07, 0x30, 0x67, 0xf8, 0xbe, 0xd1, 0x7a, 0x81, 0xdb, 0xdb, 0xf6, 0x1c, 0x3e, 0x46, 0xf7, 0x60, 0x4e, 0x75, 0x1c, 0xb5, 0xfd, 0x0c, 0x77, 0xb6, 0x8d, 0xae, 0x59,
0x81, 0x53, 0x9e, 0xc9, 0x31, 0x2e, 0x34, 0x82, 0xd2, 0xc2, 0x22, 0x0c, 0x48, 0x79, 0xb6, 0x22, 0x99, 0xcd, 0x30, 0x2e, 0x30, 0xc2, 0xa5, 0x85, 0x4e, 0x28, 0x90, 0x4a, 0xa9, 0x2a, 0xac, 0xcd,
0xad, 0xcd, 0xe8, 0x03, 0x11, 0x6d, 0xc0, 0xb2, 0x45, 0xa8, 0xfb, 0x9e, 0x6d, 0x74, 0x46, 0xc0, 0x2a, 0xbe, 0x88, 0x36, 0x60, 0x59, 0x27, 0xae, 0xfb, 0xb6, 0xa1, 0xf6, 0xc6, 0xc0, 0x2b, 0x40,
0xcb, 0xc0, 0xd4, 0x12, 0xfb, 0x50, 0x15, 0x50, 0x97, 0x98, 0xff, 0xb5, 0x3c, 0xe2, 0xf3, 0xf8, 0xd5, 0x62, 0xfb, 0x50, 0x0d, 0x50, 0x9f, 0x68, 0xef, 0xeb, 0x36, 0x71, 0x58, 0xfc, 0xe8, 0x09,
0xb1, 0x13, 0xb6, 0xc4, 0x4e, 0xd8, 0x84, 0x1e, 0x15, 0x83, 0x9a, 0x1e, 0x44, 0xca, 0xed, 0x43, 0x5b, 0xa6, 0x27, 0x6c, 0x4c, 0x8f, 0x84, 0x41, 0x4a, 0x0e, 0xa2, 0xcb, 0xed, 0x03, 0x3c, 0xf4,
0xdc, 0x0f, 0xb8, 0x41, 0x7f, 0xa2, 0xbf, 0x41, 0xe1, 0x25, 0x05, 0x11, 0xdc, 0x41, 0x2f, 0x25, 0xb8, 0xe1, 0xfe, 0x44, 0xff, 0x83, 0xfc, 0x73, 0x17, 0x84, 0x77, 0x07, 0xbd, 0x10, 0x43, 0xc8,
0x10, 0xf2, 0x09, 0xee, 0x73, 0x9c, 0x5c, 0xf3, 0x5f, 0xf2, 0x3f, 0x25, 0xed, 0xeb, 0x02, 0x5c, 0x47, 0x78, 0xc8, 0x70, 0x32, 0xcd, 0x77, 0x72, 0x6f, 0x0b, 0xf2, 0xcf, 0x79, 0xb8, 0xe8, 0x1e,
0xa6, 0x07, 0xd2, 0x9b, 0x4a, 0xc8, 0xde, 0x78, 0x42, 0xfe, 0x87, 0x11, 0x32, 0x03, 0xc0, 0x3b, 0x48, 0x6f, 0x86, 0x90, 0x35, 0x40, 0xfe, 0xef, 0xc7, 0x3d, 0xd5, 0xe9, 0x9a, 0x76, 0xdf, 0xdb,
0x36, 0xbe, 0x2d, 0x6c, 0xfc, 0x55, 0x82, 0xca, 0xf8, 0x64, 0x4e, 0x7a, 0x2f, 0x16, 0xb3, 0xa9, 0x32, 0xf3, 0x4a, 0x4c, 0x4f, 0x98, 0xc0, 0xf9, 0x28, 0x81, 0x07, 0x49, 0x04, 0x2e, 0x50, 0x02,
0xc4, 0xb3, 0x99, 0x1c, 0x8f, 0xa9, 0xb4, 0x78, 0x88, 0xd9, 0x28, 0x84, 0xb3, 0x71, 0x0b, 0x8a, 0xbf, 0x47, 0x09, 0x9c, 0x02, 0xf8, 0xf4, 0xec, 0x2d, 0x26, 0xb1, 0x77, 0x76, 0x4a, 0xf6, 0x96,
0x1e, 0x26, 0xbd, 0x8e, 0x5f, 0x2e, 0x32, 0x86, 0x9e, 0x67, 0x0c, 0x1d, 0x82, 0xc5, 0xc4, 0xd5, 0x4e, 0xc3, 0x5e, 0xc8, 0xc6, 0xde, 0xf2, 0x89, 0xd9, 0x3b, 0xf7, 0xa6, 0xd9, 0xfb, 0x87, 0x00,
0x03, 0x05, 0xb6, 0xf6, 0x1e, 0xb6, 0xdb, 0x6f, 0xf7, 0xda, 0xcb, 0x00, 0xf0, 0x6e, 0xed, 0xbd, 0xd5, 0xc9, 0xc9, 0x9c, 0xf6, 0x1e, 0xcd, 0x67, 0x53, 0x8c, 0x66, 0x33, 0x3e, 0x1e, 0x33, 0x49,
0x4d, 0x6b, 0x6f, 0x7c, 0x32, 0xff, 0x4c, 0x6b, 0xef, 0x17, 0x05, 0xae, 0xd6, 0x87, 0x3b, 0x0d, 0xf1, 0xe0, 0xb3, 0x91, 0x0f, 0x66, 0xe3, 0x06, 0x14, 0x6c, 0x4c, 0x06, 0x3d, 0x9f, 0xa1, 0x67,
0x0d, 0xe7, 0x19, 0xd6, 0x5f, 0xea, 0xd7, 0xae, 0xb8, 0x36, 0x95, 0xc8, 0xda, 0xcc, 0x5e, 0x7f, 0x29, 0x43, 0x47, 0x60, 0x31, 0xb1, 0x14, 0x4f, 0x81, 0xae, 0xd5, 0xfb, 0x9d, 0xce, 0x3f, 0x6b,
0x69, 0xe4, 0x2a, 0x8c, 0x21, 0x57, 0x05, 0x4a, 0x7e, 0xdf, 0xc5, 0x4f, 0x70, 0x9f, 0xad, 0x54, 0xad, 0xa6, 0x00, 0xfe, 0x77, 0xad, 0xfe, 0x95, 0xd6, 0xea, 0xe4, 0x64, 0xfe, 0x9d, 0xd6, 0xea,
0x1a, 0x87, 0x59, 0x5d, 0x6c, 0x42, 0x04, 0x56, 0xba, 0xe1, 0x1c, 0x0f, 0x94, 0xa7, 0x59, 0xd0, 0xef, 0x22, 0x5c, 0x6e, 0x8c, 0x76, 0x26, 0x37, 0x9c, 0xa7, 0x58, 0xaf, 0x89, 0x5f, 0xd3, 0xfc,
0xee, 0xb3, 0xa0, 0xe5, 0x88, 0x4d, 0xb5, 0x11, 0x33, 0xa3, 0xa7, 0x98, 0x56, 0x0f, 0x00, 0xc5, 0x5a, 0x16, 0x43, 0x6b, 0x39, 0xfd, 0xb2, 0x97, 0x44, 0xae, 0xfc, 0x04, 0x72, 0x55, 0xa1, 0xec,
0xb5, 0xa3, 0xdc, 0x90, 0xf2, 0x72, 0x43, 0x4e, 0xe3, 0x86, 0xf6, 0x83, 0x04, 0xd7, 0xb2, 0x5d, 0x0c, 0x2d, 0xfc, 0x08, 0x0f, 0x47, 0x2b, 0xb5, 0xa4, 0xf0, 0x4d, 0x88, 0xc0, 0x4a, 0x3f, 0x98,
0x9f, 0x88, 0xc8, 0x4d, 0x58, 0x22, 0x96, 0x6d, 0x76, 0xf0, 0x10, 0x08, 0x63, 0x1a, 0x7f, 0x3d, 0x63, 0x5f, 0xb9, 0x48, 0x83, 0x76, 0x97, 0x06, 0x2d, 0x43, 0x6c, 0x6a, 0xcd, 0x88, 0x19, 0x25,
0xbb, 0xc2, 0xef, 0x21, 0x62, 0xff, 0x70, 0x42, 0xae, 0xa8, 0x27, 0x8d, 0xd6, 0x7e, 0x92, 0x61, 0xc1, 0xb4, 0xd4, 0x05, 0x14, 0xd5, 0x0e, 0x73, 0x43, 0xc8, 0xca, 0x8d, 0x5c, 0x12, 0x37, 0xe4,
0x75, 0xdc, 0xa8, 0x09, 0xfc, 0xf4, 0xd2, 0x76, 0x6d, 0xee, 0xe9, 0xbf, 0x33, 0x3d, 0x3d, 0xfb, 0x97, 0x02, 0x5c, 0x49, 0x77, 0x7d, 0x2a, 0x22, 0xb7, 0x60, 0x89, 0xe8, 0x86, 0xd6, 0xc3, 0x23,
0x96, 0x3d, 0x15, 0x4b, 0xe4, 0xeb, 0xda, 0xc4, 0x7e, 0x94, 0xe0, 0x6a, 0xe6, 0xe7, 0xc9, 0x84, 0x20, 0x94, 0x69, 0xec, 0x75, 0xee, 0x12, 0xbb, 0xb7, 0xf0, 0xfd, 0xa3, 0x09, 0x99, 0xa2, 0x12,
0x9f, 0x7c, 0x25, 0xd2, 0x6b, 0xb5, 0x30, 0x21, 0x42, 0x30, 0x11, 0x0b, 0x26, 0xb3, 0x3d, 0x78, 0x37, 0x5a, 0xfe, 0x35, 0x07, 0xab, 0x93, 0x46, 0x4d, 0xe1, 0xa7, 0x9d, 0xb4, 0x6b, 0x33, 0x4f,
0xb6, 0xd3, 0x45, 0x35, 0xb4, 0x01, 0x70, 0x60, 0x58, 0x1d, 0xdc, 0x66, 0x83, 0xa6, 0x52, 0x07, 0xdf, 0x4d, 0xf5, 0xf4, 0xf4, 0x5b, 0xf6, 0x4c, 0x24, 0x91, 0xaf, 0x6b, 0x13, 0xfb, 0x45, 0x80,
0x09, 0x5a, 0xda, 0x6f, 0x32, 0xdc, 0xa8, 0xe1, 0x0e, 0xf6, 0xf1, 0x1b, 0xbd, 0x3b, 0x65, 0x3f, 0xcb, 0xa9, 0x9f, 0x3f, 0x53, 0x7e, 0x52, 0x96, 0xc9, 0xa0, 0xdd, 0xc6, 0x84, 0x70, 0xc1, 0x44,
0x25, 0xa6, 0xed, 0x5f, 0xc5, 0x53, 0x1f, 0x8e, 0xd3, 0xa9, 0x87, 0xc1, 0x6e, 0x1a, 0xdb, 0x67, 0x34, 0x98, 0xd4, 0xb6, 0xff, 0x2c, 0xa8, 0xf0, 0x6a, 0x68, 0x03, 0xa0, 0xab, 0xea, 0x3d, 0xdc,
0x58, 0xac, 0xc7, 0xf2, 0x26, 0x79, 0xa4, 0xf6, 0x95, 0x04, 0x37, 0x73, 0xc5, 0x7f, 0x22, 0x1e, 0xa1, 0x83, 0x66, 0x12, 0x07, 0x71, 0x5a, 0xf2, 0x4b, 0x11, 0xae, 0xd5, 0x71, 0x0f, 0x3b, 0xf8,
0x9d, 0xe2, 0x8c, 0x72, 0x60, 0x3e, 0xc4, 0x12, 0x74, 0x07, 0x66, 0xf1, 0xa0, 0x21, 0xa8, 0x7c, 0x0d, 0xee, 0x4e, 0xaf, 0xfe, 0x36, 0x91, 0xfe, 0x01, 0x99, 0xb4, 0xdf, 0x15, 0x4f, 0x7c, 0x98,
0x9c, 0x8b, 0x90, 0x69, 0xa4, 0x20, 0xfa, 0x26, 0xa7, 0xf9, 0xa6, 0x84, 0x9e, 0x93, 0x7e, 0x96, 0xce, 0x26, 0x1e, 0x1e, 0xbb, 0x49, 0xab, 0xa3, 0x44, 0x73, 0x33, 0x91, 0x67, 0xf1, 0x23, 0xe5,
0x61, 0x76, 0x68, 0x0a, 0xed, 0xa7, 0x85, 0x56, 0x62, 0x8e, 0xdf, 0x0a, 0xcf, 0x7c, 0xf6, 0x5d, 0xef, 0x04, 0xb8, 0x9e, 0x29, 0x5f, 0x53, 0xf1, 0xee, 0x04, 0x67, 0x9a, 0x09, 0xf3, 0x01, 0x56,
0x43, 0xce, 0xbb, 0xfd, 0x2b, 0xa9, 0x6c, 0xd0, 0x22, 0x57, 0x3d, 0xbe, 0x11, 0x85, 0x2f, 0x73, 0xa1, 0x5b, 0x50, 0xc2, 0x7e, 0x83, 0x57, 0x89, 0x39, 0x13, 0x22, 0xdf, 0x58, 0x81, 0xf7, 0x2d,
0xe7, 0xd8, 0xe5, 0x91, 0xd3, 0x55, 0xc6, 0x27, 0xea, 0x47, 0xa7, 0xdc, 0x99, 0x6e, 0x86, 0x77, 0x97, 0xe4, 0x9b, 0x18, 0x78, 0xde, 0xfa, 0x2d, 0x07, 0xa5, 0x91, 0x29, 0xb4, 0x9f, 0x14, 0x5a,
0xa6, 0x84, 0xfc, 0x09, 0xfb, 0x51, 0x1f, 0xe6, 0xc4, 0x2e, 0x74, 0x0f, 0x66, 0x0e, 0x03, 0x39, 0x81, 0x3a, 0x7e, 0x23, 0x38, 0xf3, 0xe9, 0x77, 0x99, 0x5c, 0xd6, 0xe3, 0x42, 0x4c, 0x64, 0x83,
0x48, 0xe0, 0x58, 0x86, 0x0e, 0x95, 0x27, 0x48, 0xe6, 0x2b, 0x09, 0x96, 0x84, 0xe2, 0x11, 0x8d, 0x1c, 0xba, 0x1a, 0xb2, 0x8d, 0x2b, 0x78, 0xf9, 0x3b, 0x43, 0x2f, 0x9b, 0xec, 0x9d, 0x38, 0x87,
0x11, 0xab, 0x1e, 0xc5, 0x6a, 0x44, 0x52, 0x8e, 0x1a, 0x91, 0x7c, 0xea, 0x1a, 0x91, 0x12, 0xa9, 0x8f, 0xa5, 0xcf, 0x4e, 0xb8, 0x93, 0x5d, 0x0f, 0xee, 0x64, 0x31, 0xf9, 0xe3, 0xf6, 0xaf, 0x21,
0x11, 0x6d, 0x7c, 0x01, 0xa0, 0x74, 0x89, 0x89, 0x9e, 0xc1, 0x42, 0xa4, 0xb6, 0x83, 0xae, 0x27, 0xcc, 0xf1, 0x5d, 0xe8, 0x0e, 0xcc, 0x1e, 0x78, 0xb2, 0x97, 0xc0, 0x89, 0x0c, 0x1d, 0x29, 0x4f,
0xc4, 0x20, 0x5e, 0x4f, 0x52, 0x6f, 0xe4, 0x51, 0x23, 0x2e, 0x72, 0x60, 0xf9, 0x69, 0xaf, 0xd3, 0x91, 0xcc, 0x17, 0x02, 0x2c, 0x71, 0xc5, 0x2c, 0x37, 0x46, 0xb4, 0x9a, 0x15, 0xa9, 0x59, 0x09,
0x09, 0x56, 0xef, 0x66, 0xbf, 0x89, 0x8f, 0x98, 0x7f, 0x7f, 0x4d, 0x18, 0x9f, 0xa4, 0x48, 0xe7, 0x19, 0x6a, 0x56, 0xb9, 0x13, 0xd7, 0xac, 0xc4, 0x50, 0xcd, 0x6a, 0xe3, 0x1b, 0x00, 0xb1, 0x4f,
0xba, 0x9d, 0x5b, 0x97, 0xad, 0xcb, 0xe9, 0xe0, 0xdd, 0x1a, 0x2d, 0x04, 0x0f, 0x12, 0x83, 0x1a, 0x34, 0xf4, 0x04, 0x16, 0x42, 0xb5, 0x26, 0x74, 0x35, 0x26, 0x06, 0xd1, 0xfa, 0x96, 0x74, 0x2d,
0x92, 0xba, 0x18, 0x6e, 0x20, 0x2e, 0xda, 0x05, 0xa8, 0xe1, 0x4e, 0x83, 0x98, 0x7c, 0x11, 0x24, 0x8b, 0x1a, 0xb1, 0x90, 0x09, 0xcb, 0x8f, 0x07, 0xbd, 0x9e, 0xb7, 0x7a, 0x37, 0x87, 0x2d, 0x7c,
0x4c, 0x34, 0xea, 0xa6, 0x16, 0xae, 0x64, 0x68, 0x10, 0x17, 0xd5, 0x61, 0x31, 0xfa, 0xa2, 0x8c, 0x48, 0xfd, 0xfb, 0x6f, 0xcc, 0xf8, 0x38, 0x45, 0x77, 0xae, 0x9b, 0x99, 0x75, 0xe9, 0xba, 0x2c,
0xca, 0x6c, 0xe2, 0x84, 0xf7, 0x6e, 0xf5, 0x62, 0x4a, 0x0f, 0x71, 0xd1, 0x3a, 0xcc, 0x0c, 0x8a, 0x7a, 0xef, 0xe8, 0x68, 0xc1, 0x7b, 0xf0, 0xf0, 0x6b, 0x5a, 0xd2, 0x62, 0xb0, 0x81, 0x58, 0x68,
0x2f, 0x88, 0x7b, 0x2e, 0x14, 0x7c, 0xd4, 0xf3, 0x91, 0x16, 0xe2, 0xa2, 0xfb, 0x30, 0x27, 0xd6, 0x17, 0xa0, 0x8e, 0x7b, 0x4d, 0xa2, 0xb1, 0x45, 0x10, 0x33, 0xd1, 0xb8, 0xdb, 0xb5, 0x70, 0x29,
0x33, 0xd0, 0xf2, 0xf0, 0x41, 0x46, 0xa8, 0xbe, 0xa8, 0x17, 0x12, 0x5a, 0xb9, 0xdb, 0xd1, 0xaa, 0x45, 0x83, 0x58, 0xa8, 0x01, 0x8b, 0xe1, 0x17, 0x6e, 0x54, 0xa1, 0x13, 0xc7, 0xbc, 0xbf, 0x4b,
0x43, 0xe0, 0x76, 0x42, 0x75, 0x23, 0x70, 0x3b, 0xb1, 0x4c, 0x51, 0x87, 0xc5, 0x7a, 0xb2, 0xa1, 0xe7, 0x13, 0x7a, 0x88, 0x85, 0xd6, 0x61, 0xd6, 0x2f, 0x06, 0x21, 0xe6, 0x39, 0x57, 0x80, 0x92,
0x7a, 0xaa, 0xa1, 0xfa, 0x18, 0x43, 0x09, 0x81, 0x4c, 0x78, 0x67, 0x17, 0x0c, 0xc5, 0x02, 0x59, 0xce, 0x86, 0x5a, 0x88, 0x85, 0xee, 0xc2, 0x1c, 0x5f, 0x5f, 0x41, 0xcb, 0xa3, 0x07, 0x1f, 0xae,
0x63, 0x2c, 0x17, 0x9f, 0x9a, 0xd1, 0x5f, 0x06, 0xda, 0x91, 0xa7, 0x6c, 0xb5, 0x9c, 0xdc, 0x41, 0x1a, 0x24, 0x9d, 0x8b, 0x69, 0x65, 0x6e, 0x87, 0xab, 0x20, 0x9e, 0xdb, 0x31, 0xd5, 0x16, 0xcf,
0x5c, 0x74, 0x08, 0xab, 0xe3, 0x9e, 0x43, 0xd0, 0xb5, 0x3c, 0xcf, 0x5f, 0xea, 0xf5, 0x1c, 0x5a, 0xed, 0xd8, 0xb2, 0x49, 0x03, 0x16, 0x1b, 0xf1, 0x86, 0x1a, 0x89, 0x86, 0x1a, 0x13, 0x0c, 0xc5,
0xc4, 0x45, 0xc7, 0x50, 0xc9, 0xba, 0x3a, 0xa3, 0xb5, 0xbc, 0x1f, 0x07, 0xea, 0xad, 0x9c, 0x9a, 0x04, 0x32, 0xe6, 0xdd, 0x9f, 0x33, 0x14, 0x09, 0x64, 0x9d, 0xb2, 0x9c, 0x7f, 0xfa, 0x46, 0xff,
0x1c, 0xe5, 0xb8, 0x0f, 0xcf, 0x00, 0x65, 0xc6, 0x43, 0x43, 0x80, 0x32, 0xf3, 0x0b, 0xf6, 0x53, 0xf1, 0xb5, 0x43, 0x4f, 0xeb, 0x52, 0x25, 0xbe, 0x83, 0x58, 0xe8, 0x00, 0x56, 0x27, 0x3d, 0xb7,
0xb8, 0x1c, 0x3a, 0xdc, 0x13, 0xe6, 0xbb, 0x3d, 0x58, 0x1f, 0x39, 0xae, 0x60, 0xea, 0x9d, 0xfc, 0xa0, 0x2b, 0x59, 0x9e, 0xd7, 0xa4, 0xab, 0x19, 0xb4, 0x88, 0x85, 0x8e, 0xa0, 0x9a, 0x76, 0xd5,
0xca, 0xc4, 0xdd, 0xbc, 0xf4, 0xe1, 0xc5, 0x1d, 0x17, 0xdb, 0xfb, 0xdb, 0x0d, 0xe1, 0x0f, 0x17, 0x46, 0x6b, 0x59, 0x3f, 0x26, 0xa4, 0x1b, 0x19, 0x35, 0x19, 0xca, 0x49, 0x1f, 0xaa, 0x1e, 0xca,
0x5d, 0x62, 0xde, 0xef, 0x12, 0xf3, 0x79, 0x91, 0x89, 0x7f, 0xff, 0x3d, 0x00, 0x00, 0xff, 0xff, 0x94, 0x87, 0x09, 0x0f, 0x65, 0xea, 0x17, 0xef, 0x97, 0x70, 0x31, 0x70, 0xb8, 0xc7, 0xcc, 0x77,
0x9c, 0xc6, 0x92, 0x59, 0xd9, 0x21, 0x00, 0x00, 0xd3, 0x5f, 0x1f, 0x19, 0xae, 0x6c, 0xd2, 0xad, 0xec, 0xca, 0xc4, 0xda, 0xbc, 0xf0, 0xe9, 0xf9,
0x1d, 0x0b, 0x1b, 0xfb, 0xdb, 0x4d, 0xee, 0x0f, 0x20, 0x7d, 0xa2, 0xdd, 0xed, 0x13, 0xed, 0x69,
0x81, 0x8a, 0xff, 0xff, 0x33, 0x00, 0x00, 0xff, 0xff, 0x4d, 0xec, 0xfc, 0x6f, 0x69, 0x22, 0x00,
0x00,
} }

View File

@ -171,14 +171,15 @@ message SetMessageReactionExtensionsReq {
string operationID = 1; string operationID = 1;
string sourceID = 2; string sourceID = 2;
string opUserID = 3; string opUserID = 3;
int32 sessionType = 4; int32 opUserIDPlatformID = 4;
map <string, server_api_params.KeyValue>reactionExtensionList = 5; int32 sessionType = 5;
string clientMsgID = 6; map <string, server_api_params.KeyValue>reactionExtensionList = 6;
google.protobuf.StringValue ex = 7; string clientMsgID = 7;
google.protobuf.StringValue attachedInfo = 8; google.protobuf.StringValue ex = 8;
bool isReact = 9; google.protobuf.StringValue attachedInfo = 9;
bool isExternalExtensions = 10; bool isReact = 10;
int64 msgFirstModifyTime = 11; bool isExternalExtensions = 11;
int64 msgFirstModifyTime = 12;
} }
message SetMessageReactionExtensionsResp { message SetMessageReactionExtensionsResp {
int32 errCode = 1; int32 errCode = 1;
@ -192,14 +193,15 @@ message AddMessageReactionExtensionsReq {
string operationID = 1; string operationID = 1;
string sourceID = 2; string sourceID = 2;
string opUserID = 3; string opUserID = 3;
int32 sessionType = 4; int32 opUserIDPlatformID = 4;
map <string, server_api_params.KeyValue>reactionExtensionList = 5; int32 sessionType = 5;
string clientMsgID = 6; map <string, server_api_params.KeyValue>reactionExtensionList = 6;
google.protobuf.StringValue ex = 7; string clientMsgID = 7;
google.protobuf.StringValue attachedInfo = 8; google.protobuf.StringValue ex = 8;
bool isReact = 9; google.protobuf.StringValue attachedInfo = 9;
bool isExternalExtensions = 10; bool isReact = 10;
int64 msgFirstModifyTime = 11; bool isExternalExtensions = 11;
int64 msgFirstModifyTime = 12;
} }
message AddMessageReactionExtensionsResp { message AddMessageReactionExtensionsResp {
int32 errCode = 1; int32 errCode = 1;
@ -249,11 +251,12 @@ message DeleteMessageListReactionExtensionsReq {
string operationID = 1; string operationID = 1;
string opUserID = 2; string opUserID = 2;
string sourceID = 3; string sourceID = 3;
int32 sessionType = 4; int32 opUserIDPlatformID = 4;
string clientMsgID = 5; int32 sessionType = 5;
bool isExternalExtensions = 6; string clientMsgID = 6;
int64 msgFirstModifyTime = 7; bool isExternalExtensions = 7;
repeated server_api_params.KeyValue reactionExtensionList = 8; int64 msgFirstModifyTime = 8;
repeated server_api_params.KeyValue reactionExtensionList = 9;
} }
message DeleteMessageListReactionExtensionsResp { message DeleteMessageListReactionExtensionsResp {

File diff suppressed because it is too large Load Diff

View File

@ -21,7 +21,7 @@ message GroupInfo{
string creatorUserID = 11; string creatorUserID = 11;
int32 groupType = 12; int32 groupType = 12;
int32 needVerification = 13; int32 needVerification = 13;
int32 lookMemberInfo =14; int32 lookMemberInfo = 14;
int32 applyMemberFriend = 15; int32 applyMemberFriend = 15;
uint32 notificationUpdateTime = 16; uint32 notificationUpdateTime = 16;
string notificationUserID = 17; string notificationUserID = 17;
@ -223,7 +223,7 @@ message PullMessageBySeqListResp {
message GetMaxAndMinSeqReq { message GetMaxAndMinSeqReq {
repeated string groupIDList = 1; repeated string groupIDList = 1;
string userID = 2; string userID = 2;
string operationID =3; string operationID = 3;
} }
message MaxAndMinSeq{ message MaxAndMinSeq{
uint32 maxSeq = 1; uint32 maxSeq = 1;
@ -266,6 +266,9 @@ message MsgData {
bytes msgDataList = 21; bytes msgDataList = 21;
string attachedInfo = 22; string attachedInfo = 22;
string ex = 23; string ex = 23;
bool isReact = 24;
bool isExternalExtensions = 25;
int64 msgFirstModifyTime = 26;
} }
message OfflinePushInfo{ message OfflinePushInfo{
@ -506,7 +509,7 @@ message ConversationSetPrivateTips{
////////////////////message/////////////////////// ////////////////////message///////////////////////
message DeleteMessageTips{ message DeleteMessageTips{
string opUserID = 1; string opUserID = 1;
string userID =2; string userID = 2;
repeated uint32 seqList = 3; repeated uint32 seqList = 3;
} }
///cms ///cms
@ -525,7 +528,7 @@ message ResponsePagination {
message SignalReq { message SignalReq {
oneof payload { oneof payload {
SignalInviteReq invite = 1; SignalInviteReq invite = 1;
SignalInviteInGroupReq inviteInGroup= 2; SignalInviteInGroupReq inviteInGroup = 2;
SignalCancelReq cancel = 3; SignalCancelReq cancel = 3;
SignalAcceptReq accept = 4; SignalAcceptReq accept = 4;
SignalHungUpReq hungUp = 5; SignalHungUpReq hungUp = 5;
@ -541,7 +544,7 @@ message SignalReq {
message SignalResp { message SignalResp {
oneof payload { oneof payload {
SignalInviteReply invite = 1; SignalInviteReply invite = 1;
SignalInviteInGroupReply inviteInGroup= 2; SignalInviteInGroupReply inviteInGroup = 2;
SignalCancelReply cancel = 3; SignalCancelReply cancel = 3;
SignalAcceptReply accept = 4; SignalAcceptReply accept = 4;
SignalHungUpReply hungUp = 5; SignalHungUpReply hungUp = 5;