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
- Join Slack Community : https://join.slack.com/t/openimcommunity/shared_invite/zt-1jo5m1wm9-ym2qj0LUU5UbO68L6Z1zQg
- 中文官网访问这里:[Open-IM中文开发文档](https://doc.rentsoft.cn/)
## 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_conversation", conversation.GetConversation)
conversationGroup.POST("/get_conversations", conversation.GetConversations)
//deprecated
conversationGroup.POST("/set_conversation", conversation.SetConversation)
conversationGroup.POST("/batch_set_conversation", conversation.BatchSetConversations)
//deprecated
conversationGroup.POST("/set_recv_msg_opt", conversation.SetRecvMsgOpt)
conversationGroup.POST("/modify_conversation_field", conversation.ModifyConversationField)
}

View File

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

View File

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

View File

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

View File

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

View File

@ -44,7 +44,7 @@ func (rpc *rpcChat) DelSuperGroupMsg(_ context.Context, req *msg.DelSuperGroupMs
resp.ErrMsg = err.Error()
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 {
log.NewError(req.OperationID, "SetGroupUserMinSeq false ", req.OpUserID, req.UserID, req.GroupID)
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.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
}
for _, v := range callbackResp.ResultReactionExtensionList {
@ -187,12 +187,12 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S
}
if !isExists {
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 {
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 {
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())
return &rResp, nil
@ -323,7 +323,8 @@ func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.A
rResp.MsgFirstModifyTime = callbackResp.MsgFirstModifyTime
rResp.Result = callbackResp.ResultReactionExtensionList
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
}
@ -346,7 +347,7 @@ func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *ms
//if ExternalExtension
if req.IsExternalExtensions {
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
}
@ -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())
return &rResp, nil
}

View File

@ -13,7 +13,7 @@ import (
"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) {
var m base_info.ReactionMessageModifierNotification
m.SourceID = req.SourceID
@ -35,9 +35,9 @@ func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID strin
m.IsReact = resp.IsReact
m.IsExternalExtensions = req.IsExternalExtensions
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) {
var m base_info.ReactionMessageModifierNotification
m.SourceID = req.SourceID
@ -59,9 +59,9 @@ func ExtendMessageAddedNotification(operationID, sendID string, sourceID string,
m.IsReact = resp.IsReact
m.IsExternalExtensions = req.IsExternalExtensions
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) {
var m base_info.ReactionMessageDeleteNotification
m.SourceID = req.SourceID
@ -81,9 +81,9 @@ func ExtendMessageDeleteNotification(operationID, sendID string, sourceID string
m.ClientMsgID = req.ClientMsgID
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)
utils.SetSwitchFromOptions(options, constant.IsOfflinePush, false)
utils.SetSwitchFromOptions(options, constant.IsConversationUpdate, false)
@ -98,6 +98,7 @@ func messageReactionSender(operationID, sendID string, sourceID string, sessionT
OperationID: operationID,
MsgData: &open_im_sdk.MsgData{
SendID: sendID,
SenderPlatformID: senderPlatformID,
ClientMsgID: utils.GetMsgID(sendID),
SessionType: sessionType,
MsgFrom: constant.SysMsgType,

View File

@ -94,7 +94,7 @@ func callbackAddMessageReactionExtensions(setReq *msg.AddMessageReactionExtensio
MsgFirstModifyTime: setReq.MsgFirstModifyTime,
}
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 {
callbackResp.ErrCode = http2.StatusInternalServerError
callbackResp.ErrMsg = err.Error()

View File

@ -245,12 +245,15 @@ func GroupCreatedNotification(operationID, opUserID, groupID string, initMemberL
// notification := ""
// introduction := ""
// 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{}}
if err := setGroupInfo(groupID, GroupInfoChangedTips.Group); err != nil {
log.Error(operationID, "setGroupInfo failed ", err.Error(), groupID)
return
}
GroupInfoChangedTips.Group.NeedVerification = 0
GroupInfoChangedTips.Group.LookMemberInfo = 0
GroupInfoChangedTips.Group.ApplyMemberFriend = 0
GroupInfoChangedTips.Group.GroupName = groupName
GroupInfoChangedTips.Group.Notification = notification
GroupInfoChangedTips.Group.Introduction = introduction
@ -258,6 +261,12 @@ func GroupInfoSetNotification(operationID, opUserID, groupID string, groupName,
if needVerification != nil {
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 {
log.Error(operationID, "setOpUserInfo failed ", err.Error(), opUserID, groupID)

View File

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

View File

@ -578,7 +578,6 @@ func GetExtendMsg(sourceID string, sessionType int32, clientMsgID string, firstM
}
return string(bytes), nil
}
extendMsgStr, err := db.DB.Rc.Fetch(extendMsgCache+clientMsgID, time.Second*30*60, getExtendMsg)
if err != nil {
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, ""
}
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) {
claims, err := ParseToken(token, operationID)
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 (*MsgDataToMQ) ProtoMessage() {}
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 {
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 (*MsgDataToDB) ProtoMessage() {}
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 {
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 (*PushMsgDataToMQ) ProtoMessage() {}
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 {
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 (*MsgDataToMongoByMQ) ProtoMessage() {}
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 {
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 (*GetMaxAndMinSeqReq) ProtoMessage() {}
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 {
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 (*GetMaxAndMinSeqResp) ProtoMessage() {}
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 {
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 (*SendMsgReq) ProtoMessage() {}
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 {
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 (*SendMsgResp) ProtoMessage() {}
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 {
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 (*ClearMsgReq) ProtoMessage() {}
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 {
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 (*ClearMsgResp) ProtoMessage() {}
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 {
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 (*SetMsgMinSeqReq) ProtoMessage() {}
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 {
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 (*SetMsgMinSeqResp) ProtoMessage() {}
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 {
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 (*SetSendMsgStatusReq) ProtoMessage() {}
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 {
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 (*SetSendMsgStatusResp) ProtoMessage() {}
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 {
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 (*GetSendMsgStatusReq) ProtoMessage() {}
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 {
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 (*GetSendMsgStatusResp) ProtoMessage() {}
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 {
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 (*DelSuperGroupMsgReq) ProtoMessage() {}
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 {
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 (*DelSuperGroupMsgResp) ProtoMessage() {}
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 {
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 (*GetSuperGroupMsgReq) ProtoMessage() {}
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 {
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 (*GetSuperGroupMsgResp) ProtoMessage() {}
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 {
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 (*GetWriteDiffMsgReq) ProtoMessage() {}
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 {
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 (*GetWriteDiffMsgResp) ProtoMessage() {}
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 {
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 (*ModifyMessageReactionExtensionsReq) ProtoMessage() {}
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 {
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"`
SourceID string `protobuf:"bytes,2,opt,name=sourceID" json:"sourceID,omitempty"`
OpUserID string `protobuf:"bytes,3,opt,name=opUserID" json:"opUserID,omitempty"`
SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,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"`
ClientMsgID string `protobuf:"bytes,6,opt,name=clientMsgID" json:"clientMsgID,omitempty"`
Ex *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=ex" json:"ex,omitempty"`
AttachedInfo *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=attachedInfo" json:"attachedInfo,omitempty"`
IsReact bool `protobuf:"varint,9,opt,name=isReact" json:"isReact,omitempty"`
IsExternalExtensions bool `protobuf:"varint,10,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"`
MsgFirstModifyTime int64 `protobuf:"varint,11,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"`
OpUserIDPlatformID int32 `protobuf:"varint,4,opt,name=opUserIDPlatformID" json:"opUserIDPlatformID,omitempty"`
SessionType int32 `protobuf:"varint,5,opt,name=sessionType" json:"sessionType,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"`
ClientMsgID string `protobuf:"bytes,7,opt,name=clientMsgID" json:"clientMsgID,omitempty"`
Ex *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=ex" json:"ex,omitempty"`
AttachedInfo *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=attachedInfo" json:"attachedInfo,omitempty"`
IsReact bool `protobuf:"varint,10,opt,name=isReact" json:"isReact,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_unrecognized []byte `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 (*SetMessageReactionExtensionsReq) ProtoMessage() {}
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 {
return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b)
@ -1389,6 +1390,13 @@ func (m *SetMessageReactionExtensionsReq) GetOpUserID() string {
return ""
}
func (m *SetMessageReactionExtensionsReq) GetOpUserIDPlatformID() int32 {
if m != nil {
return m.OpUserIDPlatformID
}
return 0
}
func (m *SetMessageReactionExtensionsReq) GetSessionType() int32 {
if m != nil {
return m.SessionType
@ -1461,7 +1469,7 @@ func (m *SetMessageReactionExtensionsResp) Reset() { *m = SetMessageReac
func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) }
func (*SetMessageReactionExtensionsResp) ProtoMessage() {}
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 {
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"`
SourceID string `protobuf:"bytes,2,opt,name=sourceID" json:"sourceID,omitempty"`
OpUserID string `protobuf:"bytes,3,opt,name=opUserID" json:"opUserID,omitempty"`
SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,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"`
ClientMsgID string `protobuf:"bytes,6,opt,name=clientMsgID" json:"clientMsgID,omitempty"`
Ex *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=ex" json:"ex,omitempty"`
AttachedInfo *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=attachedInfo" json:"attachedInfo,omitempty"`
IsReact bool `protobuf:"varint,9,opt,name=isReact" json:"isReact,omitempty"`
IsExternalExtensions bool `protobuf:"varint,10,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"`
MsgFirstModifyTime int64 `protobuf:"varint,11,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"`
OpUserIDPlatformID int32 `protobuf:"varint,4,opt,name=opUserIDPlatformID" json:"opUserIDPlatformID,omitempty"`
SessionType int32 `protobuf:"varint,5,opt,name=sessionType" json:"sessionType,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"`
ClientMsgID string `protobuf:"bytes,7,opt,name=clientMsgID" json:"clientMsgID,omitempty"`
Ex *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=ex" json:"ex,omitempty"`
AttachedInfo *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=attachedInfo" json:"attachedInfo,omitempty"`
IsReact bool `protobuf:"varint,10,opt,name=isReact" json:"isReact,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_unrecognized []byte `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 (*AddMessageReactionExtensionsReq) ProtoMessage() {}
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 {
return xxx_messageInfo_AddMessageReactionExtensionsReq.Unmarshal(m, b)
@ -1585,6 +1594,13 @@ func (m *AddMessageReactionExtensionsReq) GetOpUserID() string {
return ""
}
func (m *AddMessageReactionExtensionsReq) GetOpUserIDPlatformID() int32 {
if m != nil {
return m.OpUserIDPlatformID
}
return 0
}
func (m *AddMessageReactionExtensionsReq) GetSessionType() int32 {
if m != nil {
return m.SessionType
@ -1657,7 +1673,7 @@ func (m *AddMessageReactionExtensionsResp) Reset() { *m = AddMessageReac
func (m *AddMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) }
func (*AddMessageReactionExtensionsResp) ProtoMessage() {}
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 {
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 (*GetMessageListReactionExtensionsReq) ProtoMessage() {}
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 {
return xxx_messageInfo_GetMessageListReactionExtensionsReq.Unmarshal(m, b)
@ -1821,7 +1837,7 @@ func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) String() string
}
func (*GetMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {}
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 {
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 (*GetMessageListReactionExtensionsResp) ProtoMessage() {}
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 {
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 (*SingleMessageExtensionResult) ProtoMessage() {}
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 {
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 (*ModifyMessageReactionExtensionsResp) ProtoMessage() {}
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 {
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"`
OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"`
SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"`
SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"`
ClientMsgID string `protobuf:"bytes,5,opt,name=clientMsgID" json:"clientMsgID,omitempty"`
IsExternalExtensions bool `protobuf:"varint,6,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"`
MsgFirstModifyTime int64 `protobuf:"varint,7,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"`
ReactionExtensionList []*sdk_ws.KeyValue `protobuf:"bytes,8,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty"`
OpUserIDPlatformID int32 `protobuf:"varint,4,opt,name=opUserIDPlatformID" json:"opUserIDPlatformID,omitempty"`
SessionType int32 `protobuf:"varint,5,opt,name=sessionType" json:"sessionType,omitempty"`
ClientMsgID string `protobuf:"bytes,6,opt,name=clientMsgID" json:"clientMsgID,omitempty"`
IsExternalExtensions bool `protobuf:"varint,7,opt,name=isExternalExtensions" json:"isExternalExtensions,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_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -2053,7 +2070,7 @@ func (m *DeleteMessageListReactionExtensionsReq) Reset() {
func (m *DeleteMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) }
func (*DeleteMessageListReactionExtensionsReq) ProtoMessage() {}
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 {
return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Unmarshal(m, b)
@ -2094,6 +2111,13 @@ func (m *DeleteMessageListReactionExtensionsReq) GetSourceID() string {
return ""
}
func (m *DeleteMessageListReactionExtensionsReq) GetOpUserIDPlatformID() int32 {
if m != nil {
return m.OpUserIDPlatformID
}
return 0
}
func (m *DeleteMessageListReactionExtensionsReq) GetSessionType() int32 {
if m != nil {
return m.SessionType
@ -2144,7 +2168,7 @@ func (m *DeleteMessageListReactionExtensionsResp) Reset() {
func (m *DeleteMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) }
func (*DeleteMessageListReactionExtensionsResp) ProtoMessage() {}
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 {
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 (*ExtendMsgResp) ProtoMessage() {}
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 {
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 (*ExtendMsg) ProtoMessage() {}
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 {
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 (*KeyValueResp) ProtoMessage() {}
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 {
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 (*MsgDataToModifyByMQ) ProtoMessage() {}
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 {
return xxx_messageInfo_MsgDataToModifyByMQ.Unmarshal(m, b)
@ -2999,116 +3023,119 @@ var _Msg_serviceDesc = grpc.ServiceDesc{
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{
// 1720 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0x4f, 0x6f, 0xdb, 0x46,
0x16, 0x07, 0x49, 0x4b, 0xb6, 0x9f, 0xec, 0xd8, 0x19, 0x3b, 0x5e, 0x85, 0x31, 0x10, 0x85, 0xf9,
0xe7, 0x6c, 0x12, 0x19, 0xeb, 0x5d, 0x20, 0x8b, 0xcd, 0x02, 0x9b, 0x38, 0xf2, 0x2a, 0x46, 0x56,
0xeb, 0x98, 0x72, 0x5b, 0xa0, 0x3d, 0x38, 0x8c, 0x34, 0x66, 0x08, 0x4b, 0x24, 0xcd, 0xa1, 0x62,
0xab, 0xff, 0x0e, 0x05, 0xda, 0x4b, 0x91, 0x43, 0x8f, 0x3d, 0xf5, 0xd6, 0x5b, 0x3f, 0x44, 0x3f,
0x40, 0xd1, 0x4b, 0xbf, 0x45, 0x3f, 0x43, 0x81, 0x62, 0x66, 0x28, 0x69, 0xf8, 0x4f, 0xa4, 0xe5,
0x22, 0x48, 0x8a, 0xdc, 0xf4, 0x66, 0xde, 0xbc, 0x79, 0xbf, 0xf7, 0x7e, 0xf3, 0x87, 0xf3, 0x04,
0xf3, 0x5d, 0x62, 0xae, 0x77, 0x89, 0x59, 0x75, 0x3d, 0xc7, 0x77, 0x90, 0xd2, 0x25, 0xa6, 0xba,
0xb6, 0xe3, 0x62, 0xfb, 0xee, 0x76, 0xe3, 0x6e, 0x13, 0x7b, 0x2f, 0xb1, 0xb7, 0xee, 0x1e, 0x9a,
0xeb, 0xac, 0x7b, 0x9d, 0xb4, 0x0f, 0xf7, 0x8f, 0xc9, 0xfa, 0x31, 0xe1, 0xea, 0x6a, 0x35, 0x53,
0xd3, 0x33, 0x5c, 0x17, 0x7b, 0x81, 0xbe, 0xf6, 0x09, 0x94, 0x1a, 0xc4, 0xac, 0x19, 0xbe, 0xb1,
0xe7, 0x34, 0x76, 0xd1, 0x32, 0x14, 0x7c, 0xe7, 0x10, 0xdb, 0x65, 0xa9, 0x22, 0xad, 0xcd, 0xea,
0x5c, 0x40, 0x15, 0x28, 0x39, 0x2e, 0xf6, 0x0c, 0xdf, 0x72, 0xec, 0xed, 0x5a, 0x59, 0x66, 0x7d,
0x62, 0x13, 0xfa, 0x07, 0x4c, 0x77, 0xb9, 0x99, 0xb2, 0x52, 0x91, 0xd6, 0x4a, 0x1b, 0x6a, 0x95,
0x30, 0x07, 0xf6, 0x0d, 0xd7, 0xda, 0x77, 0x0d, 0xcf, 0xe8, 0x92, 0x6a, 0x30, 0x91, 0x3e, 0x50,
0xd5, 0xb0, 0x30, 0x79, 0x6d, 0x53, 0x34, 0x22, 0xe5, 0x36, 0x92, 0xed, 0x9c, 0xf6, 0x4a, 0x82,
0x85, 0xa7, 0x3d, 0xf2, 0x42, 0x04, 0x5a, 0x81, 0xd2, 0x8e, 0x30, 0x8a, 0xc3, 0x15, 0x9b, 0x44,
0x6f, 0xe4, 0xfc, 0xde, 0x68, 0x30, 0xe7, 0xf6, 0xc8, 0x8b, 0x3d, 0xe7, 0x3d, 0x82, 0xbd, 0xed,
0x1a, 0x8b, 0xc6, 0xac, 0x1e, 0x6a, 0xd3, 0xbe, 0x97, 0x00, 0x8d, 0x7c, 0x71, 0x6c, 0xd3, 0xd9,
0xec, 0x37, 0x76, 0x51, 0x19, 0xa6, 0x3b, 0x06, 0xf1, 0x9b, 0xf8, 0x88, 0xb9, 0x33, 0xa5, 0x0f,
0x44, 0x74, 0x0d, 0xe6, 0x0d, 0xd3, 0xf4, 0xb0, 0x19, 0x06, 0x19, 0x6e, 0x44, 0x1b, 0x50, 0xea,
0x62, 0x42, 0x0c, 0x13, 0xff, 0xcf, 0x22, 0x7e, 0x59, 0xa9, 0x28, 0x6b, 0xa5, 0x8d, 0xc5, 0x2a,
0xa5, 0x92, 0x80, 0x5c, 0x17, 0x95, 0xd0, 0x2a, 0xcc, 0xfa, 0x9e, 0x65, 0x9a, 0xcc, 0xd7, 0x29,
0x66, 0x75, 0xd4, 0xa0, 0xfd, 0x1f, 0x50, 0x1d, 0xfb, 0x0d, 0xe3, 0xe4, 0xa1, 0xdd, 0x6e, 0x58,
0x76, 0x13, 0x1f, 0xe9, 0xf8, 0x08, 0xad, 0x40, 0x31, 0x00, 0xc7, 0xa3, 0x16, 0x48, 0xd1, 0x90,
0xca, 0xb1, 0x90, 0x6a, 0xc7, 0xb0, 0x14, 0xb3, 0x47, 0x5c, 0x0a, 0x7c, 0xcb, 0xf3, 0x1e, 0x39,
0x6d, 0xcc, 0x2c, 0x16, 0xf4, 0x81, 0x48, 0xa7, 0xda, 0xf2, 0xbc, 0x06, 0x31, 0x03, 0x6b, 0x81,
0x44, 0xdb, 0x1b, 0xc6, 0x09, 0x8d, 0x14, 0x8d, 0xef, 0xbc, 0x1e, 0x48, 0xac, 0x9d, 0xd9, 0x65,
0x58, 0x68, 0x3b, 0x93, 0xb4, 0x8f, 0x01, 0x9a, 0xd8, 0x6e, 0x37, 0x88, 0x49, 0x01, 0xbc, 0x5e,
0x92, 0x7f, 0x27, 0x41, 0x69, 0x38, 0x39, 0x47, 0x8b, 0xc3, 0x68, 0xf1, 0x08, 0x2d, 0x0e, 0xa1,
0xe5, 0x12, 0xf5, 0x8c, 0xcf, 0xd3, 0x20, 0xe6, 0x30, 0x4d, 0x62, 0x13, 0xd5, 0x68, 0x75, 0x2c,
0x6c, 0xfb, 0x5c, 0xa3, 0xc0, 0x35, 0x84, 0x26, 0xa4, 0xc2, 0x0c, 0xc1, 0x76, 0x7b, 0xcf, 0xea,
0xe2, 0x72, 0xb1, 0x22, 0xad, 0x29, 0xfa, 0x50, 0xd6, 0x5a, 0x50, 0x7a, 0xd4, 0xc1, 0x86, 0x17,
0x84, 0x67, 0x05, 0x8a, 0xbd, 0x50, 0x7e, 0xb9, 0x44, 0x4d, 0x38, 0x6e, 0x90, 0x79, 0xee, 0xe0,
0x50, 0x8e, 0x06, 0x4f, 0x89, 0x2f, 0xc2, 0x07, 0x30, 0x37, 0x9a, 0x64, 0x92, 0x30, 0x68, 0xdf,
0x4a, 0xb0, 0xd0, 0xc4, 0x14, 0x4f, 0x88, 0x8b, 0x89, 0xbe, 0x96, 0x61, 0xda, 0xf4, 0x9c, 0x9e,
0x3b, 0x74, 0x75, 0x20, 0xd2, 0x11, 0x5d, 0x4e, 0x91, 0x80, 0x3a, 0x5c, 0x8a, 0x22, 0x98, 0x8a,
0xa7, 0x5f, 0xc4, 0x5f, 0x08, 0xe3, 0xd7, 0x6a, 0xb0, 0x18, 0x76, 0x6d, 0x22, 0x84, 0x3b, 0xb0,
0xd4, 0xc4, 0x7e, 0x40, 0x96, 0xa6, 0x6f, 0xf8, 0x3d, 0xa2, 0xc7, 0x5d, 0x93, 0xe2, 0xae, 0xad,
0x40, 0x91, 0x30, 0x75, 0x66, 0xb0, 0xa0, 0x07, 0x92, 0xf6, 0x18, 0x96, 0xe3, 0x06, 0x27, 0x72,
0xed, 0x1e, 0x5b, 0xba, 0xa7, 0x77, 0x4d, 0x7b, 0x06, 0xcb, 0xf5, 0x3f, 0xc4, 0x05, 0x01, 0xa4,
0x12, 0x02, 0xf9, 0xa5, 0x04, 0x4b, 0x35, 0xdc, 0x69, 0xf6, 0x5c, 0xec, 0xd5, 0x69, 0x96, 0x03,
0x1e, 0x8b, 0xf9, 0x92, 0x22, 0x7c, 0x1d, 0xf1, 0x46, 0x4e, 0xe3, 0x8d, 0x12, 0xe6, 0x4d, 0x26,
0x3f, 0x68, 0xb0, 0xe3, 0x6e, 0x4c, 0x14, 0xec, 0x16, 0x0f, 0x76, 0x14, 0x50, 0x36, 0x0f, 0x16,
0x41, 0xa1, 0xcc, 0x96, 0x19, 0xb3, 0xe9, 0xcf, 0x74, 0x40, 0xda, 0xe7, 0x3c, 0x31, 0x67, 0x77,
0x77, 0xc2, 0x7d, 0xf1, 0x31, 0x3b, 0x5c, 0x3e, 0xf0, 0x2c, 0x1f, 0xd7, 0xac, 0x83, 0x83, 0xc9,
0x31, 0x6a, 0x9f, 0xb1, 0x70, 0x85, 0x2d, 0xbd, 0x46, 0x20, 0xdf, 0x14, 0x40, 0x6b, 0x38, 0x6d,
0xeb, 0xa0, 0xdf, 0xe0, 0x27, 0xab, 0x8e, 0x8d, 0x16, 0x75, 0x76, 0xeb, 0xc4, 0xc7, 0x36, 0xb1,
0x1c, 0x3b, 0xe7, 0x2a, 0xa6, 0x7b, 0xb4, 0xd3, 0xf3, 0x5a, 0x78, 0xb4, 0xc1, 0x0e, 0xe4, 0x10,
0x99, 0x95, 0xf8, 0xe6, 0x4b, 0x30, 0xa1, 0x13, 0xed, 0xf5, 0x5d, 0xcc, 0xa8, 0x59, 0xd0, 0xc5,
0x26, 0x74, 0x02, 0x17, 0xbc, 0xa8, 0x53, 0xec, 0x92, 0x50, 0x60, 0x97, 0x84, 0x4d, 0x7e, 0x49,
0xc8, 0xc4, 0x50, 0xd5, 0x93, 0x8c, 0x6c, 0xd9, 0xbe, 0xd7, 0xd7, 0x93, 0x27, 0x88, 0x9e, 0x4c,
0xc5, 0xf8, 0xc9, 0x74, 0x07, 0x64, 0x7c, 0x52, 0x9e, 0x66, 0xf1, 0x5e, 0xad, 0x9a, 0x8e, 0x63,
0x76, 0x30, 0xbf, 0x9c, 0x3e, 0xef, 0x1d, 0x54, 0x9b, 0xbe, 0x67, 0xd9, 0xe6, 0xfb, 0x46, 0xa7,
0x87, 0x75, 0x19, 0x9f, 0xa0, 0x07, 0x30, 0x67, 0xf8, 0xbe, 0xd1, 0x7a, 0x81, 0xdb, 0xdb, 0xf6,
0x81, 0x53, 0x9e, 0xc9, 0x31, 0x2e, 0x34, 0x82, 0xd2, 0xc2, 0x22, 0x0c, 0x48, 0x79, 0xb6, 0x22,
0xad, 0xcd, 0xe8, 0x03, 0x11, 0x6d, 0xc0, 0xb2, 0x45, 0xa8, 0xfb, 0x9e, 0x6d, 0x74, 0x46, 0xc0,
0xcb, 0xc0, 0xd4, 0x12, 0xfb, 0x50, 0x15, 0x50, 0x97, 0x98, 0xff, 0xb5, 0x3c, 0xe2, 0xf3, 0xf8,
0xb1, 0x13, 0xb6, 0xc4, 0x4e, 0xd8, 0x84, 0x1e, 0x15, 0x83, 0x9a, 0x1e, 0x44, 0xca, 0xed, 0x43,
0xdc, 0x0f, 0xb8, 0x41, 0x7f, 0xa2, 0xbf, 0x41, 0xe1, 0x25, 0x05, 0x11, 0xdc, 0x41, 0x2f, 0x25,
0x10, 0xf2, 0x09, 0xee, 0x73, 0x9c, 0x5c, 0xf3, 0x5f, 0xf2, 0x3f, 0x25, 0xed, 0xeb, 0x02, 0x5c,
0xa6, 0x07, 0xd2, 0x9b, 0x4a, 0xc8, 0xde, 0x78, 0x42, 0xfe, 0x87, 0x11, 0x32, 0x03, 0xc0, 0x3b,
0x36, 0xbe, 0x2d, 0x6c, 0xfc, 0x55, 0x82, 0xca, 0xf8, 0x64, 0x4e, 0x7a, 0x2f, 0x16, 0xb3, 0xa9,
0xc4, 0xb3, 0x99, 0x1c, 0x8f, 0xa9, 0xb4, 0x78, 0x88, 0xd9, 0x28, 0x84, 0xb3, 0x71, 0x0b, 0x8a,
0x1e, 0x26, 0xbd, 0x8e, 0x5f, 0x2e, 0x32, 0x86, 0x9e, 0x67, 0x0c, 0x1d, 0x82, 0xc5, 0xc4, 0xd5,
0x03, 0x05, 0xb6, 0xf6, 0x1e, 0xb6, 0xdb, 0x6f, 0xf7, 0xda, 0xcb, 0x00, 0xf0, 0x6e, 0xed, 0xbd,
0x4d, 0x6b, 0x6f, 0x7c, 0x32, 0xff, 0x4c, 0x6b, 0xef, 0x17, 0x05, 0xae, 0xd6, 0x87, 0x3b, 0x0d,
0x0d, 0xe7, 0x19, 0xd6, 0x5f, 0xea, 0xd7, 0xae, 0xb8, 0x36, 0x95, 0xc8, 0xda, 0xcc, 0x5e, 0x7f,
0x69, 0xe4, 0x2a, 0x8c, 0x21, 0x57, 0x05, 0x4a, 0x7e, 0xdf, 0xc5, 0x4f, 0x70, 0x9f, 0xad, 0x54,
0x1a, 0x87, 0x59, 0x5d, 0x6c, 0x42, 0x04, 0x56, 0xba, 0xe1, 0x1c, 0x0f, 0x94, 0xa7, 0x59, 0xd0,
0xee, 0xb3, 0xa0, 0xe5, 0x88, 0x4d, 0xb5, 0x11, 0x33, 0xa3, 0xa7, 0x98, 0x56, 0x0f, 0x00, 0xc5,
0xb5, 0xa3, 0xdc, 0x90, 0xf2, 0x72, 0x43, 0x4e, 0xe3, 0x86, 0xf6, 0x83, 0x04, 0xd7, 0xb2, 0x5d,
0x9f, 0x88, 0xc8, 0x4d, 0x58, 0x22, 0x96, 0x6d, 0x76, 0xf0, 0x10, 0x08, 0x63, 0x1a, 0x7f, 0x3d,
0xbb, 0xc2, 0xef, 0x21, 0x62, 0xff, 0x70, 0x42, 0xae, 0xa8, 0x27, 0x8d, 0xd6, 0x7e, 0x92, 0x61,
0x75, 0xdc, 0xa8, 0x09, 0xfc, 0xf4, 0xd2, 0x76, 0x6d, 0xee, 0xe9, 0xbf, 0x33, 0x3d, 0x3d, 0xfb,
0x96, 0x3d, 0x15, 0x4b, 0xe4, 0xeb, 0xda, 0xc4, 0x7e, 0x94, 0xe0, 0x6a, 0xe6, 0xe7, 0xc9, 0x84,
0x9f, 0x7c, 0x25, 0xd2, 0x6b, 0xb5, 0x30, 0x21, 0x42, 0x30, 0x11, 0x0b, 0x26, 0xb3, 0x3d, 0x78,
0xb6, 0xd3, 0x45, 0x35, 0xb4, 0x01, 0x70, 0x60, 0x58, 0x1d, 0xdc, 0x66, 0x83, 0xa6, 0x52, 0x07,
0x09, 0x5a, 0xda, 0x6f, 0x32, 0xdc, 0xa8, 0xe1, 0x0e, 0xf6, 0xf1, 0x1b, 0xbd, 0x3b, 0x65, 0x3f,
0x25, 0xa6, 0xed, 0x5f, 0xc5, 0x53, 0x1f, 0x8e, 0xd3, 0xa9, 0x87, 0xc1, 0x6e, 0x1a, 0xdb, 0x67,
0x58, 0xac, 0xc7, 0xf2, 0x26, 0x79, 0xa4, 0xf6, 0x95, 0x04, 0x37, 0x73, 0xc5, 0x7f, 0x22, 0x1e,
0x9d, 0xe2, 0x8c, 0x72, 0x60, 0x3e, 0xc4, 0x12, 0x74, 0x07, 0x66, 0xf1, 0xa0, 0x21, 0xa8, 0x7c,
0x9c, 0x8b, 0x90, 0x69, 0xa4, 0x20, 0xfa, 0x26, 0xa7, 0xf9, 0xa6, 0x84, 0x9e, 0x93, 0x7e, 0x96,
0x61, 0x76, 0x68, 0x0a, 0xed, 0xa7, 0x85, 0x56, 0x62, 0x8e, 0xdf, 0x0a, 0xcf, 0x7c, 0xf6, 0x5d,
0x43, 0xce, 0xbb, 0xfd, 0x2b, 0xa9, 0x6c, 0xd0, 0x22, 0x57, 0x3d, 0xbe, 0x11, 0x85, 0x2f, 0x73,
0xe7, 0xd8, 0xe5, 0x91, 0xd3, 0x55, 0xc6, 0x27, 0xea, 0x47, 0xa7, 0xdc, 0x99, 0x6e, 0x86, 0x77,
0xa6, 0x84, 0xfc, 0x09, 0xfb, 0x51, 0x1f, 0xe6, 0xc4, 0x2e, 0x74, 0x0f, 0x66, 0x0e, 0x03, 0x39,
0x48, 0xe0, 0x58, 0x86, 0x0e, 0x95, 0x27, 0x48, 0xe6, 0x2b, 0x09, 0x96, 0x84, 0xe2, 0x11, 0x8d,
0x11, 0xab, 0x1e, 0xc5, 0x6a, 0x44, 0x52, 0x8e, 0x1a, 0x91, 0x7c, 0xea, 0x1a, 0x91, 0x12, 0xa9,
0x11, 0x6d, 0x7c, 0x01, 0xa0, 0x74, 0x89, 0x89, 0x9e, 0xc1, 0x42, 0xa4, 0xb6, 0x83, 0xae, 0x27,
0xc4, 0x20, 0x5e, 0x4f, 0x52, 0x6f, 0xe4, 0x51, 0x23, 0x2e, 0x72, 0x60, 0xf9, 0x69, 0xaf, 0xd3,
0x09, 0x56, 0xef, 0x66, 0xbf, 0x89, 0x8f, 0x98, 0x7f, 0x7f, 0x4d, 0x18, 0x9f, 0xa4, 0x48, 0xe7,
0xba, 0x9d, 0x5b, 0x97, 0xad, 0xcb, 0xe9, 0xe0, 0xdd, 0x1a, 0x2d, 0x04, 0x0f, 0x12, 0x83, 0x1a,
0x92, 0xba, 0x18, 0x6e, 0x20, 0x2e, 0xda, 0x05, 0xa8, 0xe1, 0x4e, 0x83, 0x98, 0x7c, 0x11, 0x24,
0x4c, 0x34, 0xea, 0xa6, 0x16, 0xae, 0x64, 0x68, 0x10, 0x17, 0xd5, 0x61, 0x31, 0xfa, 0xa2, 0x8c,
0xca, 0x6c, 0xe2, 0x84, 0xf7, 0x6e, 0xf5, 0x62, 0x4a, 0x0f, 0x71, 0xd1, 0x3a, 0xcc, 0x0c, 0x8a,
0x2f, 0x88, 0x7b, 0x2e, 0x14, 0x7c, 0xd4, 0xf3, 0x91, 0x16, 0xe2, 0xa2, 0xfb, 0x30, 0x27, 0xd6,
0x33, 0xd0, 0xf2, 0xf0, 0x41, 0x46, 0xa8, 0xbe, 0xa8, 0x17, 0x12, 0x5a, 0xb9, 0xdb, 0xd1, 0xaa,
0x43, 0xe0, 0x76, 0x42, 0x75, 0x23, 0x70, 0x3b, 0xb1, 0x4c, 0x51, 0x87, 0xc5, 0x7a, 0xb2, 0xa1,
0x7a, 0xaa, 0xa1, 0xfa, 0x18, 0x43, 0x09, 0x81, 0x4c, 0x78, 0x67, 0x17, 0x0c, 0xc5, 0x02, 0x59,
0x63, 0x2c, 0x17, 0x9f, 0x9a, 0xd1, 0x5f, 0x06, 0xda, 0x91, 0xa7, 0x6c, 0xb5, 0x9c, 0xdc, 0x41,
0x5c, 0x74, 0x08, 0xab, 0xe3, 0x9e, 0x43, 0xd0, 0xb5, 0x3c, 0xcf, 0x5f, 0xea, 0xf5, 0x1c, 0x5a,
0xc4, 0x45, 0xc7, 0x50, 0xc9, 0xba, 0x3a, 0xa3, 0xb5, 0xbc, 0x1f, 0x07, 0xea, 0xad, 0x9c, 0x9a,
0x1c, 0xe5, 0xb8, 0x0f, 0xcf, 0x00, 0x65, 0xc6, 0x43, 0x43, 0x80, 0x32, 0xf3, 0x0b, 0xf6, 0x53,
0xb8, 0x1c, 0x3a, 0xdc, 0x13, 0xe6, 0xbb, 0x3d, 0x58, 0x1f, 0x39, 0xae, 0x60, 0xea, 0x9d, 0xfc,
0xca, 0xc4, 0xdd, 0xbc, 0xf4, 0xe1, 0xc5, 0x1d, 0x17, 0xdb, 0xfb, 0xdb, 0x0d, 0xe1, 0x0f, 0x17,
0x5d, 0x62, 0xde, 0xef, 0x12, 0xf3, 0x79, 0x91, 0x89, 0x7f, 0xff, 0x3d, 0x00, 0x00, 0xff, 0xff,
0x9c, 0xc6, 0x92, 0x59, 0xd9, 0x21, 0x00, 0x00,
var fileDescriptor_msg_96239333e69eba2c = []byte{
// 1761 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcb, 0x6e, 0xdb, 0x46,
0x17, 0x06, 0x45, 0x4b, 0xb2, 0x8e, 0xec, 0xd8, 0x19, 0x3b, 0xfe, 0x15, 0xc6, 0x40, 0x14, 0xe6,
0xe6, 0xfc, 0x49, 0x64, 0xfc, 0xfe, 0x0b, 0xa4, 0x68, 0x0a, 0x34, 0x71, 0xe4, 0x2a, 0x46, 0xaa,
0x3a, 0xa6, 0xdc, 0x16, 0x68, 0x17, 0x0e, 0x23, 0x8d, 0x18, 0xc2, 0x12, 0x49, 0x73, 0xa8, 0xd8,
0xea, 0x6d, 0x51, 0xa0, 0xdd, 0x65, 0xd1, 0x65, 0x57, 0xdd, 0x75, 0x97, 0x27, 0xe8, 0xaa, 0x0f,
0x50, 0x74, 0xd3, 0xb7, 0xe8, 0x4b, 0x14, 0x9c, 0x21, 0xa5, 0xe1, 0x4d, 0xa4, 0xe5, 0x20, 0x41,
0x2f, 0x3b, 0x9d, 0x99, 0x33, 0x67, 0xce, 0x77, 0xce, 0x37, 0x17, 0xce, 0x11, 0xcc, 0xf7, 0x89,
0xb6, 0xde, 0x27, 0x5a, 0xcd, 0xb2, 0x4d, 0xc7, 0x44, 0x62, 0x9f, 0x68, 0xd2, 0xda, 0x8e, 0x85,
0x8d, 0xdb, 0xdb, 0xcd, 0xdb, 0x2d, 0x6c, 0x3f, 0xc7, 0xf6, 0xba, 0x75, 0xa0, 0xad, 0xd3, 0xee,
0x75, 0xd2, 0x39, 0xd8, 0x3f, 0x22, 0xeb, 0x47, 0x84, 0xa9, 0x4b, 0xb5, 0x54, 0x4d, 0x5b, 0xb5,
0x2c, 0x6c, 0x7b, 0xfa, 0xf2, 0x17, 0x50, 0x6e, 0x12, 0xad, 0xae, 0x3a, 0xea, 0x9e, 0xd9, 0xdc,
0x45, 0xcb, 0x90, 0x77, 0xcc, 0x03, 0x6c, 0x54, 0x84, 0xaa, 0xb0, 0x56, 0x52, 0x98, 0x80, 0xaa,
0x50, 0x36, 0x2d, 0x6c, 0xab, 0x8e, 0x6e, 0x1a, 0xdb, 0xf5, 0x4a, 0x8e, 0xf6, 0xf1, 0x4d, 0xe8,
0x2d, 0x28, 0xf6, 0x99, 0x99, 0x8a, 0x58, 0x15, 0xd6, 0xca, 0x1b, 0x52, 0x8d, 0x50, 0x07, 0xf6,
0x55, 0x4b, 0xdf, 0xb7, 0x54, 0x5b, 0xed, 0x93, 0x9a, 0x37, 0x91, 0xe2, 0xab, 0xca, 0x98, 0x9b,
0xbc, 0xbe, 0xc9, 0x1b, 0x11, 0x32, 0x1b, 0x49, 0x77, 0x4e, 0x7e, 0x21, 0xc0, 0xc2, 0xe3, 0x01,
0x79, 0xc6, 0x03, 0xad, 0x42, 0x79, 0x87, 0x1b, 0xc5, 0xe0, 0xf2, 0x4d, 0xbc, 0x37, 0xb9, 0xec,
0xde, 0xc8, 0x30, 0x67, 0x0d, 0xc8, 0xb3, 0x3d, 0xf3, 0x23, 0x82, 0xed, 0xed, 0x3a, 0x8d, 0x46,
0x49, 0x09, 0xb4, 0xc9, 0x3f, 0x09, 0x80, 0xc6, 0xbe, 0x98, 0x86, 0x66, 0x6e, 0x0e, 0x9b, 0xbb,
0xa8, 0x02, 0xc5, 0x9e, 0x4a, 0x9c, 0x16, 0x3e, 0xa4, 0xee, 0xcc, 0x28, 0xbe, 0x88, 0xae, 0xc0,
0xbc, 0xaa, 0x69, 0x36, 0xd6, 0x82, 0x20, 0x83, 0x8d, 0x68, 0x03, 0xca, 0x7d, 0x4c, 0x88, 0xaa,
0xe1, 0x0f, 0x74, 0xe2, 0x54, 0xc4, 0xaa, 0xb8, 0x56, 0xde, 0x58, 0xac, 0xb9, 0x54, 0xe2, 0x90,
0x2b, 0xbc, 0x12, 0x5a, 0x85, 0x92, 0x63, 0xeb, 0x9a, 0x46, 0x7d, 0x9d, 0xa1, 0x56, 0xc7, 0x0d,
0xf2, 0x87, 0x80, 0x1a, 0xd8, 0x69, 0xaa, 0xc7, 0xf7, 0x8d, 0x4e, 0x53, 0x37, 0x5a, 0xf8, 0x50,
0xc1, 0x87, 0x68, 0x05, 0x0a, 0x1e, 0x38, 0x16, 0x35, 0x4f, 0x0a, 0x87, 0x34, 0x17, 0x09, 0xa9,
0x7c, 0x04, 0x4b, 0x11, 0x7b, 0xc4, 0x72, 0x81, 0x6f, 0xd9, 0xf6, 0x03, 0xb3, 0x83, 0xa9, 0xc5,
0xbc, 0xe2, 0x8b, 0xee, 0x54, 0x5b, 0xb6, 0xdd, 0x24, 0x9a, 0x67, 0xcd, 0x93, 0xdc, 0xf6, 0xa6,
0x7a, 0xec, 0x46, 0xca, 0x8d, 0xef, 0xbc, 0xe2, 0x49, 0xb4, 0x9d, 0xda, 0xa5, 0x58, 0xdc, 0x76,
0x2a, 0xc9, 0x9f, 0x03, 0xb4, 0xb0, 0xd1, 0x69, 0x12, 0xcd, 0x05, 0xf0, 0x7a, 0x49, 0xfe, 0xa3,
0x00, 0xe5, 0xd1, 0xe4, 0x0c, 0x2d, 0x0e, 0xa2, 0xc5, 0x63, 0xb4, 0x38, 0x80, 0x96, 0x49, 0xae,
0x67, 0x6c, 0x9e, 0x26, 0xd1, 0x46, 0x69, 0xe2, 0x9b, 0x5c, 0x8d, 0x76, 0x4f, 0xc7, 0x86, 0xc3,
0x34, 0xf2, 0x4c, 0x83, 0x6b, 0x42, 0x12, 0xcc, 0x12, 0x6c, 0x74, 0xf6, 0xf4, 0x3e, 0xae, 0x14,
0xaa, 0xc2, 0x9a, 0xa8, 0x8c, 0x64, 0xb9, 0x0d, 0xe5, 0x07, 0x3d, 0xac, 0xda, 0x5e, 0x78, 0x56,
0xa0, 0x30, 0x08, 0xe4, 0x97, 0x49, 0xae, 0x09, 0xd3, 0xf2, 0x32, 0xcf, 0x1c, 0x1c, 0xc9, 0xe1,
0xe0, 0x89, 0xd1, 0x45, 0x78, 0x0f, 0xe6, 0xc6, 0x93, 0x4c, 0x13, 0x06, 0xf9, 0x07, 0x01, 0x16,
0x5a, 0xd8, 0xc5, 0x13, 0xe0, 0x62, 0xac, 0xaf, 0x15, 0x28, 0x6a, 0xb6, 0x39, 0xb0, 0x46, 0xae,
0xfa, 0xa2, 0x3b, 0xa2, 0xcf, 0x28, 0xe2, 0x51, 0x87, 0x49, 0x61, 0x04, 0x33, 0xd1, 0xf4, 0xf3,
0xf8, 0xf3, 0x41, 0xfc, 0x72, 0x1d, 0x16, 0x83, 0xae, 0x4d, 0x85, 0x70, 0x07, 0x96, 0x5a, 0xd8,
0xf1, 0xc8, 0xd2, 0x72, 0x54, 0x67, 0x40, 0x94, 0xa8, 0x6b, 0x42, 0xd4, 0xb5, 0x15, 0x28, 0x10,
0xaa, 0x4e, 0x0d, 0xe6, 0x15, 0x4f, 0x92, 0x1f, 0xc2, 0x72, 0xd4, 0xe0, 0x54, 0xae, 0xdd, 0xa1,
0x4b, 0xf7, 0xe4, 0xae, 0xc9, 0x4f, 0x60, 0xb9, 0xf1, 0x4a, 0x5c, 0xe0, 0x40, 0x8a, 0x01, 0x90,
0xdf, 0x0a, 0xb0, 0x54, 0xc7, 0xbd, 0xd6, 0xc0, 0xc2, 0x76, 0xc3, 0xcd, 0xb2, 0xc7, 0x63, 0x3e,
0x5f, 0x42, 0x88, 0xaf, 0x63, 0xde, 0xe4, 0x92, 0x78, 0x23, 0x06, 0x79, 0x93, 0xca, 0x0f, 0x37,
0xd8, 0x51, 0x37, 0xa6, 0x0a, 0x76, 0x9b, 0x05, 0x3b, 0x0c, 0x28, 0x9d, 0x07, 0x8b, 0x20, 0xba,
0xcc, 0xce, 0x51, 0x66, 0xbb, 0x3f, 0x93, 0x01, 0xc9, 0x5f, 0xb3, 0xc4, 0x9c, 0xde, 0xdd, 0x29,
0xf7, 0xc5, 0x87, 0xf4, 0x70, 0xf9, 0xc4, 0xd6, 0x1d, 0x5c, 0xd7, 0xbb, 0xdd, 0xe9, 0x31, 0xca,
0x5f, 0xd1, 0x70, 0x05, 0x2d, 0xbd, 0x46, 0x20, 0xdf, 0xe7, 0x41, 0x6e, 0x9a, 0x1d, 0xbd, 0x3b,
0x6c, 0xb2, 0x93, 0x55, 0xc1, 0x6a, 0xdb, 0x75, 0x76, 0xeb, 0xd8, 0xc1, 0x06, 0xd1, 0x4d, 0x23,
0xe3, 0x2a, 0x76, 0xf7, 0x68, 0x73, 0x60, 0xb7, 0xf1, 0x78, 0x83, 0xf5, 0xe5, 0x00, 0x99, 0xc5,
0xe8, 0xe6, 0x4b, 0x30, 0x71, 0x27, 0xda, 0x1b, 0x5a, 0x98, 0x52, 0x33, 0xaf, 0xf0, 0x4d, 0xe8,
0x18, 0xce, 0xd9, 0x61, 0xa7, 0xe8, 0x25, 0x21, 0x4f, 0x2f, 0x09, 0x9b, 0xec, 0x92, 0x90, 0x8a,
0xa1, 0xa6, 0xc4, 0x19, 0xd9, 0x32, 0x1c, 0x7b, 0xa8, 0xc4, 0x4f, 0x10, 0x3e, 0x99, 0x0a, 0xd1,
0x93, 0xe9, 0x16, 0xe4, 0xf0, 0x71, 0xa5, 0x48, 0xe3, 0xbd, 0x5a, 0xd3, 0x4c, 0x53, 0xeb, 0x61,
0x76, 0x39, 0x7d, 0x3a, 0xe8, 0xd6, 0x5a, 0x8e, 0xad, 0x1b, 0xda, 0xc7, 0x6a, 0x6f, 0x80, 0x95,
0x1c, 0x3e, 0x46, 0xf7, 0x60, 0x4e, 0x75, 0x1c, 0xb5, 0xfd, 0x0c, 0x77, 0xb6, 0x8d, 0xae, 0x59,
0x99, 0xcd, 0x30, 0x2e, 0x30, 0xc2, 0xa5, 0x85, 0x4e, 0x28, 0x90, 0x4a, 0xa9, 0x2a, 0xac, 0xcd,
0x2a, 0xbe, 0x88, 0x36, 0x60, 0x59, 0x27, 0xae, 0xfb, 0xb6, 0xa1, 0xf6, 0xc6, 0xc0, 0x2b, 0x40,
0xd5, 0x62, 0xfb, 0x50, 0x0d, 0x50, 0x9f, 0x68, 0xef, 0xeb, 0x36, 0x71, 0x58, 0xfc, 0xe8, 0x09,
0x5b, 0xa6, 0x27, 0x6c, 0x4c, 0x8f, 0x84, 0x41, 0x4a, 0x0e, 0xa2, 0xcb, 0xed, 0x03, 0x3c, 0xf4,
0xb8, 0xe1, 0xfe, 0x44, 0xff, 0x83, 0xfc, 0x73, 0x17, 0x84, 0x77, 0x07, 0xbd, 0x10, 0x43, 0xc8,
0x47, 0x78, 0xc8, 0x70, 0x32, 0xcd, 0x77, 0x72, 0x6f, 0x0b, 0xf2, 0xcf, 0x79, 0xb8, 0xe8, 0x1e,
0x48, 0x6f, 0x86, 0x90, 0x35, 0x40, 0xfe, 0xef, 0xc7, 0x3d, 0xd5, 0xe9, 0x9a, 0x76, 0xdf, 0xdb,
0x32, 0xf3, 0x4a, 0x4c, 0x4f, 0x98, 0xc0, 0xf9, 0x28, 0x81, 0x07, 0x49, 0x04, 0x2e, 0x50, 0x02,
0xbf, 0x47, 0x09, 0x9c, 0x02, 0xf8, 0xf4, 0xec, 0x2d, 0x26, 0xb1, 0x77, 0x76, 0x4a, 0xf6, 0x96,
0x4e, 0xc3, 0x5e, 0xc8, 0xc6, 0xde, 0xf2, 0x89, 0xd9, 0x3b, 0xf7, 0xa6, 0xd9, 0xfb, 0x87, 0x00,
0xd5, 0xc9, 0xc9, 0x9c, 0xf6, 0x1e, 0xcd, 0x67, 0x53, 0x8c, 0x66, 0x33, 0x3e, 0x1e, 0x33, 0x49,
0xf1, 0xe0, 0xb3, 0x91, 0x0f, 0x66, 0xe3, 0x06, 0x14, 0x6c, 0x4c, 0x06, 0x3d, 0x9f, 0xa1, 0x67,
0x29, 0x43, 0x47, 0x60, 0x31, 0xb1, 0x14, 0x4f, 0x81, 0xae, 0xd5, 0xfb, 0x9d, 0xce, 0x3f, 0x6b,
0xad, 0xa6, 0x00, 0xfe, 0x77, 0xad, 0xfe, 0x95, 0xd6, 0xea, 0xe4, 0x64, 0xfe, 0x9d, 0xd6, 0xea,
0xef, 0x22, 0x5c, 0x6e, 0x8c, 0x76, 0x26, 0x37, 0x9c, 0xa7, 0x58, 0xaf, 0x89, 0x5f, 0xd3, 0xfc,
0x5a, 0x16, 0x43, 0x6b, 0x39, 0xfd, 0xb2, 0x97, 0x44, 0xae, 0xfc, 0x04, 0x72, 0x55, 0xa1, 0xec,
0x0c, 0x2d, 0xfc, 0x08, 0x0f, 0x47, 0x2b, 0xb5, 0xa4, 0xf0, 0x4d, 0x88, 0xc0, 0x4a, 0x3f, 0x98,
0x63, 0x5f, 0xb9, 0x48, 0x83, 0x76, 0x97, 0x06, 0x2d, 0x43, 0x6c, 0x6a, 0xcd, 0x88, 0x19, 0x25,
0xc1, 0xb4, 0xd4, 0x05, 0x14, 0xd5, 0x0e, 0x73, 0x43, 0xc8, 0xca, 0x8d, 0x5c, 0x12, 0x37, 0xe4,
0x97, 0x02, 0x5c, 0x49, 0x77, 0x7d, 0x2a, 0x22, 0xb7, 0x60, 0x89, 0xe8, 0x86, 0xd6, 0xc3, 0x23,
0x20, 0x94, 0x69, 0xec, 0x75, 0xee, 0x12, 0xbb, 0xb7, 0xf0, 0xfd, 0xa3, 0x09, 0x99, 0xa2, 0x12,
0x37, 0x5a, 0xfe, 0x35, 0x07, 0xab, 0x93, 0x46, 0x4d, 0xe1, 0xa7, 0x9d, 0xb4, 0x6b, 0x33, 0x4f,
0xdf, 0x4d, 0xf5, 0xf4, 0xf4, 0x5b, 0xf6, 0x4c, 0x24, 0x91, 0xaf, 0x6b, 0x13, 0xfb, 0x45, 0x80,
0xcb, 0xa9, 0x9f, 0x3f, 0x53, 0x7e, 0x52, 0x96, 0xc9, 0xa0, 0xdd, 0xc6, 0x84, 0x70, 0xc1, 0x44,
0x34, 0x98, 0xd4, 0xb6, 0xff, 0x2c, 0xa8, 0xf0, 0x6a, 0x68, 0x03, 0xa0, 0xab, 0xea, 0x3d, 0xdc,
0xa1, 0x83, 0x66, 0x12, 0x07, 0x71, 0x5a, 0xf2, 0x4b, 0x11, 0xae, 0xd5, 0x71, 0x0f, 0x3b, 0xf8,
0x0d, 0xee, 0x4e, 0xaf, 0xfe, 0x36, 0x91, 0xfe, 0x01, 0x99, 0xb4, 0xdf, 0x15, 0x4f, 0x7c, 0x98,
0xce, 0x26, 0x1e, 0x1e, 0xbb, 0x49, 0xab, 0xa3, 0x44, 0x73, 0x33, 0x91, 0x67, 0xf1, 0x23, 0xe5,
0xef, 0x04, 0xb8, 0x9e, 0x29, 0x5f, 0x53, 0xf1, 0xee, 0x04, 0x67, 0x9a, 0x09, 0xf3, 0x01, 0x56,
0xa1, 0x5b, 0x50, 0xc2, 0x7e, 0x83, 0x57, 0x89, 0x39, 0x13, 0x22, 0xdf, 0x58, 0x81, 0xf7, 0x2d,
0x97, 0xe4, 0x9b, 0x18, 0x78, 0xde, 0xfa, 0x2d, 0x07, 0xa5, 0x91, 0x29, 0xb4, 0x9f, 0x14, 0x5a,
0x81, 0x3a, 0x7e, 0x23, 0x38, 0xf3, 0xe9, 0x77, 0x99, 0x5c, 0xd6, 0xe3, 0x42, 0x4c, 0x64, 0x83,
0x1c, 0xba, 0x1a, 0xb2, 0x8d, 0x2b, 0x78, 0xf9, 0x3b, 0x43, 0x2f, 0x9b, 0xec, 0x9d, 0x38, 0x87,
0x8f, 0xa5, 0xcf, 0x4e, 0xb8, 0x93, 0x5d, 0x0f, 0xee, 0x64, 0x31, 0xf9, 0xe3, 0xf6, 0xaf, 0x21,
0xcc, 0xf1, 0x5d, 0xe8, 0x0e, 0xcc, 0x1e, 0x78, 0xb2, 0x97, 0xc0, 0x89, 0x0c, 0x1d, 0x29, 0x4f,
0x91, 0xcc, 0x17, 0x02, 0x2c, 0x71, 0xc5, 0x2c, 0x37, 0x46, 0xb4, 0x9a, 0x15, 0xa9, 0x59, 0x09,
0x19, 0x6a, 0x56, 0xb9, 0x13, 0xd7, 0xac, 0xc4, 0x50, 0xcd, 0x6a, 0xe3, 0x1b, 0x00, 0xb1, 0x4f,
0x34, 0xf4, 0x04, 0x16, 0x42, 0xb5, 0x26, 0x74, 0x35, 0x26, 0x06, 0xd1, 0xfa, 0x96, 0x74, 0x2d,
0x8b, 0x1a, 0xb1, 0x90, 0x09, 0xcb, 0x8f, 0x07, 0xbd, 0x9e, 0xb7, 0x7a, 0x37, 0x87, 0x2d, 0x7c,
0x48, 0xfd, 0xfb, 0x6f, 0xcc, 0xf8, 0x38, 0x45, 0x77, 0xae, 0x9b, 0x99, 0x75, 0xe9, 0xba, 0x2c,
0x7a, 0xef, 0xe8, 0x68, 0xc1, 0x7b, 0xf0, 0xf0, 0x6b, 0x5a, 0xd2, 0x62, 0xb0, 0x81, 0x58, 0x68,
0x17, 0xa0, 0x8e, 0x7b, 0x4d, 0xa2, 0xb1, 0x45, 0x10, 0x33, 0xd1, 0xb8, 0xdb, 0xb5, 0x70, 0x29,
0x45, 0x83, 0x58, 0xa8, 0x01, 0x8b, 0xe1, 0x17, 0x6e, 0x54, 0xa1, 0x13, 0xc7, 0xbc, 0xbf, 0x4b,
0xe7, 0x13, 0x7a, 0x88, 0x85, 0xd6, 0x61, 0xd6, 0x2f, 0x06, 0x21, 0xe6, 0x39, 0x57, 0x80, 0x92,
0xce, 0x86, 0x5a, 0x88, 0x85, 0xee, 0xc2, 0x1c, 0x5f, 0x5f, 0x41, 0xcb, 0xa3, 0x07, 0x1f, 0xae,
0x1a, 0x24, 0x9d, 0x8b, 0x69, 0x65, 0x6e, 0x87, 0xab, 0x20, 0x9e, 0xdb, 0x31, 0xd5, 0x16, 0xcf,
0xed, 0xd8, 0xb2, 0x49, 0x03, 0x16, 0x1b, 0xf1, 0x86, 0x1a, 0x89, 0x86, 0x1a, 0x13, 0x0c, 0xc5,
0x04, 0x32, 0xe6, 0xdd, 0x9f, 0x33, 0x14, 0x09, 0x64, 0x9d, 0xb2, 0x9c, 0x7f, 0xfa, 0x46, 0xff,
0xf1, 0xb5, 0x43, 0x4f, 0xeb, 0x52, 0x25, 0xbe, 0x83, 0x58, 0xe8, 0x00, 0x56, 0x27, 0x3d, 0xb7,
0xa0, 0x2b, 0x59, 0x9e, 0xd7, 0xa4, 0xab, 0x19, 0xb4, 0x88, 0x85, 0x8e, 0xa0, 0x9a, 0x76, 0xd5,
0x46, 0x6b, 0x59, 0x3f, 0x26, 0xa4, 0x1b, 0x19, 0x35, 0x19, 0xca, 0x49, 0x1f, 0xaa, 0x1e, 0xca,
0x94, 0x87, 0x09, 0x0f, 0x65, 0xea, 0x17, 0xef, 0x97, 0x70, 0x31, 0x70, 0xb8, 0xc7, 0xcc, 0x77,
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 sourceID = 2;
string opUserID = 3;
int32 sessionType = 4;
map <string, server_api_params.KeyValue>reactionExtensionList = 5;
string clientMsgID = 6;
google.protobuf.StringValue ex = 7;
google.protobuf.StringValue attachedInfo = 8;
bool isReact = 9;
bool isExternalExtensions = 10;
int64 msgFirstModifyTime = 11;
int32 opUserIDPlatformID = 4;
int32 sessionType = 5;
map <string, server_api_params.KeyValue>reactionExtensionList = 6;
string clientMsgID = 7;
google.protobuf.StringValue ex = 8;
google.protobuf.StringValue attachedInfo = 9;
bool isReact = 10;
bool isExternalExtensions = 11;
int64 msgFirstModifyTime = 12;
}
message SetMessageReactionExtensionsResp {
int32 errCode = 1;
@ -192,14 +193,15 @@ message AddMessageReactionExtensionsReq {
string operationID = 1;
string sourceID = 2;
string opUserID = 3;
int32 sessionType = 4;
map <string, server_api_params.KeyValue>reactionExtensionList = 5;
string clientMsgID = 6;
google.protobuf.StringValue ex = 7;
google.protobuf.StringValue attachedInfo = 8;
bool isReact = 9;
bool isExternalExtensions = 10;
int64 msgFirstModifyTime = 11;
int32 opUserIDPlatformID = 4;
int32 sessionType = 5;
map <string, server_api_params.KeyValue>reactionExtensionList = 6;
string clientMsgID = 7;
google.protobuf.StringValue ex = 8;
google.protobuf.StringValue attachedInfo = 9;
bool isReact = 10;
bool isExternalExtensions = 11;
int64 msgFirstModifyTime = 12;
}
message AddMessageReactionExtensionsResp {
int32 errCode = 1;
@ -249,11 +251,12 @@ message DeleteMessageListReactionExtensionsReq {
string operationID = 1;
string opUserID = 2;
string sourceID = 3;
int32 sessionType = 4;
string clientMsgID = 5;
bool isExternalExtensions = 6;
int64 msgFirstModifyTime = 7;
repeated server_api_params.KeyValue reactionExtensionList = 8;
int32 opUserIDPlatformID = 4;
int32 sessionType = 5;
string clientMsgID = 6;
bool isExternalExtensions = 7;
int64 msgFirstModifyTime = 8;
repeated server_api_params.KeyValue reactionExtensionList = 9;
}
message DeleteMessageListReactionExtensionsResp {

File diff suppressed because it is too large Load Diff

View File

@ -266,6 +266,9 @@ message MsgData {
bytes msgDataList = 21;
string attachedInfo = 22;
string ex = 23;
bool isReact = 24;
bool isExternalExtensions = 25;
int64 msgFirstModifyTime = 26;
}
message OfflinePushInfo{