@onyx-p/imlib-web 1.7.5 → 1.7.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.esm.js +870 -31
- package/index.umd.js +870 -30
- package/package.json +1 -1
- package/types/constants/messageTypes.d.ts +6 -0
- package/types/index.d.ts +6 -0
- package/types/model/iReceivedMessage.d.ts +2 -2
- package/types/model/messages/notificationMessages.d.ts +11 -0
- package/types/model/statusTypes.d.ts +8 -12
- package/types/types.d.ts +19 -1
package/index.esm.js
CHANGED
@@ -99,11 +99,10 @@ var SentStatus;
|
|
99
99
|
})(SentStatus || (SentStatus = {}));
|
100
100
|
var ReceivedStatus;
|
101
101
|
(function (ReceivedStatus) {
|
102
|
-
ReceivedStatus[ReceivedStatus["
|
103
|
-
ReceivedStatus[ReceivedStatus["
|
104
|
-
ReceivedStatus[ReceivedStatus["
|
105
|
-
ReceivedStatus[ReceivedStatus["
|
106
|
-
ReceivedStatus[ReceivedStatus["UNREAD"] = 0] = "UNREAD";
|
102
|
+
ReceivedStatus[ReceivedStatus["IDLE"] = 0] = "IDLE";
|
103
|
+
ReceivedStatus[ReceivedStatus["RECEIVED"] = 1] = "RECEIVED";
|
104
|
+
ReceivedStatus[ReceivedStatus["READ"] = 2] = "READ";
|
105
|
+
ReceivedStatus[ReceivedStatus["LISTENED"] = 3] = "LISTENED";
|
107
106
|
})(ReceivedStatus || (ReceivedStatus = {}));
|
108
107
|
var NotificationLevel;
|
109
108
|
(function (NotificationLevel) {
|
@@ -135,6 +134,8 @@ var Events;
|
|
135
134
|
Events["CONVERSATION"] = "CONVERSATION";
|
136
135
|
Events["PUSH"] = "PUSH";
|
137
136
|
Events["RECALL"] = "RECALL";
|
137
|
+
Events["ARRIVAL_RECEIPT_RECEIVED"] = "ARRIVAL_RECEIPT_RECEIVED";
|
138
|
+
Events["READ_RECEIPT_RECEIVED"] = "READ_RECEIPT_RECEIVED";
|
138
139
|
})(Events || (Events = {}));
|
139
140
|
|
140
141
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
@@ -7682,6 +7683,9 @@ const getKeys = obj => {
|
|
7682
7683
|
return Object.keys(obj);
|
7683
7684
|
};
|
7684
7685
|
const filterNullProperty = object => {
|
7686
|
+
if (Array.isArray(object)) {
|
7687
|
+
return object.filter(item => isDef(item)).map(item => isObject(item) ? filterNullProperty(item) : item);
|
7688
|
+
}
|
7685
7689
|
const to = {};
|
7686
7690
|
Object.keys(object).forEach(key => {
|
7687
7691
|
const value = object[key];
|
@@ -9484,6 +9488,10 @@ var CmdIds;
|
|
9484
9488
|
CmdIds[CmdIds["DeletePrivateDialog"] = 1610682372] = "DeletePrivateDialog";
|
9485
9489
|
CmdIds[CmdIds["DeleteGroupDialog"] = 1610747908] = "DeleteGroupDialog";
|
9486
9490
|
CmdIds[CmdIds["GetDialogChangedStatus"] = 1610711094] = "GetDialogChangedStatus";
|
9491
|
+
CmdIds[CmdIds["SendGroupChatArrivalAck"] = 1610747952] = "SendGroupChatArrivalAck";
|
9492
|
+
CmdIds[CmdIds["SendGroupChatReadAck"] = 1610747953] = "SendGroupChatReadAck";
|
9493
|
+
CmdIds[CmdIds["SendPrivateChatArrivalAck"] = 1610682403] = "SendPrivateChatArrivalAck";
|
9494
|
+
CmdIds[CmdIds["SendPrivateChatReadAck"] = 1610682404] = "SendPrivateChatReadAck";
|
9487
9495
|
CmdIds[CmdIds["HeartbeanResp"] = 268468225] = "HeartbeanResp";
|
9488
9496
|
CmdIds[CmdIds["NewMessagePush"] = 1610711040] = "NewMessagePush";
|
9489
9497
|
CmdIds[CmdIds["DialogChangedPush"] = 1610711096] = "DialogChangedPush";
|
@@ -14501,6 +14509,8 @@ $root$1.DialogMessage = (() => {
|
|
14501
14509
|
* @property {Long|null} [seqno] DialogMessage seqno
|
14502
14510
|
* @property {string|null} [replyMarkup] DialogMessage replyMarkup
|
14503
14511
|
* @property {string|null} [extra] DialogMessage extra
|
14512
|
+
* @property {boolean|null} [msgArrival] DialogMessage msgArrival
|
14513
|
+
* @property {boolean|null} [msgRead] DialogMessage msgRead
|
14504
14514
|
*/
|
14505
14515
|
|
14506
14516
|
/**
|
@@ -14715,6 +14725,22 @@ $root$1.DialogMessage = (() => {
|
|
14715
14725
|
*/
|
14716
14726
|
DialogMessage.prototype.extra = "";
|
14717
14727
|
|
14728
|
+
/**
|
14729
|
+
* DialogMessage msgArrival.
|
14730
|
+
* @member {boolean} msgArrival
|
14731
|
+
* @memberof DialogMessage
|
14732
|
+
* @instance
|
14733
|
+
*/
|
14734
|
+
DialogMessage.prototype.msgArrival = false;
|
14735
|
+
|
14736
|
+
/**
|
14737
|
+
* DialogMessage msgRead.
|
14738
|
+
* @member {boolean} msgRead
|
14739
|
+
* @memberof DialogMessage
|
14740
|
+
* @instance
|
14741
|
+
*/
|
14742
|
+
DialogMessage.prototype.msgRead = false;
|
14743
|
+
|
14718
14744
|
/**
|
14719
14745
|
* Encodes the specified DialogMessage message. Does not implicitly {@link DialogMessage.verify|verify} messages.
|
14720
14746
|
* @function encode
|
@@ -14751,6 +14777,8 @@ $root$1.DialogMessage = (() => {
|
|
14751
14777
|
if (message.seqno != null && Object.hasOwnProperty.call(message, "seqno")) writer.uint32(/* id 23, wireType 0 =*/184).int64(message.seqno);
|
14752
14778
|
if (message.replyMarkup != null && Object.hasOwnProperty.call(message, "replyMarkup")) writer.uint32(/* id 24, wireType 2 =*/194).string(message.replyMarkup);
|
14753
14779
|
if (message.extra != null && Object.hasOwnProperty.call(message, "extra")) writer.uint32(/* id 25, wireType 2 =*/202).string(message.extra);
|
14780
|
+
if (message.msgArrival != null && Object.hasOwnProperty.call(message, "msgArrival")) writer.uint32(/* id 26, wireType 0 =*/208).bool(message.msgArrival);
|
14781
|
+
if (message.msgRead != null && Object.hasOwnProperty.call(message, "msgRead")) writer.uint32(/* id 27, wireType 0 =*/216).bool(message.msgRead);
|
14754
14782
|
return writer;
|
14755
14783
|
};
|
14756
14784
|
|
@@ -14897,6 +14925,16 @@ $root$1.DialogMessage = (() => {
|
|
14897
14925
|
message.extra = reader.string();
|
14898
14926
|
break;
|
14899
14927
|
}
|
14928
|
+
case 26:
|
14929
|
+
{
|
14930
|
+
message.msgArrival = reader.bool();
|
14931
|
+
break;
|
14932
|
+
}
|
14933
|
+
case 27:
|
14934
|
+
{
|
14935
|
+
message.msgRead = reader.bool();
|
14936
|
+
break;
|
14937
|
+
}
|
14900
14938
|
default:
|
14901
14939
|
reader.skipType(tag & 7);
|
14902
14940
|
break;
|
@@ -17592,6 +17630,304 @@ const NewMessageNotificationResp = $root$1.NewMessageNotificationResp = (() => {
|
|
17592
17630
|
};
|
17593
17631
|
return NewMessageNotificationResp;
|
17594
17632
|
})();
|
17633
|
+
$root$1.ChatMessage = (() => {
|
17634
|
+
/**
|
17635
|
+
* Properties of a ChatMessage.
|
17636
|
+
* @exports IChatMessage
|
17637
|
+
* @interface IChatMessage
|
17638
|
+
* @property {Long|null} [destId] ChatMessage destId
|
17639
|
+
* @property {Array.<Long>|null} [msgId] ChatMessage msgId
|
17640
|
+
*/
|
17641
|
+
|
17642
|
+
/**
|
17643
|
+
* Constructs a new ChatMessage.
|
17644
|
+
* @exports ChatMessage
|
17645
|
+
* @classdesc Represents a ChatMessage.
|
17646
|
+
* @implements IChatMessage
|
17647
|
+
* @constructor
|
17648
|
+
* @param {IChatMessage=} [properties] Properties to set
|
17649
|
+
*/
|
17650
|
+
function ChatMessage(properties) {
|
17651
|
+
this.msgId = [];
|
17652
|
+
if (properties) for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]];
|
17653
|
+
}
|
17654
|
+
|
17655
|
+
/**
|
17656
|
+
* ChatMessage destId.
|
17657
|
+
* @member {Long} destId
|
17658
|
+
* @memberof ChatMessage
|
17659
|
+
* @instance
|
17660
|
+
*/
|
17661
|
+
ChatMessage.prototype.destId = $util$1.Long ? $util$1.Long.fromBits(0, 0, false) : 0;
|
17662
|
+
|
17663
|
+
/**
|
17664
|
+
* ChatMessage msgId.
|
17665
|
+
* @member {Array.<Long>} msgId
|
17666
|
+
* @memberof ChatMessage
|
17667
|
+
* @instance
|
17668
|
+
*/
|
17669
|
+
ChatMessage.prototype.msgId = $util$1.emptyArray;
|
17670
|
+
|
17671
|
+
/**
|
17672
|
+
* Encodes the specified ChatMessage message. Does not implicitly {@link ChatMessage.verify|verify} messages.
|
17673
|
+
* @function encode
|
17674
|
+
* @memberof ChatMessage
|
17675
|
+
* @static
|
17676
|
+
* @param {IChatMessage} message ChatMessage message or plain object to encode
|
17677
|
+
* @param {$protobuf.Writer} [writer] Writer to encode to
|
17678
|
+
* @returns {$protobuf.Writer} Writer
|
17679
|
+
*/
|
17680
|
+
ChatMessage.encode = function encode(message, writer) {
|
17681
|
+
if (!writer) writer = $Writer$1.create();
|
17682
|
+
if (message.destId != null && Object.hasOwnProperty.call(message, "destId")) writer.uint32(/* id 1, wireType 0 =*/8).int64(message.destId);
|
17683
|
+
if (message.msgId != null && message.msgId.length) {
|
17684
|
+
writer.uint32(/* id 2, wireType 2 =*/18).fork();
|
17685
|
+
for (let i = 0; i < message.msgId.length; ++i) writer.int64(message.msgId[i]);
|
17686
|
+
writer.ldelim();
|
17687
|
+
}
|
17688
|
+
return writer;
|
17689
|
+
};
|
17690
|
+
|
17691
|
+
/**
|
17692
|
+
* Decodes a ChatMessage message from the specified reader or buffer.
|
17693
|
+
* @function decode
|
17694
|
+
* @memberof ChatMessage
|
17695
|
+
* @static
|
17696
|
+
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
|
17697
|
+
* @param {number} [length] Message length if known beforehand
|
17698
|
+
* @returns {ChatMessage} ChatMessage
|
17699
|
+
* @throws {Error} If the payload is not a reader or valid buffer
|
17700
|
+
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
17701
|
+
*/
|
17702
|
+
ChatMessage.decode = function decode(reader, length) {
|
17703
|
+
if (!(reader instanceof $Reader$1)) reader = $Reader$1.create(reader);
|
17704
|
+
let end = length === undefined ? reader.len : reader.pos + length,
|
17705
|
+
message = new $root$1.ChatMessage();
|
17706
|
+
while (reader.pos < end) {
|
17707
|
+
let tag = reader.uint32();
|
17708
|
+
switch (tag >>> 3) {
|
17709
|
+
case 1:
|
17710
|
+
{
|
17711
|
+
message.destId = reader.int64();
|
17712
|
+
break;
|
17713
|
+
}
|
17714
|
+
case 2:
|
17715
|
+
{
|
17716
|
+
if (!(message.msgId && message.msgId.length)) message.msgId = [];
|
17717
|
+
if ((tag & 7) === 2) {
|
17718
|
+
let end2 = reader.uint32() + reader.pos;
|
17719
|
+
while (reader.pos < end2) message.msgId.push(reader.int64());
|
17720
|
+
} else message.msgId.push(reader.int64());
|
17721
|
+
break;
|
17722
|
+
}
|
17723
|
+
default:
|
17724
|
+
reader.skipType(tag & 7);
|
17725
|
+
break;
|
17726
|
+
}
|
17727
|
+
}
|
17728
|
+
return message;
|
17729
|
+
};
|
17730
|
+
|
17731
|
+
/**
|
17732
|
+
* Gets the default type url for ChatMessage
|
17733
|
+
* @function getTypeUrl
|
17734
|
+
* @memberof ChatMessage
|
17735
|
+
* @static
|
17736
|
+
* @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
|
17737
|
+
* @returns {string} The default type url
|
17738
|
+
*/
|
17739
|
+
ChatMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
|
17740
|
+
if (typeUrlPrefix === undefined) {
|
17741
|
+
typeUrlPrefix = "type.googleapis.com";
|
17742
|
+
}
|
17743
|
+
return typeUrlPrefix + "/ChatMessage";
|
17744
|
+
};
|
17745
|
+
return ChatMessage;
|
17746
|
+
})();
|
17747
|
+
const SendPrivateChatArrivalAckReq = $root$1.SendPrivateChatArrivalAckReq = (() => {
|
17748
|
+
/**
|
17749
|
+
* Properties of a SendPrivateChatArrivalAckReq.
|
17750
|
+
* @exports ISendPrivateChatArrivalAckReq
|
17751
|
+
* @interface ISendPrivateChatArrivalAckReq
|
17752
|
+
* @property {Array.<IChatMessage>|null} [chatMessage] SendPrivateChatArrivalAckReq chatMessage
|
17753
|
+
*/
|
17754
|
+
|
17755
|
+
/**
|
17756
|
+
* Constructs a new SendPrivateChatArrivalAckReq.
|
17757
|
+
* @exports SendPrivateChatArrivalAckReq
|
17758
|
+
* @classdesc Represents a SendPrivateChatArrivalAckReq.
|
17759
|
+
* @implements ISendPrivateChatArrivalAckReq
|
17760
|
+
* @constructor
|
17761
|
+
* @param {ISendPrivateChatArrivalAckReq=} [properties] Properties to set
|
17762
|
+
*/
|
17763
|
+
function SendPrivateChatArrivalAckReq(properties) {
|
17764
|
+
this.chatMessage = [];
|
17765
|
+
if (properties) for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]];
|
17766
|
+
}
|
17767
|
+
|
17768
|
+
/**
|
17769
|
+
* SendPrivateChatArrivalAckReq chatMessage.
|
17770
|
+
* @member {Array.<IChatMessage>} chatMessage
|
17771
|
+
* @memberof SendPrivateChatArrivalAckReq
|
17772
|
+
* @instance
|
17773
|
+
*/
|
17774
|
+
SendPrivateChatArrivalAckReq.prototype.chatMessage = $util$1.emptyArray;
|
17775
|
+
|
17776
|
+
/**
|
17777
|
+
* Encodes the specified SendPrivateChatArrivalAckReq message. Does not implicitly {@link SendPrivateChatArrivalAckReq.verify|verify} messages.
|
17778
|
+
* @function encode
|
17779
|
+
* @memberof SendPrivateChatArrivalAckReq
|
17780
|
+
* @static
|
17781
|
+
* @param {ISendPrivateChatArrivalAckReq} message SendPrivateChatArrivalAckReq message or plain object to encode
|
17782
|
+
* @param {$protobuf.Writer} [writer] Writer to encode to
|
17783
|
+
* @returns {$protobuf.Writer} Writer
|
17784
|
+
*/
|
17785
|
+
SendPrivateChatArrivalAckReq.encode = function encode(message, writer) {
|
17786
|
+
if (!writer) writer = $Writer$1.create();
|
17787
|
+
if (message.chatMessage != null && message.chatMessage.length) for (let i = 0; i < message.chatMessage.length; ++i) $root$1.ChatMessage.encode(message.chatMessage[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
|
17788
|
+
return writer;
|
17789
|
+
};
|
17790
|
+
|
17791
|
+
/**
|
17792
|
+
* Decodes a SendPrivateChatArrivalAckReq message from the specified reader or buffer.
|
17793
|
+
* @function decode
|
17794
|
+
* @memberof SendPrivateChatArrivalAckReq
|
17795
|
+
* @static
|
17796
|
+
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
|
17797
|
+
* @param {number} [length] Message length if known beforehand
|
17798
|
+
* @returns {SendPrivateChatArrivalAckReq} SendPrivateChatArrivalAckReq
|
17799
|
+
* @throws {Error} If the payload is not a reader or valid buffer
|
17800
|
+
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
17801
|
+
*/
|
17802
|
+
SendPrivateChatArrivalAckReq.decode = function decode(reader, length) {
|
17803
|
+
if (!(reader instanceof $Reader$1)) reader = $Reader$1.create(reader);
|
17804
|
+
let end = length === undefined ? reader.len : reader.pos + length,
|
17805
|
+
message = new $root$1.SendPrivateChatArrivalAckReq();
|
17806
|
+
while (reader.pos < end) {
|
17807
|
+
let tag = reader.uint32();
|
17808
|
+
switch (tag >>> 3) {
|
17809
|
+
case 1:
|
17810
|
+
{
|
17811
|
+
if (!(message.chatMessage && message.chatMessage.length)) message.chatMessage = [];
|
17812
|
+
message.chatMessage.push($root$1.ChatMessage.decode(reader, reader.uint32()));
|
17813
|
+
break;
|
17814
|
+
}
|
17815
|
+
default:
|
17816
|
+
reader.skipType(tag & 7);
|
17817
|
+
break;
|
17818
|
+
}
|
17819
|
+
}
|
17820
|
+
return message;
|
17821
|
+
};
|
17822
|
+
|
17823
|
+
/**
|
17824
|
+
* Gets the default type url for SendPrivateChatArrivalAckReq
|
17825
|
+
* @function getTypeUrl
|
17826
|
+
* @memberof SendPrivateChatArrivalAckReq
|
17827
|
+
* @static
|
17828
|
+
* @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
|
17829
|
+
* @returns {string} The default type url
|
17830
|
+
*/
|
17831
|
+
SendPrivateChatArrivalAckReq.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
|
17832
|
+
if (typeUrlPrefix === undefined) {
|
17833
|
+
typeUrlPrefix = "type.googleapis.com";
|
17834
|
+
}
|
17835
|
+
return typeUrlPrefix + "/SendPrivateChatArrivalAckReq";
|
17836
|
+
};
|
17837
|
+
return SendPrivateChatArrivalAckReq;
|
17838
|
+
})();
|
17839
|
+
const SendPrivateChatReadAckReq = $root$1.SendPrivateChatReadAckReq = (() => {
|
17840
|
+
/**
|
17841
|
+
* Properties of a SendPrivateChatReadAckReq.
|
17842
|
+
* @exports ISendPrivateChatReadAckReq
|
17843
|
+
* @interface ISendPrivateChatReadAckReq
|
17844
|
+
* @property {Array.<IChatMessage>|null} [chatMessage] SendPrivateChatReadAckReq chatMessage
|
17845
|
+
*/
|
17846
|
+
|
17847
|
+
/**
|
17848
|
+
* Constructs a new SendPrivateChatReadAckReq.
|
17849
|
+
* @exports SendPrivateChatReadAckReq
|
17850
|
+
* @classdesc Represents a SendPrivateChatReadAckReq.
|
17851
|
+
* @implements ISendPrivateChatReadAckReq
|
17852
|
+
* @constructor
|
17853
|
+
* @param {ISendPrivateChatReadAckReq=} [properties] Properties to set
|
17854
|
+
*/
|
17855
|
+
function SendPrivateChatReadAckReq(properties) {
|
17856
|
+
this.chatMessage = [];
|
17857
|
+
if (properties) for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]];
|
17858
|
+
}
|
17859
|
+
|
17860
|
+
/**
|
17861
|
+
* SendPrivateChatReadAckReq chatMessage.
|
17862
|
+
* @member {Array.<IChatMessage>} chatMessage
|
17863
|
+
* @memberof SendPrivateChatReadAckReq
|
17864
|
+
* @instance
|
17865
|
+
*/
|
17866
|
+
SendPrivateChatReadAckReq.prototype.chatMessage = $util$1.emptyArray;
|
17867
|
+
|
17868
|
+
/**
|
17869
|
+
* Encodes the specified SendPrivateChatReadAckReq message. Does not implicitly {@link SendPrivateChatReadAckReq.verify|verify} messages.
|
17870
|
+
* @function encode
|
17871
|
+
* @memberof SendPrivateChatReadAckReq
|
17872
|
+
* @static
|
17873
|
+
* @param {ISendPrivateChatReadAckReq} message SendPrivateChatReadAckReq message or plain object to encode
|
17874
|
+
* @param {$protobuf.Writer} [writer] Writer to encode to
|
17875
|
+
* @returns {$protobuf.Writer} Writer
|
17876
|
+
*/
|
17877
|
+
SendPrivateChatReadAckReq.encode = function encode(message, writer) {
|
17878
|
+
if (!writer) writer = $Writer$1.create();
|
17879
|
+
if (message.chatMessage != null && message.chatMessage.length) for (let i = 0; i < message.chatMessage.length; ++i) $root$1.ChatMessage.encode(message.chatMessage[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
|
17880
|
+
return writer;
|
17881
|
+
};
|
17882
|
+
|
17883
|
+
/**
|
17884
|
+
* Decodes a SendPrivateChatReadAckReq message from the specified reader or buffer.
|
17885
|
+
* @function decode
|
17886
|
+
* @memberof SendPrivateChatReadAckReq
|
17887
|
+
* @static
|
17888
|
+
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
|
17889
|
+
* @param {number} [length] Message length if known beforehand
|
17890
|
+
* @returns {SendPrivateChatReadAckReq} SendPrivateChatReadAckReq
|
17891
|
+
* @throws {Error} If the payload is not a reader or valid buffer
|
17892
|
+
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
17893
|
+
*/
|
17894
|
+
SendPrivateChatReadAckReq.decode = function decode(reader, length) {
|
17895
|
+
if (!(reader instanceof $Reader$1)) reader = $Reader$1.create(reader);
|
17896
|
+
let end = length === undefined ? reader.len : reader.pos + length,
|
17897
|
+
message = new $root$1.SendPrivateChatReadAckReq();
|
17898
|
+
while (reader.pos < end) {
|
17899
|
+
let tag = reader.uint32();
|
17900
|
+
switch (tag >>> 3) {
|
17901
|
+
case 1:
|
17902
|
+
{
|
17903
|
+
if (!(message.chatMessage && message.chatMessage.length)) message.chatMessage = [];
|
17904
|
+
message.chatMessage.push($root$1.ChatMessage.decode(reader, reader.uint32()));
|
17905
|
+
break;
|
17906
|
+
}
|
17907
|
+
default:
|
17908
|
+
reader.skipType(tag & 7);
|
17909
|
+
break;
|
17910
|
+
}
|
17911
|
+
}
|
17912
|
+
return message;
|
17913
|
+
};
|
17914
|
+
|
17915
|
+
/**
|
17916
|
+
* Gets the default type url for SendPrivateChatReadAckReq
|
17917
|
+
* @function getTypeUrl
|
17918
|
+
* @memberof SendPrivateChatReadAckReq
|
17919
|
+
* @static
|
17920
|
+
* @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
|
17921
|
+
* @returns {string} The default type url
|
17922
|
+
*/
|
17923
|
+
SendPrivateChatReadAckReq.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
|
17924
|
+
if (typeUrlPrefix === undefined) {
|
17925
|
+
typeUrlPrefix = "type.googleapis.com";
|
17926
|
+
}
|
17927
|
+
return typeUrlPrefix + "/SendPrivateChatReadAckReq";
|
17928
|
+
};
|
17929
|
+
return SendPrivateChatReadAckReq;
|
17930
|
+
})();
|
17595
17931
|
|
17596
17932
|
/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/
|
17597
17933
|
|
@@ -18376,7 +18712,7 @@ const RecallGroupChatMessageReq = $root.RecallGroupChatMessageReq = (() => {
|
|
18376
18712
|
};
|
18377
18713
|
return RecallGroupChatMessageReq;
|
18378
18714
|
})();
|
18379
|
-
|
18715
|
+
$root.DeleteGroupChatDialogReq = (() => {
|
18380
18716
|
/**
|
18381
18717
|
* Properties of a DeleteGroupChatDialogReq.
|
18382
18718
|
* @exports IDeleteGroupChatDialogReq
|
@@ -18466,6 +18802,319 @@ const DeleteGroupChatDialogReq = $root.DeleteGroupChatDialogReq = (() => {
|
|
18466
18802
|
};
|
18467
18803
|
return DeleteGroupChatDialogReq;
|
18468
18804
|
})();
|
18805
|
+
$root.GroupChatMessage = (() => {
|
18806
|
+
/**
|
18807
|
+
* Properties of a GroupChatMessage.
|
18808
|
+
* @exports IGroupChatMessage
|
18809
|
+
* @interface IGroupChatMessage
|
18810
|
+
* @property {Long|null} [groupId] GroupChatMessage groupId
|
18811
|
+
* @property {Long|null} [userId] GroupChatMessage userId
|
18812
|
+
* @property {Array.<Long>|null} [msgId] GroupChatMessage msgId
|
18813
|
+
*/
|
18814
|
+
|
18815
|
+
/**
|
18816
|
+
* Constructs a new GroupChatMessage.
|
18817
|
+
* @exports GroupChatMessage
|
18818
|
+
* @classdesc Represents a GroupChatMessage.
|
18819
|
+
* @implements IGroupChatMessage
|
18820
|
+
* @constructor
|
18821
|
+
* @param {IGroupChatMessage=} [properties] Properties to set
|
18822
|
+
*/
|
18823
|
+
function GroupChatMessage(properties) {
|
18824
|
+
this.msgId = [];
|
18825
|
+
if (properties) for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]];
|
18826
|
+
}
|
18827
|
+
|
18828
|
+
/**
|
18829
|
+
* GroupChatMessage groupId.
|
18830
|
+
* @member {Long} groupId
|
18831
|
+
* @memberof GroupChatMessage
|
18832
|
+
* @instance
|
18833
|
+
*/
|
18834
|
+
GroupChatMessage.prototype.groupId = $util.Long ? $util.Long.fromBits(0, 0, false) : 0;
|
18835
|
+
|
18836
|
+
/**
|
18837
|
+
* GroupChatMessage userId.
|
18838
|
+
* @member {Long} userId
|
18839
|
+
* @memberof GroupChatMessage
|
18840
|
+
* @instance
|
18841
|
+
*/
|
18842
|
+
GroupChatMessage.prototype.userId = $util.Long ? $util.Long.fromBits(0, 0, false) : 0;
|
18843
|
+
|
18844
|
+
/**
|
18845
|
+
* GroupChatMessage msgId.
|
18846
|
+
* @member {Array.<Long>} msgId
|
18847
|
+
* @memberof GroupChatMessage
|
18848
|
+
* @instance
|
18849
|
+
*/
|
18850
|
+
GroupChatMessage.prototype.msgId = $util.emptyArray;
|
18851
|
+
|
18852
|
+
/**
|
18853
|
+
* Encodes the specified GroupChatMessage message. Does not implicitly {@link GroupChatMessage.verify|verify} messages.
|
18854
|
+
* @function encode
|
18855
|
+
* @memberof GroupChatMessage
|
18856
|
+
* @static
|
18857
|
+
* @param {IGroupChatMessage} message GroupChatMessage message or plain object to encode
|
18858
|
+
* @param {$protobuf.Writer} [writer] Writer to encode to
|
18859
|
+
* @returns {$protobuf.Writer} Writer
|
18860
|
+
*/
|
18861
|
+
GroupChatMessage.encode = function encode(message, writer) {
|
18862
|
+
if (!writer) writer = $Writer.create();
|
18863
|
+
if (message.groupId != null && Object.hasOwnProperty.call(message, "groupId")) writer.uint32(/* id 1, wireType 0 =*/8).int64(message.groupId);
|
18864
|
+
if (message.userId != null && Object.hasOwnProperty.call(message, "userId")) writer.uint32(/* id 2, wireType 0 =*/16).int64(message.userId);
|
18865
|
+
if (message.msgId != null && message.msgId.length) {
|
18866
|
+
writer.uint32(/* id 3, wireType 2 =*/26).fork();
|
18867
|
+
for (let i = 0; i < message.msgId.length; ++i) writer.int64(message.msgId[i]);
|
18868
|
+
writer.ldelim();
|
18869
|
+
}
|
18870
|
+
return writer;
|
18871
|
+
};
|
18872
|
+
|
18873
|
+
/**
|
18874
|
+
* Decodes a GroupChatMessage message from the specified reader or buffer.
|
18875
|
+
* @function decode
|
18876
|
+
* @memberof GroupChatMessage
|
18877
|
+
* @static
|
18878
|
+
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
|
18879
|
+
* @param {number} [length] Message length if known beforehand
|
18880
|
+
* @returns {GroupChatMessage} GroupChatMessage
|
18881
|
+
* @throws {Error} If the payload is not a reader or valid buffer
|
18882
|
+
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
18883
|
+
*/
|
18884
|
+
GroupChatMessage.decode = function decode(reader, length) {
|
18885
|
+
if (!(reader instanceof $Reader)) reader = $Reader.create(reader);
|
18886
|
+
let end = length === undefined ? reader.len : reader.pos + length,
|
18887
|
+
message = new $root.GroupChatMessage();
|
18888
|
+
while (reader.pos < end) {
|
18889
|
+
let tag = reader.uint32();
|
18890
|
+
switch (tag >>> 3) {
|
18891
|
+
case 1:
|
18892
|
+
{
|
18893
|
+
message.groupId = reader.int64();
|
18894
|
+
break;
|
18895
|
+
}
|
18896
|
+
case 2:
|
18897
|
+
{
|
18898
|
+
message.userId = reader.int64();
|
18899
|
+
break;
|
18900
|
+
}
|
18901
|
+
case 3:
|
18902
|
+
{
|
18903
|
+
if (!(message.msgId && message.msgId.length)) message.msgId = [];
|
18904
|
+
if ((tag & 7) === 2) {
|
18905
|
+
let end2 = reader.uint32() + reader.pos;
|
18906
|
+
while (reader.pos < end2) message.msgId.push(reader.int64());
|
18907
|
+
} else message.msgId.push(reader.int64());
|
18908
|
+
break;
|
18909
|
+
}
|
18910
|
+
default:
|
18911
|
+
reader.skipType(tag & 7);
|
18912
|
+
break;
|
18913
|
+
}
|
18914
|
+
}
|
18915
|
+
return message;
|
18916
|
+
};
|
18917
|
+
|
18918
|
+
/**
|
18919
|
+
* Gets the default type url for GroupChatMessage
|
18920
|
+
* @function getTypeUrl
|
18921
|
+
* @memberof GroupChatMessage
|
18922
|
+
* @static
|
18923
|
+
* @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
|
18924
|
+
* @returns {string} The default type url
|
18925
|
+
*/
|
18926
|
+
GroupChatMessage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
|
18927
|
+
if (typeUrlPrefix === undefined) {
|
18928
|
+
typeUrlPrefix = "type.googleapis.com";
|
18929
|
+
}
|
18930
|
+
return typeUrlPrefix + "/GroupChatMessage";
|
18931
|
+
};
|
18932
|
+
return GroupChatMessage;
|
18933
|
+
})();
|
18934
|
+
const SendGroupChatArrivalAckReq = $root.SendGroupChatArrivalAckReq = (() => {
|
18935
|
+
/**
|
18936
|
+
* Properties of a SendGroupChatArrivalAckReq.
|
18937
|
+
* @exports ISendGroupChatArrivalAckReq
|
18938
|
+
* @interface ISendGroupChatArrivalAckReq
|
18939
|
+
* @property {Array.<IGroupChatMessage>|null} [groupChatMessage] SendGroupChatArrivalAckReq groupChatMessage
|
18940
|
+
*/
|
18941
|
+
|
18942
|
+
/**
|
18943
|
+
* Constructs a new SendGroupChatArrivalAckReq.
|
18944
|
+
* @exports SendGroupChatArrivalAckReq
|
18945
|
+
* @classdesc Represents a SendGroupChatArrivalAckReq.
|
18946
|
+
* @implements ISendGroupChatArrivalAckReq
|
18947
|
+
* @constructor
|
18948
|
+
* @param {ISendGroupChatArrivalAckReq=} [properties] Properties to set
|
18949
|
+
*/
|
18950
|
+
function SendGroupChatArrivalAckReq(properties) {
|
18951
|
+
this.groupChatMessage = [];
|
18952
|
+
if (properties) for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]];
|
18953
|
+
}
|
18954
|
+
|
18955
|
+
/**
|
18956
|
+
* SendGroupChatArrivalAckReq groupChatMessage.
|
18957
|
+
* @member {Array.<IGroupChatMessage>} groupChatMessage
|
18958
|
+
* @memberof SendGroupChatArrivalAckReq
|
18959
|
+
* @instance
|
18960
|
+
*/
|
18961
|
+
SendGroupChatArrivalAckReq.prototype.groupChatMessage = $util.emptyArray;
|
18962
|
+
|
18963
|
+
/**
|
18964
|
+
* Encodes the specified SendGroupChatArrivalAckReq message. Does not implicitly {@link SendGroupChatArrivalAckReq.verify|verify} messages.
|
18965
|
+
* @function encode
|
18966
|
+
* @memberof SendGroupChatArrivalAckReq
|
18967
|
+
* @static
|
18968
|
+
* @param {ISendGroupChatArrivalAckReq} message SendGroupChatArrivalAckReq message or plain object to encode
|
18969
|
+
* @param {$protobuf.Writer} [writer] Writer to encode to
|
18970
|
+
* @returns {$protobuf.Writer} Writer
|
18971
|
+
*/
|
18972
|
+
SendGroupChatArrivalAckReq.encode = function encode(message, writer) {
|
18973
|
+
if (!writer) writer = $Writer.create();
|
18974
|
+
if (message.groupChatMessage != null && message.groupChatMessage.length) for (let i = 0; i < message.groupChatMessage.length; ++i) $root.GroupChatMessage.encode(message.groupChatMessage[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
|
18975
|
+
return writer;
|
18976
|
+
};
|
18977
|
+
|
18978
|
+
/**
|
18979
|
+
* Decodes a SendGroupChatArrivalAckReq message from the specified reader or buffer.
|
18980
|
+
* @function decode
|
18981
|
+
* @memberof SendGroupChatArrivalAckReq
|
18982
|
+
* @static
|
18983
|
+
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
|
18984
|
+
* @param {number} [length] Message length if known beforehand
|
18985
|
+
* @returns {SendGroupChatArrivalAckReq} SendGroupChatArrivalAckReq
|
18986
|
+
* @throws {Error} If the payload is not a reader or valid buffer
|
18987
|
+
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
18988
|
+
*/
|
18989
|
+
SendGroupChatArrivalAckReq.decode = function decode(reader, length) {
|
18990
|
+
if (!(reader instanceof $Reader)) reader = $Reader.create(reader);
|
18991
|
+
let end = length === undefined ? reader.len : reader.pos + length,
|
18992
|
+
message = new $root.SendGroupChatArrivalAckReq();
|
18993
|
+
while (reader.pos < end) {
|
18994
|
+
let tag = reader.uint32();
|
18995
|
+
switch (tag >>> 3) {
|
18996
|
+
case 1:
|
18997
|
+
{
|
18998
|
+
if (!(message.groupChatMessage && message.groupChatMessage.length)) message.groupChatMessage = [];
|
18999
|
+
message.groupChatMessage.push($root.GroupChatMessage.decode(reader, reader.uint32()));
|
19000
|
+
break;
|
19001
|
+
}
|
19002
|
+
default:
|
19003
|
+
reader.skipType(tag & 7);
|
19004
|
+
break;
|
19005
|
+
}
|
19006
|
+
}
|
19007
|
+
return message;
|
19008
|
+
};
|
19009
|
+
|
19010
|
+
/**
|
19011
|
+
* Gets the default type url for SendGroupChatArrivalAckReq
|
19012
|
+
* @function getTypeUrl
|
19013
|
+
* @memberof SendGroupChatArrivalAckReq
|
19014
|
+
* @static
|
19015
|
+
* @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
|
19016
|
+
* @returns {string} The default type url
|
19017
|
+
*/
|
19018
|
+
SendGroupChatArrivalAckReq.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
|
19019
|
+
if (typeUrlPrefix === undefined) {
|
19020
|
+
typeUrlPrefix = "type.googleapis.com";
|
19021
|
+
}
|
19022
|
+
return typeUrlPrefix + "/SendGroupChatArrivalAckReq";
|
19023
|
+
};
|
19024
|
+
return SendGroupChatArrivalAckReq;
|
19025
|
+
})();
|
19026
|
+
const SendGroupChatReadAckReq = $root.SendGroupChatReadAckReq = (() => {
|
19027
|
+
/**
|
19028
|
+
* Properties of a SendGroupChatReadAckReq.
|
19029
|
+
* @exports ISendGroupChatReadAckReq
|
19030
|
+
* @interface ISendGroupChatReadAckReq
|
19031
|
+
* @property {Array.<IGroupChatMessage>|null} [groupChatMessage] SendGroupChatReadAckReq groupChatMessage
|
19032
|
+
*/
|
19033
|
+
|
19034
|
+
/**
|
19035
|
+
* Constructs a new SendGroupChatReadAckReq.
|
19036
|
+
* @exports SendGroupChatReadAckReq
|
19037
|
+
* @classdesc Represents a SendGroupChatReadAckReq.
|
19038
|
+
* @implements ISendGroupChatReadAckReq
|
19039
|
+
* @constructor
|
19040
|
+
* @param {ISendGroupChatReadAckReq=} [properties] Properties to set
|
19041
|
+
*/
|
19042
|
+
function SendGroupChatReadAckReq(properties) {
|
19043
|
+
this.groupChatMessage = [];
|
19044
|
+
if (properties) for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]];
|
19045
|
+
}
|
19046
|
+
|
19047
|
+
/**
|
19048
|
+
* SendGroupChatReadAckReq groupChatMessage.
|
19049
|
+
* @member {Array.<IGroupChatMessage>} groupChatMessage
|
19050
|
+
* @memberof SendGroupChatReadAckReq
|
19051
|
+
* @instance
|
19052
|
+
*/
|
19053
|
+
SendGroupChatReadAckReq.prototype.groupChatMessage = $util.emptyArray;
|
19054
|
+
|
19055
|
+
/**
|
19056
|
+
* Encodes the specified SendGroupChatReadAckReq message. Does not implicitly {@link SendGroupChatReadAckReq.verify|verify} messages.
|
19057
|
+
* @function encode
|
19058
|
+
* @memberof SendGroupChatReadAckReq
|
19059
|
+
* @static
|
19060
|
+
* @param {ISendGroupChatReadAckReq} message SendGroupChatReadAckReq message or plain object to encode
|
19061
|
+
* @param {$protobuf.Writer} [writer] Writer to encode to
|
19062
|
+
* @returns {$protobuf.Writer} Writer
|
19063
|
+
*/
|
19064
|
+
SendGroupChatReadAckReq.encode = function encode(message, writer) {
|
19065
|
+
if (!writer) writer = $Writer.create();
|
19066
|
+
if (message.groupChatMessage != null && message.groupChatMessage.length) for (let i = 0; i < message.groupChatMessage.length; ++i) $root.GroupChatMessage.encode(message.groupChatMessage[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
|
19067
|
+
return writer;
|
19068
|
+
};
|
19069
|
+
|
19070
|
+
/**
|
19071
|
+
* Decodes a SendGroupChatReadAckReq message from the specified reader or buffer.
|
19072
|
+
* @function decode
|
19073
|
+
* @memberof SendGroupChatReadAckReq
|
19074
|
+
* @static
|
19075
|
+
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
|
19076
|
+
* @param {number} [length] Message length if known beforehand
|
19077
|
+
* @returns {SendGroupChatReadAckReq} SendGroupChatReadAckReq
|
19078
|
+
* @throws {Error} If the payload is not a reader or valid buffer
|
19079
|
+
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
19080
|
+
*/
|
19081
|
+
SendGroupChatReadAckReq.decode = function decode(reader, length) {
|
19082
|
+
if (!(reader instanceof $Reader)) reader = $Reader.create(reader);
|
19083
|
+
let end = length === undefined ? reader.len : reader.pos + length,
|
19084
|
+
message = new $root.SendGroupChatReadAckReq();
|
19085
|
+
while (reader.pos < end) {
|
19086
|
+
let tag = reader.uint32();
|
19087
|
+
switch (tag >>> 3) {
|
19088
|
+
case 1:
|
19089
|
+
{
|
19090
|
+
if (!(message.groupChatMessage && message.groupChatMessage.length)) message.groupChatMessage = [];
|
19091
|
+
message.groupChatMessage.push($root.GroupChatMessage.decode(reader, reader.uint32()));
|
19092
|
+
break;
|
19093
|
+
}
|
19094
|
+
default:
|
19095
|
+
reader.skipType(tag & 7);
|
19096
|
+
break;
|
19097
|
+
}
|
19098
|
+
}
|
19099
|
+
return message;
|
19100
|
+
};
|
19101
|
+
|
19102
|
+
/**
|
19103
|
+
* Gets the default type url for SendGroupChatReadAckReq
|
19104
|
+
* @function getTypeUrl
|
19105
|
+
* @memberof SendGroupChatReadAckReq
|
19106
|
+
* @static
|
19107
|
+
* @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
|
19108
|
+
* @returns {string} The default type url
|
19109
|
+
*/
|
19110
|
+
SendGroupChatReadAckReq.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
|
19111
|
+
if (typeUrlPrefix === undefined) {
|
19112
|
+
typeUrlPrefix = "type.googleapis.com";
|
19113
|
+
}
|
19114
|
+
return typeUrlPrefix + "/SendGroupChatReadAckReq";
|
19115
|
+
};
|
19116
|
+
return SendGroupChatReadAckReq;
|
19117
|
+
})();
|
18469
19118
|
|
18470
19119
|
function extractConversationType(destId) {
|
18471
19120
|
const longId = isString(destId) ? Long.fromString(destId) : destId;
|
@@ -18625,22 +19274,12 @@ const updateChatStickyConfig = (dialogId, stickyFlag) => {
|
|
18625
19274
|
return reqPromise;
|
18626
19275
|
};
|
18627
19276
|
const deleteDialog = dialogId => {
|
18628
|
-
let reqPromise
|
18629
|
-
|
18630
|
-
|
18631
|
-
|
18632
|
-
|
18633
|
-
|
18634
|
-
decoder: BaseResp
|
18635
|
-
});
|
18636
|
-
} else {
|
18637
|
-
reqPromise = webSocketServer.send(CmdIds$1.DeletePrivateDialog, {
|
18638
|
-
destId: Long.fromString(dialogId)
|
18639
|
-
}, {
|
18640
|
-
encoder: DeletePrivateChatDialogReq,
|
18641
|
-
decoder: BaseResp
|
18642
|
-
});
|
18643
|
-
}
|
19277
|
+
let reqPromise = webSocketServer.send(CmdIds$1.DeletePrivateDialog, {
|
19278
|
+
destId: Long.fromString(dialogId)
|
19279
|
+
}, {
|
19280
|
+
encoder: DeletePrivateChatDialogReq,
|
19281
|
+
decoder: BaseResp
|
19282
|
+
});
|
18644
19283
|
return reqPromise;
|
18645
19284
|
};
|
18646
19285
|
const getDialogChangedStatus = offset => webSocketServer.send(CmdIds$1.GetDialogChangedStatus, {
|
@@ -18649,6 +19288,22 @@ const getDialogChangedStatus = offset => webSocketServer.send(CmdIds$1.GetDialog
|
|
18649
19288
|
encoder: GetNewSettingDialogListReq,
|
18650
19289
|
decoder: GetNewSettingDialogListResp
|
18651
19290
|
});
|
19291
|
+
const sendGroupChatArrivalAck = params => webSocketServer.send(CmdIds$1.SendGroupChatArrivalAck, params, {
|
19292
|
+
encoder: SendGroupChatArrivalAckReq,
|
19293
|
+
decoder: BaseResp
|
19294
|
+
});
|
19295
|
+
const sendGroupChatReadAck = params => webSocketServer.send(CmdIds$1.SendGroupChatReadAck, params, {
|
19296
|
+
encoder: SendGroupChatReadAckReq,
|
19297
|
+
decoder: BaseResp
|
19298
|
+
});
|
19299
|
+
const sendPrivateChatArrivalAck = params => webSocketServer.send(CmdIds$1.SendPrivateChatArrivalAck, params, {
|
19300
|
+
encoder: SendPrivateChatArrivalAckReq,
|
19301
|
+
decoder: BaseResp
|
19302
|
+
});
|
19303
|
+
const sendPrivateChatReadAck = params => webSocketServer.send(CmdIds$1.SendPrivateChatReadAck, params, {
|
19304
|
+
encoder: SendPrivateChatReadAckReq,
|
19305
|
+
decoder: BaseResp
|
19306
|
+
});
|
18652
19307
|
|
18653
19308
|
let milliDelta__ = 0;
|
18654
19309
|
const synchronizeServerTime = async () => {
|
@@ -18880,6 +19535,12 @@ const MessageTypes = {
|
|
18880
19535
|
REDPACKET: 0x10001040,
|
18881
19536
|
TRANSFER: 0x10001030
|
18882
19537
|
};
|
19538
|
+
const NotiMessageTypes = {
|
19539
|
+
GROUP_ARRIVAL_RECEIPT: 0x60020024,
|
19540
|
+
GROUP_READ_RECEIPT: 0x60020025,
|
19541
|
+
PRIVATE_ARRIVAL_RECEIPT: 0x6001000C,
|
19542
|
+
PRIVATE_READ_RECEIPT: 0x6001000D
|
19543
|
+
};
|
18883
19544
|
|
18884
19545
|
function deepClone(obj) {
|
18885
19546
|
if (!isDef(obj)) {
|
@@ -19592,13 +20253,13 @@ const nullConversationManager = {
|
|
19592
20253
|
destroyed() {},
|
19593
20254
|
syncConversationStatus: function () {}
|
19594
20255
|
};
|
19595
|
-
let manager;
|
20256
|
+
let manager$1;
|
19596
20257
|
var ConversationManager$1 = {
|
19597
20258
|
create(appkey, currentUserId, updatedConversationFunc) {
|
19598
|
-
manager = new ConversationManager(appkey, currentUserId, updatedConversationFunc);
|
20259
|
+
manager$1 = new ConversationManager(appkey, currentUserId, updatedConversationFunc);
|
19599
20260
|
},
|
19600
20261
|
get() {
|
19601
|
-
return manager ?? nullConversationManager;
|
20262
|
+
return manager$1 ?? nullConversationManager;
|
19602
20263
|
}
|
19603
20264
|
};
|
19604
20265
|
|
@@ -19680,7 +20341,7 @@ const parseSingleDialogMessages = (dialogId, originalMessageList, aesKey) => {
|
|
19680
20341
|
sentStatus: SentStatus.SENT,
|
19681
20342
|
receivedTime: getServerTime$1().toString(),
|
19682
20343
|
isStatusMessage: messageInstance.isStatusMessage,
|
19683
|
-
receivedStatus: ReceivedStatus.READ,
|
20344
|
+
receivedStatus: dialogMessage.msgRead ? ReceivedStatus.READ : dialogMessage.msgArrival ? ReceivedStatus.RECEIVED : ReceivedStatus.IDLE,
|
19684
20345
|
disableNotification: localConversation?.notificationStatus === NotificationStatus.OPEN || dialogMessage.srcId.toString() == accountStore.uid
|
19685
20346
|
};
|
19686
20347
|
if (receivedMessage.isStatusMessage && Long.fromNumber(getServerTime$1()).subtract(receivedMessage.sentTime).greaterThan(STATUSMESSAGE_ALIVE_TIMEMS)) {
|
@@ -19764,6 +20425,117 @@ var serverMessageParser = {
|
|
19764
20425
|
parseChatRecordMsgDetails: parseChatRecordMsgDetails$1
|
19765
20426
|
};
|
19766
20427
|
|
20428
|
+
const UNREADMESSAGEUIDS_KEY = 'unreadMessageUids';
|
20429
|
+
class MessageReceiptManager {
|
20430
|
+
localStore;
|
20431
|
+
constructor(appkey, currentUserId) {
|
20432
|
+
const suffix = `receipt-${appkey}-${currentUserId}`;
|
20433
|
+
this.localStore = new AppStorage(suffix);
|
20434
|
+
}
|
20435
|
+
storeUnreadMessageUids(messageList) {
|
20436
|
+
const validMessages = messageList.filter(m => m.isCounted && m.messageDirection !== MessageDirection.SEND);
|
20437
|
+
const messageUids = validMessages.map(m => m.messageUId);
|
20438
|
+
const existingUids = this.localStore.get(UNREADMESSAGEUIDS_KEY) || [];
|
20439
|
+
const updatedUids = [...new Set([...existingUids, ...messageUids])];
|
20440
|
+
this.localStore.set(UNREADMESSAGEUIDS_KEY, updatedUids);
|
20441
|
+
}
|
20442
|
+
formatReceiptMessages(messages) {
|
20443
|
+
const privateMessages = [];
|
20444
|
+
const groupMessages = [];
|
20445
|
+
messages.forEach(m => {
|
20446
|
+
if (m.conversationType === ConversationType.PRIVATE) {
|
20447
|
+
privateMessages.push(m);
|
20448
|
+
} else {
|
20449
|
+
groupMessages.push(m);
|
20450
|
+
}
|
20451
|
+
});
|
20452
|
+
const privateReceiptMessages = Object.entries(privateMessages.reduce((acc, msg) => {
|
20453
|
+
if (!acc[msg.targetId]) {
|
20454
|
+
acc[msg.targetId] = [];
|
20455
|
+
}
|
20456
|
+
acc[msg.targetId].push(msg.messageUId);
|
20457
|
+
return acc;
|
20458
|
+
}, {})).map(([conversationId, messageIds]) => ({
|
20459
|
+
destId: Long.fromString(conversationId),
|
20460
|
+
msgIds: messageIds
|
20461
|
+
}));
|
20462
|
+
const groupReceiptMessages = groupMessages.reduce((acc, msg) => {
|
20463
|
+
const existingGroup = acc.find(g => g.groupId.equals(Long.fromString(msg.targetId)) && g.userId.equals(Long.fromString(msg.senderUserId)));
|
20464
|
+
if (existingGroup) {
|
20465
|
+
existingGroup.msgIds.push(msg.messageUId);
|
20466
|
+
} else {
|
20467
|
+
acc.push({
|
20468
|
+
groupId: Long.fromString(msg.targetId),
|
20469
|
+
userId: Long.fromString(msg.senderUserId),
|
20470
|
+
msgIds: [msg.messageUId]
|
20471
|
+
});
|
20472
|
+
}
|
20473
|
+
return acc;
|
20474
|
+
}, []);
|
20475
|
+
return {
|
20476
|
+
privateReceiptMessages,
|
20477
|
+
groupReceiptMessages
|
20478
|
+
};
|
20479
|
+
}
|
20480
|
+
filterValidMessages(messageList) {
|
20481
|
+
return messageList.filter(m => m.isCounted && m.messageDirection !== MessageDirection.SEND);
|
20482
|
+
}
|
20483
|
+
async sendArrivalReceipts(messageList) {
|
20484
|
+
this.storeUnreadMessageUids(messageList);
|
20485
|
+
const validMessages = this.filterValidMessages(messageList);
|
20486
|
+
const {
|
20487
|
+
privateReceiptMessages,
|
20488
|
+
groupReceiptMessages
|
20489
|
+
} = this.formatReceiptMessages(validMessages);
|
20490
|
+
if (privateReceiptMessages.length) {
|
20491
|
+
await sendPrivateChatArrivalAck({
|
20492
|
+
chatMessage: privateReceiptMessages
|
20493
|
+
});
|
20494
|
+
}
|
20495
|
+
if (groupReceiptMessages.length) {
|
20496
|
+
await sendGroupChatReadAck({
|
20497
|
+
groupChatMessage: groupReceiptMessages
|
20498
|
+
});
|
20499
|
+
}
|
20500
|
+
}
|
20501
|
+
async sendReadReceipts(messageList) {
|
20502
|
+
const storedUnreadUids = this.localStore.get(UNREADMESSAGEUIDS_KEY) || [];
|
20503
|
+
const validMessages = this.filterValidMessages(messageList).filter(m => storedUnreadUids.includes(m.messageUId));
|
20504
|
+
try {
|
20505
|
+
const {
|
20506
|
+
privateReceiptMessages,
|
20507
|
+
groupReceiptMessages
|
20508
|
+
} = this.formatReceiptMessages(validMessages);
|
20509
|
+
if (privateReceiptMessages.length) {
|
20510
|
+
await sendPrivateChatReadAck({
|
20511
|
+
chatMessage: privateReceiptMessages
|
20512
|
+
});
|
20513
|
+
}
|
20514
|
+
if (groupReceiptMessages.length) {
|
20515
|
+
await sendGroupChatArrivalAck({
|
20516
|
+
groupChatMessage: groupReceiptMessages
|
20517
|
+
});
|
20518
|
+
}
|
20519
|
+
const latestUnreadUids = this.localStore.get(UNREADMESSAGEUIDS_KEY) || [];
|
20520
|
+
const sentMessageUids = validMessages.map(m => m.messageUId);
|
20521
|
+
const remainingUids = latestUnreadUids.filter(uid => !sentMessageUids.includes(uid));
|
20522
|
+
this.localStore.set(UNREADMESSAGEUIDS_KEY, remainingUids);
|
20523
|
+
} catch (error) {
|
20524
|
+
console.error('发送已读回执失败:', error);
|
20525
|
+
throw error;
|
20526
|
+
}
|
20527
|
+
}
|
20528
|
+
}
|
20529
|
+
let manager;
|
20530
|
+
var MessageReceiptManager$1 = {
|
20531
|
+
create(appkey, currentUserId) {
|
20532
|
+
manager = new MessageReceiptManager(appkey, currentUserId);
|
20533
|
+
},
|
20534
|
+
get() {
|
20535
|
+
return manager;
|
20536
|
+
}
|
20537
|
+
};
|
20538
|
+
|
19767
20539
|
class MessageLoader {
|
19768
20540
|
watcher;
|
19769
20541
|
pullingMsg = false;
|
@@ -19900,8 +20672,10 @@ class MessageLoader {
|
|
19900
20672
|
}
|
19901
20673
|
});
|
19902
20674
|
if (messages.length) {
|
19903
|
-
this.
|
20675
|
+
let normalMessages = this.handleReceiptMessages(messages);
|
20676
|
+
this.watcher.batchMessage?.(normalMessages);
|
19904
20677
|
}
|
20678
|
+
MessageReceiptManager$1.get()?.sendArrivalReceipts(messages);
|
19905
20679
|
if (done) {
|
19906
20680
|
if (seqno.ge(this.serverMsgSeqno)) {
|
19907
20681
|
this.serverMsgSeqno = seqno;
|
@@ -19920,6 +20694,39 @@ class MessageLoader {
|
|
19920
20694
|
}
|
19921
20695
|
});
|
19922
20696
|
}
|
20697
|
+
handleReceiptMessages(messages) {
|
20698
|
+
const normalMessages = [];
|
20699
|
+
const receiptnotificationMessages = [];
|
20700
|
+
messages.forEach(msg => {
|
20701
|
+
if (msg.messageType === NotiMessageTypes.GROUP_ARRIVAL_RECEIPT || msg.messageType === NotiMessageTypes.GROUP_READ_RECEIPT || msg.messageType === NotiMessageTypes.PRIVATE_ARRIVAL_RECEIPT || msg.messageType === NotiMessageTypes.PRIVATE_READ_RECEIPT) {
|
20702
|
+
receiptnotificationMessages.push(msg);
|
20703
|
+
} else {
|
20704
|
+
normalMessages.push(msg);
|
20705
|
+
}
|
20706
|
+
});
|
20707
|
+
const sentMessages = normalMessages.filter(m => m.messageDirection === MessageDirection.SEND);
|
20708
|
+
receiptnotificationMessages.forEach(notiMsg => {
|
20709
|
+
const notiContent = notiMsg.content;
|
20710
|
+
const isArrivalReceipt = notiMsg.messageType === NotiMessageTypes.GROUP_ARRIVAL_RECEIPT || notiMsg.messageType === NotiMessageTypes.PRIVATE_ARRIVAL_RECEIPT;
|
20711
|
+
sentMessages.forEach(msg => {
|
20712
|
+
if (notiContent.msgIdList.includes(msg.messageUId)) {
|
20713
|
+
if (isArrivalReceipt) {
|
20714
|
+
msg.receivedStatus = ReceivedStatus.RECEIVED;
|
20715
|
+
} else {
|
20716
|
+
msg.receivedStatus = ReceivedStatus.READ;
|
20717
|
+
}
|
20718
|
+
}
|
20719
|
+
});
|
20720
|
+
this.watcher.onReceiptReceived?.({
|
20721
|
+
conversation: {
|
20722
|
+
conversationType: notiMsg.conversationType,
|
20723
|
+
targetId: notiMsg.targetId
|
20724
|
+
},
|
20725
|
+
messageUIdList: notiContent.msgIdList
|
20726
|
+
}, notiMsg.messageType === NotiMessageTypes.GROUP_ARRIVAL_RECEIPT || notiMsg.messageType === NotiMessageTypes.PRIVATE_ARRIVAL_RECEIPT ? 0 : 1);
|
20727
|
+
});
|
20728
|
+
return normalMessages;
|
20729
|
+
}
|
19923
20730
|
isExistPersistedMessage(messageList) {
|
19924
20731
|
return messageList.some(m => m.isPersited);
|
19925
20732
|
}
|
@@ -19972,6 +20779,11 @@ let TransferMessage = registerMessageType$1(MessageTypes.TRANSFER, true, true, f
|
|
19972
20779
|
|
19973
20780
|
const RecallCommandMessage = registerMessageType$1(MessageTypes.RECALL, true, false, false);
|
19974
20781
|
|
20782
|
+
const GroupArrivalReceiptMessage = registerMessageType$1(NotiMessageTypes.GROUP_ARRIVAL_RECEIPT, false, false, true);
|
20783
|
+
const GroupReadReceiptMessage = registerMessageType$1(NotiMessageTypes.GROUP_READ_RECEIPT, false, false, true);
|
20784
|
+
const PrivateArrivalReceiptMessage = registerMessageType$1(NotiMessageTypes.PRIVATE_ARRIVAL_RECEIPT, false, false, true);
|
20785
|
+
const PrivateReadReceiptMessage = registerMessageType$1(NotiMessageTypes.PRIVATE_READ_RECEIPT, false, false, true);
|
20786
|
+
|
19975
20787
|
const DEFAULT_SOCKET_URI = 'wss://imweb.mp.net:6443';
|
19976
20788
|
class LibLoader {
|
19977
20789
|
options;
|
@@ -20000,7 +20812,8 @@ class LibLoader {
|
|
20000
20812
|
batchMessage: undefined,
|
20001
20813
|
conversationState: undefined,
|
20002
20814
|
onPush: undefined,
|
20003
|
-
onRecall: undefined
|
20815
|
+
onRecall: undefined,
|
20816
|
+
onReceiptReceived: undefined
|
20004
20817
|
};
|
20005
20818
|
webSocketServer.setServerInfo(this.getWebSocketUrl());
|
20006
20819
|
webSocketServer.setCallback({
|
@@ -20033,6 +20846,10 @@ class LibLoader {
|
|
20033
20846
|
registerMessage(MessageTypes.GROUP_INVITATION, InvitationMessage);
|
20034
20847
|
registerMessage(MessageTypes.REDPACKET, RedEnvelopeMessage);
|
20035
20848
|
registerMessage(MessageTypes.TRANSFER, TransferMessage);
|
20849
|
+
registerMessage(NotiMessageTypes.GROUP_ARRIVAL_RECEIPT, GroupArrivalReceiptMessage);
|
20850
|
+
registerMessage(NotiMessageTypes.GROUP_READ_RECEIPT, GroupReadReceiptMessage);
|
20851
|
+
registerMessage(NotiMessageTypes.PRIVATE_ARRIVAL_RECEIPT, PrivateArrivalReceiptMessage);
|
20852
|
+
registerMessage(NotiMessageTypes.PRIVATE_READ_RECEIPT, PrivateReadReceiptMessage);
|
20036
20853
|
}
|
20037
20854
|
async connect() {
|
20038
20855
|
if (this.connectionStatus === ConnectionStatus.CONNECTED) {
|
@@ -20050,6 +20867,7 @@ class LibLoader {
|
|
20050
20867
|
this.isInternalConnected = true;
|
20051
20868
|
ConversationManager$1.get().destroyed();
|
20052
20869
|
ConversationManager$1.create(this.options.appkey, accountStore.uid.toString(), this.watcher.conversationState);
|
20870
|
+
MessageReceiptManager$1.create(this.options.appkey, accountStore.uid.toString());
|
20053
20871
|
this.messageLoader?.stop();
|
20054
20872
|
this.messageLoader = new MessageLoader(this.watcher, this.options);
|
20055
20873
|
synchronizeServerTime();
|
@@ -26730,7 +27548,7 @@ const transSentAttrs2IReceivedMessage = (message, options, sentStatus = SentStat
|
|
26730
27548
|
sentStatus,
|
26731
27549
|
receivedTime: '0',
|
26732
27550
|
isStatusMessage: message.isStatusMessage,
|
26733
|
-
receivedStatus: ReceivedStatus.
|
27551
|
+
receivedStatus: ReceivedStatus.IDLE,
|
26734
27552
|
disableNotification: true
|
26735
27553
|
});
|
26736
27554
|
|
@@ -27357,7 +28175,6 @@ async function send(message, sentArgs) {
|
|
27357
28175
|
...baseParams,
|
27358
28176
|
groupId: Long.fromString(dialogId)
|
27359
28177
|
};
|
27360
|
-
debugger;
|
27361
28178
|
if (isDef(message.content.mentionedInfo)) {
|
27362
28179
|
const mentionedInfo = message.content.mentionedInfo;
|
27363
28180
|
if (mentionedInfo.type === MentionedType.ALL) ; else if (mentionedInfo.type === MentionedType.SINGAL && mentionedInfo.userIdList?.length) {
|
@@ -27464,6 +28281,13 @@ class IMClient extends EventEmitter {
|
|
27464
28281
|
messageUids.forEach(messageUId => {
|
27465
28282
|
this.emit(Events.RECALL, messageUId);
|
27466
28283
|
});
|
28284
|
+
},
|
28285
|
+
onReceiptReceived: (event, type) => {
|
28286
|
+
if (type === 0) {
|
28287
|
+
this.emit(Events.ARRIVAL_RECEIPT_RECEIVED, event);
|
28288
|
+
} else {
|
28289
|
+
this.emit(Events.READ_RECEIPT_RECEIVED, event);
|
28290
|
+
}
|
27467
28291
|
}
|
27468
28292
|
});
|
27469
28293
|
}
|
@@ -27681,6 +28505,9 @@ class IMClient extends EventEmitter {
|
|
27681
28505
|
clearConversationMessageDraft(conversation) {
|
27682
28506
|
ConversationManager$1.get().clearDraft(conversation);
|
27683
28507
|
}
|
28508
|
+
async sendReadReceipts(messages) {
|
28509
|
+
await MessageReceiptManager$1.get()?.sendReadReceipts(messages);
|
28510
|
+
}
|
27684
28511
|
formatConversation(serverConversationData) {
|
27685
28512
|
const {
|
27686
28513
|
dialog,
|
@@ -28957,6 +29784,18 @@ const clearHistoryMessages = async (conversation, timestamp) => {
|
|
28957
29784
|
const parseChatRecordMsgDetails = (conversation, detailItems) => {
|
28958
29785
|
return serverMessageParser.parseChatRecordMsgDetails(conversation, detailItems);
|
28959
29786
|
};
|
29787
|
+
const sendReadReceipts = async messages => {
|
29788
|
+
try {
|
29789
|
+
await imClient.sendReadReceipts(messages);
|
29790
|
+
return {
|
29791
|
+
code: ErrorCode.SUCCESS
|
29792
|
+
};
|
29793
|
+
} catch (error) {
|
29794
|
+
return {
|
29795
|
+
code: ErrorCode.UNKNOWN
|
29796
|
+
};
|
29797
|
+
}
|
29798
|
+
};
|
28960
29799
|
const mockLogin = config => {
|
28961
29800
|
return login(config);
|
28962
29801
|
};
|
@@ -28971,4 +29810,4 @@ const _logSendError = (conversation, errorCode) => {
|
|
28971
29810
|
}
|
28972
29811
|
};
|
28973
29812
|
|
28974
|
-
export { ChatRecordMessage, ConnectionStatus, ContactMessage, ConversationType, ErrorCode, ErrorDesc, Events, FileMessage, GIFMessage, VoiceMessage as HQVoiceMessage, ImageMessage, InvitationMessage, LocationMessage, LogLevel, MentionedType, MessageDirection, MessageTypes, NotificationLevel, NotificationStatus, RecallCommandMessage, ReceivedStatus, RedEnvelopeMessage, SentStatus, TextMessage, TransferMessage, VideoMessage, addEventListener, clearAllMessagesUnreadStatus, clearHistoryMessages, clearMessagesUnreadStatus, clearTextMessageDraft, connect, deleteMessages, disconnect, getAllConversationState, getAllUnreadMentionedCount, getBlockedConversationList, getConnectionStatus, getConversation, getConversationList, getConversationNotificationLevel, getConversationNotificationStatus, getConversationState, getHistoryMessages, getRemoteHistoryMessages, getServerTime, getTextMessageDraft, getTopConversationList, getTotalUnreadCount, getUnreadCount, getUnreadMentionedCount, init, logOut, mockLogin, onceEventListener, parseChatRecordMsgDetails, recallMessage, registerMessageType, removeConversation, removeEventListener, request, saveTextMessageDraft, sendFileMessage, sendGIFMessage, sendHQVoiceMessage, sendImageMessage, sendMessage, sendSightMessage, sendTextMessage, setConversationNotificationStatus, setConversationToTop, setUserLogged };
|
29813
|
+
export { ChatRecordMessage, ConnectionStatus, ContactMessage, ConversationType, ErrorCode, ErrorDesc, Events, FileMessage, GIFMessage, VoiceMessage as HQVoiceMessage, ImageMessage, InvitationMessage, LocationMessage, LogLevel, MentionedType, MessageDirection, MessageTypes, NotificationLevel, NotificationStatus, RecallCommandMessage, ReceivedStatus, RedEnvelopeMessage, SentStatus, TextMessage, TransferMessage, VideoMessage, addEventListener, clearAllMessagesUnreadStatus, clearHistoryMessages, clearMessagesUnreadStatus, clearTextMessageDraft, connect, deleteMessages, disconnect, getAllConversationState, getAllUnreadMentionedCount, getBlockedConversationList, getConnectionStatus, getConversation, getConversationList, getConversationNotificationLevel, getConversationNotificationStatus, getConversationState, getHistoryMessages, getRemoteHistoryMessages, getServerTime, getTextMessageDraft, getTopConversationList, getTotalUnreadCount, getUnreadCount, getUnreadMentionedCount, init, logOut, mockLogin, onceEventListener, parseChatRecordMsgDetails, recallMessage, registerMessageType, removeConversation, removeEventListener, request, saveTextMessageDraft, sendFileMessage, sendGIFMessage, sendHQVoiceMessage, sendImageMessage, sendMessage, sendReadReceipts, sendSightMessage, sendTextMessage, setConversationNotificationStatus, setConversationToTop, setUserLogged };
|