From cceb1f92d7d51aeadac41c2dd1ec6f26e56ee23c Mon Sep 17 00:00:00 2001 From: "r.go" <76719536+gamersindo1223@users.noreply.github.com> Date: Thu, 10 Apr 2025 11:07:28 +0000 Subject: [PATCH] Update --- appstate.go | 2 +- appstate/encode.go | 90 +- client.go | 52 +- connectionevents.go | 9 + errors.go | 1 + go.mod | 12 +- go.sum | 30 +- group.go | 88 +- internals.go | 60 +- message.go | 139 +- msgsecret.go | 124 +- notification.go | 38 +- pair.go | 18 +- .../WAArmadilloApplication.pb.go | 333 +- .../WAArmadilloApplication.pb.raw | Bin 8273 -> 8281 bytes .../WAArmadilloApplication.proto | 10 +- proto/waArmadilloXMA/WAArmadilloXMA.pb.go | 22 +- proto/waArmadilloXMA/WAArmadilloXMA.pb.raw | Bin 3774 -> 3821 bytes proto/waArmadilloXMA/WAArmadilloXMA.proto | 1 + proto/waCommon/WACommon.pb.go | 237 +- proto/waCommon/WACommon.pb.raw | Bin 853 -> 1228 bytes proto/waCommon/WACommon.proto | 20 +- ...ompanionReg.pb.go => WACompanionReg.pb.go} | 160 +- ...panionReg.pb.raw => WACompanionReg.pb.raw} | Bin 2660 -> 2576 bytes ...ompanionReg.proto => WACompanionReg.proto} | 2 +- .../WAProtobufsDeviceCapabilities.pb.go | 68 +- .../WAProtobufsDeviceCapabilities.pb.raw | Bin 343 -> 519 bytes .../WAProtobufsDeviceCapabilities.proto | 5 + proto/waE2E/WAWebProtobufsE2E.pb.go | 3663 ++++++++++------- proto/waE2E/WAWebProtobufsE2E.pb.raw | Bin 76047 -> 78263 bytes proto/waE2E/WAWebProtobufsE2E.proto | 100 +- proto/waFingerprint/WAFingerprint.pb.go | 8 + proto/waFingerprint/WAFingerprint.pb.raw | Bin 568 -> 610 bytes proto/waFingerprint/WAFingerprint.proto | 1 + .../WAWebProtobufsHistorySync.pb.go | 59 +- .../WAWebProtobufsHistorySync.pb.raw | Bin 7586 -> 7755 bytes .../WAWebProtobufsHistorySync.proto | 3 + ...WAWebProtobufLidMigrationSyncPayload.pb.go | 16 +- ...AWebProtobufLidMigrationSyncPayload.pb.raw | 5 +- ...WAWebProtobufLidMigrationSyncPayload.proto | 1 + proto/waMmsRetry/WAMmsRetry.pb.go | 8 + proto/waMmsRetry/WAMmsRetry.pb.raw | Bin 372 -> 410 bytes proto/waMmsRetry/WAMmsRetry.proto | 1 + proto/waMsgApplication/WAMsgApplication.pb.go | 158 +- .../waMsgApplication/WAMsgApplication.pb.raw | Bin 2745 -> 2963 bytes proto/waMsgApplication/WAMsgApplication.proto | 8 + proto/waSyncAction/WASyncAction.pb.go | 846 ++-- proto/waSyncAction/WASyncAction.pb.raw | Bin 12423 -> 12869 bytes proto/waSyncAction/WASyncAction.proto | 14 + proto/waWa6/WAWebProtobufsWa6.pb.go | 215 +- proto/waWa6/WAWebProtobufsWa6.pb.raw | Bin 5725 -> 5900 bytes proto/waWa6/WAWebProtobufsWa6.proto | 8 + receipt.go | 8 +- retry.go | 23 +- send.go | 276 +- sendfb.go | 14 +- store/clientpayload.go | 2 +- store/noop.go | 22 +- store/signal.go | 2 +- store/sqlstore/container.go | 116 +- store/sqlstore/lidmap.go | 165 + store/sqlstore/store.go | 275 +- store/sqlstore/upgrade.go | 296 -- store/sqlstore/upgrades/00-latest-schema.sql | 143 + .../sqlstore/upgrades/03-message-secrets.sql | 11 + store/sqlstore/upgrades/04-privacy-tokens.sql | 8 + .../upgrades/05-account-jid-format.sql | 2 + store/sqlstore/upgrades/06-facebook-uuid.sql | 2 + store/sqlstore/upgrades/07-account-lid.sql | 2 + store/sqlstore/upgrades/08-lid-mapping.sql | 5 + store/sqlstore/upgrades/upgrades.go | 22 + store/store.go | 46 +- types/botmap.go | 210 + types/events/events.go | 8 + types/group.go | 21 +- types/jid.go | 15 +- types/message.go | 17 + user.go | 52 +- 78 files changed, 5273 insertions(+), 3125 deletions(-) rename proto/waCompanionReg/{WAWebProtobufsCompanionReg.pb.go => WACompanionReg.pb.go} (78%) rename proto/waCompanionReg/{WAWebProtobufsCompanionReg.pb.raw => WACompanionReg.pb.raw} (74%) rename proto/waCompanionReg/{WAWebProtobufsCompanionReg.proto => WACompanionReg.proto} (98%) create mode 100644 store/sqlstore/lidmap.go delete mode 100644 store/sqlstore/upgrade.go create mode 100644 store/sqlstore/upgrades/00-latest-schema.sql create mode 100644 store/sqlstore/upgrades/03-message-secrets.sql create mode 100644 store/sqlstore/upgrades/04-privacy-tokens.sql create mode 100644 store/sqlstore/upgrades/05-account-jid-format.sql create mode 100644 store/sqlstore/upgrades/06-facebook-uuid.sql create mode 100644 store/sqlstore/upgrades/07-account-lid.sql create mode 100644 store/sqlstore/upgrades/08-lid-mapping.sql create mode 100644 store/sqlstore/upgrades/upgrades.go create mode 100644 types/botmap.go diff --git a/appstate.go b/appstate.go index 198ee348..2d8e5a2c 100644 --- a/appstate.go +++ b/appstate.go @@ -112,7 +112,7 @@ func (cli *Client) filterContacts(mutations []appstate.Mutation) ([]appstate.Mut func (cli *Client) dispatchAppState(mutation appstate.Mutation, fullSync bool, emitOnFullSync bool) { dispatchEvts := !fullSync || emitOnFullSync - if mutation.Operation != waServerSync.SyncdMutation_SET { + if (mutation.Action != nil && mutation.Action.ContactAction == nil) && mutation.Operation != waServerSync.SyncdMutation_SET { return } diff --git a/appstate/encode.go b/appstate/encode.go index f21b4b18..ec783150 100644 --- a/appstate/encode.go +++ b/appstate/encode.go @@ -32,6 +32,8 @@ type PatchInfo struct { Timestamp time.Time // Type is the app state type being mutated. Type WAPatchName + // Operation is SET / REMOVE + Operation waServerSync.SyncdMutation_SyncdOperation // Mutations contains the individual mutations to apply to the app state in this patch. Mutations []MutationInfo } @@ -46,7 +48,8 @@ func BuildMute(target types.JID, mute bool, muteDuration time.Duration) PatchInf } return PatchInfo{ - Type: WAPatchRegularHigh, + Type: WAPatchRegularHigh, + Operation: waServerSync.SyncdMutation_SET, Mutations: []MutationInfo{{ Index: []string{IndexMute, target.String()}, Version: 2, @@ -60,6 +63,37 @@ func BuildMute(target types.JID, mute bool, muteDuration time.Duration) PatchInf } } +func BuildAddContact(target types.JID, fullName string) PatchInfo { + return PatchInfo{ + Type: WAPatchCriticalUnblockLow, + Operation: waServerSync.SyncdMutation_SET, + Mutations: []MutationInfo{{ + Index: []string{IndexContact, target.String()}, + Version: 2, + Value: &waSyncAction.SyncActionValue{ + ContactAction: &waSyncAction.ContactAction{ + FullName: &fullName, + SaveOnPrimaryAddressbook: proto.Bool(true), + }, + }, + }}, + } +} + +func BuildRemoveContact(target types.JID) PatchInfo { + return PatchInfo{ + Type: WAPatchCriticalUnblockLow, + Operation: waServerSync.SyncdMutation_REMOVE, + Mutations: []MutationInfo{{ + Index: []string{IndexContact, target.String()}, + Version: 2, + Value: &waSyncAction.SyncActionValue{ + ContactAction: &waSyncAction.ContactAction{}, + }, + }}, + } +} + func newPinMutationInfo(target types.JID, pin bool) MutationInfo { return MutationInfo{ Index: []string{IndexPin, target.String()}, @@ -75,7 +109,8 @@ func newPinMutationInfo(target types.JID, pin bool) MutationInfo { // BuildPin builds an app state patch for pinning or unpinning a chat. func BuildPin(target types.JID, pin bool) PatchInfo { return PatchInfo{ - Type: WAPatchRegularLow, + Type: WAPatchRegularLow, + Operation: waServerSync.SyncdMutation_SET, Mutations: []MutationInfo{ newPinMutationInfo(target, pin), }, @@ -119,6 +154,7 @@ func BuildArchive(target types.JID, archive bool, lastMessageTimestamp time.Time result := PatchInfo{ Type: WAPatchRegularLow, + Operation: waServerSync.SyncdMutation_SET, Mutations: mutations, } @@ -140,7 +176,8 @@ func newLabelChatMutation(target types.JID, labelID string, labeled bool) Mutati // BuildLabelChat builds an app state patch for labeling or un(labeling) a chat. func BuildLabelChat(target types.JID, labelID string, labeled bool) PatchInfo { return PatchInfo{ - Type: WAPatchRegular, + Type: WAPatchRegular, + Operation: waServerSync.SyncdMutation_SET, Mutations: []MutationInfo{ newLabelChatMutation(target, labelID, labeled), }, @@ -162,7 +199,8 @@ func newLabelMessageMutation(target types.JID, labelID, messageID string, labele // BuildLabelMessage builds an app state patch for labeling or un(labeling) a message. func BuildLabelMessage(target types.JID, labelID, messageID string, labeled bool) PatchInfo { return PatchInfo{ - Type: WAPatchRegular, + Type: WAPatchRegular, + Operation: waServerSync.SyncdMutation_SET, Mutations: []MutationInfo{ newLabelMessageMutation(target, labelID, messageID, labeled), }, @@ -186,7 +224,8 @@ func newLabelEditMutation(labelID string, labelName string, labelColor int32, de // BuildLabelEdit builds an app state patch for editing a label. func BuildLabelEdit(labelID string, labelName string, labelColor int32, deleted bool) PatchInfo { return PatchInfo{ - Type: WAPatchRegular, + Type: WAPatchRegular, + Operation: waServerSync.SyncdMutation_SET, Mutations: []MutationInfo{ newLabelEditMutation(labelID, labelName, labelColor, deleted), }, @@ -208,7 +247,8 @@ func newSettingPushNameMutation(pushName string) MutationInfo { // BuildSettingPushName builds an app state patch for setting the push name. func BuildSettingPushName(pushName string) PatchInfo { return PatchInfo{ - Type: WAPatchCriticalBlock, + Type: WAPatchCriticalBlock, + Operation: waServerSync.SyncdMutation_SET, Mutations: []MutationInfo{ newSettingPushNameMutation(pushName), }, @@ -238,43 +278,13 @@ func BuildStar(target, sender types.JID, messageID types.MessageID, fromMe, star senderJID = "0" } return PatchInfo{ - Type: WAPatchRegularHigh, + Type: WAPatchRegularHigh, + Operation: waServerSync.SyncdMutation_SET, Mutations: []MutationInfo{ newStarMutation(targetJID, senderJID, messageID, isFromMe, starred), }, } } -// https://github.com/tulir/whatsmeow/pull/702/ -func newDeleteForMeMutation(targetJID, senderJID string, messageInfo types.MessageInfo, fromMe string, deleteMedia bool) MutationInfo { - return MutationInfo{ - Index: []string{IndexDeleteMessageForMe, targetJID, messageInfo.ID, fromMe, senderJID}, - Version: 2, - Value: &waSyncAction.SyncActionValue{ - DeleteMessageForMeAction: &waSyncAction.DeleteMessageForMeAction{ - DeleteMedia: proto.Bool(deleteMedia), - MessageTimestamp: proto.Int64(messageInfo.Timestamp.UnixMilli()), - }, - }, - } -} - -// BuildDeleteForMe builds an app state patch for deleting a message for me. -func BuildDeleteForMe(messageInfo types.MessageInfo, deleteMedia bool) PatchInfo { - isFromMe := "0" - if messageInfo.IsFromMe { - isFromMe = "1" - } - targetJID, senderJID := messageInfo.Chat.String(), messageInfo.Sender.String() - if messageInfo.Chat.User == messageInfo.Sender.User { - senderJID = "0" - } - return PatchInfo{ - Type: WAPatchRegularHigh, - Mutations: []MutationInfo{ - newDeleteForMeMutation(targetJID, senderJID, messageInfo, isFromMe, deleteMedia), - }, - } -} func (proc *Processor) EncodePatch(keyID []byte, state HashState, patchInfo PatchInfo) ([]byte, error) { keys, err := proc.getAppStateKey(keyID) @@ -312,11 +322,11 @@ func (proc *Processor) EncodePatch(keyID []byte, state HashState, patchInfo Patc return nil, fmt.Errorf("failed to encrypt mutation: %w", err) } - valueMac := generateContentMAC(waServerSync.SyncdMutation_SET, encryptedContent, keyID, keys.ValueMAC) + valueMac := generateContentMAC(patchInfo.Operation, encryptedContent, keyID, keys.ValueMAC) indexMac := concatAndHMAC(sha256.New, keys.Index, indexBytes) mutations = append(mutations, &waServerSync.SyncdMutation{ - Operation: waServerSync.SyncdMutation_SET.Enum(), + Operation: patchInfo.Operation.Enum(), Record: &waServerSync.SyncdRecord{ Index: &waServerSync.SyncdIndex{Blob: indexMac}, Value: &waServerSync.SyncdValue{Blob: append(encryptedContent, valueMac...)}, diff --git a/client.go b/client.go index 88674b3b..1a2642f7 100644 --- a/client.go +++ b/client.go @@ -120,10 +120,10 @@ type Client struct { privacySettingsCache atomic.Value - groupParticipantsCache map[types.JID][]types.JID - groupParticipantsCacheLock sync.Mutex - userDevicesCache map[types.JID]deviceCache - userDevicesCacheLock sync.Mutex + groupCache map[types.JID]*groupMetaCache + groupCacheLock sync.Mutex + userDevicesCache map[types.JID]deviceCache + userDevicesCacheLock sync.Mutex recentMessagesMap map[recentMessageKey]RecentMessage recentMessagesList [recentMessagesSize]recentMessageKey @@ -174,6 +174,12 @@ type Client struct { RefreshCAT func() error } +type groupMetaCache struct { + AddressingMode types.AddressingMode + CommunityAnnouncementGroup bool + Members []types.JID +} + type MessengerConfig struct { UserAgent string BaseURL string @@ -226,8 +232,8 @@ func NewClient(deviceStore *store.Device, log waLog.Logger) *Client { historySyncNotifications: make(chan *waE2E.HistorySyncNotification, 32), - groupParticipantsCache: make(map[types.JID][]types.JID), - userDevicesCache: make(map[types.JID]deviceCache), + groupCache: make(map[types.JID]*groupMetaCache), + userDevicesCache: make(map[types.JID]deviceCache), recentMessagesMap: make(map[recentMessageKey]RecentMessage, recentMessagesSize), sessionRecreateHistory: make(map[types.JID]time.Time), @@ -378,11 +384,14 @@ func (cli *Client) getOwnID() types.JID { if cli == nil { return types.EmptyJID } - id := cli.Store.ID - if id == nil { + return cli.Store.GetJID() +} + +func (cli *Client) getOwnLID() types.JID { + if cli == nil { return types.EmptyJID } - return *id + return cli.Store.GetLID() } func (cli *Client) WaitForConnection(timeout time.Duration) bool { @@ -816,7 +825,7 @@ func (cli *Client) ParseWebMessage(chatJID types.JID, webMsg *waWeb.WebMessageIn IsFromMe: webMsg.GetKey().GetFromMe(), IsGroup: chatJID.Server == types.GroupServer, }, - ID: webMsg.GetKey().GetId(), + ID: webMsg.GetKey().GetID(), PushName: webMsg.GetPushName(), Timestamp: time.Unix(int64(webMsg.GetMessageTimestamp()), 0), } @@ -825,7 +834,7 @@ func (cli *Client) ParseWebMessage(chatJID types.JID, webMsg *waWeb.WebMessageIn if info.Sender.IsEmpty() { return nil, ErrNotLoggedIn } - } else if chatJID.Server == types.DefaultUserServer || chatJID.Server == types.NewsletterServer { + } else if chatJID.Server == types.DefaultUserServer || chatJID.Server == types.HiddenUserServer || chatJID.Server == types.NewsletterServer { info.Sender = chatJID } else if webMsg.GetParticipant() != "" { info.Sender, err = types.ParseJID(webMsg.GetParticipant()) @@ -837,6 +846,10 @@ func (cli *Client) ParseWebMessage(chatJID types.JID, webMsg *waWeb.WebMessageIn if err != nil { return nil, fmt.Errorf("failed to parse sender of message %s: %v", info.ID, err) } + if pk := webMsg.GetCommentMetadata().GetCommentParentKey(); pk != nil { + info.MsgMetaInfo.ThreadMessageID = pk.GetID() + info.MsgMetaInfo.ThreadMessageSenderJID, _ = types.ParseJID(pk.GetParticipant()) + } evt := &events.Message{ RawMessage: webMsg.GetMessage(), SourceWebMsg: webMsg, @@ -849,3 +862,20 @@ func (cli *Client) ParseWebMessage(chatJID types.JID, webMsg *waWeb.WebMessageIn } return evt, nil } + +func (cli *Client) StoreLIDPNMapping(ctx context.Context, first, second types.JID) { + var lid, pn types.JID + if first.Server == types.HiddenUserServer && second.Server == types.DefaultUserServer { + lid = first + pn = second + } else if first.Server == types.DefaultUserServer && second.Server == types.HiddenUserServer { + lid = second + pn = first + } else { + return + } + err := cli.Store.LIDs.PutLIDMapping(ctx, lid, pn) + if err != nil { + cli.Log.Errorf("Failed to store LID-PN mapping for %s -> %s: %v", lid, pn, err) + } +} diff --git a/connectionevents.go b/connectionevents.go index 1a5b88de..60625e07 100644 --- a/connectionevents.go +++ b/connectionevents.go @@ -152,6 +152,15 @@ func (cli *Client) handleConnectSuccess(node *waBinary.Node) { cli.LastSuccessfulConnect = time.Now() cli.AutoReconnectErrors = 0 cli.isLoggedIn.Store(true) + if cli.Store.LID.IsEmpty() { + cli.Store.LID = node.AttrGetter().JID("lid") + err := cli.Store.Save() + if err != nil { + cli.Log.Warnf("Failed to save device after updating LID: %v", err) + } else { + cli.Log.Infof("Updated LID to %s", cli.Store.LID) + } + } go func() { if dbCount, err := cli.Store.PreKeys.UploadedPreKeyCount(); err != nil { cli.Log.Errorf("Failed to get number of prekeys in database: %v", err) diff --git a/errors.go b/errors.go index 562128e5..c44edcd5 100644 --- a/errors.go +++ b/errors.go @@ -141,6 +141,7 @@ var ( var ( ErrOriginalMessageSecretNotFound = errors.New("original message secret key not found") ErrNotEncryptedReactionMessage = errors.New("given message isn't an encrypted reaction message") + ErrNotEncryptedCommentMessage = errors.New("given message isn't an encrypted comment message") ErrNotPollUpdateMessage = errors.New("given message isn't a poll update message") ) diff --git a/go.mod b/go.mod index 3ca2a8ab..c99ba3c2 100644 --- a/go.mod +++ b/go.mod @@ -2,16 +2,16 @@ module github.com/techwiz37/waSocket go 1.23.0 -toolchain go1.24.0 +toolchain go1.24.1 require ( github.com/google/uuid v1.6.0 github.com/gorilla/websocket v1.5.0 github.com/rs/zerolog v1.33.0 go.mau.fi/libsignal v0.1.2 - go.mau.fi/util v0.8.5 - golang.org/x/crypto v0.33.0 - golang.org/x/net v0.35.0 + go.mau.fi/util v0.8.6 + golang.org/x/crypto v0.36.0 + golang.org/x/net v0.37.0 google.golang.org/protobuf v1.36.5 ) @@ -19,5 +19,7 @@ require ( filippo.io/edwards25519 v1.1.0 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.19 // indirect - golang.org/x/sys v0.30.0 // indirect + github.com/petermattis/goid v0.0.0-20250303134427-723919f7f203 // indirect + golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 // indirect + golang.org/x/sys v0.31.0 // indirect ) diff --git a/go.sum b/go.sum index 08b80788..3043c24c 100644 --- a/go.sum +++ b/go.sum @@ -1,11 +1,13 @@ filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= +github.com/DATA-DOG/go-sqlmock v1.5.2 h1:OcvFkGmslmlZibjAjaHm3L//6LiuBgolP7OputlJIzU= +github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ+JlNzwDqpNU= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= @@ -15,6 +17,10 @@ github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovk github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-sqlite3 v1.14.24 h1:tpSp2G2KyMnnQu99ngJ47EIkWVmliIizyZBfPrBWDRM= +github.com/mattn/go-sqlite3 v1.14.24/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= +github.com/petermattis/goid v0.0.0-20250303134427-723919f7f203 h1:E7Kmf11E4K7B5hDti2K2NqPb1nlYlGYsu02S1JNd/Bs= +github.com/petermattis/goid v0.0.0-20250303134427-723919f7f203/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -25,19 +31,19 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= go.mau.fi/libsignal v0.1.2 h1:Vs16DXWxSKyzVtI+EEXLCSy5pVWzzCzp/2eqFGvLyP0= go.mau.fi/libsignal v0.1.2/go.mod h1:JpnLSSJptn/s1sv7I56uEMywvz8x4YzxeF5OzdPb6PE= -go.mau.fi/util v0.8.5 h1:PwCAAtcfK0XxZ4sdErJyfBMkTEWoQU33aB7QqDDzQRI= -go.mau.fi/util v0.8.5/go.mod h1:Ycug9mrbztlahHPEJ6H5r8Nu/xqZaWbE5vPHVWmfz6M= -golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus= -golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M= -golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8= -golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk= +go.mau.fi/util v0.8.6 h1:AEK13rfgtiZJL2YsNK+W4ihhYCuukcRom8WPP/w/L54= +go.mau.fi/util v0.8.6/go.mod h1:uNB3UTXFbkpp7xL1M/WvQks90B/L4gvbLpbS0603KOE= +golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= +golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= +golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 h1:nDVHiLt8aIbd/VzvPWN6kSOPE7+F/fNFDSXLVYkE/Iw= +golang.org/x/exp v0.0.0-20250305212735-054e65f0b394/go.mod h1:sIifuuw/Yco/y6yb6+bDNfyeQ/MdPUy/hKEMYQV17cM= +golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c= +golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= -golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= +golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM= google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/group.go b/group.go index 3b668b5d..7818f39e 100644 --- a/group.go +++ b/group.go @@ -13,6 +13,7 @@ import ( "strings" waBinary "github.com/techwiz37/waSocket/binary" + "github.com/techwiz37/waSocket/store" "github.com/techwiz37/waSocket/types" "github.com/techwiz37/waSocket/types/events" ) @@ -548,27 +549,43 @@ func (cli *Client) getGroupInfo(ctx context.Context, jid types.JID, lockParticip return groupInfo, err } if lockParticipantCache { - cli.groupParticipantsCacheLock.Lock() - defer cli.groupParticipantsCacheLock.Unlock() + cli.groupCacheLock.Lock() + defer cli.groupCacheLock.Unlock() } participants := make([]types.JID, len(groupInfo.Participants)) + lidPairs := make([]store.LIDMapping, len(groupInfo.Participants)) for i, part := range groupInfo.Participants { participants[i] = part.JID + if !part.PhoneNumber.IsEmpty() && !part.LID.IsEmpty() { + lidPairs[i] = store.LIDMapping{ + LID: part.LID, + PN: part.PhoneNumber, + } + } + } + cli.groupCache[jid] = &groupMetaCache{ + AddressingMode: groupInfo.AddressingMode, + CommunityAnnouncementGroup: groupInfo.IsAnnounce && groupInfo.IsDefaultSubGroup, + Members: participants, + } + err = cli.Store.LIDs.PutManyLIDMappings(ctx, lidPairs) + if err != nil { + cli.Log.Warnf("Failed to store LID mappings for members of %s: %v", jid, err) } - cli.groupParticipantsCache[jid] = participants return groupInfo, nil } -func (cli *Client) getGroupMembers(ctx context.Context, jid types.JID) ([]types.JID, error) { - cli.groupParticipantsCacheLock.Lock() - defer cli.groupParticipantsCacheLock.Unlock() - if _, ok := cli.groupParticipantsCache[jid]; !ok { - _, err := cli.getGroupInfo(ctx, jid, false) - if err != nil { - return nil, err - } +func (cli *Client) getCachedGroupData(ctx context.Context, jid types.JID) (*groupMetaCache, error) { + cli.groupCacheLock.Lock() + defer cli.groupCacheLock.Unlock() + if val, ok := cli.groupCache[jid]; ok { + return val, nil + } + _, err := cli.getGroupInfo(ctx, jid, false) + if err != nil { + return nil, err } - return cli.groupParticipantsCache[jid], nil + return cli.groupCache[jid], nil } func parseParticipant(childAG *waBinary.AttrUtility, child *waBinary.Node) types.GroupParticipant { @@ -577,12 +594,14 @@ func parseParticipant(childAG *waBinary.AttrUtility, child *waBinary.Node) types IsAdmin: pcpType == "admin" || pcpType == "superadmin", IsSuperAdmin: pcpType == "superadmin", JID: childAG.JID("jid"), - LID: childAG.OptionalJIDOrEmpty("lid"), DisplayName: childAG.OptionalString("display_name"), } - if participant.JID.Server == types.HiddenUserServer && participant.LID.IsEmpty() { + if participant.JID.Server == types.HiddenUserServer { participant.LID = participant.JID - //participant.JID = types.EmptyJID + participant.PhoneNumber = childAG.OptionalJIDOrEmpty("phone_number") + } else if participant.JID.Server == types.DefaultUserServer { + participant.PhoneNumber = participant.JID + participant.LID = childAG.OptionalJIDOrEmpty("lid") } if errorCode := childAG.OptionalInt("error"); errorCode != 0 { participant.Error = errorCode @@ -604,15 +623,19 @@ func (cli *Client) parseGroupNode(groupNode *waBinary.Node) (*types.GroupInfo, e group.JID = types.NewJID(ag.String("id"), types.GroupServer) group.OwnerJID = ag.OptionalJIDOrEmpty("creator") + group.OwnerPN = ag.OptionalJIDOrEmpty("creator_pn") group.Name = ag.String("subject") group.NameSetAt = ag.UnixTime("s_t") group.NameSetBy = ag.OptionalJIDOrEmpty("s_o") + group.NameSetByPN = ag.OptionalJIDOrEmpty("s_o_pn") group.GroupCreated = ag.UnixTime("creation") + group.CreatorCountryCode = ag.OptionalString("creator_country_code") group.AnnounceVersionID = ag.OptionalString("a_v_id") group.ParticipantVersionID = ag.OptionalString("p_v_id") + group.AddressingMode = types.AddressingMode(ag.OptionalString("addressing_mode")) for _, child := range groupNode.GetChildren() { childAG := child.AttrGetter() @@ -626,6 +649,7 @@ func (cli *Client) parseGroupNode(groupNode *waBinary.Node) (*types.GroupInfo, e group.Topic = string(topicBytes) group.TopicID = childAG.String("id") group.TopicSetBy = childAG.OptionalJIDOrEmpty("participant") + group.TopicSetByPN = childAG.OptionalJIDOrEmpty("participant_pn") // TODO confirm field name group.TopicSetAt = childAG.UnixTime("t") } case "announcement": @@ -691,16 +715,20 @@ func parseParticipantList(node *waBinary.Node) (participants []types.JID) { return } -func (cli *Client) parseGroupCreate(node *waBinary.Node) (*events.JoinedGroup, error) { +func (cli *Client) parseGroupCreate(parentNode, node *waBinary.Node) (*events.JoinedGroup, error) { groupNode, ok := node.GetOptionalChildByTag("group") if !ok { return nil, fmt.Errorf("group create notification didn't contain group info") } var evt events.JoinedGroup + pag := parentNode.AttrGetter() ag := node.AttrGetter() evt.Reason = ag.OptionalString("reason") evt.CreateKey = ag.OptionalString("key") evt.Type = ag.OptionalString("type") + evt.Sender = pag.OptionalJID("participant") + evt.SenderPN = pag.OptionalJID("participant_pn") + evt.Notify = pag.OptionalString("notify") info, err := cli.parseGroupNode(&groupNode) if err != nil { return nil, fmt.Errorf("failed to parse group info in create notification: %w", err) @@ -715,6 +743,7 @@ func (cli *Client) parseGroupChange(node *waBinary.Node) (*events.GroupInfo, err evt.JID = ag.JID("from") evt.Notify = ag.OptionalString("notify") evt.Sender = ag.OptionalJID("participant") + evt.SenderPN = ag.OptionalJID("participant_pn") evt.Timestamp = ag.UnixTime("t") if !ag.OK() { return nil, fmt.Errorf("group change doesn't contain required attributes: %w", ag.Error()) @@ -744,9 +773,10 @@ func (cli *Client) parseGroupChange(node *waBinary.Node) (*events.GroupInfo, err evt.Delete = &types.GroupDelete{Deleted: true, DeleteReason: cag.String("reason")} case "subject": evt.Name = &types.GroupName{ - Name: cag.String("subject"), - NameSetAt: cag.UnixTime("s_t"), - NameSetBy: cag.OptionalJIDOrEmpty("s_o"), + Name: cag.String("subject"), + NameSetAt: cag.UnixTime("s_t"), + NameSetBy: cag.OptionalJIDOrEmpty("s_o"), + NameSetByPN: cag.OptionalJIDOrEmpty("s_o_pn"), } case "description": var topicStr string @@ -833,40 +863,40 @@ func (cli *Client) parseGroupChange(node *waBinary.Node) (*events.GroupInfo, err } func (cli *Client) updateGroupParticipantCache(evt *events.GroupInfo) { + // TODO can the addressing mode change here? if len(evt.Join) == 0 && len(evt.Leave) == 0 { return } - cli.groupParticipantsCacheLock.Lock() - defer cli.groupParticipantsCacheLock.Unlock() - cached, ok := cli.groupParticipantsCache[evt.JID] + cli.groupCacheLock.Lock() + defer cli.groupCacheLock.Unlock() + cached, ok := cli.groupCache[evt.JID] if !ok { return } Outer: for _, jid := range evt.Join { - for _, existingJID := range cached { + for _, existingJID := range cached.Members { if jid == existingJID { continue Outer } } - cached = append(cached, jid) + cached.Members = append(cached.Members, jid) } for _, jid := range evt.Leave { - for i, existingJID := range cached { + for i, existingJID := range cached.Members { if existingJID == jid { - cached[i] = cached[len(cached)-1] - cached = cached[:len(cached)-1] + cached.Members[i] = cached.Members[len(cached.Members)-1] + cached.Members = cached.Members[:len(cached.Members)-1] break } } } - cli.groupParticipantsCache[evt.JID] = cached } func (cli *Client) parseGroupNotification(node *waBinary.Node) (any, error) { children := node.GetChildren() if len(children) == 1 && children[0].Tag == "create" { - return cli.parseGroupCreate(&children[0]) + return cli.parseGroupCreate(node, &children[0]) } else { groupChange, err := cli.parseGroupChange(node) if err != nil { diff --git a/internals.go b/internals.go index 2ee0fb63..4a2834fb 100644 --- a/internals.go +++ b/internals.go @@ -33,7 +33,7 @@ type DangerousInternalClient struct { c *Client } -// DangerousInternals allows access to some unexported methods in Client. +// DangerousInternals allows access to all unexported methods in Client. // // Deprecated: dangerous func (cli *Client) DangerousInternals() *DangerousInternalClient { @@ -95,6 +95,10 @@ func (int *DangerousInternalClient) GetOwnID() types.JID { return int.c.getOwnID() } +func (int *DangerousInternalClient) GetOwnLID() types.JID { + return int.c.getOwnLID() +} + func (int *DangerousInternalClient) OnDisconnect(ns *socket.NoiseSocket, remote bool) { int.c.onDisconnect(ns, remote) } @@ -199,16 +203,16 @@ func (int *DangerousInternalClient) GetGroupInfo(ctx context.Context, jid types. return int.c.getGroupInfo(ctx, jid, lockParticipantCache) } -func (int *DangerousInternalClient) GetGroupMembers(ctx context.Context, jid types.JID) ([]types.JID, error) { - return int.c.getGroupMembers(ctx, jid) +func (int *DangerousInternalClient) GetCachedGroupData(ctx context.Context, jid types.JID) (*groupMetaCache, error) { + return int.c.getCachedGroupData(ctx, jid) } func (int *DangerousInternalClient) ParseGroupNode(groupNode *waBinary.Node) (*types.GroupInfo, error) { return int.c.parseGroupNode(groupNode) } -func (int *DangerousInternalClient) ParseGroupCreate(node *waBinary.Node) (*events.JoinedGroup, error) { - return int.c.parseGroupCreate(node) +func (int *DangerousInternalClient) ParseGroupCreate(parentNode, node *waBinary.Node) (*events.JoinedGroup, error) { + return int.c.parseGroupCreate(parentNode, node) } func (int *DangerousInternalClient) ParseGroupChange(node *waBinary.Node) (*events.GroupInfo, error) { @@ -271,6 +275,10 @@ func (int *DangerousInternalClient) HandlePlaintextMessage(info *types.MessageIn int.c.handlePlaintextMessage(info, node) } +func (int *DangerousInternalClient) MigrateSessionStore(pn, lid types.JID) { + int.c.migrateSessionStore(pn, lid) +} + func (int *DangerousInternalClient) DecryptMessages(info *types.MessageInfo, node *waBinary.Node) { int.c.decryptMessages(info, node) } @@ -335,8 +343,8 @@ func (int *DangerousInternalClient) DecryptMsgSecret(msg *events.Message, useCas return int.c.decryptMsgSecret(msg, useCase, encrypted, origMsgKey) } -func (int *DangerousInternalClient) EncryptMsgSecret(chat, origSender types.JID, origMsgID types.MessageID, useCase MsgSecretType, plaintext []byte) (ciphertext, iv []byte, err error) { - return int.c.encryptMsgSecret(chat, origSender, origMsgID, useCase, plaintext) +func (int *DangerousInternalClient) EncryptMsgSecret(ownID, chat, origSender types.JID, origMsgID types.MessageID, useCase MsgSecretType, plaintext []byte) (ciphertext, iv []byte, err error) { + return int.c.encryptMsgSecret(ownID, chat, origSender, origMsgID, useCase, plaintext) } func (int *DangerousInternalClient) DecryptBotMessage(messageSecret []byte, msMsg messageEncryptedSecret, messageID types.MessageID, targetSenderJID types.JID, info *types.MessageInfo) ([]byte, error) { @@ -431,8 +439,8 @@ func (int *DangerousInternalClient) HandlePairSuccess(node *waBinary.Node) { int.c.handlePairSuccess(node) } -func (int *DangerousInternalClient) HandlePair(deviceIdentityBytes []byte, reqID, businessName, platform string, jid types.JID) error { - return int.c.handlePair(deviceIdentityBytes, reqID, businessName, platform, jid) +func (int *DangerousInternalClient) HandlePair(deviceIdentityBytes []byte, reqID, businessName, platform string, jid, lid types.JID) error { + return int.c.handlePair(deviceIdentityBytes, reqID, businessName, platform, jid, lid) } func (int *DangerousInternalClient) SendPairError(id string, code int, text string) { @@ -555,6 +563,10 @@ func (int *DangerousInternalClient) DelayedRequestMessageFromPhone(info *types.M int.c.delayedRequestMessageFromPhone(info) } +func (int *DangerousInternalClient) ClearDelayedMessageRequests() { + int.c.clearDelayedMessageRequests() +} + func (int *DangerousInternalClient) SendRetryReceipt(node *waBinary.Node, info *types.MessageInfo, forceIncludeIdentity bool) { int.c.sendRetryReceipt(node, info, forceIncludeIdentity) } @@ -587,40 +599,40 @@ func (int *DangerousInternalClient) SendNewsletter(to types.JID, id types.Messag return int.c.sendNewsletter(to, id, message, mediaID, timings) } -func (int *DangerousInternalClient) SendGroup(ctx context.Context, to, ownID types.JID, id types.MessageID, message *waE2E.Message, timings *MessageDebugTimings, botNode *waBinary.Node) (string, []byte, error) { - return int.c.sendGroup(ctx, to, ownID, id, message, timings, botNode) +func (int *DangerousInternalClient) SendGroup(ctx context.Context, to types.JID, participants []types.JID, id types.MessageID, message *waE2E.Message, timings *MessageDebugTimings, extraParams nodeExtraParams) (string, []byte, error) { + return int.c.sendGroup(ctx, to, participants, id, message, timings, extraParams) } func (int *DangerousInternalClient) SendPeerMessage(to types.JID, id types.MessageID, message *waE2E.Message, timings *MessageDebugTimings) ([]byte, error) { return int.c.sendPeerMessage(to, id, message, timings) } -func (int *DangerousInternalClient) SendDM(ctx context.Context, to, ownID types.JID, id types.MessageID, message *waE2E.Message, timings *MessageDebugTimings, botNode *waBinary.Node) ([]byte, error) { - return int.c.sendDM(ctx, to, ownID, id, message, timings, botNode) +func (int *DangerousInternalClient) SendDM(ctx context.Context, ownID, to types.JID, id types.MessageID, message *waE2E.Message, timings *MessageDebugTimings, extraParams nodeExtraParams) ([]byte, error) { + return int.c.sendDM(ctx, ownID, to, id, message, timings, extraParams) } func (int *DangerousInternalClient) PreparePeerMessageNode(to types.JID, id types.MessageID, message *waE2E.Message, timings *MessageDebugTimings) (*waBinary.Node, error) { return int.c.preparePeerMessageNode(to, id, message, timings) } -func (int *DangerousInternalClient) GetMessageContent(baseNode waBinary.Node, message *waE2E.Message, msgAttrs waBinary.Attrs, includeIdentity bool, botNode *waBinary.Node) []waBinary.Node { - return int.c.getMessageContent(baseNode, message, msgAttrs, includeIdentity, botNode) +func (int *DangerousInternalClient) GetMessageContent(baseNode waBinary.Node, message *waE2E.Message, msgAttrs waBinary.Attrs, includeIdentity bool, extraParams nodeExtraParams) []waBinary.Node { + return int.c.getMessageContent(baseNode, message, msgAttrs, includeIdentity, extraParams) } -func (int *DangerousInternalClient) PrepareMessageNode(ctx context.Context, to, ownID types.JID, id types.MessageID, message *waE2E.Message, participants []types.JID, plaintext, dsmPlaintext []byte, timings *MessageDebugTimings, botNode *waBinary.Node) (*waBinary.Node, []types.JID, error) { - return int.c.prepareMessageNode(ctx, to, ownID, id, message, participants, plaintext, dsmPlaintext, timings, botNode) +func (int *DangerousInternalClient) PrepareMessageNode(ctx context.Context, to types.JID, id types.MessageID, message *waE2E.Message, participants []types.JID, plaintext, dsmPlaintext []byte, timings *MessageDebugTimings, extraParams nodeExtraParams) (*waBinary.Node, []types.JID, error) { + return int.c.prepareMessageNode(ctx, to, id, message, participants, plaintext, dsmPlaintext, timings, extraParams) } func (int *DangerousInternalClient) MakeDeviceIdentityNode() waBinary.Node { return int.c.makeDeviceIdentityNode() } -func (int *DangerousInternalClient) EncryptMessageForDevices(ctx context.Context, allDevices []types.JID, ownID types.JID, id string, msgPlaintext, dsmPlaintext []byte, encAttrs waBinary.Attrs) ([]waBinary.Node, bool) { - return int.c.encryptMessageForDevices(ctx, allDevices, ownID, id, msgPlaintext, dsmPlaintext, encAttrs) +func (int *DangerousInternalClient) EncryptMessageForDevices(ctx context.Context, allDevices []types.JID, id string, msgPlaintext, dsmPlaintext []byte, encAttrs waBinary.Attrs) ([]waBinary.Node, bool) { + return int.c.encryptMessageForDevices(ctx, allDevices, id, msgPlaintext, dsmPlaintext, encAttrs) } -func (int *DangerousInternalClient) EncryptMessageForDeviceAndWrap(plaintext []byte, to types.JID, bundle *prekey.Bundle, encAttrs waBinary.Attrs) (*waBinary.Node, bool, error) { - return int.c.encryptMessageForDeviceAndWrap(plaintext, to, bundle, encAttrs) +func (int *DangerousInternalClient) EncryptMessageForDeviceAndWrap(plaintext []byte, wireIdentity, encryptionIdentity types.JID, bundle *prekey.Bundle, encAttrs waBinary.Attrs) (*waBinary.Node, bool, error) { + return int.c.encryptMessageForDeviceAndWrap(plaintext, wireIdentity, encryptionIdentity, bundle, encAttrs) } func (int *DangerousInternalClient) EncryptMessageForDevice(plaintext []byte, to types.JID, bundle *prekey.Bundle, extraAttrs waBinary.Attrs) (*waBinary.Node, bool, error) { @@ -647,7 +659,11 @@ func (int *DangerousInternalClient) UpdateBusinessName(user types.JID, messageIn int.c.updateBusinessName(user, messageInfo, name) } -func (int *DangerousInternalClient) GetFBIDDevices(ctx context.Context, jids []types.JID) (*waBinary.Node, error) { +func (int *DangerousInternalClient) GetFBIDDevicesInternal(ctx context.Context, jids []types.JID) (*waBinary.Node, error) { + return int.c.getFBIDDevicesInternal(ctx, jids) +} + +func (int *DangerousInternalClient) GetFBIDDevices(ctx context.Context, jids []types.JID) ([]types.JID, error) { return int.c.getFBIDDevices(ctx, jids) } diff --git a/message.go b/message.go index b79d104f..41298150 100644 --- a/message.go +++ b/message.go @@ -9,6 +9,7 @@ package waSocket import ( "bytes" "compress/zlib" + "context" "encoding/hex" "errors" "fmt" @@ -40,6 +41,11 @@ func (cli *Client) handleEncryptedMessage(node *waBinary.Node) { if err != nil { cli.Log.Warnf("Failed to parse message: %v", err) } else { + if !info.SenderAlt.IsEmpty() { + cli.StoreLIDPNMapping(context.TODO(), info.SenderAlt, info.Sender) + } else if !info.RecipientAlt.IsEmpty() { + cli.StoreLIDPNMapping(context.TODO(), info.RecipientAlt, info.Chat) + } if info.VerifiedName != nil && len(info.VerifiedName.Details.GetVerifiedName()) > 0 { go cli.updateBusinessName(info.Sender, info, info.VerifiedName.Details.GetVerifiedName()) } @@ -57,12 +63,14 @@ func (cli *Client) handleEncryptedMessage(node *waBinary.Node) { func (cli *Client) parseMessageSource(node *waBinary.Node, requireParticipant bool) (source types.MessageSource, err error) { clientID := cli.getOwnID() + clientLID := cli.Store.GetLID() if clientID.IsEmpty() { err = ErrNotLoggedIn return } ag := node.AttrGetter() from := ag.JID("from") + source.AddressingMode = types.AddressingMode(ag.OptionalString("addressing_mode")) if from.Server == types.GroupServer || from.Server == types.BroadcastServer { source.IsGroup = true source.Chat = from @@ -71,7 +79,12 @@ func (cli *Client) parseMessageSource(node *waBinary.Node, requireParticipant bo } else { source.Sender = ag.OptionalJIDOrEmpty("participant") } - if source.Sender.User == clientID.User { + if source.AddressingMode == types.AddressingModeLID { + source.SenderAlt = ag.OptionalJIDOrEmpty("participant_pn") + } else { + source.SenderAlt = ag.OptionalJIDOrEmpty("participant_lid") + } + if source.Sender.User == clientID.User || source.Sender.User == clientLID.User { source.IsFromMe = true } if from.Server == types.BroadcastServer { @@ -81,7 +94,7 @@ func (cli *Client) parseMessageSource(node *waBinary.Node, requireParticipant bo source.Chat = from source.Sender = from // TODO IsFromMe? - } else if from.User == clientID.User { + } else if from.User == clientID.User || from.User == clientLID.User { source.IsFromMe = true source.Sender = from recipient := ag.OptionalJID("recipient") @@ -90,6 +103,11 @@ func (cli *Client) parseMessageSource(node *waBinary.Node, requireParticipant bo } else { source.Chat = from.ToNonAD() } + if source.AddressingMode == types.AddressingModeLID { + source.RecipientAlt = ag.OptionalJIDOrEmpty("peer_recipient_pn") // existence of this field is not confirmed + } else { + source.RecipientAlt = ag.OptionalJIDOrEmpty("peer_recipient_lid") + } } else if from.IsBot() { source.Sender = from meta := node.GetChildByTag("meta") @@ -103,6 +121,11 @@ func (cli *Client) parseMessageSource(node *waBinary.Node, requireParticipant bo } else { source.Chat = from.ToNonAD() source.Sender = from + if source.AddressingMode == types.AddressingModeLID { + source.SenderAlt = ag.OptionalJIDOrEmpty("sender_pn") + } else { + source.SenderAlt = ag.OptionalJIDOrEmpty("sender_lid") + } } err = ag.Error() return @@ -125,11 +148,14 @@ func (cli *Client) parseMsgMetaInfo(node waBinary.Node) (metaInfo types.MsgMetaI metaNode := node.GetChildByTag("meta") ag := metaNode.AttrGetter() - metaInfo.TargetID = types.MessageID(ag.String("target_id")) - targetSenderJID := ag.OptionalJIDOrEmpty("target_sender_jid") - if targetSenderJID.User != "" { - metaInfo.TargetSender = targetSenderJID + metaInfo.TargetID = types.MessageID(ag.OptionalString("target_id")) + metaInfo.TargetSender = ag.OptionalJIDOrEmpty("target_sender_jid") + deprecatedLIDSession, ok := ag.GetBool("deprecated_lid_session", false) + if ok { + metaInfo.DeprecatedLIDSession = &deprecatedLIDSession } + metaInfo.ThreadMessageID = types.MessageID(ag.OptionalString("thread_msg_id")) + metaInfo.ThreadMessageSenderJID = ag.OptionalJIDOrEmpty("thread_msg_sender_jid") err = ag.Error() return } @@ -168,8 +194,10 @@ func (cli *Client) parseMessageInfo(node *waBinary.Node) (*types.MessageInfo, er cli.Log.Warnf("Failed to parse node in %s: %v", info.ID, err) } case "meta": - // TODO parse non-bot metadata too - info.MsgMetaInfo, _ = cli.parseMsgMetaInfo(child) + info.MsgMetaInfo, err = cli.parseMsgMetaInfo(child) + if err != nil { + cli.Log.Warnf("Failed to parse node in %s: %v", info.ID, err) + } case "franking": // TODO case "trace": @@ -216,7 +244,13 @@ func (cli *Client) handlePlaintextMessage(info *types.MessageInfo, node *waBinar } } cli.dispatchEvent(evt.UnwrapRaw()) - return +} + +func (cli *Client) migrateSessionStore(pn, lid types.JID) { + err := cli.Store.Sessions.MigratePNToLID(context.TODO(), pn, lid) + if err != nil { + cli.Log.Errorf("Failed to migrate signal store from %s to %s: %v", pn, lid, err) + } } func (cli *Client) decryptMessages(info *types.MessageInfo, node *waBinary.Node) { @@ -233,6 +267,21 @@ func (cli *Client) decryptMessages(info *types.MessageInfo, node *waBinary.Node) cli.Log.Debugf("Decrypting message from %s", info.SourceString()) handled := false containsDirectMsg := false + senderEncryptionJID := info.Sender + if info.Sender.Server == types.DefaultUserServer && !info.Sender.IsBot() { + if info.SenderAlt.Server == types.HiddenUserServer { + senderEncryptionJID = info.SenderAlt + cli.migrateSessionStore(info.Sender, info.SenderAlt) + } else if lid, err := cli.Store.LIDs.GetLIDForPN(context.TODO(), info.Sender); err != nil { + cli.Log.Errorf("Failed to get LID for %s: %v", info.Sender, err) + } else if !lid.IsEmpty() { + cli.migrateSessionStore(info.Sender, lid) + senderEncryptionJID = lid + info.SenderAlt = lid + } else { + cli.Log.Warnf("No LID found for %s", info.Sender) + } + } for _, child := range children { if child.Tag != "enc" { continue @@ -245,46 +294,38 @@ func (cli *Client) decryptMessages(info *types.MessageInfo, node *waBinary.Node) var decrypted []byte var err error if encType == "pkmsg" || encType == "msg" { - decrypted, err = cli.decryptDM(&child, info.Sender, encType == "pkmsg") + decrypted, err = cli.decryptDM(&child, senderEncryptionJID, encType == "pkmsg") containsDirectMsg = true } else if info.IsGroup && encType == "skmsg" { - decrypted, err = cli.decryptGroupMsg(&child, info.Sender, info.Chat) + decrypted, err = cli.decryptGroupMsg(&child, senderEncryptionJID, info.Chat) } else if encType == "msmsg" && info.Sender.IsBot() { - // Meta AI / other bots (biz?): - - // step 1: get message secret targetSenderJID := info.MsgMetaInfo.TargetSender + messageSecretSenderJID := targetSenderJID if targetSenderJID.User == "" { - // if no targetSenderJID in this must be ourselves (one-one-one mode) - targetSenderJID = cli.getOwnID() + if info.Sender.Server == types.BotServer { + targetSenderJID = cli.Store.GetLID() + } else { + targetSenderJID = cli.getOwnID() + } + messageSecretSenderJID = cli.getOwnID() } - - messageSecret, err := cli.Store.MsgSecrets.GetMessageSecret(info.Chat, targetSenderJID, info.MsgMetaInfo.TargetID) - if err != nil || messageSecret == nil { - cli.Log.Warnf("Error getting message secret for bot msg with id %s", node.AttrGetter().String("id")) - continue + var decryptMessageID string + if info.MsgBotInfo.EditType == types.EditTypeInner || info.MsgBotInfo.EditType == types.EditTypeLast { + decryptMessageID = info.MsgBotInfo.EditTargetID + } else { + decryptMessageID = info.ID } - - // step 2: get MessageSecretMessage - byteContents := child.Content.([]byte) // contents var msMsg waE2E.MessageSecretMessage - - err = proto.Unmarshal(byteContents, &msMsg) - if err != nil { - cli.Log.Warnf("Error decoding MessageSecretMesage protobuf %v", err) - continue - } - - // step 3: determine best message id for decryption - var messageID string - if info.MsgBotInfo.EditType == types.EditTypeInner || info.MsgBotInfo.EditType == types.EditTypeLast { - messageID = info.MsgBotInfo.EditTargetID + var messageSecret []byte + if messageSecret, err = cli.Store.MsgSecrets.GetMessageSecret(info.Chat, messageSecretSenderJID, info.MsgMetaInfo.TargetID); err != nil { + err = fmt.Errorf("failed to get message secret for %s: %v", info.MsgMetaInfo.TargetID, err) + } else if messageSecret == nil { + err = fmt.Errorf("message secret for %s not found", info.MsgMetaInfo.TargetID) + } else if err = proto.Unmarshal(child.Content.([]byte), &msMsg); err != nil { + err = fmt.Errorf("failed to unmarshal MessageSecretMessage protobuf: %v", err) } else { - messageID = info.ID + decrypted, err = cli.decryptBotMessage(messageSecret, &msMsg, decryptMessageID, targetSenderJID, info) } - - // step 4: decrypt and voila - decrypted, err = cli.decryptBotMessage(messageSecret, &msMsg, messageID, targetSenderJID, info) } else { cli.Log.Warnf("Unhandled encrypted message (type %s) from %s", encType, info.SourceString()) continue @@ -294,7 +335,7 @@ func (cli *Client) decryptMessages(info *types.MessageInfo, node *waBinary.Node) cli.Log.Warnf("Error decrypting message from %s: %v", info.SourceString(), err) isUnavailable := encType == "skmsg" && !containsDirectMsg && errors.Is(err, signalerror.ErrNoSenderKeyForUser) // TODO figure out why @bot messages fail to decrypt - if info.Chat.Server != types.BotServer { + if info.Chat.Server != types.BotServer && encType != "msmsg" { go cli.sendRetryReceipt(node, info, isUnavailable) } cli.dispatchEvent(&events.UndecryptableMessage{ @@ -341,7 +382,10 @@ func (cli *Client) clearUntrustedIdentity(target types.JID) { } func (cli *Client) decryptDM(child *waBinary.Node, from types.JID, isPreKey bool) ([]byte, error) { - content, _ := child.Content.([]byte) + content, ok := child.Content.([]byte) + if !ok { + return nil, fmt.Errorf("message content is not a byte slice") + } builder := session.NewBuilderFromSignal(cli.Store, from.SignalAddress(), pbSerializer) cipher := session.NewCipher(builder, from.SignalAddress()) @@ -377,7 +421,10 @@ func (cli *Client) decryptDM(child *waBinary.Node, from types.JID, isPreKey bool } func (cli *Client) decryptGroupMsg(child *waBinary.Node, from types.JID, chat types.JID) ([]byte, error) { - content, _ := child.Content.([]byte) + content, ok := child.Content.([]byte) + if !ok { + return nil, fmt.Errorf("message content is not a byte slice") + } senderKeyName := protocol.NewSenderKeyName(chat.String(), from.SignalAddress()) builder := groups.NewGroupSessionBuilder(cli.Store, pbSerializer) @@ -559,6 +606,7 @@ func (cli *Client) handleProtocolMessage(info *types.MessageInfo, msg *waE2E.Mes } func (cli *Client) processProtocolParts(info *types.MessageInfo, msg *waE2E.Message) { + cli.storeMessageSecret(info, msg) // Hopefully sender key distribution messages and protocol messages can't be inside ephemeral messages if msg.GetDeviceSentMessage().GetMessage() != nil { msg = msg.GetDeviceSentMessage().GetMessage() @@ -567,7 +615,11 @@ func (cli *Client) processProtocolParts(info *types.MessageInfo, msg *waE2E.Mess if !info.IsGroup { cli.Log.Warnf("Got sender key distribution message in non-group chat from %s", info.Sender) } else { - cli.handleSenderKeyDistributionMessage(info.Chat, info.Sender, msg.SenderKeyDistributionMessage.AxolotlSenderKeyDistributionMessage) + encryptionIdentity := info.Sender + if encryptionIdentity.Server == types.DefaultUserServer && info.SenderAlt.Server == types.HiddenUserServer { + encryptionIdentity = info.SenderAlt + } + cli.handleSenderKeyDistributionMessage(info.Chat, encryptionIdentity, msg.SenderKeyDistributionMessage.AxolotlSenderKeyDistributionMessage) } } // N.B. Edits are protocol messages, but they're also wrapped inside EditedMessage, @@ -575,7 +627,6 @@ func (cli *Client) processProtocolParts(info *types.MessageInfo, msg *waE2E.Mess if msg.GetProtocolMessage() != nil { cli.handleProtocolMessage(info, msg) } - cli.storeMessageSecret(info, msg) } func (cli *Client) storeMessageSecret(info *types.MessageInfo, msg *waE2E.Message) { diff --git a/msgsecret.go b/msgsecret.go index 6809cfb8..52ed3b2b 100644 --- a/msgsecret.go +++ b/msgsecret.go @@ -7,6 +7,7 @@ package waSocket import ( + "context" "crypto/sha256" "fmt" "time" @@ -26,9 +27,13 @@ import ( type MsgSecretType string const ( - EncSecretPollVote MsgSecretType = "Poll Vote" - EncSecretReaction MsgSecretType = "Enc Reaction" - EncSecretBotMsg MsgSecretType = "Bot Message" + EncSecretPollVote MsgSecretType = "Poll Vote" + EncSecretReaction MsgSecretType = "Enc Reaction" + EncSecretComment MsgSecretType = "Enc Comment" + EncSecretReportToken MsgSecretType = "Report Token" + EncSecretEventResponse MsgSecretType = "Event Response" + EncSecretEventEdit MsgSecretType = "Event Edit" + EncSecretBotMsg MsgSecretType = "Bot Message" ) func applyBotMessageHKDF(messageSecret []byte) []byte { @@ -49,7 +54,11 @@ func generateMsgSecretKey( useCaseSecret = append(useCaseSecret, modificationType...) secretKey := hkdfutil.SHA256(origMsgSecret, nil, useCaseSecret, 32) - additionalData := []byte(fmt.Sprintf("%s\x00%s", origMsgID, modificationSenderStr)) + var additionalData []byte + switch modificationType { + case EncSecretPollVote, EncSecretEventResponse: + additionalData = fmt.Appendf(nil, "%s\x00%s", origMsgID, modificationSenderStr) + } return secretKey, additionalData } @@ -57,8 +66,9 @@ func generateMsgSecretKey( func getOrigSenderFromKey(msg *events.Message, key *waCommon.MessageKey) (types.JID, error) { if key.GetFromMe() { // fromMe always means the poll and vote were sent by the same user + // TODO this is wrong if the message key used @s.whatsapp.net, but the new event is from @lid return msg.Info.Sender, nil - } else if msg.Info.Chat.Server == types.DefaultUserServer { + } else if msg.Info.Chat.Server == types.DefaultUserServer || msg.Info.Chat.Server == types.HiddenUserServer { sender, err := types.ParseJID(key.GetRemoteJID()) if err != nil { return types.EmptyJID, fmt.Errorf("failed to parse JID %q of original message sender: %w", key.GetRemoteJID(), err) @@ -66,7 +76,7 @@ func getOrigSenderFromKey(msg *events.Message, key *waCommon.MessageKey) (types. return sender, nil } else { sender, err := types.ParseJID(key.GetParticipant()) - if sender.Server != types.DefaultUserServer { + if sender.Server != types.DefaultUserServer && sender.Server != types.HiddenUserServer { err = fmt.Errorf("unexpected server") } if err != nil { @@ -85,17 +95,30 @@ func (cli *Client) decryptMsgSecret(msg *events.Message, useCase MsgSecretType, if cli == nil { return nil, ErrClientIsNil } - pollSender, err := getOrigSenderFromKey(msg, origMsgKey) + origSender, err := getOrigSenderFromKey(msg, origMsgKey) if err != nil { return nil, err } - baseEncKey, err := cli.Store.MsgSecrets.GetMessageSecret(msg.Info.Chat, pollSender, origMsgKey.GetID()) + baseEncKey, err := cli.Store.MsgSecrets.GetMessageSecret(msg.Info.Chat, origSender, origMsgKey.GetID()) if err != nil { return nil, fmt.Errorf("failed to get original message secret key: %w", err) - } else if baseEncKey == nil { + } + if baseEncKey == nil && origMsgKey.GetFromMe() && origSender.Server == types.HiddenUserServer { + origSender, err = cli.Store.LIDs.GetPNForLID(context.TODO(), origSender) + if err != nil { + return nil, fmt.Errorf("%w (also failed to get PN for LID: %w)", ErrOriginalMessageSecretNotFound, err) + } else if origSender.IsEmpty() { + return nil, fmt.Errorf("%w (PN for LID not found)", ErrOriginalMessageSecretNotFound) + } + baseEncKey, err = cli.Store.MsgSecrets.GetMessageSecret(msg.Info.Chat, origSender, origMsgKey.GetID()) + if err != nil { + return nil, fmt.Errorf("failed to get original message secret key with PN: %w", err) + } + } + if baseEncKey == nil { return nil, ErrOriginalMessageSecretNotFound } - secretKey, additionalData := generateMsgSecretKey(useCase, msg.Info.Sender, origMsgKey.GetID(), pollSender, baseEncKey) + secretKey, additionalData := generateMsgSecretKey(useCase, msg.Info.Sender, origMsgKey.GetID(), origSender, baseEncKey) plaintext, err := gcmutil.Decrypt(secretKey, encrypted.GetEncIV(), encrypted.GetEncPayload(), additionalData) if err != nil { return nil, fmt.Errorf("failed to decrypt secret message: %w", err) @@ -103,12 +126,10 @@ func (cli *Client) decryptMsgSecret(msg *events.Message, useCase MsgSecretType, return plaintext, nil } -func (cli *Client) encryptMsgSecret(chat, origSender types.JID, origMsgID types.MessageID, useCase MsgSecretType, plaintext []byte) (ciphertext, iv []byte, err error) { +func (cli *Client) encryptMsgSecret(ownID, chat, origSender types.JID, origMsgID types.MessageID, useCase MsgSecretType, plaintext []byte) (ciphertext, iv []byte, err error) { if cli == nil { return nil, nil, ErrClientIsNil - } - ownID := cli.getOwnID() - if ownID.IsEmpty() { + } else if ownID.IsEmpty() { return nil, nil, ErrNotLoggedIn } @@ -129,7 +150,6 @@ func (cli *Client) encryptMsgSecret(chat, origSender types.JID, origMsgID types. } func (cli *Client) decryptBotMessage(messageSecret []byte, msMsg messageEncryptedSecret, messageID types.MessageID, targetSenderJID types.JID, info *types.MessageInfo) ([]byte, error) { - // gcm decrypt key generation newKey, additionalData := generateMsgSecretKey("", info.Sender, messageID, targetSenderJID, applyBotMessageHKDF(messageSecret)) plaintext, err := gcmutil.Decrypt(newKey, msMsg.GetEncIV(), msMsg.GetEncPayload(), additionalData) @@ -140,8 +160,7 @@ func (cli *Client) decryptBotMessage(messageSecret []byte, msMsg messageEncrypte return plaintext, nil } -// DecryptReaction decrypts a reaction update message. This form of reactions hasn't been rolled out yet, -// so this function is likely not of much use. +// DecryptReaction decrypts a reaction message in a community announcement group. // // if evt.Message.GetEncReactionMessage() != nil { // reaction, err := cli.DecryptReaction(evt) @@ -168,6 +187,33 @@ func (cli *Client) DecryptReaction(reaction *events.Message) (*waE2E.ReactionMes return &msg, nil } +// DecryptComment decrypts a reply/comment message in a community announcement group. +// +// if evt.Message.GetEncCommentMessage() != nil { +// comment, err := cli.DecryptComment(evt) +// if err != nil { +// fmt.Println(":(", err) +// return +// } +// fmt.Printf("Comment message: %+v\n", comment) +// } +func (cli *Client) DecryptComment(comment *events.Message) (*waE2E.Message, error) { + encComment := comment.Message.GetEncCommentMessage() + if encComment == nil { + return nil, ErrNotEncryptedCommentMessage + } + plaintext, err := cli.decryptMsgSecret(comment, EncSecretComment, encComment, encComment.GetTargetMessageKey()) + if err != nil { + return nil, fmt.Errorf("failed to decrypt comment: %w", err) + } + var msg waE2E.Message + err = proto.Unmarshal(plaintext, &msg) + if err != nil { + return nil, fmt.Errorf("failed to decode comment protobuf: %w", err) + } + return &msg, nil +} + // DecryptPollVote decrypts a poll update message. The vote itself includes SHA-256 hashes of the selected options. // // if evt.Message.GetPollUpdateMessage() != nil { @@ -272,7 +318,7 @@ func (cli *Client) EncryptPollVote(pollInfo *types.MessageInfo, vote *waE2E.Poll if err != nil { return nil, fmt.Errorf("failed to marshal poll vote protobuf: %w", err) } - ciphertext, iv, err := cli.encryptMsgSecret(pollInfo.Chat, pollInfo.Sender, pollInfo.ID, EncSecretPollVote, plaintext) + ciphertext, iv, err := cli.encryptMsgSecret(cli.getOwnID(), pollInfo.Chat, pollInfo.Sender, pollInfo.ID, EncSecretPollVote, plaintext) if err != nil { return nil, fmt.Errorf("failed to encrypt poll vote: %w", err) } @@ -285,3 +331,45 @@ func (cli *Client) EncryptPollVote(pollInfo *types.MessageInfo, vote *waE2E.Poll SenderTimestampMS: proto.Int64(time.Now().UnixMilli()), }, nil } + +func (cli *Client) EncryptComment(rootMsgInfo *types.MessageInfo, comment *waE2E.Message) (*waE2E.Message, error) { + plaintext, err := proto.Marshal(comment) + if err != nil { + return nil, fmt.Errorf("failed to marshal comment protobuf: %w", err) + } + // TODO is hardcoding LID here correct? What about polls? + ciphertext, iv, err := cli.encryptMsgSecret(cli.getOwnLID(), rootMsgInfo.Chat, rootMsgInfo.Sender, rootMsgInfo.ID, EncSecretComment, plaintext) + if err != nil { + return nil, fmt.Errorf("failed to encrypt comment: %w", err) + } + return &waE2E.Message{ + EncCommentMessage: &waE2E.EncCommentMessage{ + TargetMessageKey: &waCommon.MessageKey{ + RemoteJID: proto.String(rootMsgInfo.Chat.String()), + Participant: proto.String(rootMsgInfo.Sender.ToNonAD().String()), + FromMe: proto.Bool(rootMsgInfo.IsFromMe), + ID: proto.String(rootMsgInfo.ID), + }, + EncPayload: ciphertext, + EncIV: iv, + }, + }, nil +} + +func (cli *Client) EncryptReaction(rootMsgInfo *types.MessageInfo, reaction *waE2E.ReactionMessage) (*waE2E.EncReactionMessage, error) { + reactionKey := reaction.Key + reaction.Key = nil + plaintext, err := proto.Marshal(reaction) + if err != nil { + return nil, fmt.Errorf("failed to marshal reaction protobuf: %w", err) + } + ciphertext, iv, err := cli.encryptMsgSecret(cli.getOwnLID(), rootMsgInfo.Chat, rootMsgInfo.Sender, rootMsgInfo.ID, EncSecretReaction, plaintext) + if err != nil { + return nil, fmt.Errorf("failed to encrypt reaction: %w", err) + } + return &waE2E.EncReactionMessage{ + TargetMessageKey: reactionKey, + EncPayload: ciphertext, + EncIV: iv, + }, nil +} diff --git a/notification.go b/notification.go index d0bbcb96..ed5e1da1 100644 --- a/notification.go +++ b/notification.go @@ -7,8 +7,10 @@ package waSocket import ( + "context" "encoding/json" "errors" + "slices" "google.golang.org/protobuf/proto" @@ -99,11 +101,21 @@ func (cli *Client) handleDeviceNotification(node *waBinary.Node) { defer cli.userDevicesCacheLock.Unlock() ag := node.AttrGetter() from := ag.JID("from") + fromLID := ag.OptionalJID("lid") + if fromLID != nil { + cli.StoreLIDPNMapping(context.TODO(), *fromLID, from) + } cached, ok := cli.userDevicesCache[from] if !ok { cli.Log.Debugf("No device list cached for %s, ignoring device list notification", from) return } + var cachedLID deviceCache + var cachedLIDHash string + if fromLID != nil { + cachedLID = cli.userDevicesCache[*fromLID] + cachedLIDHash = participantListHashV2(cachedLID.devices) + } cachedParticipantHash := participantListHashV2(cached.devices) for _, child := range node.GetChildren() { if child.Tag != "add" && child.Tag != "remove" { @@ -112,16 +124,24 @@ func (cli *Client) handleDeviceNotification(node *waBinary.Node) { } cag := child.AttrGetter() deviceHash := cag.String("device_hash") + deviceLIDHash := cag.OptionalString("device_lid_hash") deviceChild, _ := child.GetOptionalChildByTag("device") changedDeviceJID := deviceChild.AttrGetter().JID("jid") + changedDeviceLID := deviceChild.AttrGetter().OptionalJID("lid") switch child.Tag { case "add": cached.devices = append(cached.devices, changedDeviceJID) + if changedDeviceLID != nil { + cachedLID.devices = append(cachedLID.devices, *changedDeviceLID) + } case "remove": - for i, jid := range cached.devices { - if jid == changedDeviceJID { - cached.devices = append(cached.devices[:i], cached.devices[i+1:]...) - } + cached.devices = slices.DeleteFunc(cached.devices, func(existing types.JID) bool { + return existing == changedDeviceJID + }) + if changedDeviceLID != nil { + cachedLID.devices = slices.DeleteFunc(cachedLID.devices, func(existing types.JID) bool { + return existing == *changedDeviceLID + }) } case "update": // ??? @@ -134,6 +154,16 @@ func (cli *Client) handleDeviceNotification(node *waBinary.Node) { cli.Log.Warnf("%s's device list hash changed from %s to %s (%s). New hash doesn't match (%s)", from, cachedParticipantHash, deviceHash, child.Tag, newParticipantHash) delete(cli.userDevicesCache, from) } + if fromLID != nil && changedDeviceLID != nil && deviceLIDHash != "" { + newLIDParticipantHash := participantListHashV2(cachedLID.devices) + if newLIDParticipantHash == deviceLIDHash { + cli.Log.Debugf("%s's device list hash changed from %s to %s (%s). New hash matches", fromLID, cachedLIDHash, deviceLIDHash, child.Tag) + cli.userDevicesCache[*fromLID] = cachedLID + } else { + cli.Log.Warnf("%s's device list hash changed from %s to %s (%s). New hash doesn't match (%s)", fromLID, cachedLIDHash, deviceLIDHash, child.Tag, newLIDParticipantHash) + delete(cli.userDevicesCache, *fromLID) + } + } } } diff --git a/pair.go b/pair.go index 6674e6f8..674709b9 100644 --- a/pair.go +++ b/pair.go @@ -8,6 +8,7 @@ package waSocket import ( "bytes" + "context" "crypto/hmac" "crypto/sha256" "encoding/base64" @@ -82,22 +83,23 @@ func (cli *Client) handlePairSuccess(node *waBinary.Node) { deviceIdentityBytes, _ := pairSuccess.GetChildByTag("device-identity").Content.([]byte) businessName, _ := pairSuccess.GetChildByTag("biz").Attrs["name"].(string) jid, _ := pairSuccess.GetChildByTag("device").Attrs["jid"].(types.JID) + lid, _ := pairSuccess.GetChildByTag("device").Attrs["lid"].(types.JID) platform, _ := pairSuccess.GetChildByTag("platform").Attrs["name"].(string) go func() { - err := cli.handlePair(deviceIdentityBytes, id, businessName, platform, jid) + err := cli.handlePair(deviceIdentityBytes, id, businessName, platform, jid, lid) if err != nil { cli.Log.Errorf("Failed to pair device: %v", err) cli.Disconnect() - cli.dispatchEvent(&events.PairError{ID: jid, BusinessName: businessName, Platform: platform, Error: err}) + cli.dispatchEvent(&events.PairError{ID: jid, LID: lid, BusinessName: businessName, Platform: platform, Error: err}) } else { cli.Log.Infof("Successfully paired %s", cli.Store.ID) - cli.dispatchEvent(&events.PairSuccess{ID: jid, BusinessName: businessName, Platform: platform}) + cli.dispatchEvent(&events.PairSuccess{ID: jid, LID: lid, BusinessName: businessName, Platform: platform}) } }() } -func (cli *Client) handlePair(deviceIdentityBytes []byte, reqID, businessName, platform string, jid types.JID) error { +func (cli *Client) handlePair(deviceIdentityBytes []byte, reqID, businessName, platform string, jid, lid types.JID) error { var deviceIdentityContainer waAdv.ADVSignedDeviceIdentityHMAC err := proto.Unmarshal(deviceIdentityBytes, &deviceIdentityContainer) if err != nil { @@ -141,8 +143,8 @@ func (cli *Client) handlePair(deviceIdentityBytes []byte, reqID, businessName, p cli.Store.Account = proto.Clone(&deviceIdentity).(*waAdv.ADVSignedDeviceIdentity) - mainDeviceJID := jid - mainDeviceJID.Device = 0 + mainDeviceLID := lid + mainDeviceLID.Device = 0 mainDeviceIdentity := *(*[32]byte)(deviceIdentity.AccountSignatureKey) deviceIdentity.AccountSignatureKey = nil @@ -153,6 +155,7 @@ func (cli *Client) handlePair(deviceIdentityBytes []byte, reqID, businessName, p } cli.Store.ID = &jid + cli.Store.LID = lid cli.Store.BusinessName = businessName cli.Store.Platform = platform err = cli.Store.Save() @@ -160,7 +163,8 @@ func (cli *Client) handlePair(deviceIdentityBytes []byte, reqID, businessName, p cli.sendPairError(reqID, 500, "internal-error") return &PairDatabaseError{"failed to save device store", err} } - err = cli.Store.Identities.PutIdentity(mainDeviceJID.SignalAddress().String(), mainDeviceIdentity) + cli.StoreLIDPNMapping(context.TODO(), lid, jid) + err = cli.Store.Identities.PutIdentity(mainDeviceLID.SignalAddress().String(), mainDeviceIdentity) if err != nil { _ = cli.Store.Delete() cli.sendPairError(reqID, 500, "internal-error") diff --git a/proto/waArmadilloApplication/WAArmadilloApplication.pb.go b/proto/waArmadilloApplication/WAArmadilloApplication.pb.go index 7f086030..b8e04f37 100644 --- a/proto/waArmadilloApplication/WAArmadilloApplication.pb.go +++ b/proto/waArmadilloApplication/WAArmadilloApplication.pb.go @@ -248,7 +248,7 @@ func (x *Armadillo_Content_ScreenshotAction_ScreenshotType) UnmarshalJSON(b []by // Deprecated: Use Armadillo_Content_ScreenshotAction_ScreenshotType.Descriptor instead. func (Armadillo_Content_ScreenshotAction_ScreenshotType) EnumDescriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 6, 0} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 5, 0} } type Armadillo_Content_RavenActionNotifMessage_ActionType int32 @@ -307,7 +307,7 @@ func (x *Armadillo_Content_RavenActionNotifMessage_ActionType) UnmarshalJSON(b [ // Deprecated: Use Armadillo_Content_RavenActionNotifMessage_ActionType.Descriptor instead. func (Armadillo_Content_RavenActionNotifMessage_ActionType) EnumDescriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 8, 0} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 7, 0} } type Armadillo_Content_RavenMessage_EphemeralType int32 @@ -366,7 +366,7 @@ func (x *Armadillo_Content_RavenMessage_EphemeralType) UnmarshalJSON(b []byte) e // Deprecated: Use Armadillo_Content_RavenMessage_EphemeralType.Descriptor instead. func (Armadillo_Content_RavenMessage_EphemeralType) EnumDescriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 9, 0} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 8, 0} } type Armadillo_Content_CommonSticker_StickerType int32 @@ -425,7 +425,7 @@ func (x *Armadillo_Content_CommonSticker_StickerType) UnmarshalJSON(b []byte) er // Deprecated: Use Armadillo_Content_CommonSticker_StickerType.Descriptor instead. func (Armadillo_Content_CommonSticker_StickerType) EnumDescriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 10, 0} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 9, 0} } type Armadillo struct { @@ -746,6 +746,7 @@ type Armadillo_ApplicationData struct { // // *Armadillo_ApplicationData_MetadataSync // *Armadillo_ApplicationData_AiBotResponse + // *Armadillo_ApplicationData_MessageHistoryDocumentMessage_ ApplicationData isArmadillo_ApplicationData_ApplicationData `protobuf_oneof:"applicationData"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -806,6 +807,15 @@ func (x *Armadillo_ApplicationData) GetAiBotResponse() *Armadillo_ApplicationDat return nil } +func (x *Armadillo_ApplicationData) GetMessageHistoryDocumentMessage() *Armadillo_ApplicationData_MessageHistoryDocumentMessage { + if x != nil { + if x, ok := x.ApplicationData.(*Armadillo_ApplicationData_MessageHistoryDocumentMessage_); ok { + return x.MessageHistoryDocumentMessage + } + } + return nil +} + type isArmadillo_ApplicationData_ApplicationData interface { isArmadillo_ApplicationData_ApplicationData() } @@ -818,10 +828,17 @@ type Armadillo_ApplicationData_AiBotResponse struct { AiBotResponse *Armadillo_ApplicationData_AIBotResponseMessage `protobuf:"bytes,2,opt,name=aiBotResponse,oneof"` } +type Armadillo_ApplicationData_MessageHistoryDocumentMessage_ struct { + MessageHistoryDocumentMessage *Armadillo_ApplicationData_MessageHistoryDocumentMessage `protobuf:"bytes,3,opt,name=messageHistoryDocumentMessage,oneof"` +} + func (*Armadillo_ApplicationData_MetadataSync) isArmadillo_ApplicationData_ApplicationData() {} func (*Armadillo_ApplicationData_AiBotResponse) isArmadillo_ApplicationData_ApplicationData() {} +func (*Armadillo_ApplicationData_MessageHistoryDocumentMessage_) isArmadillo_ApplicationData_ApplicationData() { +} + type Armadillo_Content struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to Content: @@ -838,7 +855,6 @@ type Armadillo_Content struct { // *Armadillo_Content_NoteReplyMessage_ // *Armadillo_Content_RavenMessageMsgr // *Armadillo_Content_NetworkVerificationMessage_ - // *Armadillo_Content_MessageHistoryDocumentMessage_ Content isArmadillo_Content_Content `protobuf_oneof:"content"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -989,15 +1005,6 @@ func (x *Armadillo_Content) GetNetworkVerificationMessage() *Armadillo_Content_N return nil } -func (x *Armadillo_Content) GetMessageHistoryDocumentMessage() *Armadillo_Content_MessageHistoryDocumentMessage { - if x != nil { - if x, ok := x.Content.(*Armadillo_Content_MessageHistoryDocumentMessage_); ok { - return x.MessageHistoryDocumentMessage - } - } - return nil -} - type isArmadillo_Content_Content interface { isArmadillo_Content_Content() } @@ -1050,10 +1057,6 @@ type Armadillo_Content_NetworkVerificationMessage_ struct { NetworkVerificationMessage *Armadillo_Content_NetworkVerificationMessage `protobuf:"bytes,15,opt,name=networkVerificationMessage,oneof"` } -type Armadillo_Content_MessageHistoryDocumentMessage_ struct { - MessageHistoryDocumentMessage *Armadillo_Content_MessageHistoryDocumentMessage `protobuf:"bytes,16,opt,name=messageHistoryDocumentMessage,oneof"` -} - func (*Armadillo_Content_CommonSticker_) isArmadillo_Content_Content() {} func (*Armadillo_Content_ScreenshotAction_) isArmadillo_Content_Content() {} @@ -1078,8 +1081,6 @@ func (*Armadillo_Content_RavenMessageMsgr) isArmadillo_Content_Content() {} func (*Armadillo_Content_NetworkVerificationMessage_) isArmadillo_Content_Content() {} -func (*Armadillo_Content_MessageHistoryDocumentMessage_) isArmadillo_Content_Content() {} - type Armadillo_Signal_EncryptedBackupsSecrets struct { state protoimpl.MessageState `protogen:"open.v1"` BackupID *uint64 `protobuf:"varint,1,opt,name=backupID" json:"backupID,omitempty"` @@ -1232,6 +1233,50 @@ func (x *Armadillo_Signal_EncryptedBackupsSecrets_Epoch) GetStatus() Armadillo_S return Armadillo_Signal_EncryptedBackupsSecrets_Epoch_ES_OPEN } +type Armadillo_ApplicationData_MessageHistoryDocumentMessage struct { + state protoimpl.MessageState `protogen:"open.v1"` + Document *waCommon.SubProtocol `protobuf:"bytes,1,opt,name=document" json:"document,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Armadillo_ApplicationData_MessageHistoryDocumentMessage) Reset() { + *x = Armadillo_ApplicationData_MessageHistoryDocumentMessage{} + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Armadillo_ApplicationData_MessageHistoryDocumentMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Armadillo_ApplicationData_MessageHistoryDocumentMessage) ProtoMessage() {} + +func (x *Armadillo_ApplicationData_MessageHistoryDocumentMessage) ProtoReflect() protoreflect.Message { + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Armadillo_ApplicationData_MessageHistoryDocumentMessage.ProtoReflect.Descriptor instead. +func (*Armadillo_ApplicationData_MessageHistoryDocumentMessage) Descriptor() ([]byte, []int) { + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 0} +} + +func (x *Armadillo_ApplicationData_MessageHistoryDocumentMessage) GetDocument() *waCommon.SubProtocol { + if x != nil { + return x.Document + } + return nil +} + type Armadillo_ApplicationData_AIBotResponseMessage struct { state protoimpl.MessageState `protogen:"open.v1"` SummonToken *string `protobuf:"bytes,1,opt,name=summonToken" json:"summonToken,omitempty"` @@ -1243,7 +1288,7 @@ type Armadillo_ApplicationData_AIBotResponseMessage struct { func (x *Armadillo_ApplicationData_AIBotResponseMessage) Reset() { *x = Armadillo_ApplicationData_AIBotResponseMessage{} - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[9] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1255,7 +1300,7 @@ func (x *Armadillo_ApplicationData_AIBotResponseMessage) String() string { func (*Armadillo_ApplicationData_AIBotResponseMessage) ProtoMessage() {} func (x *Armadillo_ApplicationData_AIBotResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[9] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1268,7 +1313,7 @@ func (x *Armadillo_ApplicationData_AIBotResponseMessage) ProtoReflect() protoref // Deprecated: Use Armadillo_ApplicationData_AIBotResponseMessage.ProtoReflect.Descriptor instead. func (*Armadillo_ApplicationData_AIBotResponseMessage) Descriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 0} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 1} } func (x *Armadillo_ApplicationData_AIBotResponseMessage) GetSummonToken() string { @@ -1306,7 +1351,7 @@ type Armadillo_ApplicationData_MetadataSyncAction struct { func (x *Armadillo_ApplicationData_MetadataSyncAction) Reset() { *x = Armadillo_ApplicationData_MetadataSyncAction{} - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[10] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1318,7 +1363,7 @@ func (x *Armadillo_ApplicationData_MetadataSyncAction) String() string { func (*Armadillo_ApplicationData_MetadataSyncAction) ProtoMessage() {} func (x *Armadillo_ApplicationData_MetadataSyncAction) ProtoReflect() protoreflect.Message { - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[10] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1331,7 +1376,7 @@ func (x *Armadillo_ApplicationData_MetadataSyncAction) ProtoReflect() protorefle // Deprecated: Use Armadillo_ApplicationData_MetadataSyncAction.ProtoReflect.Descriptor instead. func (*Armadillo_ApplicationData_MetadataSyncAction) Descriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 1} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 2} } func (x *Armadillo_ApplicationData_MetadataSyncAction) GetActionType() isArmadillo_ApplicationData_MetadataSyncAction_ActionType { @@ -1393,7 +1438,7 @@ type Armadillo_ApplicationData_MetadataSyncNotification struct { func (x *Armadillo_ApplicationData_MetadataSyncNotification) Reset() { *x = Armadillo_ApplicationData_MetadataSyncNotification{} - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[11] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1405,7 +1450,7 @@ func (x *Armadillo_ApplicationData_MetadataSyncNotification) String() string { func (*Armadillo_ApplicationData_MetadataSyncNotification) ProtoMessage() {} func (x *Armadillo_ApplicationData_MetadataSyncNotification) ProtoReflect() protoreflect.Message { - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[11] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1418,7 +1463,7 @@ func (x *Armadillo_ApplicationData_MetadataSyncNotification) ProtoReflect() prot // Deprecated: Use Armadillo_ApplicationData_MetadataSyncNotification.ProtoReflect.Descriptor instead. func (*Armadillo_ApplicationData_MetadataSyncNotification) Descriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 2} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 3} } func (x *Armadillo_ApplicationData_MetadataSyncNotification) GetActions() []*Armadillo_ApplicationData_MetadataSyncAction { @@ -1441,7 +1486,7 @@ type Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction struct { func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction) Reset() { *x = Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction{} - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[12] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1453,7 +1498,7 @@ func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction) String( func (*Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction) ProtoMessage() {} func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction) ProtoReflect() protoreflect.Message { - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[12] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1466,7 +1511,7 @@ func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction) ProtoRe // Deprecated: Use Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction.ProtoReflect.Descriptor instead. func (*Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction) Descriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 1, 0} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 2, 0} } func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction) GetAction() isArmadillo_ApplicationData_MetadataSyncAction_SyncMessageAction_Action { @@ -1518,7 +1563,7 @@ type Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction struct { func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction) Reset() { *x = Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction{} - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[13] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1530,7 +1575,7 @@ func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction) String() s func (*Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction) ProtoMessage() {} func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction) ProtoReflect() protoreflect.Message { - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[13] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1543,7 +1588,7 @@ func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction) ProtoRefle // Deprecated: Use Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction.ProtoReflect.Descriptor instead. func (*Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction) Descriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 1, 1} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 2, 1} } func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction) GetAction() isArmadillo_ApplicationData_MetadataSyncAction_SyncChatAction_Action { @@ -1622,7 +1667,7 @@ type Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessage struct { func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessage) Reset() { *x = Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessage{} - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[14] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1634,7 +1679,7 @@ func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessage) String( func (*Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessage) ProtoMessage() {} func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessage) ProtoReflect() protoreflect.Message { - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[14] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1647,7 +1692,7 @@ func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessage) ProtoRe // Deprecated: Use Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessage.ProtoReflect.Descriptor instead. func (*Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessage) Descriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 1, 2} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 2, 2} } func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessage) GetKey() *waCommon.MessageKey { @@ -1675,7 +1720,7 @@ type Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessageRange struct func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessageRange) Reset() { *x = Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessageRange{} - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[15] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1687,7 +1732,7 @@ func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessageRange) St func (*Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessageRange) ProtoMessage() {} func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessageRange) ProtoReflect() protoreflect.Message { - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[15] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1700,7 +1745,7 @@ func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessageRange) Pr // Deprecated: Use Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessageRange.ProtoReflect.Descriptor instead. func (*Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessageRange) Descriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 1, 3} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 2, 3} } func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessageRange) GetLastMessageTimestamp() int64 { @@ -1732,7 +1777,7 @@ type Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction_ActionMessag func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction_ActionMessageDelete) Reset() { *x = Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction_ActionMessageDelete{} - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[16] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1745,7 +1790,7 @@ func (*Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction_ActionMess } func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction_ActionMessageDelete) ProtoReflect() protoreflect.Message { - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[16] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1758,7 +1803,7 @@ func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction_ActionMe // Deprecated: Use Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction_ActionMessageDelete.ProtoReflect.Descriptor instead. func (*Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction_ActionMessageDelete) Descriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 1, 0, 0} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 2, 0, 0} } type Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatRead struct { @@ -1771,7 +1816,7 @@ type Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatRead func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatRead) Reset() { *x = Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatRead{} - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[17] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1783,7 +1828,7 @@ func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatR func (*Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatRead) ProtoMessage() {} func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatRead) ProtoReflect() protoreflect.Message { - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[17] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1796,7 +1841,7 @@ func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatR // Deprecated: Use Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatRead.ProtoReflect.Descriptor instead. func (*Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatRead) Descriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 1, 1, 0} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 2, 1, 0} } func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatRead) GetMessageRange() *Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessageRange { @@ -1822,7 +1867,7 @@ type Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatDelet func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatDelete) Reset() { *x = Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatDelete{} - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[18] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1834,7 +1879,7 @@ func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatD func (*Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatDelete) ProtoMessage() {} func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatDelete) ProtoReflect() protoreflect.Message { - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[18] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1847,7 +1892,7 @@ func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatD // Deprecated: Use Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatDelete.ProtoReflect.Descriptor instead. func (*Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatDelete) Descriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 1, 1, 1} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 2, 1, 1} } func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatDelete) GetMessageRange() *Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessageRange { @@ -1867,7 +1912,7 @@ type Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatArchi func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatArchive) Reset() { *x = Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatArchive{} - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[19] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1880,7 +1925,7 @@ func (*Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatArc } func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatArchive) ProtoReflect() protoreflect.Message { - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[19] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1893,7 +1938,7 @@ func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatA // Deprecated: Use Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatArchive.ProtoReflect.Descriptor instead. func (*Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatArchive) Descriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 1, 1, 2} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 4, 2, 1, 2} } func (x *Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatArchive) GetMessageRange() *Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessageRange { @@ -1923,7 +1968,7 @@ type Armadillo_Content_PaymentsTransactionMessage struct { func (x *Armadillo_Content_PaymentsTransactionMessage) Reset() { *x = Armadillo_Content_PaymentsTransactionMessage{} - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[20] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1935,7 +1980,7 @@ func (x *Armadillo_Content_PaymentsTransactionMessage) String() string { func (*Armadillo_Content_PaymentsTransactionMessage) ProtoMessage() {} func (x *Armadillo_Content_PaymentsTransactionMessage) ProtoReflect() protoreflect.Message { - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[20] + mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1986,50 +2031,6 @@ func (x *Armadillo_Content_PaymentsTransactionMessage) GetExtendedContentMessage return nil } -type Armadillo_Content_MessageHistoryDocumentMessage struct { - state protoimpl.MessageState `protogen:"open.v1"` - Document *waCommon.SubProtocol `protobuf:"bytes,1,opt,name=document" json:"document,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *Armadillo_Content_MessageHistoryDocumentMessage) Reset() { - *x = Armadillo_Content_MessageHistoryDocumentMessage{} - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *Armadillo_Content_MessageHistoryDocumentMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Armadillo_Content_MessageHistoryDocumentMessage) ProtoMessage() {} - -func (x *Armadillo_Content_MessageHistoryDocumentMessage) ProtoReflect() protoreflect.Message { - mi := &file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[21] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Armadillo_Content_MessageHistoryDocumentMessage.ProtoReflect.Descriptor instead. -func (*Armadillo_Content_MessageHistoryDocumentMessage) Descriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 1} -} - -func (x *Armadillo_Content_MessageHistoryDocumentMessage) GetDocument() *waCommon.SubProtocol { - if x != nil { - return x.Document - } - return nil -} - type Armadillo_Content_NetworkVerificationMessage struct { state protoimpl.MessageState `protogen:"open.v1"` CodeText *string `protobuf:"bytes,1,opt,name=codeText" json:"codeText,omitempty"` @@ -2064,7 +2065,7 @@ func (x *Armadillo_Content_NetworkVerificationMessage) ProtoReflect() protorefle // Deprecated: Use Armadillo_Content_NetworkVerificationMessage.ProtoReflect.Descriptor instead. func (*Armadillo_Content_NetworkVerificationMessage) Descriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 2} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 1} } func (x *Armadillo_Content_NetworkVerificationMessage) GetCodeText() string { @@ -2116,7 +2117,7 @@ func (x *Armadillo_Content_NoteReplyMessage) ProtoReflect() protoreflect.Message // Deprecated: Use Armadillo_Content_NoteReplyMessage.ProtoReflect.Descriptor instead. func (*Armadillo_Content_NoteReplyMessage) Descriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 3} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 2} } func (x *Armadillo_Content_NoteReplyMessage) GetNoteReplyContent() isArmadillo_Content_NoteReplyMessage_NoteReplyContent { @@ -2233,7 +2234,7 @@ func (x *Armadillo_Content_BumpExistingMessage) ProtoReflect() protoreflect.Mess // Deprecated: Use Armadillo_Content_BumpExistingMessage.ProtoReflect.Descriptor instead. func (*Armadillo_Content_BumpExistingMessage) Descriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 4} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 3} } func (x *Armadillo_Content_BumpExistingMessage) GetKey() *waCommon.MessageKey { @@ -2277,7 +2278,7 @@ func (x *Armadillo_Content_ImageGalleryMessage) ProtoReflect() protoreflect.Mess // Deprecated: Use Armadillo_Content_ImageGalleryMessage.ProtoReflect.Descriptor instead. func (*Armadillo_Content_ImageGalleryMessage) Descriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 5} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 4} } func (x *Armadillo_Content_ImageGalleryMessage) GetImages() []*waCommon.SubProtocol { @@ -2321,7 +2322,7 @@ func (x *Armadillo_Content_ScreenshotAction) ProtoReflect() protoreflect.Message // Deprecated: Use Armadillo_Content_ScreenshotAction.ProtoReflect.Descriptor instead. func (*Armadillo_Content_ScreenshotAction) Descriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 6} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 5} } func (x *Armadillo_Content_ScreenshotAction) GetScreenshotType() Armadillo_Content_ScreenshotAction_ScreenshotType { @@ -2369,7 +2370,7 @@ func (x *Armadillo_Content_ExtendedContentMessageWithSear) ProtoReflect() protor // Deprecated: Use Armadillo_Content_ExtendedContentMessageWithSear.ProtoReflect.Descriptor instead. func (*Armadillo_Content_ExtendedContentMessageWithSear) Descriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 7} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 6} } func (x *Armadillo_Content_ExtendedContentMessageWithSear) GetSearID() string { @@ -2443,7 +2444,7 @@ func (x *Armadillo_Content_RavenActionNotifMessage) ProtoReflect() protoreflect. // Deprecated: Use Armadillo_Content_RavenActionNotifMessage.ProtoReflect.Descriptor instead. func (*Armadillo_Content_RavenActionNotifMessage) Descriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 8} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 7} } func (x *Armadillo_Content_RavenActionNotifMessage) GetKey() *waCommon.MessageKey { @@ -2506,7 +2507,7 @@ func (x *Armadillo_Content_RavenMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use Armadillo_Content_RavenMessage.ProtoReflect.Descriptor instead. func (*Armadillo_Content_RavenMessage) Descriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 9} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 8} } func (x *Armadillo_Content_RavenMessage) GetMediaContent() isArmadillo_Content_RavenMessage_MediaContent { @@ -2591,7 +2592,7 @@ func (x *Armadillo_Content_CommonSticker) ProtoReflect() protoreflect.Message { // Deprecated: Use Armadillo_Content_CommonSticker.ProtoReflect.Descriptor instead. func (*Armadillo_Content_CommonSticker) Descriptor() ([]byte, []int) { - return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 10} + return file_waArmadilloApplication_WAArmadilloApplication_proto_rawDescGZIP(), []int{0, 5, 9} } func (x *Armadillo_Content_CommonSticker) GetStickerType() Armadillo_Content_CommonSticker_StickerType { @@ -2636,19 +2637,19 @@ var file_waArmadilloApplication_WAArmadilloApplication_proto_goTypes = []any{ (*Armadillo_Content)(nil), // 12: WAArmadilloApplication.Armadillo.Content (*Armadillo_Signal_EncryptedBackupsSecrets)(nil), // 13: WAArmadilloApplication.Armadillo.Signal.EncryptedBackupsSecrets (*Armadillo_Signal_EncryptedBackupsSecrets_Epoch)(nil), // 14: WAArmadilloApplication.Armadillo.Signal.EncryptedBackupsSecrets.Epoch - (*Armadillo_ApplicationData_AIBotResponseMessage)(nil), // 15: WAArmadilloApplication.Armadillo.ApplicationData.AIBotResponseMessage - (*Armadillo_ApplicationData_MetadataSyncAction)(nil), // 16: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction - (*Armadillo_ApplicationData_MetadataSyncNotification)(nil), // 17: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncNotification - (*Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction)(nil), // 18: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncMessageAction - (*Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction)(nil), // 19: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction - (*Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessage)(nil), // 20: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessage - (*Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessageRange)(nil), // 21: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessageRange - (*Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction_ActionMessageDelete)(nil), // 22: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncMessageAction.ActionMessageDelete - (*Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatRead)(nil), // 23: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatRead - (*Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatDelete)(nil), // 24: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatDelete - (*Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatArchive)(nil), // 25: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatArchive - (*Armadillo_Content_PaymentsTransactionMessage)(nil), // 26: WAArmadilloApplication.Armadillo.Content.PaymentsTransactionMessage - (*Armadillo_Content_MessageHistoryDocumentMessage)(nil), // 27: WAArmadilloApplication.Armadillo.Content.MessageHistoryDocumentMessage + (*Armadillo_ApplicationData_MessageHistoryDocumentMessage)(nil), // 15: WAArmadilloApplication.Armadillo.ApplicationData.MessageHistoryDocumentMessage + (*Armadillo_ApplicationData_AIBotResponseMessage)(nil), // 16: WAArmadilloApplication.Armadillo.ApplicationData.AIBotResponseMessage + (*Armadillo_ApplicationData_MetadataSyncAction)(nil), // 17: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction + (*Armadillo_ApplicationData_MetadataSyncNotification)(nil), // 18: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncNotification + (*Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction)(nil), // 19: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncMessageAction + (*Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction)(nil), // 20: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction + (*Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessage)(nil), // 21: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessage + (*Armadillo_ApplicationData_MetadataSyncAction_SyncActionMessageRange)(nil), // 22: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessageRange + (*Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction_ActionMessageDelete)(nil), // 23: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncMessageAction.ActionMessageDelete + (*Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatRead)(nil), // 24: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatRead + (*Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatDelete)(nil), // 25: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatDelete + (*Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ActionChatArchive)(nil), // 26: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatArchive + (*Armadillo_Content_PaymentsTransactionMessage)(nil), // 27: WAArmadilloApplication.Armadillo.Content.PaymentsTransactionMessage (*Armadillo_Content_NetworkVerificationMessage)(nil), // 28: WAArmadilloApplication.Armadillo.Content.NetworkVerificationMessage (*Armadillo_Content_NoteReplyMessage)(nil), // 29: WAArmadilloApplication.Armadillo.Content.NoteReplyMessage (*Armadillo_Content_BumpExistingMessage)(nil), // 30: WAArmadilloApplication.Armadillo.Content.BumpExistingMessage @@ -2660,8 +2661,8 @@ var file_waArmadilloApplication_WAArmadilloApplication_proto_goTypes = []any{ (*Armadillo_Content_CommonSticker)(nil), // 36: WAArmadilloApplication.Armadillo.Content.CommonSticker (waCommon.FutureProofBehavior)(0), // 37: WACommon.FutureProofBehavior (*waArmadilloXMA.ExtendedContentMessage)(nil), // 38: WAArmadilloXMA.ExtendedContentMessage - (*waCommon.MessageKey)(nil), // 39: WACommon.MessageKey - (*waCommon.SubProtocol)(nil), // 40: WACommon.SubProtocol + (*waCommon.SubProtocol)(nil), // 39: WACommon.SubProtocol + (*waCommon.MessageKey)(nil), // 40: WACommon.MessageKey (*waCommon.MessageText)(nil), // 41: WACommon.MessageText } var file_waArmadilloApplication_WAArmadilloApplication_proto_depIdxs = []int32{ @@ -2673,51 +2674,51 @@ var file_waArmadilloApplication_WAArmadilloApplication_proto_depIdxs = []int32{ 9, // 5: WAArmadilloApplication.Armadillo.Payload.subProtocol:type_name -> WAArmadilloApplication.Armadillo.SubProtocolPayload 37, // 6: WAArmadilloApplication.Armadillo.SubProtocolPayload.futureProof:type_name -> WACommon.FutureProofBehavior 13, // 7: WAArmadilloApplication.Armadillo.Signal.encryptedBackupsSecrets:type_name -> WAArmadilloApplication.Armadillo.Signal.EncryptedBackupsSecrets - 17, // 8: WAArmadilloApplication.Armadillo.ApplicationData.metadataSync:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncNotification - 15, // 9: WAArmadilloApplication.Armadillo.ApplicationData.aiBotResponse:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.AIBotResponseMessage - 36, // 10: WAArmadilloApplication.Armadillo.Content.commonSticker:type_name -> WAArmadilloApplication.Armadillo.Content.CommonSticker - 32, // 11: WAArmadilloApplication.Armadillo.Content.screenshotAction:type_name -> WAArmadilloApplication.Armadillo.Content.ScreenshotAction - 38, // 12: WAArmadilloApplication.Armadillo.Content.extendedContentMessage:type_name -> WAArmadilloXMA.ExtendedContentMessage - 35, // 13: WAArmadilloApplication.Armadillo.Content.ravenMessage:type_name -> WAArmadilloApplication.Armadillo.Content.RavenMessage - 34, // 14: WAArmadilloApplication.Armadillo.Content.ravenActionNotifMessage:type_name -> WAArmadilloApplication.Armadillo.Content.RavenActionNotifMessage - 33, // 15: WAArmadilloApplication.Armadillo.Content.extendedMessageContentWithSear:type_name -> WAArmadilloApplication.Armadillo.Content.ExtendedContentMessageWithSear - 31, // 16: WAArmadilloApplication.Armadillo.Content.imageGalleryMessage:type_name -> WAArmadilloApplication.Armadillo.Content.ImageGalleryMessage - 26, // 17: WAArmadilloApplication.Armadillo.Content.paymentsTransactionMessage:type_name -> WAArmadilloApplication.Armadillo.Content.PaymentsTransactionMessage - 30, // 18: WAArmadilloApplication.Armadillo.Content.bumpExistingMessage:type_name -> WAArmadilloApplication.Armadillo.Content.BumpExistingMessage - 29, // 19: WAArmadilloApplication.Armadillo.Content.noteReplyMessage:type_name -> WAArmadilloApplication.Armadillo.Content.NoteReplyMessage - 35, // 20: WAArmadilloApplication.Armadillo.Content.ravenMessageMsgr:type_name -> WAArmadilloApplication.Armadillo.Content.RavenMessage - 28, // 21: WAArmadilloApplication.Armadillo.Content.networkVerificationMessage:type_name -> WAArmadilloApplication.Armadillo.Content.NetworkVerificationMessage - 27, // 22: WAArmadilloApplication.Armadillo.Content.messageHistoryDocumentMessage:type_name -> WAArmadilloApplication.Armadillo.Content.MessageHistoryDocumentMessage + 18, // 8: WAArmadilloApplication.Armadillo.ApplicationData.metadataSync:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncNotification + 16, // 9: WAArmadilloApplication.Armadillo.ApplicationData.aiBotResponse:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.AIBotResponseMessage + 15, // 10: WAArmadilloApplication.Armadillo.ApplicationData.messageHistoryDocumentMessage:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MessageHistoryDocumentMessage + 36, // 11: WAArmadilloApplication.Armadillo.Content.commonSticker:type_name -> WAArmadilloApplication.Armadillo.Content.CommonSticker + 32, // 12: WAArmadilloApplication.Armadillo.Content.screenshotAction:type_name -> WAArmadilloApplication.Armadillo.Content.ScreenshotAction + 38, // 13: WAArmadilloApplication.Armadillo.Content.extendedContentMessage:type_name -> WAArmadilloXMA.ExtendedContentMessage + 35, // 14: WAArmadilloApplication.Armadillo.Content.ravenMessage:type_name -> WAArmadilloApplication.Armadillo.Content.RavenMessage + 34, // 15: WAArmadilloApplication.Armadillo.Content.ravenActionNotifMessage:type_name -> WAArmadilloApplication.Armadillo.Content.RavenActionNotifMessage + 33, // 16: WAArmadilloApplication.Armadillo.Content.extendedMessageContentWithSear:type_name -> WAArmadilloApplication.Armadillo.Content.ExtendedContentMessageWithSear + 31, // 17: WAArmadilloApplication.Armadillo.Content.imageGalleryMessage:type_name -> WAArmadilloApplication.Armadillo.Content.ImageGalleryMessage + 27, // 18: WAArmadilloApplication.Armadillo.Content.paymentsTransactionMessage:type_name -> WAArmadilloApplication.Armadillo.Content.PaymentsTransactionMessage + 30, // 19: WAArmadilloApplication.Armadillo.Content.bumpExistingMessage:type_name -> WAArmadilloApplication.Armadillo.Content.BumpExistingMessage + 29, // 20: WAArmadilloApplication.Armadillo.Content.noteReplyMessage:type_name -> WAArmadilloApplication.Armadillo.Content.NoteReplyMessage + 35, // 21: WAArmadilloApplication.Armadillo.Content.ravenMessageMsgr:type_name -> WAArmadilloApplication.Armadillo.Content.RavenMessage + 28, // 22: WAArmadilloApplication.Armadillo.Content.networkVerificationMessage:type_name -> WAArmadilloApplication.Armadillo.Content.NetworkVerificationMessage 14, // 23: WAArmadilloApplication.Armadillo.Signal.EncryptedBackupsSecrets.epoch:type_name -> WAArmadilloApplication.Armadillo.Signal.EncryptedBackupsSecrets.Epoch 0, // 24: WAArmadilloApplication.Armadillo.Signal.EncryptedBackupsSecrets.Epoch.status:type_name -> WAArmadilloApplication.Armadillo.Signal.EncryptedBackupsSecrets.Epoch.EpochStatus - 19, // 25: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.chatAction:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction - 18, // 26: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.messageAction:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncMessageAction - 16, // 27: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncNotification.actions:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction - 22, // 28: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncMessageAction.messageDelete:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncMessageAction.ActionMessageDelete - 39, // 29: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncMessageAction.key:type_name -> WACommon.MessageKey - 25, // 30: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.chatArchive:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatArchive - 24, // 31: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.chatDelete:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatDelete - 23, // 32: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.chatRead:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatRead - 39, // 33: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessage.key:type_name -> WACommon.MessageKey - 20, // 34: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessageRange.messages:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessage - 21, // 35: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatRead.messageRange:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessageRange - 21, // 36: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatDelete.messageRange:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessageRange - 21, // 37: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatArchive.messageRange:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessageRange - 1, // 38: WAArmadilloApplication.Armadillo.Content.PaymentsTransactionMessage.paymentStatus:type_name -> WAArmadilloApplication.Armadillo.Content.PaymentsTransactionMessage.PaymentStatus - 38, // 39: WAArmadilloApplication.Armadillo.Content.PaymentsTransactionMessage.extendedContentMessage:type_name -> WAArmadilloXMA.ExtendedContentMessage - 40, // 40: WAArmadilloApplication.Armadillo.Content.MessageHistoryDocumentMessage.document:type_name -> WACommon.SubProtocol + 39, // 25: WAArmadilloApplication.Armadillo.ApplicationData.MessageHistoryDocumentMessage.document:type_name -> WACommon.SubProtocol + 20, // 26: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.chatAction:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction + 19, // 27: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.messageAction:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncMessageAction + 17, // 28: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncNotification.actions:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction + 23, // 29: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncMessageAction.messageDelete:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncMessageAction.ActionMessageDelete + 40, // 30: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncMessageAction.key:type_name -> WACommon.MessageKey + 26, // 31: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.chatArchive:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatArchive + 25, // 32: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.chatDelete:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatDelete + 24, // 33: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.chatRead:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatRead + 40, // 34: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessage.key:type_name -> WACommon.MessageKey + 21, // 35: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessageRange.messages:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessage + 22, // 36: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatRead.messageRange:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessageRange + 22, // 37: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatDelete.messageRange:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessageRange + 22, // 38: WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatArchive.messageRange:type_name -> WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessageRange + 1, // 39: WAArmadilloApplication.Armadillo.Content.PaymentsTransactionMessage.paymentStatus:type_name -> WAArmadilloApplication.Armadillo.Content.PaymentsTransactionMessage.PaymentStatus + 38, // 40: WAArmadilloApplication.Armadillo.Content.PaymentsTransactionMessage.extendedContentMessage:type_name -> WAArmadilloXMA.ExtendedContentMessage 41, // 41: WAArmadilloApplication.Armadillo.Content.NoteReplyMessage.textContent:type_name -> WACommon.MessageText - 40, // 42: WAArmadilloApplication.Armadillo.Content.NoteReplyMessage.stickerContent:type_name -> WACommon.SubProtocol - 40, // 43: WAArmadilloApplication.Armadillo.Content.NoteReplyMessage.videoContent:type_name -> WACommon.SubProtocol + 39, // 42: WAArmadilloApplication.Armadillo.Content.NoteReplyMessage.stickerContent:type_name -> WACommon.SubProtocol + 39, // 43: WAArmadilloApplication.Armadillo.Content.NoteReplyMessage.videoContent:type_name -> WACommon.SubProtocol 41, // 44: WAArmadilloApplication.Armadillo.Content.NoteReplyMessage.noteText:type_name -> WACommon.MessageText - 39, // 45: WAArmadilloApplication.Armadillo.Content.BumpExistingMessage.key:type_name -> WACommon.MessageKey - 40, // 46: WAArmadilloApplication.Armadillo.Content.ImageGalleryMessage.images:type_name -> WACommon.SubProtocol + 40, // 45: WAArmadilloApplication.Armadillo.Content.BumpExistingMessage.key:type_name -> WACommon.MessageKey + 39, // 46: WAArmadilloApplication.Armadillo.Content.ImageGalleryMessage.images:type_name -> WACommon.SubProtocol 2, // 47: WAArmadilloApplication.Armadillo.Content.ScreenshotAction.screenshotType:type_name -> WAArmadilloApplication.Armadillo.Content.ScreenshotAction.ScreenshotType - 40, // 48: WAArmadilloApplication.Armadillo.Content.ExtendedContentMessageWithSear.searAssociatedMessage:type_name -> WACommon.SubProtocol - 39, // 49: WAArmadilloApplication.Armadillo.Content.RavenActionNotifMessage.key:type_name -> WACommon.MessageKey + 39, // 48: WAArmadilloApplication.Armadillo.Content.ExtendedContentMessageWithSear.searAssociatedMessage:type_name -> WACommon.SubProtocol + 40, // 49: WAArmadilloApplication.Armadillo.Content.RavenActionNotifMessage.key:type_name -> WACommon.MessageKey 3, // 50: WAArmadilloApplication.Armadillo.Content.RavenActionNotifMessage.actionType:type_name -> WAArmadilloApplication.Armadillo.Content.RavenActionNotifMessage.ActionType - 40, // 51: WAArmadilloApplication.Armadillo.Content.RavenMessage.imageMessage:type_name -> WACommon.SubProtocol - 40, // 52: WAArmadilloApplication.Armadillo.Content.RavenMessage.videoMessage:type_name -> WACommon.SubProtocol + 39, // 51: WAArmadilloApplication.Armadillo.Content.RavenMessage.imageMessage:type_name -> WACommon.SubProtocol + 39, // 52: WAArmadilloApplication.Armadillo.Content.RavenMessage.videoMessage:type_name -> WACommon.SubProtocol 4, // 53: WAArmadilloApplication.Armadillo.Content.RavenMessage.ephemeralType:type_name -> WAArmadilloApplication.Armadillo.Content.RavenMessage.EphemeralType 5, // 54: WAArmadilloApplication.Armadillo.Content.CommonSticker.stickerType:type_name -> WAArmadilloApplication.Armadillo.Content.CommonSticker.StickerType 55, // [55:55] is the sub-list for method output_type @@ -2744,6 +2745,7 @@ func file_waArmadilloApplication_WAArmadilloApplication_proto_init() { file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[5].OneofWrappers = []any{ (*Armadillo_ApplicationData_MetadataSync)(nil), (*Armadillo_ApplicationData_AiBotResponse)(nil), + (*Armadillo_ApplicationData_MessageHistoryDocumentMessage_)(nil), } file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[6].OneofWrappers = []any{ (*Armadillo_Content_CommonSticker_)(nil), @@ -2758,16 +2760,15 @@ func file_waArmadilloApplication_WAArmadilloApplication_proto_init() { (*Armadillo_Content_NoteReplyMessage_)(nil), (*Armadillo_Content_RavenMessageMsgr)(nil), (*Armadillo_Content_NetworkVerificationMessage_)(nil), - (*Armadillo_Content_MessageHistoryDocumentMessage_)(nil), } - file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[10].OneofWrappers = []any{ + file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[11].OneofWrappers = []any{ (*Armadillo_ApplicationData_MetadataSyncAction_ChatAction)(nil), (*Armadillo_ApplicationData_MetadataSyncAction_MessageAction)(nil), } - file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[12].OneofWrappers = []any{ + file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[13].OneofWrappers = []any{ (*Armadillo_ApplicationData_MetadataSyncAction_SyncMessageAction_MessageDelete)(nil), } - file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[13].OneofWrappers = []any{ + file_waArmadilloApplication_WAArmadilloApplication_proto_msgTypes[14].OneofWrappers = []any{ (*Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ChatArchive)(nil), (*Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ChatDelete)(nil), (*Armadillo_ApplicationData_MetadataSyncAction_SyncChatAction_ChatRead)(nil), diff --git a/proto/waArmadilloApplication/WAArmadilloApplication.pb.raw b/proto/waArmadilloApplication/WAArmadilloApplication.pb.raw index f17a3489022ebfbcf36fd522680f207e4e2f6d4a..7fb517fb9a37701cd15767fb45e35550f26eb6f7 100644 GIT binary patch delta 106 zcmccUaMNKz599QWy|S!K=S3#3Vg0NnG@X%4HaE4nI59odBeS?9zo^nBKe;qFHLt`M zA}YbGz^K7( WACommon.SubProtocol @@ -839,12 +848,13 @@ var file_waArmadilloXMA_WAArmadilloXMA_proto_depIdxs = []int32{ 6, // 6: WAArmadilloXMA.ExtendedContentMessage.headerImage:type_name -> WACommon.SubProtocol 0, // 7: WAArmadilloXMA.ExtendedContentMessage.overlayIconGlyph:type_name -> WAArmadilloXMA.ExtendedContentMessage.OverlayIconGlyph 7, // 8: WAArmadilloXMA.ExtendedContentMessage.commands:type_name -> WACommon.Command - 1, // 9: WAArmadilloXMA.ExtendedContentMessage.CTA.buttonType:type_name -> WAArmadilloXMA.ExtendedContentMessage.CtaButtonType - 10, // [10:10] is the sub-list for method output_type - 10, // [10:10] is the sub-list for method input_type - 10, // [10:10] is the sub-list for extension type_name - 10, // [10:10] is the sub-list for extension extendee - 0, // [0:10] is the sub-list for field type_name + 8, // 9: WAArmadilloXMA.ExtendedContentMessage.mentions:type_name -> WACommon.Mention + 1, // 10: WAArmadilloXMA.ExtendedContentMessage.CTA.buttonType:type_name -> WAArmadilloXMA.ExtendedContentMessage.CtaButtonType + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name } func init() { file_waArmadilloXMA_WAArmadilloXMA_proto_init() } diff --git a/proto/waArmadilloXMA/WAArmadilloXMA.pb.raw b/proto/waArmadilloXMA/WAArmadilloXMA.pb.raw index 7b6a7987ba3274e7d831d6d90eee06c059213637..b2046e3c1898c324ba77f73cc68f42709b8317da 100644 GIT binary patch delta 64 zcmdld`&M>>KjVju0l!)Fgmk$$a#Qn4GV}9_C8QLXHMorg^}-#U^K*0a^YnZnGC?pU Jo4r^|I04A<6?Xst delta 17 ZcmaDWyH9q4KjXoT0l!%`SFsjz0suz>2Q>fy diff --git a/proto/waArmadilloXMA/WAArmadilloXMA.proto b/proto/waArmadilloXMA/WAArmadilloXMA.proto index 520d04b4..90a796c4 100644 --- a/proto/waArmadilloXMA/WAArmadilloXMA.proto +++ b/proto/waArmadilloXMA/WAArmadilloXMA.proto @@ -136,4 +136,5 @@ message ExtendedContentMessage { optional string contentRef = 23; repeated string mentionedJID = 24; repeated WACommon.Command commands = 25; + repeated WACommon.Mention mentions = 26; } diff --git a/proto/waCommon/WACommon.pb.go b/proto/waCommon/WACommon.pb.go index db1d164d..8e3b58af 100644 --- a/proto/waCommon/WACommon.pb.go +++ b/proto/waCommon/WACommon.pb.go @@ -144,22 +144,81 @@ func (Command_CommandType) EnumDescriptor() ([]byte, []int) { return file_waCommon_WACommon_proto_rawDescGZIP(), []int{1, 0} } +type Mention_MentionType int32 + +const ( + Mention_PROFILE Mention_MentionType = 0 +) + +// Enum value maps for Mention_MentionType. +var ( + Mention_MentionType_name = map[int32]string{ + 0: "PROFILE", + } + Mention_MentionType_value = map[string]int32{ + "PROFILE": 0, + } +) + +func (x Mention_MentionType) Enum() *Mention_MentionType { + p := new(Mention_MentionType) + *p = x + return p +} + +func (x Mention_MentionType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Mention_MentionType) Descriptor() protoreflect.EnumDescriptor { + return file_waCommon_WACommon_proto_enumTypes[2].Descriptor() +} + +func (Mention_MentionType) Type() protoreflect.EnumType { + return &file_waCommon_WACommon_proto_enumTypes[2] +} + +func (x Mention_MentionType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *Mention_MentionType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = Mention_MentionType(num) + return nil +} + +// Deprecated: Use Mention_MentionType.Descriptor instead. +func (Mention_MentionType) EnumDescriptor() ([]byte, []int) { + return file_waCommon_WACommon_proto_rawDescGZIP(), []int{2, 0} +} + type LimitSharing_Trigger int32 const ( - LimitSharing_CHAT_SETTING LimitSharing_Trigger = 0 - LimitSharing_BIZ_SUPPORTS_FB_HOSTING LimitSharing_Trigger = 1 + LimitSharing_UNKNOWN LimitSharing_Trigger = 0 + LimitSharing_CHAT_SETTING LimitSharing_Trigger = 1 + LimitSharing_BIZ_SUPPORTS_FB_HOSTING LimitSharing_Trigger = 2 + LimitSharing_UNKNOWN_GROUP LimitSharing_Trigger = 3 ) // Enum value maps for LimitSharing_Trigger. var ( LimitSharing_Trigger_name = map[int32]string{ - 0: "CHAT_SETTING", - 1: "BIZ_SUPPORTS_FB_HOSTING", + 0: "UNKNOWN", + 1: "CHAT_SETTING", + 2: "BIZ_SUPPORTS_FB_HOSTING", + 3: "UNKNOWN_GROUP", } LimitSharing_Trigger_value = map[string]int32{ - "CHAT_SETTING": 0, - "BIZ_SUPPORTS_FB_HOSTING": 1, + "UNKNOWN": 0, + "CHAT_SETTING": 1, + "BIZ_SUPPORTS_FB_HOSTING": 2, + "UNKNOWN_GROUP": 3, } ) @@ -174,11 +233,11 @@ func (x LimitSharing_Trigger) String() string { } func (LimitSharing_Trigger) Descriptor() protoreflect.EnumDescriptor { - return file_waCommon_WACommon_proto_enumTypes[2].Descriptor() + return file_waCommon_WACommon_proto_enumTypes[3].Descriptor() } func (LimitSharing_Trigger) Type() protoreflect.EnumType { - return &file_waCommon_WACommon_proto_enumTypes[2] + return &file_waCommon_WACommon_proto_enumTypes[3] } func (x LimitSharing_Trigger) Number() protoreflect.EnumNumber { @@ -197,7 +256,7 @@ func (x *LimitSharing_Trigger) UnmarshalJSON(b []byte) error { // Deprecated: Use LimitSharing_Trigger.Descriptor instead. func (LimitSharing_Trigger) EnumDescriptor() ([]byte, []int) { - return file_waCommon_WACommon_proto_rawDescGZIP(), []int{4, 0} + return file_waCommon_WACommon_proto_rawDescGZIP(), []int{5, 0} } type MessageKey struct { @@ -336,18 +395,87 @@ func (x *Command) GetValidationToken() string { return "" } +type Mention struct { + state protoimpl.MessageState `protogen:"open.v1"` + MentionType *Mention_MentionType `protobuf:"varint,1,opt,name=mentionType,enum=WACommon.Mention_MentionType" json:"mentionType,omitempty"` + MentionedJID *string `protobuf:"bytes,2,opt,name=mentionedJID" json:"mentionedJID,omitempty"` + Offset *uint32 `protobuf:"varint,3,opt,name=offset" json:"offset,omitempty"` + Length *uint32 `protobuf:"varint,4,opt,name=length" json:"length,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Mention) Reset() { + *x = Mention{} + mi := &file_waCommon_WACommon_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Mention) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Mention) ProtoMessage() {} + +func (x *Mention) ProtoReflect() protoreflect.Message { + mi := &file_waCommon_WACommon_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Mention.ProtoReflect.Descriptor instead. +func (*Mention) Descriptor() ([]byte, []int) { + return file_waCommon_WACommon_proto_rawDescGZIP(), []int{2} +} + +func (x *Mention) GetMentionType() Mention_MentionType { + if x != nil && x.MentionType != nil { + return *x.MentionType + } + return Mention_PROFILE +} + +func (x *Mention) GetMentionedJID() string { + if x != nil && x.MentionedJID != nil { + return *x.MentionedJID + } + return "" +} + +func (x *Mention) GetOffset() uint32 { + if x != nil && x.Offset != nil { + return *x.Offset + } + return 0 +} + +func (x *Mention) GetLength() uint32 { + if x != nil && x.Length != nil { + return *x.Length + } + return 0 +} + type MessageText struct { state protoimpl.MessageState `protogen:"open.v1"` Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"` MentionedJID []string `protobuf:"bytes,2,rep,name=mentionedJID" json:"mentionedJID,omitempty"` Commands []*Command `protobuf:"bytes,3,rep,name=commands" json:"commands,omitempty"` + Mentions []*Mention `protobuf:"bytes,4,rep,name=mentions" json:"mentions,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *MessageText) Reset() { *x = MessageText{} - mi := &file_waCommon_WACommon_proto_msgTypes[2] + mi := &file_waCommon_WACommon_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -359,7 +487,7 @@ func (x *MessageText) String() string { func (*MessageText) ProtoMessage() {} func (x *MessageText) ProtoReflect() protoreflect.Message { - mi := &file_waCommon_WACommon_proto_msgTypes[2] + mi := &file_waCommon_WACommon_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -372,7 +500,7 @@ func (x *MessageText) ProtoReflect() protoreflect.Message { // Deprecated: Use MessageText.ProtoReflect.Descriptor instead. func (*MessageText) Descriptor() ([]byte, []int) { - return file_waCommon_WACommon_proto_rawDescGZIP(), []int{2} + return file_waCommon_WACommon_proto_rawDescGZIP(), []int{3} } func (x *MessageText) GetText() string { @@ -396,6 +524,13 @@ func (x *MessageText) GetCommands() []*Command { return nil } +func (x *MessageText) GetMentions() []*Mention { + if x != nil { + return x.Mentions + } + return nil +} + type SubProtocol struct { state protoimpl.MessageState `protogen:"open.v1"` Payload []byte `protobuf:"bytes,1,opt,name=payload" json:"payload,omitempty"` @@ -406,7 +541,7 @@ type SubProtocol struct { func (x *SubProtocol) Reset() { *x = SubProtocol{} - mi := &file_waCommon_WACommon_proto_msgTypes[3] + mi := &file_waCommon_WACommon_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -418,7 +553,7 @@ func (x *SubProtocol) String() string { func (*SubProtocol) ProtoMessage() {} func (x *SubProtocol) ProtoReflect() protoreflect.Message { - mi := &file_waCommon_WACommon_proto_msgTypes[3] + mi := &file_waCommon_WACommon_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -431,7 +566,7 @@ func (x *SubProtocol) ProtoReflect() protoreflect.Message { // Deprecated: Use SubProtocol.ProtoReflect.Descriptor instead. func (*SubProtocol) Descriptor() ([]byte, []int) { - return file_waCommon_WACommon_proto_rawDescGZIP(), []int{3} + return file_waCommon_WACommon_proto_rawDescGZIP(), []int{4} } func (x *SubProtocol) GetPayload() []byte { @@ -449,16 +584,18 @@ func (x *SubProtocol) GetVersion() int32 { } type LimitSharing struct { - state protoimpl.MessageState `protogen:"open.v1"` - SharingLimited *bool `protobuf:"varint,1,opt,name=sharingLimited" json:"sharingLimited,omitempty"` - Trigger *LimitSharing_Trigger `protobuf:"varint,2,opt,name=trigger,enum=WACommon.LimitSharing_Trigger" json:"trigger,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + SharingLimited *bool `protobuf:"varint,1,opt,name=sharingLimited" json:"sharingLimited,omitempty"` + Trigger *LimitSharing_Trigger `protobuf:"varint,2,opt,name=trigger,enum=WACommon.LimitSharing_Trigger" json:"trigger,omitempty"` + LimitSharingSettingTimestamp *int64 `protobuf:"varint,3,opt,name=limitSharingSettingTimestamp" json:"limitSharingSettingTimestamp,omitempty"` + InitiatedByMe *bool `protobuf:"varint,4,opt,name=initiatedByMe" json:"initiatedByMe,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LimitSharing) Reset() { *x = LimitSharing{} - mi := &file_waCommon_WACommon_proto_msgTypes[4] + mi := &file_waCommon_WACommon_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -470,7 +607,7 @@ func (x *LimitSharing) String() string { func (*LimitSharing) ProtoMessage() {} func (x *LimitSharing) ProtoReflect() protoreflect.Message { - mi := &file_waCommon_WACommon_proto_msgTypes[4] + mi := &file_waCommon_WACommon_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -483,7 +620,7 @@ func (x *LimitSharing) ProtoReflect() protoreflect.Message { // Deprecated: Use LimitSharing.ProtoReflect.Descriptor instead. func (*LimitSharing) Descriptor() ([]byte, []int) { - return file_waCommon_WACommon_proto_rawDescGZIP(), []int{4} + return file_waCommon_WACommon_proto_rawDescGZIP(), []int{5} } func (x *LimitSharing) GetSharingLimited() bool { @@ -497,7 +634,21 @@ func (x *LimitSharing) GetTrigger() LimitSharing_Trigger { if x != nil && x.Trigger != nil { return *x.Trigger } - return LimitSharing_CHAT_SETTING + return LimitSharing_UNKNOWN +} + +func (x *LimitSharing) GetLimitSharingSettingTimestamp() int64 { + if x != nil && x.LimitSharingSettingTimestamp != nil { + return *x.LimitSharingSettingTimestamp + } + return 0 +} + +func (x *LimitSharing) GetInitiatedByMe() bool { + if x != nil && x.InitiatedByMe != nil { + return *x.InitiatedByMe + } + return false } var File_waCommon_WACommon_proto protoreflect.FileDescriptor @@ -517,27 +668,31 @@ func file_waCommon_WACommon_proto_rawDescGZIP() []byte { return file_waCommon_WACommon_proto_rawDescData } -var file_waCommon_WACommon_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_waCommon_WACommon_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_waCommon_WACommon_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_waCommon_WACommon_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_waCommon_WACommon_proto_goTypes = []any{ (FutureProofBehavior)(0), // 0: WACommon.FutureProofBehavior (Command_CommandType)(0), // 1: WACommon.Command.CommandType - (LimitSharing_Trigger)(0), // 2: WACommon.LimitSharing.Trigger - (*MessageKey)(nil), // 3: WACommon.MessageKey - (*Command)(nil), // 4: WACommon.Command - (*MessageText)(nil), // 5: WACommon.MessageText - (*SubProtocol)(nil), // 6: WACommon.SubProtocol - (*LimitSharing)(nil), // 7: WACommon.LimitSharing + (Mention_MentionType)(0), // 2: WACommon.Mention.MentionType + (LimitSharing_Trigger)(0), // 3: WACommon.LimitSharing.Trigger + (*MessageKey)(nil), // 4: WACommon.MessageKey + (*Command)(nil), // 5: WACommon.Command + (*Mention)(nil), // 6: WACommon.Mention + (*MessageText)(nil), // 7: WACommon.MessageText + (*SubProtocol)(nil), // 8: WACommon.SubProtocol + (*LimitSharing)(nil), // 9: WACommon.LimitSharing } var file_waCommon_WACommon_proto_depIdxs = []int32{ 1, // 0: WACommon.Command.commandType:type_name -> WACommon.Command.CommandType - 4, // 1: WACommon.MessageText.commands:type_name -> WACommon.Command - 2, // 2: WACommon.LimitSharing.trigger:type_name -> WACommon.LimitSharing.Trigger - 3, // [3:3] is the sub-list for method output_type - 3, // [3:3] is the sub-list for method input_type - 3, // [3:3] is the sub-list for extension type_name - 3, // [3:3] is the sub-list for extension extendee - 0, // [0:3] is the sub-list for field type_name + 2, // 1: WACommon.Mention.mentionType:type_name -> WACommon.Mention.MentionType + 5, // 2: WACommon.MessageText.commands:type_name -> WACommon.Command + 6, // 3: WACommon.MessageText.mentions:type_name -> WACommon.Mention + 3, // 4: WACommon.LimitSharing.trigger:type_name -> WACommon.LimitSharing.Trigger + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name } func init() { file_waCommon_WACommon_proto_init() } @@ -550,8 +705,8 @@ func file_waCommon_WACommon_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_waCommon_WACommon_proto_rawDesc, - NumEnums: 3, - NumMessages: 5, + NumEnums: 4, + NumMessages: 6, NumExtensions: 0, NumServices: 0, }, diff --git a/proto/waCommon/WACommon.pb.raw b/proto/waCommon/WACommon.pb.raw index 68038fbef21ec59739cb767fd524707ac16a6ba2..6fc89f6fc4c3157d48fd309371a2fe909d70b979 100644 GIT binary patch delta 423 zcmcc0c7}696QkHJMlN>W)Vz|+{5&ChF78|ibK(ZEdZ?%#ln$vZNDYF?gE&G;Ts%h%T!P=q(U-tQ;SOya|^(ZWDdfsMo5K= zH#0A@Br~xjHN~mYHx=vyjv!P)r3fzekfO}=^wc6DpdUj0y#4&cMg0UAgao*FoIM;v o;)7j7LOlK41sErvVv-SI5)$O%g{bn2cMtLp4G>_S{G2Hd0L=7&0{{R3 delta 64 zcmX@Zd6jKL6C-2EWJjiw$xoPEm{u`P)?zM@RkGk>4=Kt_Pfslp65!%-_HYb|4|WX+ U@$_>SV3@4OBE!fyIgTX{0DZ|3!~g&Q diff --git a/proto/waCommon/WACommon.proto b/proto/waCommon/WACommon.proto index 1688634e..c75cd174 100644 --- a/proto/waCommon/WACommon.proto +++ b/proto/waCommon/WACommon.proto @@ -29,10 +29,22 @@ message Command { optional string validationToken = 4; } +message Mention { + enum MentionType { + PROFILE = 0; + } + + optional MentionType mentionType = 1; + optional string mentionedJID = 2; + optional uint32 offset = 3; + optional uint32 length = 4; +} + message MessageText { optional string text = 1; repeated string mentionedJID = 2; repeated Command commands = 3; + repeated Mention mentions = 4; } message SubProtocol { @@ -42,10 +54,14 @@ message SubProtocol { message LimitSharing { enum Trigger { - CHAT_SETTING = 0; - BIZ_SUPPORTS_FB_HOSTING = 1; + UNKNOWN = 0; + CHAT_SETTING = 1; + BIZ_SUPPORTS_FB_HOSTING = 2; + UNKNOWN_GROUP = 3; } optional bool sharingLimited = 1; optional Trigger trigger = 2; + optional int64 limitSharingSettingTimestamp = 3; + optional bool initiatedByMe = 4; } diff --git a/proto/waCompanionReg/WAWebProtobufsCompanionReg.pb.go b/proto/waCompanionReg/WACompanionReg.pb.go similarity index 78% rename from proto/waCompanionReg/WAWebProtobufsCompanionReg.pb.go rename to proto/waCompanionReg/WACompanionReg.pb.go index 7660eb3d..1b1ccb52 100644 --- a/proto/waCompanionReg/WAWebProtobufsCompanionReg.pb.go +++ b/proto/waCompanionReg/WACompanionReg.pb.go @@ -2,7 +2,7 @@ // versions: // protoc-gen-go v1.36.1 // protoc v3.21.12 -// source: waCompanionReg/WAWebProtobufsCompanionReg.proto +// source: waCompanionReg/WACompanionReg.proto package waCompanionReg @@ -122,11 +122,11 @@ func (x DeviceProps_PlatformType) String() string { } func (DeviceProps_PlatformType) Descriptor() protoreflect.EnumDescriptor { - return file_waCompanionReg_WAWebProtobufsCompanionReg_proto_enumTypes[0].Descriptor() + return file_waCompanionReg_WACompanionReg_proto_enumTypes[0].Descriptor() } func (DeviceProps_PlatformType) Type() protoreflect.EnumType { - return &file_waCompanionReg_WAWebProtobufsCompanionReg_proto_enumTypes[0] + return &file_waCompanionReg_WACompanionReg_proto_enumTypes[0] } func (x DeviceProps_PlatformType) Number() protoreflect.EnumNumber { @@ -145,14 +145,14 @@ func (x *DeviceProps_PlatformType) UnmarshalJSON(b []byte) error { // Deprecated: Use DeviceProps_PlatformType.Descriptor instead. func (DeviceProps_PlatformType) EnumDescriptor() ([]byte, []int) { - return file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDescGZIP(), []int{0, 0} + return file_waCompanionReg_WACompanionReg_proto_rawDescGZIP(), []int{0, 0} } type DeviceProps struct { state protoimpl.MessageState `protogen:"open.v1"` Os *string `protobuf:"bytes,1,opt,name=os" json:"os,omitempty"` Version *DeviceProps_AppVersion `protobuf:"bytes,2,opt,name=version" json:"version,omitempty"` - PlatformType *DeviceProps_PlatformType `protobuf:"varint,3,opt,name=platformType,enum=WAWebProtobufsCompanionReg.DeviceProps_PlatformType" json:"platformType,omitempty"` + PlatformType *DeviceProps_PlatformType `protobuf:"varint,3,opt,name=platformType,enum=WACompanionReg.DeviceProps_PlatformType" json:"platformType,omitempty"` RequireFullSync *bool `protobuf:"varint,4,opt,name=requireFullSync" json:"requireFullSync,omitempty"` HistorySyncConfig *DeviceProps_HistorySyncConfig `protobuf:"bytes,5,opt,name=historySyncConfig" json:"historySyncConfig,omitempty"` unknownFields protoimpl.UnknownFields @@ -161,7 +161,7 @@ type DeviceProps struct { func (x *DeviceProps) Reset() { *x = DeviceProps{} - mi := &file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes[0] + mi := &file_waCompanionReg_WACompanionReg_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -173,7 +173,7 @@ func (x *DeviceProps) String() string { func (*DeviceProps) ProtoMessage() {} func (x *DeviceProps) ProtoReflect() protoreflect.Message { - mi := &file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes[0] + mi := &file_waCompanionReg_WACompanionReg_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -186,7 +186,7 @@ func (x *DeviceProps) ProtoReflect() protoreflect.Message { // Deprecated: Use DeviceProps.ProtoReflect.Descriptor instead. func (*DeviceProps) Descriptor() ([]byte, []int) { - return file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDescGZIP(), []int{0} + return file_waCompanionReg_WACompanionReg_proto_rawDescGZIP(), []int{0} } func (x *DeviceProps) GetOs() string { @@ -227,7 +227,7 @@ func (x *DeviceProps) GetHistorySyncConfig() *DeviceProps_HistorySyncConfig { type CompanionEphemeralIdentity struct { state protoimpl.MessageState `protogen:"open.v1"` PublicKey []byte `protobuf:"bytes,1,opt,name=publicKey" json:"publicKey,omitempty"` - DeviceType *DeviceProps_PlatformType `protobuf:"varint,2,opt,name=deviceType,enum=WAWebProtobufsCompanionReg.DeviceProps_PlatformType" json:"deviceType,omitempty"` + DeviceType *DeviceProps_PlatformType `protobuf:"varint,2,opt,name=deviceType,enum=WACompanionReg.DeviceProps_PlatformType" json:"deviceType,omitempty"` Ref *string `protobuf:"bytes,3,opt,name=ref" json:"ref,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -235,7 +235,7 @@ type CompanionEphemeralIdentity struct { func (x *CompanionEphemeralIdentity) Reset() { *x = CompanionEphemeralIdentity{} - mi := &file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes[1] + mi := &file_waCompanionReg_WACompanionReg_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -247,7 +247,7 @@ func (x *CompanionEphemeralIdentity) String() string { func (*CompanionEphemeralIdentity) ProtoMessage() {} func (x *CompanionEphemeralIdentity) ProtoReflect() protoreflect.Message { - mi := &file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes[1] + mi := &file_waCompanionReg_WACompanionReg_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -260,7 +260,7 @@ func (x *CompanionEphemeralIdentity) ProtoReflect() protoreflect.Message { // Deprecated: Use CompanionEphemeralIdentity.ProtoReflect.Descriptor instead. func (*CompanionEphemeralIdentity) Descriptor() ([]byte, []int) { - return file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDescGZIP(), []int{1} + return file_waCompanionReg_WACompanionReg_proto_rawDescGZIP(), []int{1} } func (x *CompanionEphemeralIdentity) GetPublicKey() []byte { @@ -293,7 +293,7 @@ type CompanionCommitment struct { func (x *CompanionCommitment) Reset() { *x = CompanionCommitment{} - mi := &file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes[2] + mi := &file_waCompanionReg_WACompanionReg_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -305,7 +305,7 @@ func (x *CompanionCommitment) String() string { func (*CompanionCommitment) ProtoMessage() {} func (x *CompanionCommitment) ProtoReflect() protoreflect.Message { - mi := &file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes[2] + mi := &file_waCompanionReg_WACompanionReg_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -318,7 +318,7 @@ func (x *CompanionCommitment) ProtoReflect() protoreflect.Message { // Deprecated: Use CompanionCommitment.ProtoReflect.Descriptor instead. func (*CompanionCommitment) Descriptor() ([]byte, []int) { - return file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDescGZIP(), []int{2} + return file_waCompanionReg_WACompanionReg_proto_rawDescGZIP(), []int{2} } func (x *CompanionCommitment) GetHash() []byte { @@ -338,7 +338,7 @@ type ProloguePayload struct { func (x *ProloguePayload) Reset() { *x = ProloguePayload{} - mi := &file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes[3] + mi := &file_waCompanionReg_WACompanionReg_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -350,7 +350,7 @@ func (x *ProloguePayload) String() string { func (*ProloguePayload) ProtoMessage() {} func (x *ProloguePayload) ProtoReflect() protoreflect.Message { - mi := &file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes[3] + mi := &file_waCompanionReg_WACompanionReg_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -363,7 +363,7 @@ func (x *ProloguePayload) ProtoReflect() protoreflect.Message { // Deprecated: Use ProloguePayload.ProtoReflect.Descriptor instead. func (*ProloguePayload) Descriptor() ([]byte, []int) { - return file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDescGZIP(), []int{3} + return file_waCompanionReg_WACompanionReg_proto_rawDescGZIP(), []int{3} } func (x *ProloguePayload) GetCompanionEphemeralIdentity() []byte { @@ -390,7 +390,7 @@ type PrimaryEphemeralIdentity struct { func (x *PrimaryEphemeralIdentity) Reset() { *x = PrimaryEphemeralIdentity{} - mi := &file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes[4] + mi := &file_waCompanionReg_WACompanionReg_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -402,7 +402,7 @@ func (x *PrimaryEphemeralIdentity) String() string { func (*PrimaryEphemeralIdentity) ProtoMessage() {} func (x *PrimaryEphemeralIdentity) ProtoReflect() protoreflect.Message { - mi := &file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes[4] + mi := &file_waCompanionReg_WACompanionReg_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -415,7 +415,7 @@ func (x *PrimaryEphemeralIdentity) ProtoReflect() protoreflect.Message { // Deprecated: Use PrimaryEphemeralIdentity.ProtoReflect.Descriptor instead. func (*PrimaryEphemeralIdentity) Descriptor() ([]byte, []int) { - return file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDescGZIP(), []int{4} + return file_waCompanionReg_WACompanionReg_proto_rawDescGZIP(), []int{4} } func (x *PrimaryEphemeralIdentity) GetPublicKey() []byte { @@ -443,7 +443,7 @@ type PairingRequest struct { func (x *PairingRequest) Reset() { *x = PairingRequest{} - mi := &file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes[5] + mi := &file_waCompanionReg_WACompanionReg_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -455,7 +455,7 @@ func (x *PairingRequest) String() string { func (*PairingRequest) ProtoMessage() {} func (x *PairingRequest) ProtoReflect() protoreflect.Message { - mi := &file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes[5] + mi := &file_waCompanionReg_WACompanionReg_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -468,7 +468,7 @@ func (x *PairingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PairingRequest.ProtoReflect.Descriptor instead. func (*PairingRequest) Descriptor() ([]byte, []int) { - return file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDescGZIP(), []int{5} + return file_waCompanionReg_WACompanionReg_proto_rawDescGZIP(), []int{5} } func (x *PairingRequest) GetCompanionPublicKey() []byte { @@ -502,7 +502,7 @@ type EncryptedPairingRequest struct { func (x *EncryptedPairingRequest) Reset() { *x = EncryptedPairingRequest{} - mi := &file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes[6] + mi := &file_waCompanionReg_WACompanionReg_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -514,7 +514,7 @@ func (x *EncryptedPairingRequest) String() string { func (*EncryptedPairingRequest) ProtoMessage() {} func (x *EncryptedPairingRequest) ProtoReflect() protoreflect.Message { - mi := &file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes[6] + mi := &file_waCompanionReg_WACompanionReg_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -527,7 +527,7 @@ func (x *EncryptedPairingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EncryptedPairingRequest.ProtoReflect.Descriptor instead. func (*EncryptedPairingRequest) Descriptor() ([]byte, []int) { - return file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDescGZIP(), []int{6} + return file_waCompanionReg_WACompanionReg_proto_rawDescGZIP(), []int{6} } func (x *EncryptedPairingRequest) GetEncryptedPayload() []byte { @@ -554,7 +554,7 @@ type ClientPairingProps struct { func (x *ClientPairingProps) Reset() { *x = ClientPairingProps{} - mi := &file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes[7] + mi := &file_waCompanionReg_WACompanionReg_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -566,7 +566,7 @@ func (x *ClientPairingProps) String() string { func (*ClientPairingProps) ProtoMessage() {} func (x *ClientPairingProps) ProtoReflect() protoreflect.Message { - mi := &file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes[7] + mi := &file_waCompanionReg_WACompanionReg_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -579,7 +579,7 @@ func (x *ClientPairingProps) ProtoReflect() protoreflect.Message { // Deprecated: Use ClientPairingProps.ProtoReflect.Descriptor instead. func (*ClientPairingProps) Descriptor() ([]byte, []int) { - return file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDescGZIP(), []int{7} + return file_waCompanionReg_WACompanionReg_proto_rawDescGZIP(), []int{7} } func (x *ClientPairingProps) GetIsChatDbLidMigrated() bool { @@ -618,7 +618,7 @@ type DeviceProps_HistorySyncConfig struct { func (x *DeviceProps_HistorySyncConfig) Reset() { *x = DeviceProps_HistorySyncConfig{} - mi := &file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes[8] + mi := &file_waCompanionReg_WACompanionReg_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -630,7 +630,7 @@ func (x *DeviceProps_HistorySyncConfig) String() string { func (*DeviceProps_HistorySyncConfig) ProtoMessage() {} func (x *DeviceProps_HistorySyncConfig) ProtoReflect() protoreflect.Message { - mi := &file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes[8] + mi := &file_waCompanionReg_WACompanionReg_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -643,7 +643,7 @@ func (x *DeviceProps_HistorySyncConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use DeviceProps_HistorySyncConfig.ProtoReflect.Descriptor instead. func (*DeviceProps_HistorySyncConfig) Descriptor() ([]byte, []int) { - return file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDescGZIP(), []int{0, 0} + return file_waCompanionReg_WACompanionReg_proto_rawDescGZIP(), []int{0, 0} } func (x *DeviceProps_HistorySyncConfig) GetFullSyncDaysLimit() uint32 { @@ -757,7 +757,7 @@ type DeviceProps_AppVersion struct { func (x *DeviceProps_AppVersion) Reset() { *x = DeviceProps_AppVersion{} - mi := &file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes[9] + mi := &file_waCompanionReg_WACompanionReg_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -769,7 +769,7 @@ func (x *DeviceProps_AppVersion) String() string { func (*DeviceProps_AppVersion) ProtoMessage() {} func (x *DeviceProps_AppVersion) ProtoReflect() protoreflect.Message { - mi := &file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes[9] + mi := &file_waCompanionReg_WACompanionReg_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -782,7 +782,7 @@ func (x *DeviceProps_AppVersion) ProtoReflect() protoreflect.Message { // Deprecated: Use DeviceProps_AppVersion.ProtoReflect.Descriptor instead. func (*DeviceProps_AppVersion) Descriptor() ([]byte, []int) { - return file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDescGZIP(), []int{0, 1} + return file_waCompanionReg_WACompanionReg_proto_rawDescGZIP(), []int{0, 1} } func (x *DeviceProps_AppVersion) GetPrimary() uint32 { @@ -820,44 +820,44 @@ func (x *DeviceProps_AppVersion) GetQuinary() uint32 { return 0 } -var File_waCompanionReg_WAWebProtobufsCompanionReg_proto protoreflect.FileDescriptor +var File_waCompanionReg_WACompanionReg_proto protoreflect.FileDescriptor -//go:embed WAWebProtobufsCompanionReg.pb.raw -var file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDesc []byte +//go:embed WACompanionReg.pb.raw +var file_waCompanionReg_WACompanionReg_proto_rawDesc []byte var ( - file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDescOnce sync.Once - file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDescData = file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDesc + file_waCompanionReg_WACompanionReg_proto_rawDescOnce sync.Once + file_waCompanionReg_WACompanionReg_proto_rawDescData = file_waCompanionReg_WACompanionReg_proto_rawDesc ) -func file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDescGZIP() []byte { - file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDescOnce.Do(func() { - file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDescData = protoimpl.X.CompressGZIP(file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDescData) +func file_waCompanionReg_WACompanionReg_proto_rawDescGZIP() []byte { + file_waCompanionReg_WACompanionReg_proto_rawDescOnce.Do(func() { + file_waCompanionReg_WACompanionReg_proto_rawDescData = protoimpl.X.CompressGZIP(file_waCompanionReg_WACompanionReg_proto_rawDescData) }) - return file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDescData -} - -var file_waCompanionReg_WAWebProtobufsCompanionReg_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes = make([]protoimpl.MessageInfo, 10) -var file_waCompanionReg_WAWebProtobufsCompanionReg_proto_goTypes = []any{ - (DeviceProps_PlatformType)(0), // 0: WAWebProtobufsCompanionReg.DeviceProps.PlatformType - (*DeviceProps)(nil), // 1: WAWebProtobufsCompanionReg.DeviceProps - (*CompanionEphemeralIdentity)(nil), // 2: WAWebProtobufsCompanionReg.CompanionEphemeralIdentity - (*CompanionCommitment)(nil), // 3: WAWebProtobufsCompanionReg.CompanionCommitment - (*ProloguePayload)(nil), // 4: WAWebProtobufsCompanionReg.ProloguePayload - (*PrimaryEphemeralIdentity)(nil), // 5: WAWebProtobufsCompanionReg.PrimaryEphemeralIdentity - (*PairingRequest)(nil), // 6: WAWebProtobufsCompanionReg.PairingRequest - (*EncryptedPairingRequest)(nil), // 7: WAWebProtobufsCompanionReg.EncryptedPairingRequest - (*ClientPairingProps)(nil), // 8: WAWebProtobufsCompanionReg.ClientPairingProps - (*DeviceProps_HistorySyncConfig)(nil), // 9: WAWebProtobufsCompanionReg.DeviceProps.HistorySyncConfig - (*DeviceProps_AppVersion)(nil), // 10: WAWebProtobufsCompanionReg.DeviceProps.AppVersion -} -var file_waCompanionReg_WAWebProtobufsCompanionReg_proto_depIdxs = []int32{ - 10, // 0: WAWebProtobufsCompanionReg.DeviceProps.version:type_name -> WAWebProtobufsCompanionReg.DeviceProps.AppVersion - 0, // 1: WAWebProtobufsCompanionReg.DeviceProps.platformType:type_name -> WAWebProtobufsCompanionReg.DeviceProps.PlatformType - 9, // 2: WAWebProtobufsCompanionReg.DeviceProps.historySyncConfig:type_name -> WAWebProtobufsCompanionReg.DeviceProps.HistorySyncConfig - 0, // 3: WAWebProtobufsCompanionReg.CompanionEphemeralIdentity.deviceType:type_name -> WAWebProtobufsCompanionReg.DeviceProps.PlatformType - 3, // 4: WAWebProtobufsCompanionReg.ProloguePayload.commitment:type_name -> WAWebProtobufsCompanionReg.CompanionCommitment + return file_waCompanionReg_WACompanionReg_proto_rawDescData +} + +var file_waCompanionReg_WACompanionReg_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_waCompanionReg_WACompanionReg_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_waCompanionReg_WACompanionReg_proto_goTypes = []any{ + (DeviceProps_PlatformType)(0), // 0: WACompanionReg.DeviceProps.PlatformType + (*DeviceProps)(nil), // 1: WACompanionReg.DeviceProps + (*CompanionEphemeralIdentity)(nil), // 2: WACompanionReg.CompanionEphemeralIdentity + (*CompanionCommitment)(nil), // 3: WACompanionReg.CompanionCommitment + (*ProloguePayload)(nil), // 4: WACompanionReg.ProloguePayload + (*PrimaryEphemeralIdentity)(nil), // 5: WACompanionReg.PrimaryEphemeralIdentity + (*PairingRequest)(nil), // 6: WACompanionReg.PairingRequest + (*EncryptedPairingRequest)(nil), // 7: WACompanionReg.EncryptedPairingRequest + (*ClientPairingProps)(nil), // 8: WACompanionReg.ClientPairingProps + (*DeviceProps_HistorySyncConfig)(nil), // 9: WACompanionReg.DeviceProps.HistorySyncConfig + (*DeviceProps_AppVersion)(nil), // 10: WACompanionReg.DeviceProps.AppVersion +} +var file_waCompanionReg_WACompanionReg_proto_depIdxs = []int32{ + 10, // 0: WACompanionReg.DeviceProps.version:type_name -> WACompanionReg.DeviceProps.AppVersion + 0, // 1: WACompanionReg.DeviceProps.platformType:type_name -> WACompanionReg.DeviceProps.PlatformType + 9, // 2: WACompanionReg.DeviceProps.historySyncConfig:type_name -> WACompanionReg.DeviceProps.HistorySyncConfig + 0, // 3: WACompanionReg.CompanionEphemeralIdentity.deviceType:type_name -> WACompanionReg.DeviceProps.PlatformType + 3, // 4: WACompanionReg.ProloguePayload.commitment:type_name -> WACompanionReg.CompanionCommitment 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name @@ -865,28 +865,28 @@ var file_waCompanionReg_WAWebProtobufsCompanionReg_proto_depIdxs = []int32{ 0, // [0:5] is the sub-list for field type_name } -func init() { file_waCompanionReg_WAWebProtobufsCompanionReg_proto_init() } -func file_waCompanionReg_WAWebProtobufsCompanionReg_proto_init() { - if File_waCompanionReg_WAWebProtobufsCompanionReg_proto != nil { +func init() { file_waCompanionReg_WACompanionReg_proto_init() } +func file_waCompanionReg_WACompanionReg_proto_init() { + if File_waCompanionReg_WACompanionReg_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDesc, + RawDescriptor: file_waCompanionReg_WACompanionReg_proto_rawDesc, NumEnums: 1, NumMessages: 10, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_waCompanionReg_WAWebProtobufsCompanionReg_proto_goTypes, - DependencyIndexes: file_waCompanionReg_WAWebProtobufsCompanionReg_proto_depIdxs, - EnumInfos: file_waCompanionReg_WAWebProtobufsCompanionReg_proto_enumTypes, - MessageInfos: file_waCompanionReg_WAWebProtobufsCompanionReg_proto_msgTypes, + GoTypes: file_waCompanionReg_WACompanionReg_proto_goTypes, + DependencyIndexes: file_waCompanionReg_WACompanionReg_proto_depIdxs, + EnumInfos: file_waCompanionReg_WACompanionReg_proto_enumTypes, + MessageInfos: file_waCompanionReg_WACompanionReg_proto_msgTypes, }.Build() - File_waCompanionReg_WAWebProtobufsCompanionReg_proto = out.File - file_waCompanionReg_WAWebProtobufsCompanionReg_proto_rawDesc = nil - file_waCompanionReg_WAWebProtobufsCompanionReg_proto_goTypes = nil - file_waCompanionReg_WAWebProtobufsCompanionReg_proto_depIdxs = nil + File_waCompanionReg_WACompanionReg_proto = out.File + file_waCompanionReg_WACompanionReg_proto_rawDesc = nil + file_waCompanionReg_WACompanionReg_proto_goTypes = nil + file_waCompanionReg_WACompanionReg_proto_depIdxs = nil } diff --git a/proto/waCompanionReg/WAWebProtobufsCompanionReg.pb.raw b/proto/waCompanionReg/WACompanionReg.pb.raw similarity index 74% rename from proto/waCompanionReg/WAWebProtobufsCompanionReg.pb.raw rename to proto/waCompanionReg/WACompanionReg.pb.raw index 9de638269b59c425f4ce3614899f3e1a1ac58f30..180f08418199c253fa92511d045475cba802d9b4 100644 GIT binary patch delta 217 zcmaDNGC{o0;2}Ek(yq(eq(d6@NHYy=pTq&t#naQbO6G8UlG%*aQ gWiorPia!@ua(-@ZW=U>pUJ2C6`sh~tV;5oq0B+l3X#fBK diff --git a/proto/waCompanionReg/WAWebProtobufsCompanionReg.proto b/proto/waCompanionReg/WACompanionReg.proto similarity index 98% rename from proto/waCompanionReg/WAWebProtobufsCompanionReg.proto rename to proto/waCompanionReg/WACompanionReg.proto index dd91bf5c..5b431a57 100644 --- a/proto/waCompanionReg/WAWebProtobufsCompanionReg.proto +++ b/proto/waCompanionReg/WACompanionReg.proto @@ -1,5 +1,5 @@ syntax = "proto2"; -package WAWebProtobufsCompanionReg; +package WACompanionReg; option go_package = "go.mau.fi/whatsmeow/proto/waCompanionReg"; message DeviceProps { diff --git a/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.go b/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.go index 21cb9c90..1a7c152e 100644 --- a/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.go +++ b/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.go @@ -85,6 +85,7 @@ func (DeviceCapabilities_ChatLockSupportLevel) EnumDescriptor() ([]byte, []int) type DeviceCapabilities struct { state protoimpl.MessageState `protogen:"open.v1"` ChatLockSupportLevel *DeviceCapabilities_ChatLockSupportLevel `protobuf:"varint,1,opt,name=chatLockSupportLevel,enum=WAProtobufsDeviceCapabilities.DeviceCapabilities_ChatLockSupportLevel" json:"chatLockSupportLevel,omitempty"` + LidMigration *DeviceCapabilities_LIDMigration `protobuf:"bytes,2,opt,name=lidMigration" json:"lidMigration,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -126,6 +127,57 @@ func (x *DeviceCapabilities) GetChatLockSupportLevel() DeviceCapabilities_ChatLo return DeviceCapabilities_NONE } +func (x *DeviceCapabilities) GetLidMigration() *DeviceCapabilities_LIDMigration { + if x != nil { + return x.LidMigration + } + return nil +} + +type DeviceCapabilities_LIDMigration struct { + state protoimpl.MessageState `protogen:"open.v1"` + ChatDbMigrationTimestamp *uint64 `protobuf:"varint,1,opt,name=chatDbMigrationTimestamp" json:"chatDbMigrationTimestamp,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeviceCapabilities_LIDMigration) Reset() { + *x = DeviceCapabilities_LIDMigration{} + mi := &file_waDeviceCapabilities_WAProtobufsDeviceCapabilities_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeviceCapabilities_LIDMigration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviceCapabilities_LIDMigration) ProtoMessage() {} + +func (x *DeviceCapabilities_LIDMigration) ProtoReflect() protoreflect.Message { + mi := &file_waDeviceCapabilities_WAProtobufsDeviceCapabilities_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeviceCapabilities_LIDMigration.ProtoReflect.Descriptor instead. +func (*DeviceCapabilities_LIDMigration) Descriptor() ([]byte, []int) { + return file_waDeviceCapabilities_WAProtobufsDeviceCapabilities_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *DeviceCapabilities_LIDMigration) GetChatDbMigrationTimestamp() uint64 { + if x != nil && x.ChatDbMigrationTimestamp != nil { + return *x.ChatDbMigrationTimestamp + } + return 0 +} + var File_waDeviceCapabilities_WAProtobufsDeviceCapabilities_proto protoreflect.FileDescriptor //go:embed WAProtobufsDeviceCapabilities.pb.raw @@ -144,18 +196,20 @@ func file_waDeviceCapabilities_WAProtobufsDeviceCapabilities_proto_rawDescGZIP() } var file_waDeviceCapabilities_WAProtobufsDeviceCapabilities_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_waDeviceCapabilities_WAProtobufsDeviceCapabilities_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_waDeviceCapabilities_WAProtobufsDeviceCapabilities_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_waDeviceCapabilities_WAProtobufsDeviceCapabilities_proto_goTypes = []any{ (DeviceCapabilities_ChatLockSupportLevel)(0), // 0: WAProtobufsDeviceCapabilities.DeviceCapabilities.ChatLockSupportLevel (*DeviceCapabilities)(nil), // 1: WAProtobufsDeviceCapabilities.DeviceCapabilities + (*DeviceCapabilities_LIDMigration)(nil), // 2: WAProtobufsDeviceCapabilities.DeviceCapabilities.LIDMigration } var file_waDeviceCapabilities_WAProtobufsDeviceCapabilities_proto_depIdxs = []int32{ 0, // 0: WAProtobufsDeviceCapabilities.DeviceCapabilities.chatLockSupportLevel:type_name -> WAProtobufsDeviceCapabilities.DeviceCapabilities.ChatLockSupportLevel - 1, // [1:1] is the sub-list for method output_type - 1, // [1:1] is the sub-list for method input_type - 1, // [1:1] is the sub-list for extension type_name - 1, // [1:1] is the sub-list for extension extendee - 0, // [0:1] is the sub-list for field type_name + 2, // 1: WAProtobufsDeviceCapabilities.DeviceCapabilities.lidMigration:type_name -> WAProtobufsDeviceCapabilities.DeviceCapabilities.LIDMigration + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name } func init() { file_waDeviceCapabilities_WAProtobufsDeviceCapabilities_proto_init() } @@ -169,7 +223,7 @@ func file_waDeviceCapabilities_WAProtobufsDeviceCapabilities_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_waDeviceCapabilities_WAProtobufsDeviceCapabilities_proto_rawDesc, NumEnums: 1, - NumMessages: 1, + NumMessages: 2, NumExtensions: 0, NumServices: 0, }, diff --git a/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.raw b/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.raw index 27c69f6a89cf5839c28a092ea00a737c8b55d434..bd88029ae72b18120cc375a9b8794931fb549f37 100644 GIT binary patch delta 146 zcmcc4)Xp*?is>iQ#Fz;ZLP=aaIhiTGndwD|C7Jno5=;t=8r(*96DJs@`FOg(#e+~( rNqKScAj=9_aY-a+B$l`&!8L?r=B5^xB<2=KFak|v3BoBq@l7@W+3+$H delta 16 YcmZo?xz02pis>Zd#Fz<_=P+gi05jhPGXMYp diff --git a/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto b/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto index d64c1cf1..0334d24b 100644 --- a/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto +++ b/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto @@ -9,5 +9,10 @@ message DeviceCapabilities { FULL = 2; } + message LIDMigration { + optional uint64 chatDbMigrationTimestamp = 1; + } + optional ChatLockSupportLevel chatLockSupportLevel = 1; + optional LIDMigration lidMigration = 2; } diff --git a/proto/waE2E/WAWebProtobufsE2E.pb.go b/proto/waE2E/WAWebProtobufsE2E.pb.go index 8b0d20a9..f6e5a295 100644 --- a/proto/waE2E/WAWebProtobufsE2E.pb.go +++ b/proto/waE2E/WAWebProtobufsE2E.pb.go @@ -2121,6 +2121,8 @@ const ( ProtocolMessage_STATUS_MENTION_MESSAGE ProtocolMessage_Type = 25 ProtocolMessage_STOP_GENERATION_MESSAGE ProtocolMessage_Type = 26 ProtocolMessage_LIMIT_SHARING ProtocolMessage_Type = 27 + ProtocolMessage_AI_PSI_METADATA ProtocolMessage_Type = 28 + ProtocolMessage_AI_QUERY_FANOUT ProtocolMessage_Type = 29 ) // Enum value maps for ProtocolMessage_Type. @@ -2149,6 +2151,8 @@ var ( 25: "STATUS_MENTION_MESSAGE", 26: "STOP_GENERATION_MESSAGE", 27: "LIMIT_SHARING", + 28: "AI_PSI_METADATA", + 29: "AI_QUERY_FANOUT", } ProtocolMessage_Type_value = map[string]int32{ "REVOKE": 0, @@ -2174,6 +2178,8 @@ var ( "STATUS_MENTION_MESSAGE": 25, "STOP_GENERATION_MESSAGE": 26, "LIMIT_SHARING": 27, + "AI_PSI_METADATA": 28, + "AI_QUERY_FANOUT": 29, } ) @@ -2808,6 +2814,62 @@ func (ExtendedTextMessage_FontType) EnumDescriptor() ([]byte, []int) { return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{27, 2} } +type PaymentLinkMetadata_PaymentLinkHeader_PaymentLinkHeaderType int32 + +const ( + PaymentLinkMetadata_PaymentLinkHeader_LINK_PREVIEW PaymentLinkMetadata_PaymentLinkHeader_PaymentLinkHeaderType = 0 + PaymentLinkMetadata_PaymentLinkHeader_ORDER PaymentLinkMetadata_PaymentLinkHeader_PaymentLinkHeaderType = 1 +) + +// Enum value maps for PaymentLinkMetadata_PaymentLinkHeader_PaymentLinkHeaderType. +var ( + PaymentLinkMetadata_PaymentLinkHeader_PaymentLinkHeaderType_name = map[int32]string{ + 0: "LINK_PREVIEW", + 1: "ORDER", + } + PaymentLinkMetadata_PaymentLinkHeader_PaymentLinkHeaderType_value = map[string]int32{ + "LINK_PREVIEW": 0, + "ORDER": 1, + } +) + +func (x PaymentLinkMetadata_PaymentLinkHeader_PaymentLinkHeaderType) Enum() *PaymentLinkMetadata_PaymentLinkHeader_PaymentLinkHeaderType { + p := new(PaymentLinkMetadata_PaymentLinkHeader_PaymentLinkHeaderType) + *p = x + return p +} + +func (x PaymentLinkMetadata_PaymentLinkHeader_PaymentLinkHeaderType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PaymentLinkMetadata_PaymentLinkHeader_PaymentLinkHeaderType) Descriptor() protoreflect.EnumDescriptor { + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[43].Descriptor() +} + +func (PaymentLinkMetadata_PaymentLinkHeader_PaymentLinkHeaderType) Type() protoreflect.EnumType { + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[43] +} + +func (x PaymentLinkMetadata_PaymentLinkHeader_PaymentLinkHeaderType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *PaymentLinkMetadata_PaymentLinkHeader_PaymentLinkHeaderType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = PaymentLinkMetadata_PaymentLinkHeader_PaymentLinkHeaderType(num) + return nil +} + +// Deprecated: Use PaymentLinkMetadata_PaymentLinkHeader_PaymentLinkHeaderType.Descriptor instead. +func (PaymentLinkMetadata_PaymentLinkHeader_PaymentLinkHeaderType) EnumDescriptor() ([]byte, []int) { + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{28, 0, 0} +} + type StatusNotificationMessage_StatusNotificationType int32 const ( @@ -2841,11 +2903,11 @@ func (x StatusNotificationMessage_StatusNotificationType) String() string { } func (StatusNotificationMessage_StatusNotificationType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[43].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[44].Descriptor() } func (StatusNotificationMessage_StatusNotificationType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[43] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[44] } func (x StatusNotificationMessage_StatusNotificationType) Number() protoreflect.EnumNumber { @@ -2864,7 +2926,7 @@ func (x *StatusNotificationMessage_StatusNotificationType) UnmarshalJSON(b []byt // Deprecated: Use StatusNotificationMessage_StatusNotificationType.Descriptor instead. func (StatusNotificationMessage_StatusNotificationType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{28, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{29, 0} } type InvoiceMessage_AttachmentType int32 @@ -2897,11 +2959,11 @@ func (x InvoiceMessage_AttachmentType) String() string { } func (InvoiceMessage_AttachmentType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[44].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[45].Descriptor() } func (InvoiceMessage_AttachmentType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[44] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[45] } func (x InvoiceMessage_AttachmentType) Number() protoreflect.EnumNumber { @@ -2920,7 +2982,7 @@ func (x *InvoiceMessage_AttachmentType) UnmarshalJSON(b []byte) error { // Deprecated: Use InvoiceMessage_AttachmentType.Descriptor instead. func (InvoiceMessage_AttachmentType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{29, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{30, 0} } type ImageMessage_ImageSourceType int32 @@ -2959,11 +3021,11 @@ func (x ImageMessage_ImageSourceType) String() string { } func (ImageMessage_ImageSourceType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[45].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[46].Descriptor() } func (ImageMessage_ImageSourceType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[45] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[46] } func (x ImageMessage_ImageSourceType) Number() protoreflect.EnumNumber { @@ -2982,7 +3044,7 @@ func (x *ImageMessage_ImageSourceType) UnmarshalJSON(b []byte) error { // Deprecated: Use ImageMessage_ImageSourceType.Descriptor instead. func (ImageMessage_ImageSourceType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{30, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{31, 0} } type ContextInfo_PairedMediaType int32 @@ -3024,11 +3086,11 @@ func (x ContextInfo_PairedMediaType) String() string { } func (ContextInfo_PairedMediaType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[46].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[47].Descriptor() } func (ContextInfo_PairedMediaType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[46] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[47] } func (x ContextInfo_PairedMediaType) Number() protoreflect.EnumNumber { @@ -3047,7 +3109,7 @@ func (x *ContextInfo_PairedMediaType) UnmarshalJSON(b []byte) error { // Deprecated: Use ContextInfo_PairedMediaType.Descriptor instead. func (ContextInfo_PairedMediaType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{31, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{32, 0} } type ContextInfo_StatusAttributionType int32 @@ -3083,11 +3145,11 @@ func (x ContextInfo_StatusAttributionType) String() string { } func (ContextInfo_StatusAttributionType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[47].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[48].Descriptor() } func (ContextInfo_StatusAttributionType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[47] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[48] } func (x ContextInfo_StatusAttributionType) Number() protoreflect.EnumNumber { @@ -3106,7 +3168,7 @@ func (x *ContextInfo_StatusAttributionType) UnmarshalJSON(b []byte) error { // Deprecated: Use ContextInfo_StatusAttributionType.Descriptor instead. func (ContextInfo_StatusAttributionType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{31, 1} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{32, 1} } type ContextInfo_ForwardedNewsletterMessageInfo_ContentType int32 @@ -3142,11 +3204,11 @@ func (x ContextInfo_ForwardedNewsletterMessageInfo_ContentType) String() string } func (ContextInfo_ForwardedNewsletterMessageInfo_ContentType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[48].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[49].Descriptor() } func (ContextInfo_ForwardedNewsletterMessageInfo_ContentType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[48] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[49] } func (x ContextInfo_ForwardedNewsletterMessageInfo_ContentType) Number() protoreflect.EnumNumber { @@ -3165,7 +3227,7 @@ func (x *ContextInfo_ForwardedNewsletterMessageInfo_ContentType) UnmarshalJSON(b // Deprecated: Use ContextInfo_ForwardedNewsletterMessageInfo_ContentType.Descriptor instead. func (ContextInfo_ForwardedNewsletterMessageInfo_ContentType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{31, 0, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{32, 0, 0} } type ContextInfo_ExternalAdReplyInfo_MediaType int32 @@ -3201,11 +3263,11 @@ func (x ContextInfo_ExternalAdReplyInfo_MediaType) String() string { } func (ContextInfo_ExternalAdReplyInfo_MediaType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[49].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[50].Descriptor() } func (ContextInfo_ExternalAdReplyInfo_MediaType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[49] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[50] } func (x ContextInfo_ExternalAdReplyInfo_MediaType) Number() protoreflect.EnumNumber { @@ -3224,7 +3286,7 @@ func (x *ContextInfo_ExternalAdReplyInfo_MediaType) UnmarshalJSON(b []byte) erro // Deprecated: Use ContextInfo_ExternalAdReplyInfo_MediaType.Descriptor instead. func (ContextInfo_ExternalAdReplyInfo_MediaType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{31, 1, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{32, 1, 0} } type ContextInfo_AdReplyInfo_MediaType int32 @@ -3260,11 +3322,11 @@ func (x ContextInfo_AdReplyInfo_MediaType) String() string { } func (ContextInfo_AdReplyInfo_MediaType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[50].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[51].Descriptor() } func (ContextInfo_AdReplyInfo_MediaType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[50] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[51] } func (x ContextInfo_AdReplyInfo_MediaType) Number() protoreflect.EnumNumber { @@ -3283,7 +3345,7 @@ func (x *ContextInfo_AdReplyInfo_MediaType) UnmarshalJSON(b []byte) error { // Deprecated: Use ContextInfo_AdReplyInfo_MediaType.Descriptor instead. func (ContextInfo_AdReplyInfo_MediaType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{31, 2, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{32, 2, 0} } type BotPluginMetadata_PluginType int32 @@ -3319,11 +3381,11 @@ func (x BotPluginMetadata_PluginType) String() string { } func (BotPluginMetadata_PluginType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[51].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[52].Descriptor() } func (BotPluginMetadata_PluginType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[51] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[52] } func (x BotPluginMetadata_PluginType) Number() protoreflect.EnumNumber { @@ -3342,7 +3404,7 @@ func (x *BotPluginMetadata_PluginType) UnmarshalJSON(b []byte) error { // Deprecated: Use BotPluginMetadata_PluginType.Descriptor instead. func (BotPluginMetadata_PluginType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{32, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{33, 0} } type BotPluginMetadata_SearchProvider int32 @@ -3381,11 +3443,11 @@ func (x BotPluginMetadata_SearchProvider) String() string { } func (BotPluginMetadata_SearchProvider) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[52].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[53].Descriptor() } func (BotPluginMetadata_SearchProvider) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[52] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[53] } func (x BotPluginMetadata_SearchProvider) Number() protoreflect.EnumNumber { @@ -3404,7 +3466,7 @@ func (x *BotPluginMetadata_SearchProvider) UnmarshalJSON(b []byte) error { // Deprecated: Use BotPluginMetadata_SearchProvider.Descriptor instead. func (BotPluginMetadata_SearchProvider) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{32, 1} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{33, 1} } type BotLinkedAccount_BotLinkedAccountType int32 @@ -3434,11 +3496,11 @@ func (x BotLinkedAccount_BotLinkedAccountType) String() string { } func (BotLinkedAccount_BotLinkedAccountType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[53].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[54].Descriptor() } func (BotLinkedAccount_BotLinkedAccountType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[53] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[54] } func (x BotLinkedAccount_BotLinkedAccountType) Number() protoreflect.EnumNumber { @@ -3457,7 +3519,7 @@ func (x *BotLinkedAccount_BotLinkedAccountType) UnmarshalJSON(b []byte) error { // Deprecated: Use BotLinkedAccount_BotLinkedAccountType.Descriptor instead. func (BotLinkedAccount_BotLinkedAccountType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{33, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 0} } type AIRichResponseMessage_AIRichResponseSubMessageType int32 @@ -3514,11 +3576,11 @@ func (x AIRichResponseMessage_AIRichResponseSubMessageType) String() string { } func (AIRichResponseMessage_AIRichResponseSubMessageType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[54].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[55].Descriptor() } func (AIRichResponseMessage_AIRichResponseSubMessageType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[54] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[55] } func (x AIRichResponseMessage_AIRichResponseSubMessageType) Number() protoreflect.EnumNumber { @@ -3537,7 +3599,7 @@ func (x *AIRichResponseMessage_AIRichResponseSubMessageType) UnmarshalJSON(b []b // Deprecated: Use AIRichResponseMessage_AIRichResponseSubMessageType.Descriptor instead. func (AIRichResponseMessage_AIRichResponseSubMessageType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 0} } type AIRichResponseMessage_AIRichResponseMessageType int32 @@ -3570,11 +3632,11 @@ func (x AIRichResponseMessage_AIRichResponseMessageType) String() string { } func (AIRichResponseMessage_AIRichResponseMessageType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[55].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[56].Descriptor() } func (AIRichResponseMessage_AIRichResponseMessageType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[55] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[56] } func (x AIRichResponseMessage_AIRichResponseMessageType) Number() protoreflect.EnumNumber { @@ -3593,7 +3655,7 @@ func (x *AIRichResponseMessage_AIRichResponseMessageType) UnmarshalJSON(b []byte // Deprecated: Use AIRichResponseMessage_AIRichResponseMessageType.Descriptor instead. func (AIRichResponseMessage_AIRichResponseMessageType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 1} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 1} } type AIRichResponseMessage_AIRichResponseContentItemsMetadata_ContentType int32 @@ -3626,11 +3688,11 @@ func (x AIRichResponseMessage_AIRichResponseContentItemsMetadata_ContentType) St } func (AIRichResponseMessage_AIRichResponseContentItemsMetadata_ContentType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[56].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[57].Descriptor() } func (AIRichResponseMessage_AIRichResponseContentItemsMetadata_ContentType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[56] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[57] } func (x AIRichResponseMessage_AIRichResponseContentItemsMetadata_ContentType) Number() protoreflect.EnumNumber { @@ -3649,7 +3711,7 @@ func (x *AIRichResponseMessage_AIRichResponseContentItemsMetadata_ContentType) U // Deprecated: Use AIRichResponseMessage_AIRichResponseContentItemsMetadata_ContentType.Descriptor instead. func (AIRichResponseMessage_AIRichResponseContentItemsMetadata_ContentType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 0, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 0, 0} } type AIRichResponseMessage_AIRichResponseDynamicMetadata_AIRichResponseDynamicMetadataType int32 @@ -3685,11 +3747,11 @@ func (x AIRichResponseMessage_AIRichResponseDynamicMetadata_AIRichResponseDynami } func (AIRichResponseMessage_AIRichResponseDynamicMetadata_AIRichResponseDynamicMetadataType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[57].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[58].Descriptor() } func (AIRichResponseMessage_AIRichResponseDynamicMetadata_AIRichResponseDynamicMetadataType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[57] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[58] } func (x AIRichResponseMessage_AIRichResponseDynamicMetadata_AIRichResponseDynamicMetadataType) Number() protoreflect.EnumNumber { @@ -3708,7 +3770,7 @@ func (x *AIRichResponseMessage_AIRichResponseDynamicMetadata_AIRichResponseDynam // Deprecated: Use AIRichResponseMessage_AIRichResponseDynamicMetadata_AIRichResponseDynamicMetadataType.Descriptor instead. func (AIRichResponseMessage_AIRichResponseDynamicMetadata_AIRichResponseDynamicMetadataType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 1, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 1, 0} } type AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeHighlightType int32 @@ -3753,11 +3815,11 @@ func (x AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeHighl } func (AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeHighlightType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[58].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[59].Descriptor() } func (AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeHighlightType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[58] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[59] } func (x AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeHighlightType) Number() protoreflect.EnumNumber { @@ -3776,7 +3838,7 @@ func (x *AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeHigh // Deprecated: Use AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeHighlightType.Descriptor instead. func (AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeHighlightType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 2, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 2, 0} } type AIRichResponseMessage_AIRichResponseInlineImageMetadata_AIRichResponseImageAlignment int32 @@ -3812,11 +3874,11 @@ func (x AIRichResponseMessage_AIRichResponseInlineImageMetadata_AIRichResponseIm } func (AIRichResponseMessage_AIRichResponseInlineImageMetadata_AIRichResponseImageAlignment) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[59].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[60].Descriptor() } func (AIRichResponseMessage_AIRichResponseInlineImageMetadata_AIRichResponseImageAlignment) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[59] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[60] } func (x AIRichResponseMessage_AIRichResponseInlineImageMetadata_AIRichResponseImageAlignment) Number() protoreflect.EnumNumber { @@ -3835,7 +3897,7 @@ func (x *AIRichResponseMessage_AIRichResponseInlineImageMetadata_AIRichResponseI // Deprecated: Use AIRichResponseMessage_AIRichResponseInlineImageMetadata_AIRichResponseImageAlignment.Descriptor instead. func (AIRichResponseMessage_AIRichResponseInlineImageMetadata_AIRichResponseImageAlignment) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 3, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 3, 0} } type BotMediaMetadata_OrientationType int32 @@ -3871,11 +3933,11 @@ func (x BotMediaMetadata_OrientationType) String() string { } func (BotMediaMetadata_OrientationType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[60].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[61].Descriptor() } func (BotMediaMetadata_OrientationType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[60] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[61] } func (x BotMediaMetadata_OrientationType) Number() protoreflect.EnumNumber { @@ -3894,7 +3956,7 @@ func (x *BotMediaMetadata_OrientationType) UnmarshalJSON(b []byte) error { // Deprecated: Use BotMediaMetadata_OrientationType.Descriptor instead. func (BotMediaMetadata_OrientationType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{36, 0} } type BotReminderMetadata_ReminderFrequency int32 @@ -3936,11 +3998,11 @@ func (x BotReminderMetadata_ReminderFrequency) String() string { } func (BotReminderMetadata_ReminderFrequency) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[61].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[62].Descriptor() } func (BotReminderMetadata_ReminderFrequency) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[61] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[62] } func (x BotReminderMetadata_ReminderFrequency) Number() protoreflect.EnumNumber { @@ -3959,7 +4021,7 @@ func (x *BotReminderMetadata_ReminderFrequency) UnmarshalJSON(b []byte) error { // Deprecated: Use BotReminderMetadata_ReminderFrequency.Descriptor instead. func (BotReminderMetadata_ReminderFrequency) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{36, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{37, 0} } type BotReminderMetadata_ReminderAction int32 @@ -3998,11 +4060,11 @@ func (x BotReminderMetadata_ReminderAction) String() string { } func (BotReminderMetadata_ReminderAction) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[62].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[63].Descriptor() } func (BotReminderMetadata_ReminderAction) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[62] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[63] } func (x BotReminderMetadata_ReminderAction) Number() protoreflect.EnumNumber { @@ -4021,7 +4083,7 @@ func (x *BotReminderMetadata_ReminderAction) UnmarshalJSON(b []byte) error { // Deprecated: Use BotReminderMetadata_ReminderAction.Descriptor instead. func (BotReminderMetadata_ReminderAction) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{36, 1} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{37, 1} } type BotModelMetadata_PremiumModelStatus int32 @@ -4057,11 +4119,11 @@ func (x BotModelMetadata_PremiumModelStatus) String() string { } func (BotModelMetadata_PremiumModelStatus) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[63].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[64].Descriptor() } func (BotModelMetadata_PremiumModelStatus) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[63] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[64] } func (x BotModelMetadata_PremiumModelStatus) Number() protoreflect.EnumNumber { @@ -4080,7 +4142,7 @@ func (x *BotModelMetadata_PremiumModelStatus) UnmarshalJSON(b []byte) error { // Deprecated: Use BotModelMetadata_PremiumModelStatus.Descriptor instead. func (BotModelMetadata_PremiumModelStatus) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{37, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{38, 0} } type BotModelMetadata_ModelType int32 @@ -4116,11 +4178,11 @@ func (x BotModelMetadata_ModelType) String() string { } func (BotModelMetadata_ModelType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[64].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[65].Descriptor() } func (BotModelMetadata_ModelType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[64] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[65] } func (x BotModelMetadata_ModelType) Number() protoreflect.EnumNumber { @@ -4139,31 +4201,31 @@ func (x *BotModelMetadata_ModelType) UnmarshalJSON(b []byte) error { // Deprecated: Use BotModelMetadata_ModelType.Descriptor instead. func (BotModelMetadata_ModelType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{37, 1} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{38, 1} } type BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotSearchSourceProvider int32 const ( - BotProgressIndicatorMetadata_BotPlanningStepMetadata_UNKNOWNPROVIDER BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotSearchSourceProvider = 0 - BotProgressIndicatorMetadata_BotPlanningStepMetadata_OTHER BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotSearchSourceProvider = 1 - BotProgressIndicatorMetadata_BotPlanningStepMetadata_GOOGLE BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotSearchSourceProvider = 2 - BotProgressIndicatorMetadata_BotPlanningStepMetadata_BING BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotSearchSourceProvider = 3 + BotProgressIndicatorMetadata_BotPlanningStepMetadata_UNKNOWN_PROVIDER BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotSearchSourceProvider = 0 + BotProgressIndicatorMetadata_BotPlanningStepMetadata_OTHER BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotSearchSourceProvider = 1 + BotProgressIndicatorMetadata_BotPlanningStepMetadata_GOOGLE BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotSearchSourceProvider = 2 + BotProgressIndicatorMetadata_BotPlanningStepMetadata_BING BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotSearchSourceProvider = 3 ) // Enum value maps for BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotSearchSourceProvider. var ( BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotSearchSourceProvider_name = map[int32]string{ - 0: "UNKNOWNPROVIDER", + 0: "UNKNOWN_PROVIDER", 1: "OTHER", 2: "GOOGLE", 3: "BING", } BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotSearchSourceProvider_value = map[string]int32{ - "UNKNOWNPROVIDER": 0, - "OTHER": 1, - "GOOGLE": 2, - "BING": 3, + "UNKNOWN_PROVIDER": 0, + "OTHER": 1, + "GOOGLE": 2, + "BING": 3, } ) @@ -4178,11 +4240,11 @@ func (x BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotSearchSourceProv } func (BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotSearchSourceProvider) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[65].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[66].Descriptor() } func (BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotSearchSourceProvider) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[65] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[66] } func (x BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotSearchSourceProvider) Number() protoreflect.EnumNumber { @@ -4201,7 +4263,7 @@ func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotSearchSourcePro // Deprecated: Use BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotSearchSourceProvider.Descriptor instead. func (BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotSearchSourceProvider) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{38, 0, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{39, 0, 0} } type BotProgressIndicatorMetadata_BotPlanningStepMetadata_PlanningStepStatus int32 @@ -4240,11 +4302,11 @@ func (x BotProgressIndicatorMetadata_BotPlanningStepMetadata_PlanningStepStatus) } func (BotProgressIndicatorMetadata_BotPlanningStepMetadata_PlanningStepStatus) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[66].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[67].Descriptor() } func (BotProgressIndicatorMetadata_BotPlanningStepMetadata_PlanningStepStatus) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[66] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[67] } func (x BotProgressIndicatorMetadata_BotPlanningStepMetadata_PlanningStepStatus) Number() protoreflect.EnumNumber { @@ -4263,7 +4325,7 @@ func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata_PlanningStepStatus // Deprecated: Use BotProgressIndicatorMetadata_BotPlanningStepMetadata_PlanningStepStatus.Descriptor instead. func (BotProgressIndicatorMetadata_BotPlanningStepMetadata_PlanningStepStatus) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{38, 0, 1} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{39, 0, 1} } type BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourcesMetadata_BotPlanningSearchSourceProvider int32 @@ -4302,11 +4364,11 @@ func (x BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSo } func (BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourcesMetadata_BotPlanningSearchSourceProvider) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[67].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[68].Descriptor() } func (BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourcesMetadata_BotPlanningSearchSourceProvider) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[67] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[68] } func (x BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourcesMetadata_BotPlanningSearchSourceProvider) Number() protoreflect.EnumNumber { @@ -4325,7 +4387,7 @@ func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchS // Deprecated: Use BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourcesMetadata_BotPlanningSearchSourceProvider.Descriptor instead. func (BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourcesMetadata_BotPlanningSearchSourceProvider) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{38, 0, 0, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{39, 0, 0, 0} } type BotCapabilityMetadata_BotCapabilityType int32 @@ -4361,6 +4423,10 @@ const ( BotCapabilityMetadata_AGENTIC_PLANNING BotCapabilityMetadata_BotCapabilityType = 27 BotCapabilityMetadata_ACCOUNT_LINKING BotCapabilityMetadata_BotCapabilityType = 28 BotCapabilityMetadata_STREAMING_DISAGGREGATION BotCapabilityMetadata_BotCapabilityType = 29 + BotCapabilityMetadata_RICH_RESPONSE_GRID_IMAGE_3P BotCapabilityMetadata_BotCapabilityType = 30 + BotCapabilityMetadata_RICH_RESPONSE_LATEX_INLINE BotCapabilityMetadata_BotCapabilityType = 31 + BotCapabilityMetadata_QUERY_PLAN BotCapabilityMetadata_BotCapabilityType = 32 + BotCapabilityMetadata_PROACTIVE_MESSAGE BotCapabilityMetadata_BotCapabilityType = 33 ) // Enum value maps for BotCapabilityMetadata_BotCapabilityType. @@ -4396,6 +4462,10 @@ var ( 27: "AGENTIC_PLANNING", 28: "ACCOUNT_LINKING", 29: "STREAMING_DISAGGREGATION", + 30: "RICH_RESPONSE_GRID_IMAGE_3P", + 31: "RICH_RESPONSE_LATEX_INLINE", + 32: "QUERY_PLAN", + 33: "PROACTIVE_MESSAGE", } BotCapabilityMetadata_BotCapabilityType_value = map[string]int32{ "UNKNOWN": 0, @@ -4428,6 +4498,10 @@ var ( "AGENTIC_PLANNING": 27, "ACCOUNT_LINKING": 28, "STREAMING_DISAGGREGATION": 29, + "RICH_RESPONSE_GRID_IMAGE_3P": 30, + "RICH_RESPONSE_LATEX_INLINE": 31, + "QUERY_PLAN": 32, + "PROACTIVE_MESSAGE": 33, } ) @@ -4442,11 +4516,11 @@ func (x BotCapabilityMetadata_BotCapabilityType) String() string { } func (BotCapabilityMetadata_BotCapabilityType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[68].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[69].Descriptor() } func (BotCapabilityMetadata_BotCapabilityType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[68] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[69] } func (x BotCapabilityMetadata_BotCapabilityType) Number() protoreflect.EnumNumber { @@ -4465,7 +4539,7 @@ func (x *BotCapabilityMetadata_BotCapabilityType) UnmarshalJSON(b []byte) error // Deprecated: Use BotCapabilityMetadata_BotCapabilityType.Descriptor instead. func (BotCapabilityMetadata_BotCapabilityType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{39, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{40, 0} } type BotImagineMetadata_ImagineType int32 @@ -4507,11 +4581,11 @@ func (x BotImagineMetadata_ImagineType) String() string { } func (BotImagineMetadata_ImagineType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[69].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[70].Descriptor() } func (BotImagineMetadata_ImagineType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[69] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[70] } func (x BotImagineMetadata_ImagineType) Number() protoreflect.EnumNumber { @@ -4530,7 +4604,7 @@ func (x *BotImagineMetadata_ImagineType) UnmarshalJSON(b []byte) error { // Deprecated: Use BotImagineMetadata_ImagineType.Descriptor instead. func (BotImagineMetadata_ImagineType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{40, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{41, 0} } type BotSourcesMetadata_BotSourceItem_SourceProvider int32 @@ -4569,11 +4643,11 @@ func (x BotSourcesMetadata_BotSourceItem_SourceProvider) String() string { } func (BotSourcesMetadata_BotSourceItem_SourceProvider) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[70].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[71].Descriptor() } func (BotSourcesMetadata_BotSourceItem_SourceProvider) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[70] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[71] } func (x BotSourcesMetadata_BotSourceItem_SourceProvider) Number() protoreflect.EnumNumber { @@ -4592,7 +4666,7 @@ func (x *BotSourcesMetadata_BotSourceItem_SourceProvider) UnmarshalJSON(b []byte // Deprecated: Use BotSourcesMetadata_BotSourceItem_SourceProvider.Descriptor instead. func (BotSourcesMetadata_BotSourceItem_SourceProvider) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{41, 0, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{42, 0, 0} } type MessageAssociation_AssociationType int32 @@ -4604,13 +4678,15 @@ const ( MessageAssociation_EVENT_COVER_IMAGE MessageAssociation_AssociationType = 3 MessageAssociation_STATUS_POLL MessageAssociation_AssociationType = 4 MessageAssociation_HD_VIDEO_DUAL_UPLOAD MessageAssociation_AssociationType = 5 - MessageAssociation_STATUS_TAPPABLE_MESSAGE MessageAssociation_AssociationType = 6 + MessageAssociation_STATUS_EXTERNAL_RESHARE MessageAssociation_AssociationType = 6 MessageAssociation_MEDIA_POLL MessageAssociation_AssociationType = 7 MessageAssociation_STATUS_ADD_YOURS MessageAssociation_AssociationType = 8 MessageAssociation_STATUS_NOTIFICATION MessageAssociation_AssociationType = 9 MessageAssociation_HD_IMAGE_DUAL_UPLOAD MessageAssociation_AssociationType = 10 MessageAssociation_STICKER_ANNOTATION MessageAssociation_AssociationType = 11 MessageAssociation_MOTION_PHOTO MessageAssociation_AssociationType = 12 + MessageAssociation_STATUS_LINK_ACTION MessageAssociation_AssociationType = 13 + MessageAssociation_VIEW_ALL_REPLIES MessageAssociation_AssociationType = 14 ) // Enum value maps for MessageAssociation_AssociationType. @@ -4622,13 +4698,15 @@ var ( 3: "EVENT_COVER_IMAGE", 4: "STATUS_POLL", 5: "HD_VIDEO_DUAL_UPLOAD", - 6: "STATUS_TAPPABLE_MESSAGE", + 6: "STATUS_EXTERNAL_RESHARE", 7: "MEDIA_POLL", 8: "STATUS_ADD_YOURS", 9: "STATUS_NOTIFICATION", 10: "HD_IMAGE_DUAL_UPLOAD", 11: "STICKER_ANNOTATION", 12: "MOTION_PHOTO", + 13: "STATUS_LINK_ACTION", + 14: "VIEW_ALL_REPLIES", } MessageAssociation_AssociationType_value = map[string]int32{ "UNKNOWN": 0, @@ -4637,13 +4715,15 @@ var ( "EVENT_COVER_IMAGE": 3, "STATUS_POLL": 4, "HD_VIDEO_DUAL_UPLOAD": 5, - "STATUS_TAPPABLE_MESSAGE": 6, + "STATUS_EXTERNAL_RESHARE": 6, "MEDIA_POLL": 7, "STATUS_ADD_YOURS": 8, "STATUS_NOTIFICATION": 9, "HD_IMAGE_DUAL_UPLOAD": 10, "STICKER_ANNOTATION": 11, "MOTION_PHOTO": 12, + "STATUS_LINK_ACTION": 13, + "VIEW_ALL_REPLIES": 14, } ) @@ -4658,11 +4738,11 @@ func (x MessageAssociation_AssociationType) String() string { } func (MessageAssociation_AssociationType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[71].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[72].Descriptor() } func (MessageAssociation_AssociationType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[71] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[72] } func (x MessageAssociation_AssociationType) Number() protoreflect.EnumNumber { @@ -4681,7 +4761,7 @@ func (x *MessageAssociation_AssociationType) UnmarshalJSON(b []byte) error { // Deprecated: Use MessageAssociation_AssociationType.Descriptor instead. func (MessageAssociation_AssociationType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{42, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{43, 0} } type MessageContextInfo_MessageAddonExpiryType int32 @@ -4714,11 +4794,11 @@ func (x MessageContextInfo_MessageAddonExpiryType) String() string { } func (MessageContextInfo_MessageAddonExpiryType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[72].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[73].Descriptor() } func (MessageContextInfo_MessageAddonExpiryType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[72] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[73] } func (x MessageContextInfo_MessageAddonExpiryType) Number() protoreflect.EnumNumber { @@ -4737,7 +4817,66 @@ func (x *MessageContextInfo_MessageAddonExpiryType) UnmarshalJSON(b []byte) erro // Deprecated: Use MessageContextInfo_MessageAddonExpiryType.Descriptor instead. func (MessageContextInfo_MessageAddonExpiryType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{43, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{44, 0} +} + +type InteractiveAnnotation_StatusLinkType int32 + +const ( + InteractiveAnnotation_RASTERIZED_LINK_PREVIEW InteractiveAnnotation_StatusLinkType = 1 + InteractiveAnnotation_RASTERIZED_LINK_TRUNCATED InteractiveAnnotation_StatusLinkType = 2 + InteractiveAnnotation_RASTERIZED_LINK_FULL_URL InteractiveAnnotation_StatusLinkType = 3 +) + +// Enum value maps for InteractiveAnnotation_StatusLinkType. +var ( + InteractiveAnnotation_StatusLinkType_name = map[int32]string{ + 1: "RASTERIZED_LINK_PREVIEW", + 2: "RASTERIZED_LINK_TRUNCATED", + 3: "RASTERIZED_LINK_FULL_URL", + } + InteractiveAnnotation_StatusLinkType_value = map[string]int32{ + "RASTERIZED_LINK_PREVIEW": 1, + "RASTERIZED_LINK_TRUNCATED": 2, + "RASTERIZED_LINK_FULL_URL": 3, + } +) + +func (x InteractiveAnnotation_StatusLinkType) Enum() *InteractiveAnnotation_StatusLinkType { + p := new(InteractiveAnnotation_StatusLinkType) + *p = x + return p +} + +func (x InteractiveAnnotation_StatusLinkType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (InteractiveAnnotation_StatusLinkType) Descriptor() protoreflect.EnumDescriptor { + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[74].Descriptor() +} + +func (InteractiveAnnotation_StatusLinkType) Type() protoreflect.EnumType { + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[74] +} + +func (x InteractiveAnnotation_StatusLinkType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *InteractiveAnnotation_StatusLinkType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = InteractiveAnnotation_StatusLinkType(num) + return nil +} + +// Deprecated: Use InteractiveAnnotation_StatusLinkType.Descriptor instead. +func (InteractiveAnnotation_StatusLinkType) EnumDescriptor() ([]byte, []int) { + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{45, 0} } type HydratedTemplateButton_HydratedURLButton_WebviewPresentationType int32 @@ -4773,11 +4912,11 @@ func (x HydratedTemplateButton_HydratedURLButton_WebviewPresentationType) String } func (HydratedTemplateButton_HydratedURLButton_WebviewPresentationType) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[73].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[75].Descriptor() } func (HydratedTemplateButton_HydratedURLButton_WebviewPresentationType) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[73] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[75] } func (x HydratedTemplateButton_HydratedURLButton_WebviewPresentationType) Number() protoreflect.EnumNumber { @@ -4796,7 +4935,7 @@ func (x *HydratedTemplateButton_HydratedURLButton_WebviewPresentationType) Unmar // Deprecated: Use HydratedTemplateButton_HydratedURLButton_WebviewPresentationType.Descriptor instead. func (HydratedTemplateButton_HydratedURLButton_WebviewPresentationType) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{44, 0, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{46, 0, 0} } type PaymentBackground_Type int32 @@ -4829,11 +4968,11 @@ func (x PaymentBackground_Type) String() string { } func (PaymentBackground_Type) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[74].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[76].Descriptor() } func (PaymentBackground_Type) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[74] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[76] } func (x PaymentBackground_Type) Number() protoreflect.EnumNumber { @@ -4852,7 +4991,7 @@ func (x *PaymentBackground_Type) UnmarshalJSON(b []byte) error { // Deprecated: Use PaymentBackground_Type.Descriptor instead. func (PaymentBackground_Type) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{45, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{47, 0} } type DisappearingMode_Trigger int32 @@ -4897,11 +5036,11 @@ func (x DisappearingMode_Trigger) String() string { } func (DisappearingMode_Trigger) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[75].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[77].Descriptor() } func (DisappearingMode_Trigger) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[75] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[77] } func (x DisappearingMode_Trigger) Number() protoreflect.EnumNumber { @@ -4920,7 +5059,7 @@ func (x *DisappearingMode_Trigger) UnmarshalJSON(b []byte) error { // Deprecated: Use DisappearingMode_Trigger.Descriptor instead. func (DisappearingMode_Trigger) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{46, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{48, 0} } type DisappearingMode_Initiator int32 @@ -4959,11 +5098,11 @@ func (x DisappearingMode_Initiator) String() string { } func (DisappearingMode_Initiator) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[76].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[78].Descriptor() } func (DisappearingMode_Initiator) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[76] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[78] } func (x DisappearingMode_Initiator) Number() protoreflect.EnumNumber { @@ -4982,7 +5121,7 @@ func (x *DisappearingMode_Initiator) UnmarshalJSON(b []byte) error { // Deprecated: Use DisappearingMode_Initiator.Descriptor instead. func (DisappearingMode_Initiator) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{46, 1} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{48, 1} } type ProcessedVideo_VideoQuality int32 @@ -5021,11 +5160,11 @@ func (x ProcessedVideo_VideoQuality) String() string { } func (ProcessedVideo_VideoQuality) Descriptor() protoreflect.EnumDescriptor { - return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[77].Descriptor() + return file_waE2E_WAWebProtobufsE2E_proto_enumTypes[79].Descriptor() } func (ProcessedVideo_VideoQuality) Type() protoreflect.EnumType { - return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[77] + return &file_waE2E_WAWebProtobufsE2E_proto_enumTypes[79] } func (x ProcessedVideo_VideoQuality) Number() protoreflect.EnumNumber { @@ -5044,7 +5183,7 @@ func (x *ProcessedVideo_VideoQuality) UnmarshalJSON(b []byte) error { // Deprecated: Use ProcessedVideo_VideoQuality.Descriptor instead. func (ProcessedVideo_VideoQuality) EnumDescriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{47, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{49, 0} } type StickerPackMessage struct { @@ -7203,6 +7342,8 @@ type ProtocolMessage struct { CloudApiThreadControlNotification *CloudAPIThreadControlNotification `protobuf:"bytes,22,opt,name=cloudApiThreadControlNotification" json:"cloudApiThreadControlNotification,omitempty"` LidMigrationMappingSyncMessage *LIDMigrationMappingSyncMessage `protobuf:"bytes,23,opt,name=lidMigrationMappingSyncMessage" json:"lidMigrationMappingSyncMessage,omitempty"` LimitSharing *waCommon.LimitSharing `protobuf:"bytes,24,opt,name=limitSharing" json:"limitSharing,omitempty"` + AiPsiMetadata []byte `protobuf:"bytes,25,opt,name=aiPsiMetadata" json:"aiPsiMetadata,omitempty"` + AiQueryFanout *AIQueryFanout `protobuf:"bytes,26,opt,name=aiQueryFanout" json:"aiQueryFanout,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -7384,6 +7525,20 @@ func (x *ProtocolMessage) GetLimitSharing() *waCommon.LimitSharing { return nil } +func (x *ProtocolMessage) GetAiPsiMetadata() []byte { + if x != nil { + return x.AiPsiMetadata + } + return nil +} + +func (x *ProtocolMessage) GetAiQueryFanout() *AIQueryFanout { + if x != nil { + return x.AiQueryFanout + } + return nil +} + type CloudAPIThreadControlNotification struct { state protoimpl.MessageState `protogen:"open.v1"` Status *CloudAPIThreadControlNotification_CloudAPIThreadControl `protobuf:"varint,1,opt,name=status,enum=WAWebProtobufsE2E.CloudAPIThreadControlNotification_CloudAPIThreadControl" json:"status,omitempty"` @@ -7816,6 +7971,8 @@ type ExtendedTextMessage struct { VideoHeight *uint32 `protobuf:"varint,31,opt,name=videoHeight" json:"videoHeight,omitempty"` VideoWidth *uint32 `protobuf:"varint,32,opt,name=videoWidth" json:"videoWidth,omitempty"` FaviconMMSMetadata *MMSThumbnailMetadata `protobuf:"bytes,33,opt,name=faviconMMSMetadata" json:"faviconMMSMetadata,omitempty"` + LinkPreviewMetadata *LinkPreviewMetadata `protobuf:"bytes,34,opt,name=linkPreviewMetadata" json:"linkPreviewMetadata,omitempty"` + PaymentLinkMetadata *PaymentLinkMetadata `protobuf:"bytes,35,opt,name=paymentLinkMetadata" json:"paymentLinkMetadata,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -8032,8 +8189,74 @@ func (x *ExtendedTextMessage) GetFaviconMMSMetadata() *MMSThumbnailMetadata { return nil } -type StatusNotificationMessage struct { - state protoimpl.MessageState `protogen:"open.v1"` +func (x *ExtendedTextMessage) GetLinkPreviewMetadata() *LinkPreviewMetadata { + if x != nil { + return x.LinkPreviewMetadata + } + return nil +} + +func (x *ExtendedTextMessage) GetPaymentLinkMetadata() *PaymentLinkMetadata { + if x != nil { + return x.PaymentLinkMetadata + } + return nil +} + +type PaymentLinkMetadata struct { + state protoimpl.MessageState `protogen:"open.v1"` + Button *PaymentLinkMetadata_PaymentLinkButton `protobuf:"bytes,1,opt,name=button" json:"button,omitempty"` + Header *PaymentLinkMetadata_PaymentLinkHeader `protobuf:"bytes,2,opt,name=header" json:"header,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PaymentLinkMetadata) Reset() { + *x = PaymentLinkMetadata{} + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PaymentLinkMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PaymentLinkMetadata) ProtoMessage() {} + +func (x *PaymentLinkMetadata) ProtoReflect() protoreflect.Message { + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PaymentLinkMetadata.ProtoReflect.Descriptor instead. +func (*PaymentLinkMetadata) Descriptor() ([]byte, []int) { + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{28} +} + +func (x *PaymentLinkMetadata) GetButton() *PaymentLinkMetadata_PaymentLinkButton { + if x != nil { + return x.Button + } + return nil +} + +func (x *PaymentLinkMetadata) GetHeader() *PaymentLinkMetadata_PaymentLinkHeader { + if x != nil { + return x.Header + } + return nil +} + +type StatusNotificationMessage struct { + state protoimpl.MessageState `protogen:"open.v1"` ResponseMessageKey *waCommon.MessageKey `protobuf:"bytes,1,opt,name=responseMessageKey" json:"responseMessageKey,omitempty"` OriginalMessageKey *waCommon.MessageKey `protobuf:"bytes,2,opt,name=originalMessageKey" json:"originalMessageKey,omitempty"` Type *StatusNotificationMessage_StatusNotificationType `protobuf:"varint,3,opt,name=type,enum=WAWebProtobufsE2E.StatusNotificationMessage_StatusNotificationType" json:"type,omitempty"` @@ -8043,7 +8266,7 @@ type StatusNotificationMessage struct { func (x *StatusNotificationMessage) Reset() { *x = StatusNotificationMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[28] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8055,7 +8278,7 @@ func (x *StatusNotificationMessage) String() string { func (*StatusNotificationMessage) ProtoMessage() {} func (x *StatusNotificationMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[28] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8068,7 +8291,7 @@ func (x *StatusNotificationMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use StatusNotificationMessage.ProtoReflect.Descriptor instead. func (*StatusNotificationMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{28} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{29} } func (x *StatusNotificationMessage) GetResponseMessageKey() *waCommon.MessageKey { @@ -8110,7 +8333,7 @@ type InvoiceMessage struct { func (x *InvoiceMessage) Reset() { *x = InvoiceMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[29] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8122,7 +8345,7 @@ func (x *InvoiceMessage) String() string { func (*InvoiceMessage) ProtoMessage() {} func (x *InvoiceMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[29] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8135,7 +8358,7 @@ func (x *InvoiceMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use InvoiceMessage.ProtoReflect.Descriptor instead. func (*InvoiceMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{29} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{30} } func (x *InvoiceMessage) GetNote() string { @@ -8245,7 +8468,7 @@ type ImageMessage struct { func (x *ImageMessage) Reset() { *x = ImageMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[30] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8257,7 +8480,7 @@ func (x *ImageMessage) String() string { func (*ImageMessage) ProtoMessage() {} func (x *ImageMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[30] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8270,7 +8493,7 @@ func (x *ImageMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use ImageMessage.ProtoReflect.Descriptor instead. func (*ImageMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{30} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{31} } func (x *ImageMessage) GetURL() string { @@ -8528,7 +8751,7 @@ type ContextInfo struct { func (x *ContextInfo) Reset() { *x = ContextInfo{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[31] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8540,7 +8763,7 @@ func (x *ContextInfo) String() string { func (*ContextInfo) ProtoMessage() {} func (x *ContextInfo) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[31] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8553,7 +8776,7 @@ func (x *ContextInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ContextInfo.ProtoReflect.Descriptor instead. func (*ContextInfo) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{31} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{32} } func (x *ContextInfo) GetStanzaID() string { @@ -8884,7 +9107,7 @@ type BotPluginMetadata struct { func (x *BotPluginMetadata) Reset() { *x = BotPluginMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[32] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8896,7 +9119,7 @@ func (x *BotPluginMetadata) String() string { func (*BotPluginMetadata) ProtoMessage() {} func (x *BotPluginMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[32] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8909,7 +9132,7 @@ func (x *BotPluginMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use BotPluginMetadata.ProtoReflect.Descriptor instead. func (*BotPluginMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{32} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{33} } func (x *BotPluginMetadata) GetProvider() BotPluginMetadata_SearchProvider { @@ -9005,7 +9228,7 @@ type BotLinkedAccount struct { func (x *BotLinkedAccount) Reset() { *x = BotLinkedAccount{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[33] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9017,7 +9240,7 @@ func (x *BotLinkedAccount) String() string { func (*BotLinkedAccount) ProtoMessage() {} func (x *BotLinkedAccount) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[33] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9030,7 +9253,7 @@ func (x *BotLinkedAccount) ProtoReflect() protoreflect.Message { // Deprecated: Use BotLinkedAccount.ProtoReflect.Descriptor instead. func (*BotLinkedAccount) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{33} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34} } func (x *BotLinkedAccount) GetType() BotLinkedAccount_BotLinkedAccountType { @@ -9051,7 +9274,7 @@ type AIRichResponseMessage struct { func (x *AIRichResponseMessage) Reset() { *x = AIRichResponseMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[34] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9063,7 +9286,7 @@ func (x *AIRichResponseMessage) String() string { func (*AIRichResponseMessage) ProtoMessage() {} func (x *AIRichResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[34] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9076,7 +9299,7 @@ func (x *AIRichResponseMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use AIRichResponseMessage.ProtoReflect.Descriptor instead. func (*AIRichResponseMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35} } func (x *AIRichResponseMessage) GetMessageType() AIRichResponseMessage_AIRichResponseMessageType { @@ -9115,7 +9338,7 @@ type BotMediaMetadata struct { func (x *BotMediaMetadata) Reset() { *x = BotMediaMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[35] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9127,7 +9350,7 @@ func (x *BotMediaMetadata) String() string { func (*BotMediaMetadata) ProtoMessage() {} func (x *BotMediaMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[35] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9140,7 +9363,7 @@ func (x *BotMediaMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use BotMediaMetadata.ProtoReflect.Descriptor instead. func (*BotMediaMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{36} } func (x *BotMediaMetadata) GetFileSHA256() string { @@ -9205,7 +9428,7 @@ type BotReminderMetadata struct { func (x *BotReminderMetadata) Reset() { *x = BotReminderMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[36] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9217,7 +9440,7 @@ func (x *BotReminderMetadata) String() string { func (*BotReminderMetadata) ProtoMessage() {} func (x *BotReminderMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[36] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9230,7 +9453,7 @@ func (x *BotReminderMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use BotReminderMetadata.ProtoReflect.Descriptor instead. func (*BotReminderMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{36} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{37} } func (x *BotReminderMetadata) GetRequestMessageKey() *waCommon.MessageKey { @@ -9278,7 +9501,7 @@ type BotModelMetadata struct { func (x *BotModelMetadata) Reset() { *x = BotModelMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[37] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9290,7 +9513,7 @@ func (x *BotModelMetadata) String() string { func (*BotModelMetadata) ProtoMessage() {} func (x *BotModelMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[37] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9303,7 +9526,7 @@ func (x *BotModelMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use BotModelMetadata.ProtoReflect.Descriptor instead. func (*BotModelMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{37} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{38} } func (x *BotModelMetadata) GetModelType() BotModelMetadata_ModelType { @@ -9330,7 +9553,7 @@ type BotProgressIndicatorMetadata struct { func (x *BotProgressIndicatorMetadata) Reset() { *x = BotProgressIndicatorMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[38] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9342,7 +9565,7 @@ func (x *BotProgressIndicatorMetadata) String() string { func (*BotProgressIndicatorMetadata) ProtoMessage() {} func (x *BotProgressIndicatorMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[38] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9355,7 +9578,7 @@ func (x *BotProgressIndicatorMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use BotProgressIndicatorMetadata.ProtoReflect.Descriptor instead. func (*BotProgressIndicatorMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{38} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{39} } func (x *BotProgressIndicatorMetadata) GetProgressDescription() string { @@ -9381,7 +9604,7 @@ type BotCapabilityMetadata struct { func (x *BotCapabilityMetadata) Reset() { *x = BotCapabilityMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[39] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9393,7 +9616,7 @@ func (x *BotCapabilityMetadata) String() string { func (*BotCapabilityMetadata) ProtoMessage() {} func (x *BotCapabilityMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[39] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9406,7 +9629,7 @@ func (x *BotCapabilityMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use BotCapabilityMetadata.ProtoReflect.Descriptor instead. func (*BotCapabilityMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{39} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{40} } func (x *BotCapabilityMetadata) GetCapabilities() []BotCapabilityMetadata_BotCapabilityType { @@ -9425,7 +9648,7 @@ type BotImagineMetadata struct { func (x *BotImagineMetadata) Reset() { *x = BotImagineMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[40] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9437,7 +9660,7 @@ func (x *BotImagineMetadata) String() string { func (*BotImagineMetadata) ProtoMessage() {} func (x *BotImagineMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[40] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9450,7 +9673,7 @@ func (x *BotImagineMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use BotImagineMetadata.ProtoReflect.Descriptor instead. func (*BotImagineMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{40} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{41} } func (x *BotImagineMetadata) GetImagineType() BotImagineMetadata_ImagineType { @@ -9469,7 +9692,7 @@ type BotSourcesMetadata struct { func (x *BotSourcesMetadata) Reset() { *x = BotSourcesMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[41] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9481,7 +9704,7 @@ func (x *BotSourcesMetadata) String() string { func (*BotSourcesMetadata) ProtoMessage() {} func (x *BotSourcesMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[41] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9494,7 +9717,7 @@ func (x *BotSourcesMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use BotSourcesMetadata.ProtoReflect.Descriptor instead. func (*BotSourcesMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{41} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{42} } func (x *BotSourcesMetadata) GetSources() []*BotSourcesMetadata_BotSourceItem { @@ -9515,7 +9738,7 @@ type MessageAssociation struct { func (x *MessageAssociation) Reset() { *x = MessageAssociation{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[42] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9527,7 +9750,7 @@ func (x *MessageAssociation) String() string { func (*MessageAssociation) ProtoMessage() {} func (x *MessageAssociation) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[42] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9540,7 +9763,7 @@ func (x *MessageAssociation) ProtoReflect() protoreflect.Message { // Deprecated: Use MessageAssociation.ProtoReflect.Descriptor instead. func (*MessageAssociation) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{42} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{43} } func (x *MessageAssociation) GetAssociationType() MessageAssociation_AssociationType { @@ -9578,13 +9801,14 @@ type MessageContextInfo struct { MessageAssociation *MessageAssociation `protobuf:"bytes,10,opt,name=messageAssociation" json:"messageAssociation,omitempty"` CapiCreatedGroup *bool `protobuf:"varint,11,opt,name=capiCreatedGroup" json:"capiCreatedGroup,omitempty"` SupportPayload *string `protobuf:"bytes,12,opt,name=supportPayload" json:"supportPayload,omitempty"` + LimitSharing *waCommon.LimitSharing `protobuf:"bytes,13,opt,name=limitSharing" json:"limitSharing,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *MessageContextInfo) Reset() { *x = MessageContextInfo{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[43] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9596,7 +9820,7 @@ func (x *MessageContextInfo) String() string { func (*MessageContextInfo) ProtoMessage() {} func (x *MessageContextInfo) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[43] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9609,7 +9833,7 @@ func (x *MessageContextInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use MessageContextInfo.ProtoReflect.Descriptor instead. func (*MessageContextInfo) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{43} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{44} } func (x *MessageContextInfo) GetDeviceListMetadata() *DeviceListMetadata { @@ -9696,34 +9920,45 @@ func (x *MessageContextInfo) GetSupportPayload() string { return "" } -type HydratedTemplateButton struct { +func (x *MessageContextInfo) GetLimitSharing() *waCommon.LimitSharing { + if x != nil { + return x.LimitSharing + } + return nil +} + +type InteractiveAnnotation struct { state protoimpl.MessageState `protogen:"open.v1"` - // Types that are valid to be assigned to HydratedButton: + // Types that are valid to be assigned to Action: // - // *HydratedTemplateButton_QuickReplyButton - // *HydratedTemplateButton_UrlButton - // *HydratedTemplateButton_CallButton - HydratedButton isHydratedTemplateButton_HydratedButton `protobuf_oneof:"hydratedButton"` - Index *uint32 `protobuf:"varint,4,opt,name=index" json:"index,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // *InteractiveAnnotation_Location + // *InteractiveAnnotation_Newsletter + // *InteractiveAnnotation_EmbeddedAction + // *InteractiveAnnotation_TapAction + Action isInteractiveAnnotation_Action `protobuf_oneof:"action"` + PolygonVertices []*Point `protobuf:"bytes,1,rep,name=polygonVertices" json:"polygonVertices,omitempty"` + ShouldSkipConfirmation *bool `protobuf:"varint,4,opt,name=shouldSkipConfirmation" json:"shouldSkipConfirmation,omitempty"` + EmbeddedContent *EmbeddedContent `protobuf:"bytes,5,opt,name=embeddedContent" json:"embeddedContent,omitempty"` + StatusLinkType *InteractiveAnnotation_StatusLinkType `protobuf:"varint,8,opt,name=statusLinkType,enum=WAWebProtobufsE2E.InteractiveAnnotation_StatusLinkType" json:"statusLinkType,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *HydratedTemplateButton) Reset() { - *x = HydratedTemplateButton{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[44] +func (x *InteractiveAnnotation) Reset() { + *x = InteractiveAnnotation{} + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *HydratedTemplateButton) String() string { +func (x *InteractiveAnnotation) String() string { return protoimpl.X.MessageStringOf(x) } -func (*HydratedTemplateButton) ProtoMessage() {} +func (*InteractiveAnnotation) ProtoMessage() {} -func (x *HydratedTemplateButton) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[44] +func (x *InteractiveAnnotation) ProtoReflect() protoreflect.Message { + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9734,71 +9969,213 @@ func (x *HydratedTemplateButton) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use HydratedTemplateButton.ProtoReflect.Descriptor instead. -func (*HydratedTemplateButton) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{44} +// Deprecated: Use InteractiveAnnotation.ProtoReflect.Descriptor instead. +func (*InteractiveAnnotation) Descriptor() ([]byte, []int) { + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{45} } -func (x *HydratedTemplateButton) GetHydratedButton() isHydratedTemplateButton_HydratedButton { +func (x *InteractiveAnnotation) GetAction() isInteractiveAnnotation_Action { if x != nil { - return x.HydratedButton + return x.Action } return nil } -func (x *HydratedTemplateButton) GetQuickReplyButton() *HydratedTemplateButton_HydratedQuickReplyButton { +func (x *InteractiveAnnotation) GetLocation() *Location { if x != nil { - if x, ok := x.HydratedButton.(*HydratedTemplateButton_QuickReplyButton); ok { - return x.QuickReplyButton + if x, ok := x.Action.(*InteractiveAnnotation_Location); ok { + return x.Location } } return nil } -func (x *HydratedTemplateButton) GetUrlButton() *HydratedTemplateButton_HydratedURLButton { +func (x *InteractiveAnnotation) GetNewsletter() *ContextInfo_ForwardedNewsletterMessageInfo { if x != nil { - if x, ok := x.HydratedButton.(*HydratedTemplateButton_UrlButton); ok { - return x.UrlButton + if x, ok := x.Action.(*InteractiveAnnotation_Newsletter); ok { + return x.Newsletter } } return nil } -func (x *HydratedTemplateButton) GetCallButton() *HydratedTemplateButton_HydratedCallButton { +func (x *InteractiveAnnotation) GetEmbeddedAction() bool { if x != nil { - if x, ok := x.HydratedButton.(*HydratedTemplateButton_CallButton); ok { - return x.CallButton + if x, ok := x.Action.(*InteractiveAnnotation_EmbeddedAction); ok { + return x.EmbeddedAction + } + } + return false +} + +func (x *InteractiveAnnotation) GetTapAction() *TapLinkAction { + if x != nil { + if x, ok := x.Action.(*InteractiveAnnotation_TapAction); ok { + return x.TapAction } } return nil } -func (x *HydratedTemplateButton) GetIndex() uint32 { - if x != nil && x.Index != nil { - return *x.Index +func (x *InteractiveAnnotation) GetPolygonVertices() []*Point { + if x != nil { + return x.PolygonVertices } - return 0 + return nil } -type isHydratedTemplateButton_HydratedButton interface { - isHydratedTemplateButton_HydratedButton() +func (x *InteractiveAnnotation) GetShouldSkipConfirmation() bool { + if x != nil && x.ShouldSkipConfirmation != nil { + return *x.ShouldSkipConfirmation + } + return false } -type HydratedTemplateButton_QuickReplyButton struct { - QuickReplyButton *HydratedTemplateButton_HydratedQuickReplyButton `protobuf:"bytes,1,opt,name=quickReplyButton,oneof"` +func (x *InteractiveAnnotation) GetEmbeddedContent() *EmbeddedContent { + if x != nil { + return x.EmbeddedContent + } + return nil } -type HydratedTemplateButton_UrlButton struct { - UrlButton *HydratedTemplateButton_HydratedURLButton `protobuf:"bytes,2,opt,name=urlButton,oneof"` +func (x *InteractiveAnnotation) GetStatusLinkType() InteractiveAnnotation_StatusLinkType { + if x != nil && x.StatusLinkType != nil { + return *x.StatusLinkType + } + return InteractiveAnnotation_RASTERIZED_LINK_PREVIEW } -type HydratedTemplateButton_CallButton struct { - CallButton *HydratedTemplateButton_HydratedCallButton `protobuf:"bytes,3,opt,name=callButton,oneof"` +type isInteractiveAnnotation_Action interface { + isInteractiveAnnotation_Action() } -func (*HydratedTemplateButton_QuickReplyButton) isHydratedTemplateButton_HydratedButton() {} +type InteractiveAnnotation_Location struct { + Location *Location `protobuf:"bytes,2,opt,name=location,oneof"` +} -func (*HydratedTemplateButton_UrlButton) isHydratedTemplateButton_HydratedButton() {} +type InteractiveAnnotation_Newsletter struct { + Newsletter *ContextInfo_ForwardedNewsletterMessageInfo `protobuf:"bytes,3,opt,name=newsletter,oneof"` +} + +type InteractiveAnnotation_EmbeddedAction struct { + EmbeddedAction bool `protobuf:"varint,6,opt,name=embeddedAction,oneof"` +} + +type InteractiveAnnotation_TapAction struct { + TapAction *TapLinkAction `protobuf:"bytes,7,opt,name=tapAction,oneof"` +} + +func (*InteractiveAnnotation_Location) isInteractiveAnnotation_Action() {} + +func (*InteractiveAnnotation_Newsletter) isInteractiveAnnotation_Action() {} + +func (*InteractiveAnnotation_EmbeddedAction) isInteractiveAnnotation_Action() {} + +func (*InteractiveAnnotation_TapAction) isInteractiveAnnotation_Action() {} + +type HydratedTemplateButton struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to HydratedButton: + // + // *HydratedTemplateButton_QuickReplyButton + // *HydratedTemplateButton_UrlButton + // *HydratedTemplateButton_CallButton + HydratedButton isHydratedTemplateButton_HydratedButton `protobuf_oneof:"hydratedButton"` + Index *uint32 `protobuf:"varint,4,opt,name=index" json:"index,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *HydratedTemplateButton) Reset() { + *x = HydratedTemplateButton{} + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *HydratedTemplateButton) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HydratedTemplateButton) ProtoMessage() {} + +func (x *HydratedTemplateButton) ProtoReflect() protoreflect.Message { + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[46] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HydratedTemplateButton.ProtoReflect.Descriptor instead. +func (*HydratedTemplateButton) Descriptor() ([]byte, []int) { + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{46} +} + +func (x *HydratedTemplateButton) GetHydratedButton() isHydratedTemplateButton_HydratedButton { + if x != nil { + return x.HydratedButton + } + return nil +} + +func (x *HydratedTemplateButton) GetQuickReplyButton() *HydratedTemplateButton_HydratedQuickReplyButton { + if x != nil { + if x, ok := x.HydratedButton.(*HydratedTemplateButton_QuickReplyButton); ok { + return x.QuickReplyButton + } + } + return nil +} + +func (x *HydratedTemplateButton) GetUrlButton() *HydratedTemplateButton_HydratedURLButton { + if x != nil { + if x, ok := x.HydratedButton.(*HydratedTemplateButton_UrlButton); ok { + return x.UrlButton + } + } + return nil +} + +func (x *HydratedTemplateButton) GetCallButton() *HydratedTemplateButton_HydratedCallButton { + if x != nil { + if x, ok := x.HydratedButton.(*HydratedTemplateButton_CallButton); ok { + return x.CallButton + } + } + return nil +} + +func (x *HydratedTemplateButton) GetIndex() uint32 { + if x != nil && x.Index != nil { + return *x.Index + } + return 0 +} + +type isHydratedTemplateButton_HydratedButton interface { + isHydratedTemplateButton_HydratedButton() +} + +type HydratedTemplateButton_QuickReplyButton struct { + QuickReplyButton *HydratedTemplateButton_HydratedQuickReplyButton `protobuf:"bytes,1,opt,name=quickReplyButton,oneof"` +} + +type HydratedTemplateButton_UrlButton struct { + UrlButton *HydratedTemplateButton_HydratedURLButton `protobuf:"bytes,2,opt,name=urlButton,oneof"` +} + +type HydratedTemplateButton_CallButton struct { + CallButton *HydratedTemplateButton_HydratedCallButton `protobuf:"bytes,3,opt,name=callButton,oneof"` +} + +func (*HydratedTemplateButton_QuickReplyButton) isHydratedTemplateButton_HydratedButton() {} + +func (*HydratedTemplateButton_UrlButton) isHydratedTemplateButton_HydratedButton() {} func (*HydratedTemplateButton_CallButton) isHydratedTemplateButton_HydratedButton() {} @@ -9820,7 +10197,7 @@ type PaymentBackground struct { func (x *PaymentBackground) Reset() { *x = PaymentBackground{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[45] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9832,7 +10209,7 @@ func (x *PaymentBackground) String() string { func (*PaymentBackground) ProtoMessage() {} func (x *PaymentBackground) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[45] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9845,7 +10222,7 @@ func (x *PaymentBackground) ProtoReflect() protoreflect.Message { // Deprecated: Use PaymentBackground.ProtoReflect.Descriptor instead. func (*PaymentBackground) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{45} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{47} } func (x *PaymentBackground) GetID() string { @@ -9930,7 +10307,7 @@ type DisappearingMode struct { func (x *DisappearingMode) Reset() { *x = DisappearingMode{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[46] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9942,7 +10319,7 @@ func (x *DisappearingMode) String() string { func (*DisappearingMode) ProtoMessage() {} func (x *DisappearingMode) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[46] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9955,7 +10332,7 @@ func (x *DisappearingMode) ProtoReflect() protoreflect.Message { // Deprecated: Use DisappearingMode.ProtoReflect.Descriptor instead. func (*DisappearingMode) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{46} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{48} } func (x *DisappearingMode) GetInitiator() DisappearingMode_Initiator { @@ -10002,7 +10379,7 @@ type ProcessedVideo struct { func (x *ProcessedVideo) Reset() { *x = ProcessedVideo{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[47] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10014,7 +10391,7 @@ func (x *ProcessedVideo) String() string { func (*ProcessedVideo) ProtoMessage() {} func (x *ProcessedVideo) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[47] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10027,7 +10404,7 @@ func (x *ProcessedVideo) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessedVideo.ProtoReflect.Descriptor instead. func (*ProcessedVideo) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{47} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{49} } func (x *ProcessedVideo) GetDirectPath() string { @@ -10170,13 +10547,15 @@ type Message struct { GroupStatusMessage *FutureProofMessage `protobuf:"bytes,96,opt,name=groupStatusMessage" json:"groupStatusMessage,omitempty"` RichResponseMessage *AIRichResponseMessage `protobuf:"bytes,97,opt,name=richResponseMessage" json:"richResponseMessage,omitempty"` StatusNotificationMessage *StatusNotificationMessage `protobuf:"bytes,98,opt,name=statusNotificationMessage" json:"statusNotificationMessage,omitempty"` + LimitSharingMessage *FutureProofMessage `protobuf:"bytes,99,opt,name=limitSharingMessage" json:"limitSharingMessage,omitempty"` + BotTaskMessage *FutureProofMessage `protobuf:"bytes,100,opt,name=botTaskMessage" json:"botTaskMessage,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Message) Reset() { *x = Message{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[48] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10188,7 +10567,7 @@ func (x *Message) String() string { func (*Message) ProtoMessage() {} func (x *Message) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[48] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10201,7 +10580,7 @@ func (x *Message) ProtoReflect() protoreflect.Message { // Deprecated: Use Message.ProtoReflect.Descriptor instead. func (*Message) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{48} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{50} } func (x *Message) GetConversation() string { @@ -10778,6 +11157,20 @@ func (x *Message) GetStatusNotificationMessage() *StatusNotificationMessage { return nil } +func (x *Message) GetLimitSharingMessage() *FutureProofMessage { + if x != nil { + return x.LimitSharingMessage + } + return nil +} + +func (x *Message) GetBotTaskMessage() *FutureProofMessage { + if x != nil { + return x.BotTaskMessage + } + return nil +} + type AlbumMessage struct { state protoimpl.MessageState `protogen:"open.v1"` ExpectedImageCount *uint32 `protobuf:"varint,2,opt,name=expectedImageCount" json:"expectedImageCount,omitempty"` @@ -10789,7 +11182,7 @@ type AlbumMessage struct { func (x *AlbumMessage) Reset() { *x = AlbumMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[49] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10801,7 +11194,7 @@ func (x *AlbumMessage) String() string { func (*AlbumMessage) ProtoMessage() {} func (x *AlbumMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[49] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10814,7 +11207,7 @@ func (x *AlbumMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use AlbumMessage.ProtoReflect.Descriptor instead. func (*AlbumMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{49} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{51} } func (x *AlbumMessage) GetExpectedImageCount() uint32 { @@ -10854,7 +11247,7 @@ type MessageHistoryBundle struct { func (x *MessageHistoryBundle) Reset() { *x = MessageHistoryBundle{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[50] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10866,7 +11259,7 @@ func (x *MessageHistoryBundle) String() string { func (*MessageHistoryBundle) ProtoMessage() {} func (x *MessageHistoryBundle) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[50] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10879,7 +11272,7 @@ func (x *MessageHistoryBundle) ProtoReflect() protoreflect.Message { // Deprecated: Use MessageHistoryBundle.ProtoReflect.Descriptor instead. func (*MessageHistoryBundle) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{50} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{52} } func (x *MessageHistoryBundle) GetMimetype() string { @@ -10949,7 +11342,7 @@ type EncEventResponseMessage struct { func (x *EncEventResponseMessage) Reset() { *x = EncEventResponseMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[51] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10961,7 +11354,7 @@ func (x *EncEventResponseMessage) String() string { func (*EncEventResponseMessage) ProtoMessage() {} func (x *EncEventResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[51] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10974,7 +11367,7 @@ func (x *EncEventResponseMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use EncEventResponseMessage.ProtoReflect.Descriptor instead. func (*EncEventResponseMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{51} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{53} } func (x *EncEventResponseMessage) GetEventCreationMessageKey() *waCommon.MessageKey { @@ -11009,13 +11402,14 @@ type EventMessage struct { StartTime *int64 `protobuf:"varint,7,opt,name=startTime" json:"startTime,omitempty"` EndTime *int64 `protobuf:"varint,8,opt,name=endTime" json:"endTime,omitempty"` ExtraGuestsAllowed *bool `protobuf:"varint,9,opt,name=extraGuestsAllowed" json:"extraGuestsAllowed,omitempty"` + IsScheduleCall *bool `protobuf:"varint,10,opt,name=isScheduleCall" json:"isScheduleCall,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *EventMessage) Reset() { *x = EventMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[52] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11027,7 +11421,7 @@ func (x *EventMessage) String() string { func (*EventMessage) ProtoMessage() {} func (x *EventMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[52] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11040,7 +11434,7 @@ func (x *EventMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use EventMessage.ProtoReflect.Descriptor instead. func (*EventMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{52} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{54} } func (x *EventMessage) GetContextInfo() *ContextInfo { @@ -11106,6 +11500,13 @@ func (x *EventMessage) GetExtraGuestsAllowed() bool { return false } +func (x *EventMessage) GetIsScheduleCall() bool { + if x != nil && x.IsScheduleCall != nil { + return *x.IsScheduleCall + } + return false +} + type CommentMessage struct { state protoimpl.MessageState `protogen:"open.v1"` Message *Message `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"` @@ -11116,7 +11517,7 @@ type CommentMessage struct { func (x *CommentMessage) Reset() { *x = CommentMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[53] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11128,7 +11529,7 @@ func (x *CommentMessage) String() string { func (*CommentMessage) ProtoMessage() {} func (x *CommentMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[53] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11141,7 +11542,7 @@ func (x *CommentMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use CommentMessage.ProtoReflect.Descriptor instead. func (*CommentMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{53} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{55} } func (x *CommentMessage) GetMessage() *Message { @@ -11169,7 +11570,7 @@ type EncCommentMessage struct { func (x *EncCommentMessage) Reset() { *x = EncCommentMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[54] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11181,7 +11582,7 @@ func (x *EncCommentMessage) String() string { func (*EncCommentMessage) ProtoMessage() {} func (x *EncCommentMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[54] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11194,7 +11595,7 @@ func (x *EncCommentMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use EncCommentMessage.ProtoReflect.Descriptor instead. func (*EncCommentMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{54} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{56} } func (x *EncCommentMessage) GetTargetMessageKey() *waCommon.MessageKey { @@ -11229,7 +11630,7 @@ type EncReactionMessage struct { func (x *EncReactionMessage) Reset() { *x = EncReactionMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[55] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11241,7 +11642,7 @@ func (x *EncReactionMessage) String() string { func (*EncReactionMessage) ProtoMessage() {} func (x *EncReactionMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[55] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11254,7 +11655,7 @@ func (x *EncReactionMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use EncReactionMessage.ProtoReflect.Descriptor instead. func (*EncReactionMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{55} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{57} } func (x *EncReactionMessage) GetTargetMessageKey() *waCommon.MessageKey { @@ -11289,7 +11690,7 @@ type KeepInChatMessage struct { func (x *KeepInChatMessage) Reset() { *x = KeepInChatMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[56] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11301,7 +11702,7 @@ func (x *KeepInChatMessage) String() string { func (*KeepInChatMessage) ProtoMessage() {} func (x *KeepInChatMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[56] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11314,7 +11715,7 @@ func (x *KeepInChatMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use KeepInChatMessage.ProtoReflect.Descriptor instead. func (*KeepInChatMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{56} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{58} } func (x *KeepInChatMessage) GetKey() *waCommon.MessageKey { @@ -11349,7 +11750,7 @@ type PollResultSnapshotMessage struct { func (x *PollResultSnapshotMessage) Reset() { *x = PollResultSnapshotMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[57] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11361,7 +11762,7 @@ func (x *PollResultSnapshotMessage) String() string { func (*PollResultSnapshotMessage) ProtoMessage() {} func (x *PollResultSnapshotMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[57] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11374,7 +11775,7 @@ func (x *PollResultSnapshotMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use PollResultSnapshotMessage.ProtoReflect.Descriptor instead. func (*PollResultSnapshotMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{57} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{59} } func (x *PollResultSnapshotMessage) GetName() string { @@ -11407,7 +11808,7 @@ type PollVoteMessage struct { func (x *PollVoteMessage) Reset() { *x = PollVoteMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[58] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11419,7 +11820,7 @@ func (x *PollVoteMessage) String() string { func (*PollVoteMessage) ProtoMessage() {} func (x *PollVoteMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[58] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11432,7 +11833,7 @@ func (x *PollVoteMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use PollVoteMessage.ProtoReflect.Descriptor instead. func (*PollVoteMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{58} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{60} } func (x *PollVoteMessage) GetSelectedOptions() [][]byte { @@ -11452,7 +11853,7 @@ type PollEncValue struct { func (x *PollEncValue) Reset() { *x = PollEncValue{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[59] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11464,7 +11865,7 @@ func (x *PollEncValue) String() string { func (*PollEncValue) ProtoMessage() {} func (x *PollEncValue) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[59] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11477,7 +11878,7 @@ func (x *PollEncValue) ProtoReflect() protoreflect.Message { // Deprecated: Use PollEncValue.ProtoReflect.Descriptor instead. func (*PollEncValue) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{59} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{61} } func (x *PollEncValue) GetEncPayload() []byte { @@ -11502,7 +11903,7 @@ type PollUpdateMessageMetadata struct { func (x *PollUpdateMessageMetadata) Reset() { *x = PollUpdateMessageMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[60] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11514,7 +11915,7 @@ func (x *PollUpdateMessageMetadata) String() string { func (*PollUpdateMessageMetadata) ProtoMessage() {} func (x *PollUpdateMessageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[60] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[62] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11527,7 +11928,7 @@ func (x *PollUpdateMessageMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use PollUpdateMessageMetadata.ProtoReflect.Descriptor instead. func (*PollUpdateMessageMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{60} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{62} } type PollUpdateMessage struct { @@ -11542,7 +11943,7 @@ type PollUpdateMessage struct { func (x *PollUpdateMessage) Reset() { *x = PollUpdateMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[61] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11554,7 +11955,7 @@ func (x *PollUpdateMessage) String() string { func (*PollUpdateMessage) ProtoMessage() {} func (x *PollUpdateMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[61] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[63] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11567,7 +11968,7 @@ func (x *PollUpdateMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use PollUpdateMessage.ProtoReflect.Descriptor instead. func (*PollUpdateMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{61} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{63} } func (x *PollUpdateMessage) GetPollCreationMessageKey() *waCommon.MessageKey { @@ -11609,7 +12010,7 @@ type StickerSyncRMRMessage struct { func (x *StickerSyncRMRMessage) Reset() { *x = StickerSyncRMRMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[62] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11621,7 +12022,7 @@ func (x *StickerSyncRMRMessage) String() string { func (*StickerSyncRMRMessage) ProtoMessage() {} func (x *StickerSyncRMRMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[62] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[64] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11634,7 +12035,7 @@ func (x *StickerSyncRMRMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use StickerSyncRMRMessage.ProtoReflect.Descriptor instead. func (*StickerSyncRMRMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{62} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{64} } func (x *StickerSyncRMRMessage) GetFilehash() []string { @@ -11670,7 +12071,7 @@ type ReactionMessage struct { func (x *ReactionMessage) Reset() { *x = ReactionMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[63] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11682,7 +12083,7 @@ func (x *ReactionMessage) String() string { func (*ReactionMessage) ProtoMessage() {} func (x *ReactionMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[63] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[65] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11695,7 +12096,7 @@ func (x *ReactionMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use ReactionMessage.ProtoReflect.Descriptor instead. func (*ReactionMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{63} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{65} } func (x *ReactionMessage) GetKey() *waCommon.MessageKey { @@ -11735,7 +12136,7 @@ type FutureProofMessage struct { func (x *FutureProofMessage) Reset() { *x = FutureProofMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[64] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11747,7 +12148,7 @@ func (x *FutureProofMessage) String() string { func (*FutureProofMessage) ProtoMessage() {} func (x *FutureProofMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[64] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[66] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11760,7 +12161,7 @@ func (x *FutureProofMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use FutureProofMessage.ProtoReflect.Descriptor instead. func (*FutureProofMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{64} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{66} } func (x *FutureProofMessage) GetMessage() *Message { @@ -11781,7 +12182,7 @@ type DeviceSentMessage struct { func (x *DeviceSentMessage) Reset() { *x = DeviceSentMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[65] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11793,7 +12194,7 @@ func (x *DeviceSentMessage) String() string { func (*DeviceSentMessage) ProtoMessage() {} func (x *DeviceSentMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[65] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[67] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11806,7 +12207,7 @@ func (x *DeviceSentMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use DeviceSentMessage.ProtoReflect.Descriptor instead. func (*DeviceSentMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{65} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{67} } func (x *DeviceSentMessage) GetDestinationJID() string { @@ -11839,7 +12240,7 @@ type RequestPhoneNumberMessage struct { func (x *RequestPhoneNumberMessage) Reset() { *x = RequestPhoneNumberMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[66] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11851,7 +12252,7 @@ func (x *RequestPhoneNumberMessage) String() string { func (*RequestPhoneNumberMessage) ProtoMessage() {} func (x *RequestPhoneNumberMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[66] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[68] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11864,7 +12265,7 @@ func (x *RequestPhoneNumberMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use RequestPhoneNumberMessage.ProtoReflect.Descriptor instead. func (*RequestPhoneNumberMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{66} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{68} } func (x *RequestPhoneNumberMessage) GetContextInfo() *ContextInfo { @@ -11888,7 +12289,7 @@ type NewsletterAdminInviteMessage struct { func (x *NewsletterAdminInviteMessage) Reset() { *x = NewsletterAdminInviteMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[67] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11900,7 +12301,7 @@ func (x *NewsletterAdminInviteMessage) String() string { func (*NewsletterAdminInviteMessage) ProtoMessage() {} func (x *NewsletterAdminInviteMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[67] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[69] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11913,7 +12314,7 @@ func (x *NewsletterAdminInviteMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use NewsletterAdminInviteMessage.ProtoReflect.Descriptor instead. func (*NewsletterAdminInviteMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{67} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{69} } func (x *NewsletterAdminInviteMessage) GetNewsletterJID() string { @@ -11972,7 +12373,7 @@ type ProductMessage struct { func (x *ProductMessage) Reset() { *x = ProductMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[68] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11984,7 +12385,7 @@ func (x *ProductMessage) String() string { func (*ProductMessage) ProtoMessage() {} func (x *ProductMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[68] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[70] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11997,7 +12398,7 @@ func (x *ProductMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use ProductMessage.ProtoReflect.Descriptor instead. func (*ProductMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{68} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{70} } func (x *ProductMessage) GetProduct() *ProductMessage_ProductSnapshot { @@ -12055,7 +12456,7 @@ type TemplateButtonReplyMessage struct { func (x *TemplateButtonReplyMessage) Reset() { *x = TemplateButtonReplyMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[69] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12067,7 +12468,7 @@ func (x *TemplateButtonReplyMessage) String() string { func (*TemplateButtonReplyMessage) ProtoMessage() {} func (x *TemplateButtonReplyMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[69] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[71] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12080,7 +12481,7 @@ func (x *TemplateButtonReplyMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use TemplateButtonReplyMessage.ProtoReflect.Descriptor instead. func (*TemplateButtonReplyMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{69} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{71} } func (x *TemplateButtonReplyMessage) GetSelectedID() string { @@ -12135,7 +12536,7 @@ type TemplateMessage struct { func (x *TemplateMessage) Reset() { *x = TemplateMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[70] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12147,7 +12548,7 @@ func (x *TemplateMessage) String() string { func (*TemplateMessage) ProtoMessage() {} func (x *TemplateMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[70] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[72] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12160,7 +12561,7 @@ func (x *TemplateMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use TemplateMessage.ProtoReflect.Descriptor instead. func (*TemplateMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{70} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{72} } func (x *TemplateMessage) GetFormat() isTemplateMessage_Format { @@ -12268,7 +12669,7 @@ type StickerMessage struct { func (x *StickerMessage) Reset() { *x = StickerMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[71] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12280,7 +12681,7 @@ func (x *StickerMessage) String() string { func (*StickerMessage) ProtoMessage() {} func (x *StickerMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[71] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[73] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12293,7 +12694,7 @@ func (x *StickerMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use StickerMessage.ProtoReflect.Descriptor instead. func (*StickerMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{71} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{73} } func (x *StickerMessage) GetURL() string { @@ -12454,7 +12855,7 @@ type LiveLocationMessage struct { func (x *LiveLocationMessage) Reset() { *x = LiveLocationMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[72] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12466,7 +12867,7 @@ func (x *LiveLocationMessage) String() string { func (*LiveLocationMessage) ProtoMessage() {} func (x *LiveLocationMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[72] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[74] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12479,7 +12880,7 @@ func (x *LiveLocationMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use LiveLocationMessage.ProtoReflect.Descriptor instead. func (*LiveLocationMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{72} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{74} } func (x *LiveLocationMessage) GetDegreesLatitude() float64 { @@ -12561,7 +12962,7 @@ type CancelPaymentRequestMessage struct { func (x *CancelPaymentRequestMessage) Reset() { *x = CancelPaymentRequestMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[73] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12573,7 +12974,7 @@ func (x *CancelPaymentRequestMessage) String() string { func (*CancelPaymentRequestMessage) ProtoMessage() {} func (x *CancelPaymentRequestMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[73] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[75] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12586,7 +12987,7 @@ func (x *CancelPaymentRequestMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelPaymentRequestMessage.ProtoReflect.Descriptor instead. func (*CancelPaymentRequestMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{73} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{75} } func (x *CancelPaymentRequestMessage) GetKey() *waCommon.MessageKey { @@ -12605,7 +13006,7 @@ type DeclinePaymentRequestMessage struct { func (x *DeclinePaymentRequestMessage) Reset() { *x = DeclinePaymentRequestMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[74] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12617,7 +13018,7 @@ func (x *DeclinePaymentRequestMessage) String() string { func (*DeclinePaymentRequestMessage) ProtoMessage() {} func (x *DeclinePaymentRequestMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[74] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[76] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12630,7 +13031,7 @@ func (x *DeclinePaymentRequestMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use DeclinePaymentRequestMessage.ProtoReflect.Descriptor instead. func (*DeclinePaymentRequestMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{74} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{76} } func (x *DeclinePaymentRequestMessage) GetKey() *waCommon.MessageKey { @@ -12655,7 +13056,7 @@ type RequestPaymentMessage struct { func (x *RequestPaymentMessage) Reset() { *x = RequestPaymentMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[75] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12667,7 +13068,7 @@ func (x *RequestPaymentMessage) String() string { func (*RequestPaymentMessage) ProtoMessage() {} func (x *RequestPaymentMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[75] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[77] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12680,7 +13081,7 @@ func (x *RequestPaymentMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use RequestPaymentMessage.ProtoReflect.Descriptor instead. func (*RequestPaymentMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{75} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{77} } func (x *RequestPaymentMessage) GetNoteMessage() *Message { @@ -12743,7 +13144,7 @@ type SendPaymentMessage struct { func (x *SendPaymentMessage) Reset() { *x = SendPaymentMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[76] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12755,7 +13156,7 @@ func (x *SendPaymentMessage) String() string { func (*SendPaymentMessage) ProtoMessage() {} func (x *SendPaymentMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[76] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[78] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12768,7 +13169,7 @@ func (x *SendPaymentMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use SendPaymentMessage.ProtoReflect.Descriptor instead. func (*SendPaymentMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{76} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{78} } func (x *SendPaymentMessage) GetNoteMessage() *Message { @@ -12803,7 +13204,7 @@ type ContactsArrayMessage struct { func (x *ContactsArrayMessage) Reset() { *x = ContactsArrayMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[77] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12815,7 +13216,7 @@ func (x *ContactsArrayMessage) String() string { func (*ContactsArrayMessage) ProtoMessage() {} func (x *ContactsArrayMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[77] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[79] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12828,7 +13229,7 @@ func (x *ContactsArrayMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use ContactsArrayMessage.ProtoReflect.Descriptor instead. func (*ContactsArrayMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{77} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{79} } func (x *ContactsArrayMessage) GetDisplayName() string { @@ -12861,7 +13262,7 @@ type InitialSecurityNotificationSettingSync struct { func (x *InitialSecurityNotificationSettingSync) Reset() { *x = InitialSecurityNotificationSettingSync{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[78] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12873,7 +13274,7 @@ func (x *InitialSecurityNotificationSettingSync) String() string { func (*InitialSecurityNotificationSettingSync) ProtoMessage() {} func (x *InitialSecurityNotificationSettingSync) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[78] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[80] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12886,7 +13287,7 @@ func (x *InitialSecurityNotificationSettingSync) ProtoReflect() protoreflect.Mes // Deprecated: Use InitialSecurityNotificationSettingSync.ProtoReflect.Descriptor instead. func (*InitialSecurityNotificationSettingSync) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{78} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{80} } func (x *InitialSecurityNotificationSettingSync) GetSecurityNotificationEnabled() bool { @@ -12910,7 +13311,7 @@ type PeerDataOperationRequestMessage struct { func (x *PeerDataOperationRequestMessage) Reset() { *x = PeerDataOperationRequestMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[79] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12922,7 +13323,7 @@ func (x *PeerDataOperationRequestMessage) String() string { func (*PeerDataOperationRequestMessage) ProtoMessage() {} func (x *PeerDataOperationRequestMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[79] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[81] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12935,7 +13336,7 @@ func (x *PeerDataOperationRequestMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use PeerDataOperationRequestMessage.ProtoReflect.Descriptor instead. func (*PeerDataOperationRequestMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{79} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{81} } func (x *PeerDataOperationRequestMessage) GetPeerDataOperationRequestType() PeerDataOperationRequestType { @@ -12989,7 +13390,7 @@ type FullHistorySyncOnDemandRequestMetadata struct { func (x *FullHistorySyncOnDemandRequestMetadata) Reset() { *x = FullHistorySyncOnDemandRequestMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[80] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13001,7 +13402,7 @@ func (x *FullHistorySyncOnDemandRequestMetadata) String() string { func (*FullHistorySyncOnDemandRequestMetadata) ProtoMessage() {} func (x *FullHistorySyncOnDemandRequestMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[80] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[82] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13014,7 +13415,7 @@ func (x *FullHistorySyncOnDemandRequestMetadata) ProtoReflect() protoreflect.Mes // Deprecated: Use FullHistorySyncOnDemandRequestMetadata.ProtoReflect.Descriptor instead. func (*FullHistorySyncOnDemandRequestMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{80} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{82} } func (x *FullHistorySyncOnDemandRequestMetadata) GetRequestID() string { @@ -13034,7 +13435,7 @@ type AppStateFatalExceptionNotification struct { func (x *AppStateFatalExceptionNotification) Reset() { *x = AppStateFatalExceptionNotification{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[81] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13046,7 +13447,7 @@ func (x *AppStateFatalExceptionNotification) String() string { func (*AppStateFatalExceptionNotification) ProtoMessage() {} func (x *AppStateFatalExceptionNotification) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[81] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[83] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13059,7 +13460,7 @@ func (x *AppStateFatalExceptionNotification) ProtoReflect() protoreflect.Message // Deprecated: Use AppStateFatalExceptionNotification.ProtoReflect.Descriptor instead. func (*AppStateFatalExceptionNotification) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{81} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{83} } func (x *AppStateFatalExceptionNotification) GetCollectionNames() []string { @@ -13085,7 +13486,7 @@ type AppStateSyncKeyRequest struct { func (x *AppStateSyncKeyRequest) Reset() { *x = AppStateSyncKeyRequest{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[82] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13097,7 +13498,7 @@ func (x *AppStateSyncKeyRequest) String() string { func (*AppStateSyncKeyRequest) ProtoMessage() {} func (x *AppStateSyncKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[82] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[84] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13110,7 +13511,7 @@ func (x *AppStateSyncKeyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AppStateSyncKeyRequest.ProtoReflect.Descriptor instead. func (*AppStateSyncKeyRequest) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{82} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{84} } func (x *AppStateSyncKeyRequest) GetKeyIDs() []*AppStateSyncKeyId { @@ -13129,7 +13530,7 @@ type AppStateSyncKeyShare struct { func (x *AppStateSyncKeyShare) Reset() { *x = AppStateSyncKeyShare{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[83] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13141,7 +13542,7 @@ func (x *AppStateSyncKeyShare) String() string { func (*AppStateSyncKeyShare) ProtoMessage() {} func (x *AppStateSyncKeyShare) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[83] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[85] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13154,7 +13555,7 @@ func (x *AppStateSyncKeyShare) ProtoReflect() protoreflect.Message { // Deprecated: Use AppStateSyncKeyShare.ProtoReflect.Descriptor instead. func (*AppStateSyncKeyShare) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{83} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{85} } func (x *AppStateSyncKeyShare) GetKeys() []*AppStateSyncKey { @@ -13175,7 +13576,7 @@ type AppStateSyncKeyData struct { func (x *AppStateSyncKeyData) Reset() { *x = AppStateSyncKeyData{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[84] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13187,7 +13588,7 @@ func (x *AppStateSyncKeyData) String() string { func (*AppStateSyncKeyData) ProtoMessage() {} func (x *AppStateSyncKeyData) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[84] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[86] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13200,7 +13601,7 @@ func (x *AppStateSyncKeyData) ProtoReflect() protoreflect.Message { // Deprecated: Use AppStateSyncKeyData.ProtoReflect.Descriptor instead. func (*AppStateSyncKeyData) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{84} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{86} } func (x *AppStateSyncKeyData) GetKeyData() []byte { @@ -13235,7 +13636,7 @@ type AppStateSyncKeyFingerprint struct { func (x *AppStateSyncKeyFingerprint) Reset() { *x = AppStateSyncKeyFingerprint{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[85] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13247,7 +13648,7 @@ func (x *AppStateSyncKeyFingerprint) String() string { func (*AppStateSyncKeyFingerprint) ProtoMessage() {} func (x *AppStateSyncKeyFingerprint) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[85] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[87] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13260,7 +13661,7 @@ func (x *AppStateSyncKeyFingerprint) ProtoReflect() protoreflect.Message { // Deprecated: Use AppStateSyncKeyFingerprint.ProtoReflect.Descriptor instead. func (*AppStateSyncKeyFingerprint) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{85} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{87} } func (x *AppStateSyncKeyFingerprint) GetRawID() uint32 { @@ -13293,7 +13694,7 @@ type AppStateSyncKeyId struct { func (x *AppStateSyncKeyId) Reset() { *x = AppStateSyncKeyId{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[86] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13305,7 +13706,7 @@ func (x *AppStateSyncKeyId) String() string { func (*AppStateSyncKeyId) ProtoMessage() {} func (x *AppStateSyncKeyId) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[86] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[88] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13318,7 +13719,7 @@ func (x *AppStateSyncKeyId) ProtoReflect() protoreflect.Message { // Deprecated: Use AppStateSyncKeyId.ProtoReflect.Descriptor instead. func (*AppStateSyncKeyId) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{86} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{88} } func (x *AppStateSyncKeyId) GetKeyID() []byte { @@ -13338,7 +13739,7 @@ type AppStateSyncKey struct { func (x *AppStateSyncKey) Reset() { *x = AppStateSyncKey{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[87] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13350,7 +13751,7 @@ func (x *AppStateSyncKey) String() string { func (*AppStateSyncKey) ProtoMessage() {} func (x *AppStateSyncKey) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[87] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[89] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13363,7 +13764,7 @@ func (x *AppStateSyncKey) ProtoReflect() protoreflect.Message { // Deprecated: Use AppStateSyncKey.ProtoReflect.Descriptor instead. func (*AppStateSyncKey) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{87} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{89} } func (x *AppStateSyncKey) GetKeyID() *AppStateSyncKeyId { @@ -13390,7 +13791,7 @@ type Chat struct { func (x *Chat) Reset() { *x = Chat{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[88] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13402,7 +13803,7 @@ func (x *Chat) String() string { func (*Chat) ProtoMessage() {} func (x *Chat) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[88] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[90] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13415,7 +13816,7 @@ func (x *Chat) ProtoReflect() protoreflect.Message { // Deprecated: Use Chat.ProtoReflect.Descriptor instead. func (*Chat) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{88} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{90} } func (x *Chat) GetDisplayName() string { @@ -13446,7 +13847,7 @@ type Call struct { func (x *Call) Reset() { *x = Call{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[89] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13458,7 +13859,7 @@ func (x *Call) String() string { func (*Call) ProtoMessage() {} func (x *Call) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[89] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[91] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13471,7 +13872,7 @@ func (x *Call) ProtoReflect() protoreflect.Message { // Deprecated: Use Call.ProtoReflect.Descriptor instead. func (*Call) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{89} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{91} } func (x *Call) GetCallKey() []byte { @@ -13540,7 +13941,7 @@ type AudioMessage struct { func (x *AudioMessage) Reset() { *x = AudioMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[90] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13552,7 +13953,7 @@ func (x *AudioMessage) String() string { func (*AudioMessage) ProtoMessage() {} func (x *AudioMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[90] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[92] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13565,7 +13966,7 @@ func (x *AudioMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use AudioMessage.ProtoReflect.Descriptor instead. func (*AudioMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{90} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{92} } func (x *AudioMessage) GetURL() string { @@ -13709,7 +14110,7 @@ type DocumentMessage struct { func (x *DocumentMessage) Reset() { *x = DocumentMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[91] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13721,7 +14122,7 @@ func (x *DocumentMessage) String() string { func (*DocumentMessage) ProtoMessage() {} func (x *DocumentMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[91] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[93] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13734,7 +14135,7 @@ func (x *DocumentMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use DocumentMessage.ProtoReflect.Descriptor instead. func (*DocumentMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{91} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{93} } func (x *DocumentMessage) GetURL() string { @@ -13884,6 +14285,110 @@ func (x *DocumentMessage) GetAccessibilityLabel() string { return "" } +type LinkPreviewMetadata struct { + state protoimpl.MessageState `protogen:"open.v1"` + PaymentLinkMetadata *PaymentLinkMetadata `protobuf:"bytes,1,opt,name=paymentLinkMetadata" json:"paymentLinkMetadata,omitempty"` + UrlMetadata *URLMetadata `protobuf:"bytes,2,opt,name=urlMetadata" json:"urlMetadata,omitempty"` + FbExperimentID *uint32 `protobuf:"varint,3,opt,name=fbExperimentID" json:"fbExperimentID,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LinkPreviewMetadata) Reset() { + *x = LinkPreviewMetadata{} + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LinkPreviewMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LinkPreviewMetadata) ProtoMessage() {} + +func (x *LinkPreviewMetadata) ProtoReflect() protoreflect.Message { + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[94] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LinkPreviewMetadata.ProtoReflect.Descriptor instead. +func (*LinkPreviewMetadata) Descriptor() ([]byte, []int) { + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{94} +} + +func (x *LinkPreviewMetadata) GetPaymentLinkMetadata() *PaymentLinkMetadata { + if x != nil { + return x.PaymentLinkMetadata + } + return nil +} + +func (x *LinkPreviewMetadata) GetUrlMetadata() *URLMetadata { + if x != nil { + return x.UrlMetadata + } + return nil +} + +func (x *LinkPreviewMetadata) GetFbExperimentID() uint32 { + if x != nil && x.FbExperimentID != nil { + return *x.FbExperimentID + } + return 0 +} + +type URLMetadata struct { + state protoimpl.MessageState `protogen:"open.v1"` + FbExperimentID *uint32 `protobuf:"varint,1,opt,name=fbExperimentID" json:"fbExperimentID,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *URLMetadata) Reset() { + *x = URLMetadata{} + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *URLMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*URLMetadata) ProtoMessage() {} + +func (x *URLMetadata) ProtoReflect() protoreflect.Message { + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[95] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use URLMetadata.ProtoReflect.Descriptor instead. +func (*URLMetadata) Descriptor() ([]byte, []int) { + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{95} +} + +func (x *URLMetadata) GetFbExperimentID() uint32 { + if x != nil && x.FbExperimentID != nil { + return *x.FbExperimentID + } + return 0 +} + type MMSThumbnailMetadata struct { state protoimpl.MessageState `protogen:"open.v1"` ThumbnailDirectPath *string `protobuf:"bytes,1,opt,name=thumbnailDirectPath" json:"thumbnailDirectPath,omitempty"` @@ -13899,7 +14404,7 @@ type MMSThumbnailMetadata struct { func (x *MMSThumbnailMetadata) Reset() { *x = MMSThumbnailMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[92] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13911,7 +14416,7 @@ func (x *MMSThumbnailMetadata) String() string { func (*MMSThumbnailMetadata) ProtoMessage() {} func (x *MMSThumbnailMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[92] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[96] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13924,7 +14429,7 @@ func (x *MMSThumbnailMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use MMSThumbnailMetadata.ProtoReflect.Descriptor instead. func (*MMSThumbnailMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{92} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{96} } func (x *MMSThumbnailMetadata) GetThumbnailDirectPath() string { @@ -13996,7 +14501,7 @@ type LocationMessage struct { func (x *LocationMessage) Reset() { *x = LocationMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[93] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14008,7 +14513,7 @@ func (x *LocationMessage) String() string { func (*LocationMessage) ProtoMessage() {} func (x *LocationMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[93] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[97] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14021,7 +14526,7 @@ func (x *LocationMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use LocationMessage.ProtoReflect.Descriptor instead. func (*LocationMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{93} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{97} } func (x *LocationMessage) GetDegreesLatitude() float64 { @@ -14119,7 +14624,7 @@ type ContactMessage struct { func (x *ContactMessage) Reset() { *x = ContactMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[94] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14131,7 +14636,7 @@ func (x *ContactMessage) String() string { func (*ContactMessage) ProtoMessage() {} func (x *ContactMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[94] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[98] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14144,7 +14649,7 @@ func (x *ContactMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use ContactMessage.ProtoReflect.Descriptor instead. func (*ContactMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{94} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{98} } func (x *ContactMessage) GetDisplayName() string { @@ -14178,7 +14683,7 @@ type SenderKeyDistributionMessage struct { func (x *SenderKeyDistributionMessage) Reset() { *x = SenderKeyDistributionMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[95] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14190,7 +14695,7 @@ func (x *SenderKeyDistributionMessage) String() string { func (*SenderKeyDistributionMessage) ProtoMessage() {} func (x *SenderKeyDistributionMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[95] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[99] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14203,7 +14708,7 @@ func (x *SenderKeyDistributionMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use SenderKeyDistributionMessage.ProtoReflect.Descriptor instead. func (*SenderKeyDistributionMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{95} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{99} } func (x *SenderKeyDistributionMessage) GetGroupID() string { @@ -14233,7 +14738,7 @@ type BotAvatarMetadata struct { func (x *BotAvatarMetadata) Reset() { *x = BotAvatarMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[96] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14245,7 +14750,7 @@ func (x *BotAvatarMetadata) String() string { func (*BotAvatarMetadata) ProtoMessage() {} func (x *BotAvatarMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[96] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[100] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14258,7 +14763,7 @@ func (x *BotAvatarMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use BotAvatarMetadata.ProtoReflect.Descriptor instead. func (*BotAvatarMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{96} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{100} } func (x *BotAvatarMetadata) GetSentiment() uint32 { @@ -14308,7 +14813,7 @@ type BotSuggestedPromptMetadata struct { func (x *BotSuggestedPromptMetadata) Reset() { *x = BotSuggestedPromptMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[97] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14320,7 +14825,7 @@ func (x *BotSuggestedPromptMetadata) String() string { func (*BotSuggestedPromptMetadata) ProtoMessage() {} func (x *BotSuggestedPromptMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[97] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[101] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14333,7 +14838,7 @@ func (x *BotSuggestedPromptMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use BotSuggestedPromptMetadata.ProtoReflect.Descriptor instead. func (*BotSuggestedPromptMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{97} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{101} } func (x *BotSuggestedPromptMetadata) GetSuggestedPrompts() []string { @@ -14373,7 +14878,7 @@ type BotPromptSuggestions struct { func (x *BotPromptSuggestions) Reset() { *x = BotPromptSuggestions{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[98] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14385,7 +14890,7 @@ func (x *BotPromptSuggestions) String() string { func (*BotPromptSuggestions) ProtoMessage() {} func (x *BotPromptSuggestions) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[98] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[102] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14398,7 +14903,7 @@ func (x *BotPromptSuggestions) ProtoReflect() protoreflect.Message { // Deprecated: Use BotPromptSuggestions.ProtoReflect.Descriptor instead. func (*BotPromptSuggestions) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{98} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{102} } func (x *BotPromptSuggestions) GetSuggestions() []*BotPromptSuggestion { @@ -14418,7 +14923,7 @@ type BotPromptSuggestion struct { func (x *BotPromptSuggestion) Reset() { *x = BotPromptSuggestion{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[99] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14430,7 +14935,7 @@ func (x *BotPromptSuggestion) String() string { func (*BotPromptSuggestion) ProtoMessage() {} func (x *BotPromptSuggestion) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[99] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[103] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14443,7 +14948,7 @@ func (x *BotPromptSuggestion) ProtoReflect() protoreflect.Message { // Deprecated: Use BotPromptSuggestion.ProtoReflect.Descriptor instead. func (*BotPromptSuggestion) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{99} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{103} } func (x *BotPromptSuggestion) GetPrompt() string { @@ -14464,13 +14969,14 @@ type BotLinkedAccountsMetadata struct { state protoimpl.MessageState `protogen:"open.v1"` Accounts []*BotLinkedAccount `protobuf:"bytes,1,rep,name=accounts" json:"accounts,omitempty"` AcAuthTokens []byte `protobuf:"bytes,2,opt,name=acAuthTokens" json:"acAuthTokens,omitempty"` + AcErrorCode *int32 `protobuf:"varint,3,opt,name=acErrorCode" json:"acErrorCode,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *BotLinkedAccountsMetadata) Reset() { *x = BotLinkedAccountsMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[100] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14482,7 +14988,7 @@ func (x *BotLinkedAccountsMetadata) String() string { func (*BotLinkedAccountsMetadata) ProtoMessage() {} func (x *BotLinkedAccountsMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[100] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[104] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14495,7 +15001,7 @@ func (x *BotLinkedAccountsMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use BotLinkedAccountsMetadata.ProtoReflect.Descriptor instead. func (*BotLinkedAccountsMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{100} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{104} } func (x *BotLinkedAccountsMetadata) GetAccounts() []*BotLinkedAccount { @@ -14512,6 +15018,13 @@ func (x *BotLinkedAccountsMetadata) GetAcAuthTokens() []byte { return nil } +func (x *BotLinkedAccountsMetadata) GetAcErrorCode() int32 { + if x != nil && x.AcErrorCode != nil { + return *x.AcErrorCode + } + return 0 +} + type BotMemoryMetadata struct { state protoimpl.MessageState `protogen:"open.v1"` AddedFacts []*BotMemoryFact `protobuf:"bytes,1,rep,name=addedFacts" json:"addedFacts,omitempty"` @@ -14523,7 +15036,7 @@ type BotMemoryMetadata struct { func (x *BotMemoryMetadata) Reset() { *x = BotMemoryMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[101] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14535,7 +15048,7 @@ func (x *BotMemoryMetadata) String() string { func (*BotMemoryMetadata) ProtoMessage() {} func (x *BotMemoryMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[101] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[105] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14548,7 +15061,7 @@ func (x *BotMemoryMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use BotMemoryMetadata.ProtoReflect.Descriptor instead. func (*BotMemoryMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{101} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{105} } func (x *BotMemoryMetadata) GetAddedFacts() []*BotMemoryFact { @@ -14582,7 +15095,7 @@ type BotMemoryFact struct { func (x *BotMemoryFact) Reset() { *x = BotMemoryFact{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[102] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14594,7 +15107,7 @@ func (x *BotMemoryFact) String() string { func (*BotMemoryFact) ProtoMessage() {} func (x *BotMemoryFact) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[102] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[106] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14607,7 +15120,7 @@ func (x *BotMemoryFact) ProtoReflect() protoreflect.Message { // Deprecated: Use BotMemoryFact.ProtoReflect.Descriptor instead. func (*BotMemoryFact) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{102} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{106} } func (x *BotMemoryFact) GetFact() string { @@ -14633,7 +15146,7 @@ type BotRenderingMetadata struct { func (x *BotRenderingMetadata) Reset() { *x = BotRenderingMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[103] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14645,7 +15158,7 @@ func (x *BotRenderingMetadata) String() string { func (*BotRenderingMetadata) ProtoMessage() {} func (x *BotRenderingMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[103] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[107] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14658,7 +15171,7 @@ func (x *BotRenderingMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use BotRenderingMetadata.ProtoReflect.Descriptor instead. func (*BotRenderingMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{103} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{107} } func (x *BotRenderingMetadata) GetKeywords() []*BotRenderingMetadata_Keyword { @@ -14679,7 +15192,7 @@ type BotMetricsMetadata struct { func (x *BotMetricsMetadata) Reset() { *x = BotMetricsMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[104] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14691,7 +15204,7 @@ func (x *BotMetricsMetadata) String() string { func (*BotMetricsMetadata) ProtoMessage() {} func (x *BotMetricsMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[104] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[108] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14704,7 +15217,7 @@ func (x *BotMetricsMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use BotMetricsMetadata.ProtoReflect.Descriptor instead. func (*BotMetricsMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{104} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{108} } func (x *BotMetricsMetadata) GetDestinationID() string { @@ -14738,7 +15251,7 @@ type BotSessionMetadata struct { func (x *BotSessionMetadata) Reset() { *x = BotSessionMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[105] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14750,7 +15263,7 @@ func (x *BotSessionMetadata) String() string { func (*BotSessionMetadata) ProtoMessage() {} func (x *BotSessionMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[105] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[109] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14763,7 +15276,7 @@ func (x *BotSessionMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use BotSessionMetadata.ProtoReflect.Descriptor instead. func (*BotSessionMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{105} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{109} } func (x *BotSessionMetadata) GetSessionID() string { @@ -14789,7 +15302,7 @@ type BotMemuMetadata struct { func (x *BotMemuMetadata) Reset() { *x = BotMemuMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[106] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14801,7 +15314,7 @@ func (x *BotMemuMetadata) String() string { func (*BotMemuMetadata) ProtoMessage() {} func (x *BotMemuMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[106] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[110] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14814,7 +15327,7 @@ func (x *BotMemuMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use BotMemuMetadata.ProtoReflect.Descriptor instead. func (*BotMemuMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{106} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{110} } func (x *BotMemuMetadata) GetFaceImages() []*BotMediaMetadata { @@ -14845,13 +15358,14 @@ type BotMetadata struct { BotMetricsMetadata *BotMetricsMetadata `protobuf:"bytes,17,opt,name=botMetricsMetadata" json:"botMetricsMetadata,omitempty"` BotLinkedAccountsMetadata *BotLinkedAccountsMetadata `protobuf:"bytes,18,opt,name=botLinkedAccountsMetadata" json:"botLinkedAccountsMetadata,omitempty"` RichResponseSourcesMetadata *BotSourcesMetadata `protobuf:"bytes,19,opt,name=richResponseSourcesMetadata" json:"richResponseSourcesMetadata,omitempty"` + AiConversationContext []byte `protobuf:"bytes,20,opt,name=aiConversationContext" json:"aiConversationContext,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *BotMetadata) Reset() { *x = BotMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[107] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14863,7 +15377,7 @@ func (x *BotMetadata) String() string { func (*BotMetadata) ProtoMessage() {} func (x *BotMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[107] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[111] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14876,7 +15390,7 @@ func (x *BotMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use BotMetadata.ProtoReflect.Descriptor instead. func (*BotMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{107} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{111} } func (x *BotMetadata) GetAvatarMetadata() *BotAvatarMetadata { @@ -15012,6 +15526,13 @@ func (x *BotMetadata) GetRichResponseSourcesMetadata() *BotSourcesMetadata { return nil } +func (x *BotMetadata) GetAiConversationContext() []byte { + if x != nil { + return x.AiConversationContext + } + return nil +} + type DeviceListMetadata struct { state protoimpl.MessageState `protogen:"open.v1"` SenderKeyHash []byte `protobuf:"bytes,1,opt,name=senderKeyHash" json:"senderKeyHash,omitempty"` @@ -15028,7 +15549,7 @@ type DeviceListMetadata struct { func (x *DeviceListMetadata) Reset() { *x = DeviceListMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[108] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15040,7 +15561,7 @@ func (x *DeviceListMetadata) String() string { func (*DeviceListMetadata) ProtoMessage() {} func (x *DeviceListMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[108] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[112] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15053,7 +15574,7 @@ func (x *DeviceListMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use DeviceListMetadata.ProtoReflect.Descriptor instead. func (*DeviceListMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{108} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{112} } func (x *DeviceListMetadata) GetSenderKeyHash() []byte { @@ -15122,7 +15643,7 @@ type EmbeddedMessage struct { func (x *EmbeddedMessage) Reset() { *x = EmbeddedMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[109] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15134,7 +15655,7 @@ func (x *EmbeddedMessage) String() string { func (*EmbeddedMessage) ProtoMessage() {} func (x *EmbeddedMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[109] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[113] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15147,7 +15668,7 @@ func (x *EmbeddedMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use EmbeddedMessage.ProtoReflect.Descriptor instead. func (*EmbeddedMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{109} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{113} } func (x *EmbeddedMessage) GetStanzaID() string { @@ -15183,7 +15704,7 @@ type EmbeddedMusic struct { func (x *EmbeddedMusic) Reset() { *x = EmbeddedMusic{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[110] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15195,7 +15716,7 @@ func (x *EmbeddedMusic) String() string { func (*EmbeddedMusic) ProtoMessage() {} func (x *EmbeddedMusic) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[110] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[114] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15208,7 +15729,7 @@ func (x *EmbeddedMusic) ProtoReflect() protoreflect.Message { // Deprecated: Use EmbeddedMusic.ProtoReflect.Descriptor instead. func (*EmbeddedMusic) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{110} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{114} } func (x *EmbeddedMusic) GetMusicContentMediaID() string { @@ -15301,7 +15822,7 @@ type EmbeddedContent struct { func (x *EmbeddedContent) Reset() { *x = EmbeddedContent{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[111] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15313,7 +15834,7 @@ func (x *EmbeddedContent) String() string { func (*EmbeddedContent) ProtoMessage() {} func (x *EmbeddedContent) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[111] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[115] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15326,7 +15847,7 @@ func (x *EmbeddedContent) ProtoReflect() protoreflect.Message { // Deprecated: Use EmbeddedContent.ProtoReflect.Descriptor instead. func (*EmbeddedContent) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{111} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{115} } func (x *EmbeddedContent) GetContent() isEmbeddedContent_Content { @@ -15380,7 +15901,7 @@ type TapLinkAction struct { func (x *TapLinkAction) Reset() { *x = TapLinkAction{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[112] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15392,7 +15913,7 @@ func (x *TapLinkAction) String() string { func (*TapLinkAction) ProtoMessage() {} func (x *TapLinkAction) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[112] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[116] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15405,7 +15926,7 @@ func (x *TapLinkAction) ProtoReflect() protoreflect.Message { // Deprecated: Use TapLinkAction.ProtoReflect.Descriptor instead. func (*TapLinkAction) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{112} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{116} } func (x *TapLinkAction) GetTitle() string { @@ -15422,144 +15943,6 @@ func (x *TapLinkAction) GetTapURL() string { return "" } -type InteractiveAnnotation struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Types that are valid to be assigned to Action: - // - // *InteractiveAnnotation_Location - // *InteractiveAnnotation_Newsletter - // *InteractiveAnnotation_EmbeddedAction - // *InteractiveAnnotation_TapAction - Action isInteractiveAnnotation_Action `protobuf_oneof:"action"` - PolygonVertices []*Point `protobuf:"bytes,1,rep,name=polygonVertices" json:"polygonVertices,omitempty"` - ShouldSkipConfirmation *bool `protobuf:"varint,4,opt,name=shouldSkipConfirmation" json:"shouldSkipConfirmation,omitempty"` - EmbeddedContent *EmbeddedContent `protobuf:"bytes,5,opt,name=embeddedContent" json:"embeddedContent,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *InteractiveAnnotation) Reset() { - *x = InteractiveAnnotation{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[113] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *InteractiveAnnotation) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InteractiveAnnotation) ProtoMessage() {} - -func (x *InteractiveAnnotation) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[113] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InteractiveAnnotation.ProtoReflect.Descriptor instead. -func (*InteractiveAnnotation) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{113} -} - -func (x *InteractiveAnnotation) GetAction() isInteractiveAnnotation_Action { - if x != nil { - return x.Action - } - return nil -} - -func (x *InteractiveAnnotation) GetLocation() *Location { - if x != nil { - if x, ok := x.Action.(*InteractiveAnnotation_Location); ok { - return x.Location - } - } - return nil -} - -func (x *InteractiveAnnotation) GetNewsletter() *ContextInfo_ForwardedNewsletterMessageInfo { - if x != nil { - if x, ok := x.Action.(*InteractiveAnnotation_Newsletter); ok { - return x.Newsletter - } - } - return nil -} - -func (x *InteractiveAnnotation) GetEmbeddedAction() bool { - if x != nil { - if x, ok := x.Action.(*InteractiveAnnotation_EmbeddedAction); ok { - return x.EmbeddedAction - } - } - return false -} - -func (x *InteractiveAnnotation) GetTapAction() *TapLinkAction { - if x != nil { - if x, ok := x.Action.(*InteractiveAnnotation_TapAction); ok { - return x.TapAction - } - } - return nil -} - -func (x *InteractiveAnnotation) GetPolygonVertices() []*Point { - if x != nil { - return x.PolygonVertices - } - return nil -} - -func (x *InteractiveAnnotation) GetShouldSkipConfirmation() bool { - if x != nil && x.ShouldSkipConfirmation != nil { - return *x.ShouldSkipConfirmation - } - return false -} - -func (x *InteractiveAnnotation) GetEmbeddedContent() *EmbeddedContent { - if x != nil { - return x.EmbeddedContent - } - return nil -} - -type isInteractiveAnnotation_Action interface { - isInteractiveAnnotation_Action() -} - -type InteractiveAnnotation_Location struct { - Location *Location `protobuf:"bytes,2,opt,name=location,oneof"` -} - -type InteractiveAnnotation_Newsletter struct { - Newsletter *ContextInfo_ForwardedNewsletterMessageInfo `protobuf:"bytes,3,opt,name=newsletter,oneof"` -} - -type InteractiveAnnotation_EmbeddedAction struct { - EmbeddedAction bool `protobuf:"varint,6,opt,name=embeddedAction,oneof"` -} - -type InteractiveAnnotation_TapAction struct { - TapAction *TapLinkAction `protobuf:"bytes,7,opt,name=tapAction,oneof"` -} - -func (*InteractiveAnnotation_Location) isInteractiveAnnotation_Action() {} - -func (*InteractiveAnnotation_Newsletter) isInteractiveAnnotation_Action() {} - -func (*InteractiveAnnotation_EmbeddedAction) isInteractiveAnnotation_Action() {} - -func (*InteractiveAnnotation_TapAction) isInteractiveAnnotation_Action() {} - type Point struct { state protoimpl.MessageState `protogen:"open.v1"` XDeprecated *int32 `protobuf:"varint,1,opt,name=xDeprecated" json:"xDeprecated,omitempty"` @@ -15572,7 +15955,7 @@ type Point struct { func (x *Point) Reset() { *x = Point{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[114] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15584,7 +15967,7 @@ func (x *Point) String() string { func (*Point) ProtoMessage() {} func (x *Point) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[114] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[117] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15597,7 +15980,7 @@ func (x *Point) ProtoReflect() protoreflect.Message { // Deprecated: Use Point.ProtoReflect.Descriptor instead. func (*Point) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{114} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{117} } func (x *Point) GetXDeprecated() int32 { @@ -15639,7 +16022,7 @@ type Location struct { func (x *Location) Reset() { *x = Location{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[115] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15651,7 +16034,7 @@ func (x *Location) String() string { func (*Location) ProtoMessage() {} func (x *Location) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[115] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[118] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15664,7 +16047,7 @@ func (x *Location) ProtoReflect() protoreflect.Message { // Deprecated: Use Location.ProtoReflect.Descriptor instead. func (*Location) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{115} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{118} } func (x *Location) GetDegreesLatitude() float64 { @@ -15703,7 +16086,7 @@ type TemplateButton struct { func (x *TemplateButton) Reset() { *x = TemplateButton{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[116] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15715,7 +16098,7 @@ func (x *TemplateButton) String() string { func (*TemplateButton) ProtoMessage() {} func (x *TemplateButton) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[116] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[119] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15728,7 +16111,7 @@ func (x *TemplateButton) ProtoReflect() protoreflect.Message { // Deprecated: Use TemplateButton.ProtoReflect.Descriptor instead. func (*TemplateButton) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{116} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{119} } func (x *TemplateButton) GetButton() isTemplateButton_Button { @@ -15805,7 +16188,7 @@ type Money struct { func (x *Money) Reset() { *x = Money{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[117] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15817,7 +16200,7 @@ func (x *Money) String() string { func (*Money) ProtoMessage() {} func (x *Money) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[117] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[120] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15830,7 +16213,7 @@ func (x *Money) ProtoReflect() protoreflect.Message { // Deprecated: Use Money.ProtoReflect.Descriptor instead. func (*Money) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{117} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{120} } func (x *Money) GetValue() int64 { @@ -15864,7 +16247,7 @@ type ActionLink struct { func (x *ActionLink) Reset() { *x = ActionLink{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[118] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15876,7 +16259,7 @@ func (x *ActionLink) String() string { func (*ActionLink) ProtoMessage() {} func (x *ActionLink) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[118] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[121] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15889,7 +16272,7 @@ func (x *ActionLink) ProtoReflect() protoreflect.Message { // Deprecated: Use ActionLink.ProtoReflect.Descriptor instead. func (*ActionLink) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{118} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{121} } func (x *ActionLink) GetURL() string { @@ -15916,7 +16299,7 @@ type GroupMention struct { func (x *GroupMention) Reset() { *x = GroupMention{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[119] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15928,7 +16311,7 @@ func (x *GroupMention) String() string { func (*GroupMention) ProtoMessage() {} func (x *GroupMention) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[119] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[122] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15941,7 +16324,7 @@ func (x *GroupMention) ProtoReflect() protoreflect.Message { // Deprecated: Use GroupMention.ProtoReflect.Descriptor instead. func (*GroupMention) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{119} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{122} } func (x *GroupMention) GetGroupJID() string { @@ -15969,7 +16352,7 @@ type MessageSecretMessage struct { func (x *MessageSecretMessage) Reset() { *x = MessageSecretMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[120] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15981,7 +16364,7 @@ func (x *MessageSecretMessage) String() string { func (*MessageSecretMessage) ProtoMessage() {} func (x *MessageSecretMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[120] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[123] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15994,7 +16377,7 @@ func (x *MessageSecretMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use MessageSecretMessage.ProtoReflect.Descriptor instead. func (*MessageSecretMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{120} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{123} } func (x *MessageSecretMessage) GetVersion() int32 { @@ -16029,7 +16412,7 @@ type MediaNotifyMessage struct { func (x *MediaNotifyMessage) Reset() { *x = MediaNotifyMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[121] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16041,7 +16424,7 @@ func (x *MediaNotifyMessage) String() string { func (*MediaNotifyMessage) ProtoMessage() {} func (x *MediaNotifyMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[121] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[124] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16054,7 +16437,7 @@ func (x *MediaNotifyMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use MediaNotifyMessage.ProtoReflect.Descriptor instead. func (*MediaNotifyMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{121} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{124} } func (x *MediaNotifyMessage) GetExpressPathURL() string { @@ -16087,7 +16470,7 @@ type LIDMigrationMappingSyncMessage struct { func (x *LIDMigrationMappingSyncMessage) Reset() { *x = LIDMigrationMappingSyncMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[122] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16098,8 +16481,52 @@ func (x *LIDMigrationMappingSyncMessage) String() string { func (*LIDMigrationMappingSyncMessage) ProtoMessage() {} -func (x *LIDMigrationMappingSyncMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[122] +func (x *LIDMigrationMappingSyncMessage) ProtoReflect() protoreflect.Message { + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[125] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LIDMigrationMappingSyncMessage.ProtoReflect.Descriptor instead. +func (*LIDMigrationMappingSyncMessage) Descriptor() ([]byte, []int) { + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{125} +} + +func (x *LIDMigrationMappingSyncMessage) GetEncodedMappingPayload() []byte { + if x != nil { + return x.EncodedMappingPayload + } + return nil +} + +type UrlTrackingMap struct { + state protoimpl.MessageState `protogen:"open.v1"` + UrlTrackingMapElements []*UrlTrackingMap_UrlTrackingMapElement `protobuf:"bytes,1,rep,name=urlTrackingMapElements" json:"urlTrackingMapElements,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UrlTrackingMap) Reset() { + *x = UrlTrackingMap{} + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[126] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UrlTrackingMap) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UrlTrackingMap) ProtoMessage() {} + +func (x *UrlTrackingMap) ProtoReflect() protoreflect.Message { + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[126] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16110,40 +16537,42 @@ func (x *LIDMigrationMappingSyncMessage) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use LIDMigrationMappingSyncMessage.ProtoReflect.Descriptor instead. -func (*LIDMigrationMappingSyncMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{122} +// Deprecated: Use UrlTrackingMap.ProtoReflect.Descriptor instead. +func (*UrlTrackingMap) Descriptor() ([]byte, []int) { + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{126} } -func (x *LIDMigrationMappingSyncMessage) GetEncodedMappingPayload() []byte { +func (x *UrlTrackingMap) GetUrlTrackingMapElements() []*UrlTrackingMap_UrlTrackingMapElement { if x != nil { - return x.EncodedMappingPayload + return x.UrlTrackingMapElements } return nil } -type UrlTrackingMap struct { - state protoimpl.MessageState `protogen:"open.v1"` - UrlTrackingMapElements []*UrlTrackingMap_UrlTrackingMapElement `protobuf:"bytes,1,rep,name=urlTrackingMapElements" json:"urlTrackingMapElements,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache +type AIQueryFanout struct { + state protoimpl.MessageState `protogen:"open.v1"` + MessageKey *waCommon.MessageKey `protobuf:"bytes,1,opt,name=messageKey" json:"messageKey,omitempty"` + Message *Message `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"` + Timestamp *int64 `protobuf:"varint,3,opt,name=timestamp" json:"timestamp,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *UrlTrackingMap) Reset() { - *x = UrlTrackingMap{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[123] +func (x *AIQueryFanout) Reset() { + *x = AIQueryFanout{} + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *UrlTrackingMap) String() string { +func (x *AIQueryFanout) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UrlTrackingMap) ProtoMessage() {} +func (*AIQueryFanout) ProtoMessage() {} -func (x *UrlTrackingMap) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[123] +func (x *AIQueryFanout) ProtoReflect() protoreflect.Message { + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[127] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16154,18 +16583,32 @@ func (x *UrlTrackingMap) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UrlTrackingMap.ProtoReflect.Descriptor instead. -func (*UrlTrackingMap) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{123} +// Deprecated: Use AIQueryFanout.ProtoReflect.Descriptor instead. +func (*AIQueryFanout) Descriptor() ([]byte, []int) { + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{127} } -func (x *UrlTrackingMap) GetUrlTrackingMapElements() []*UrlTrackingMap_UrlTrackingMapElement { +func (x *AIQueryFanout) GetMessageKey() *waCommon.MessageKey { if x != nil { - return x.UrlTrackingMapElements + return x.MessageKey + } + return nil +} + +func (x *AIQueryFanout) GetMessage() *Message { + if x != nil { + return x.Message } return nil } +func (x *AIQueryFanout) GetTimestamp() int64 { + if x != nil && x.Timestamp != nil { + return *x.Timestamp + } + return 0 +} + type StickerPackMessage_Sticker struct { state protoimpl.MessageState `protogen:"open.v1"` FileName *string `protobuf:"bytes,1,opt,name=fileName" json:"fileName,omitempty"` @@ -16180,7 +16623,7 @@ type StickerPackMessage_Sticker struct { func (x *StickerPackMessage_Sticker) Reset() { *x = StickerPackMessage_Sticker{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[124] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16192,7 +16635,7 @@ func (x *StickerPackMessage_Sticker) String() string { func (*StickerPackMessage_Sticker) ProtoMessage() {} func (x *StickerPackMessage_Sticker) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[124] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[128] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16260,7 +16703,7 @@ type CallLogMessage_CallParticipant struct { func (x *CallLogMessage_CallParticipant) Reset() { *x = CallLogMessage_CallParticipant{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[125] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16272,7 +16715,7 @@ func (x *CallLogMessage_CallParticipant) String() string { func (*CallLogMessage_CallParticipant) ProtoMessage() {} func (x *CallLogMessage_CallParticipant) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[125] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[129] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16312,7 +16755,7 @@ type PollCreationMessage_Option struct { func (x *PollCreationMessage_Option) Reset() { *x = PollCreationMessage_Option{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[126] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16324,7 +16767,7 @@ func (x *PollCreationMessage_Option) String() string { func (*PollCreationMessage_Option) ProtoMessage() {} func (x *PollCreationMessage_Option) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[126] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[130] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16366,7 +16809,7 @@ type ButtonsMessage_Button struct { func (x *ButtonsMessage_Button) Reset() { *x = ButtonsMessage_Button{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[127] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16378,7 +16821,7 @@ func (x *ButtonsMessage_Button) String() string { func (*ButtonsMessage_Button) ProtoMessage() {} func (x *ButtonsMessage_Button) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[127] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[131] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16432,7 +16875,7 @@ type ButtonsMessage_Button_NativeFlowInfo struct { func (x *ButtonsMessage_Button_NativeFlowInfo) Reset() { *x = ButtonsMessage_Button_NativeFlowInfo{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[128] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16444,7 +16887,7 @@ func (x *ButtonsMessage_Button_NativeFlowInfo) String() string { func (*ButtonsMessage_Button_NativeFlowInfo) ProtoMessage() {} func (x *ButtonsMessage_Button_NativeFlowInfo) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[128] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[132] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16483,7 +16926,7 @@ type ButtonsMessage_Button_ButtonText struct { func (x *ButtonsMessage_Button_ButtonText) Reset() { *x = ButtonsMessage_Button_ButtonText{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[129] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16495,7 +16938,7 @@ func (x *ButtonsMessage_Button_ButtonText) String() string { func (*ButtonsMessage_Button_ButtonText) ProtoMessage() {} func (x *ButtonsMessage_Button_ButtonText) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[129] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[133] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16528,7 +16971,7 @@ type InteractiveResponseMessage_Body struct { func (x *InteractiveResponseMessage_Body) Reset() { *x = InteractiveResponseMessage_Body{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[130] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16540,7 +16983,7 @@ func (x *InteractiveResponseMessage_Body) String() string { func (*InteractiveResponseMessage_Body) ProtoMessage() {} func (x *InteractiveResponseMessage_Body) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[130] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[134] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16581,7 +17024,7 @@ type InteractiveResponseMessage_NativeFlowResponseMessage struct { func (x *InteractiveResponseMessage_NativeFlowResponseMessage) Reset() { *x = InteractiveResponseMessage_NativeFlowResponseMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[131] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16593,7 +17036,7 @@ func (x *InteractiveResponseMessage_NativeFlowResponseMessage) String() string { func (*InteractiveResponseMessage_NativeFlowResponseMessage) ProtoMessage() {} func (x *InteractiveResponseMessage_NativeFlowResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[131] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[135] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16641,7 +17084,7 @@ type InteractiveMessage_ShopMessage struct { func (x *InteractiveMessage_ShopMessage) Reset() { *x = InteractiveMessage_ShopMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[132] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16653,7 +17096,7 @@ func (x *InteractiveMessage_ShopMessage) String() string { func (*InteractiveMessage_ShopMessage) ProtoMessage() {} func (x *InteractiveMessage_ShopMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[132] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[136] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16700,7 +17143,7 @@ type InteractiveMessage_CarouselMessage struct { func (x *InteractiveMessage_CarouselMessage) Reset() { *x = InteractiveMessage_CarouselMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[133] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16712,7 +17155,7 @@ func (x *InteractiveMessage_CarouselMessage) String() string { func (*InteractiveMessage_CarouselMessage) ProtoMessage() {} func (x *InteractiveMessage_CarouselMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[133] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[137] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16753,7 +17196,7 @@ type InteractiveMessage_NativeFlowMessage struct { func (x *InteractiveMessage_NativeFlowMessage) Reset() { *x = InteractiveMessage_NativeFlowMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[134] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16765,7 +17208,7 @@ func (x *InteractiveMessage_NativeFlowMessage) String() string { func (*InteractiveMessage_NativeFlowMessage) ProtoMessage() {} func (x *InteractiveMessage_NativeFlowMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[134] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[138] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16813,7 +17256,7 @@ type InteractiveMessage_CollectionMessage struct { func (x *InteractiveMessage_CollectionMessage) Reset() { *x = InteractiveMessage_CollectionMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[135] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16825,7 +17268,7 @@ func (x *InteractiveMessage_CollectionMessage) String() string { func (*InteractiveMessage_CollectionMessage) ProtoMessage() {} func (x *InteractiveMessage_CollectionMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[135] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[139] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16871,7 +17314,7 @@ type InteractiveMessage_Footer struct { func (x *InteractiveMessage_Footer) Reset() { *x = InteractiveMessage_Footer{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[136] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16883,7 +17326,7 @@ func (x *InteractiveMessage_Footer) String() string { func (*InteractiveMessage_Footer) ProtoMessage() {} func (x *InteractiveMessage_Footer) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[136] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[140] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16915,7 +17358,7 @@ type InteractiveMessage_Body struct { func (x *InteractiveMessage_Body) Reset() { *x = InteractiveMessage_Body{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[137] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16927,7 +17370,7 @@ func (x *InteractiveMessage_Body) String() string { func (*InteractiveMessage_Body) ProtoMessage() {} func (x *InteractiveMessage_Body) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[137] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[141] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16970,7 +17413,7 @@ type InteractiveMessage_Header struct { func (x *InteractiveMessage_Header) Reset() { *x = InteractiveMessage_Header{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[138] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16982,7 +17425,7 @@ func (x *InteractiveMessage_Header) String() string { func (*InteractiveMessage_Header) ProtoMessage() {} func (x *InteractiveMessage_Header) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[138] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[142] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17130,7 +17573,7 @@ type InteractiveMessage_NativeFlowMessage_NativeFlowButton struct { func (x *InteractiveMessage_NativeFlowMessage_NativeFlowButton) Reset() { *x = InteractiveMessage_NativeFlowMessage_NativeFlowButton{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[139] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17142,7 +17585,7 @@ func (x *InteractiveMessage_NativeFlowMessage_NativeFlowButton) String() string func (*InteractiveMessage_NativeFlowMessage_NativeFlowButton) ProtoMessage() {} func (x *InteractiveMessage_NativeFlowMessage_NativeFlowButton) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[139] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[143] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17181,7 +17624,7 @@ type ListResponseMessage_SingleSelectReply struct { func (x *ListResponseMessage_SingleSelectReply) Reset() { *x = ListResponseMessage_SingleSelectReply{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[140] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17193,7 +17636,7 @@ func (x *ListResponseMessage_SingleSelectReply) String() string { func (*ListResponseMessage_SingleSelectReply) ProtoMessage() {} func (x *ListResponseMessage_SingleSelectReply) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[140] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[144] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17227,7 +17670,7 @@ type ListMessage_ProductListInfo struct { func (x *ListMessage_ProductListInfo) Reset() { *x = ListMessage_ProductListInfo{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[141] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17239,7 +17682,7 @@ func (x *ListMessage_ProductListInfo) String() string { func (*ListMessage_ProductListInfo) ProtoMessage() {} func (x *ListMessage_ProductListInfo) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[141] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[145] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17286,7 +17729,7 @@ type ListMessage_ProductListHeaderImage struct { func (x *ListMessage_ProductListHeaderImage) Reset() { *x = ListMessage_ProductListHeaderImage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[142] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17298,7 +17741,7 @@ func (x *ListMessage_ProductListHeaderImage) String() string { func (*ListMessage_ProductListHeaderImage) ProtoMessage() {} func (x *ListMessage_ProductListHeaderImage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[142] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[146] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17338,7 +17781,7 @@ type ListMessage_ProductSection struct { func (x *ListMessage_ProductSection) Reset() { *x = ListMessage_ProductSection{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[143] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17350,7 +17793,7 @@ func (x *ListMessage_ProductSection) String() string { func (*ListMessage_ProductSection) ProtoMessage() {} func (x *ListMessage_ProductSection) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[143] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[147] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17389,7 +17832,7 @@ type ListMessage_Product struct { func (x *ListMessage_Product) Reset() { *x = ListMessage_Product{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[144] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17401,7 +17844,7 @@ func (x *ListMessage_Product) String() string { func (*ListMessage_Product) ProtoMessage() {} func (x *ListMessage_Product) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[144] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[148] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17434,7 +17877,7 @@ type ListMessage_Section struct { func (x *ListMessage_Section) Reset() { *x = ListMessage_Section{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[145] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17446,7 +17889,7 @@ func (x *ListMessage_Section) String() string { func (*ListMessage_Section) ProtoMessage() {} func (x *ListMessage_Section) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[145] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[149] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17487,7 +17930,7 @@ type ListMessage_Row struct { func (x *ListMessage_Row) Reset() { *x = ListMessage_Row{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[146] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17499,7 +17942,7 @@ func (x *ListMessage_Row) String() string { func (*ListMessage_Row) ProtoMessage() {} func (x *ListMessage_Row) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[146] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[150] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17550,7 +17993,7 @@ type HighlyStructuredMessage_HSMLocalizableParameter struct { func (x *HighlyStructuredMessage_HSMLocalizableParameter) Reset() { *x = HighlyStructuredMessage_HSMLocalizableParameter{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[147] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17562,7 +18005,7 @@ func (x *HighlyStructuredMessage_HSMLocalizableParameter) String() string { func (*HighlyStructuredMessage_HSMLocalizableParameter) ProtoMessage() {} func (x *HighlyStructuredMessage_HSMLocalizableParameter) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[147] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[151] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17641,7 +18084,7 @@ type HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime struct { func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime) Reset() { *x = HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[148] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17653,7 +18096,7 @@ func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime) String() s func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime) ProtoMessage() {} func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[148] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[152] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17722,7 +18165,7 @@ type HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency struct { func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency) Reset() { *x = HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[149] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17734,7 +18177,7 @@ func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency) String() s func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency) ProtoMessage() {} func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[149] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[153] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17779,7 +18222,7 @@ type HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComp func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent) Reset() { *x = HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[150] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17792,7 +18235,7 @@ func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeCo } func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[150] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[154] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17866,7 +18309,7 @@ type HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnix func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch) Reset() { *x = HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[151] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17879,7 +18322,7 @@ func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUn } func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[151] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[155] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17917,7 +18360,7 @@ type PeerDataOperationRequestResponseMessage_PeerDataOperationResult struct { func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult) Reset() { *x = PeerDataOperationRequestResponseMessage_PeerDataOperationResult{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[152] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17929,7 +18372,7 @@ func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult) String func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult) ProtoMessage() {} func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[152] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[156] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18003,7 +18446,7 @@ type PeerDataOperationRequestResponseMessage_PeerDataOperationResult_CompanionMe func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_CompanionMetaNonceFetchResponse) Reset() { *x = PeerDataOperationRequestResponseMessage_PeerDataOperationResult_CompanionMetaNonceFetchResponse{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[153] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18016,7 +18459,7 @@ func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_Companion } func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_CompanionMetaNonceFetchResponse) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[153] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[157] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18049,7 +18492,7 @@ type PeerDataOperationRequestResponseMessage_PeerDataOperationResult_WaffleNonce func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_WaffleNonceFetchResponse) Reset() { *x = PeerDataOperationRequestResponseMessage_PeerDataOperationResult_WaffleNonceFetchResponse{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[154] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18062,7 +18505,7 @@ func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_WaffleNon } func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_WaffleNonceFetchResponse) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[154] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[158] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18102,7 +18545,7 @@ type PeerDataOperationRequestResponseMessage_PeerDataOperationResult_FullHistory func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_FullHistorySyncOnDemandRequestResponse) Reset() { *x = PeerDataOperationRequestResponseMessage_PeerDataOperationResult_FullHistorySyncOnDemandRequestResponse{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[155] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18115,7 +18558,7 @@ func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_FullHisto } func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_FullHistorySyncOnDemandRequestResponse) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[155] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[159] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18154,7 +18597,7 @@ type PeerDataOperationRequestResponseMessage_PeerDataOperationResult_Placeholder func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse) Reset() { *x = PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[156] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18167,7 +18610,7 @@ func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_Placehold } func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[156] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[160] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18205,7 +18648,7 @@ type PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreview func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse) Reset() { *x = PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[157] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18218,7 +18661,7 @@ func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPrevi } func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[157] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[161] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18298,7 +18741,7 @@ type PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreview func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) Reset() { *x = PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[158] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18311,7 +18754,7 @@ func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPrevi } func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[158] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[162] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18373,7 +18816,95 @@ func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPre if x != nil && x.ThumbHeight != nil { return *x.ThumbHeight } - return 0 + return 0 +} + +type PaymentLinkMetadata_PaymentLinkHeader struct { + state protoimpl.MessageState `protogen:"open.v1"` + HeaderType *PaymentLinkMetadata_PaymentLinkHeader_PaymentLinkHeaderType `protobuf:"varint,1,opt,name=headerType,enum=WAWebProtobufsE2E.PaymentLinkMetadata_PaymentLinkHeader_PaymentLinkHeaderType" json:"headerType,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PaymentLinkMetadata_PaymentLinkHeader) Reset() { + *x = PaymentLinkMetadata_PaymentLinkHeader{} + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[163] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PaymentLinkMetadata_PaymentLinkHeader) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PaymentLinkMetadata_PaymentLinkHeader) ProtoMessage() {} + +func (x *PaymentLinkMetadata_PaymentLinkHeader) ProtoReflect() protoreflect.Message { + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[163] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PaymentLinkMetadata_PaymentLinkHeader.ProtoReflect.Descriptor instead. +func (*PaymentLinkMetadata_PaymentLinkHeader) Descriptor() ([]byte, []int) { + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{28, 0} +} + +func (x *PaymentLinkMetadata_PaymentLinkHeader) GetHeaderType() PaymentLinkMetadata_PaymentLinkHeader_PaymentLinkHeaderType { + if x != nil && x.HeaderType != nil { + return *x.HeaderType + } + return PaymentLinkMetadata_PaymentLinkHeader_LINK_PREVIEW +} + +type PaymentLinkMetadata_PaymentLinkButton struct { + state protoimpl.MessageState `protogen:"open.v1"` + DisplayText *string `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PaymentLinkMetadata_PaymentLinkButton) Reset() { + *x = PaymentLinkMetadata_PaymentLinkButton{} + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[164] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PaymentLinkMetadata_PaymentLinkButton) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PaymentLinkMetadata_PaymentLinkButton) ProtoMessage() {} + +func (x *PaymentLinkMetadata_PaymentLinkButton) ProtoReflect() protoreflect.Message { + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[164] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PaymentLinkMetadata_PaymentLinkButton.ProtoReflect.Descriptor instead. +func (*PaymentLinkMetadata_PaymentLinkButton) Descriptor() ([]byte, []int) { + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{28, 1} +} + +func (x *PaymentLinkMetadata_PaymentLinkButton) GetDisplayText() string { + if x != nil && x.DisplayText != nil { + return *x.DisplayText + } + return "" } type ContextInfo_ForwardedNewsletterMessageInfo struct { @@ -18389,7 +18920,7 @@ type ContextInfo_ForwardedNewsletterMessageInfo struct { func (x *ContextInfo_ForwardedNewsletterMessageInfo) Reset() { *x = ContextInfo_ForwardedNewsletterMessageInfo{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[159] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18401,7 +18932,7 @@ func (x *ContextInfo_ForwardedNewsletterMessageInfo) String() string { func (*ContextInfo_ForwardedNewsletterMessageInfo) ProtoMessage() {} func (x *ContextInfo_ForwardedNewsletterMessageInfo) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[159] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[165] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18414,7 +18945,7 @@ func (x *ContextInfo_ForwardedNewsletterMessageInfo) ProtoReflect() protoreflect // Deprecated: Use ContextInfo_ForwardedNewsletterMessageInfo.ProtoReflect.Descriptor instead. func (*ContextInfo_ForwardedNewsletterMessageInfo) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{31, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{32, 0} } func (x *ContextInfo_ForwardedNewsletterMessageInfo) GetNewsletterJID() string { @@ -18453,36 +18984,38 @@ func (x *ContextInfo_ForwardedNewsletterMessageInfo) GetAccessibilityText() stri } type ContextInfo_ExternalAdReplyInfo struct { - state protoimpl.MessageState `protogen:"open.v1"` - Title *string `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"` - Body *string `protobuf:"bytes,2,opt,name=body" json:"body,omitempty"` - MediaType *ContextInfo_ExternalAdReplyInfo_MediaType `protobuf:"varint,3,opt,name=mediaType,enum=WAWebProtobufsE2E.ContextInfo_ExternalAdReplyInfo_MediaType" json:"mediaType,omitempty"` - ThumbnailURL *string `protobuf:"bytes,4,opt,name=thumbnailURL" json:"thumbnailURL,omitempty"` - MediaURL *string `protobuf:"bytes,5,opt,name=mediaURL" json:"mediaURL,omitempty"` - Thumbnail []byte `protobuf:"bytes,6,opt,name=thumbnail" json:"thumbnail,omitempty"` - SourceType *string `protobuf:"bytes,7,opt,name=sourceType" json:"sourceType,omitempty"` - SourceID *string `protobuf:"bytes,8,opt,name=sourceID" json:"sourceID,omitempty"` - SourceURL *string `protobuf:"bytes,9,opt,name=sourceURL" json:"sourceURL,omitempty"` - ContainsAutoReply *bool `protobuf:"varint,10,opt,name=containsAutoReply" json:"containsAutoReply,omitempty"` - RenderLargerThumbnail *bool `protobuf:"varint,11,opt,name=renderLargerThumbnail" json:"renderLargerThumbnail,omitempty"` - ShowAdAttribution *bool `protobuf:"varint,12,opt,name=showAdAttribution" json:"showAdAttribution,omitempty"` - CtwaClid *string `protobuf:"bytes,13,opt,name=ctwaClid" json:"ctwaClid,omitempty"` - Ref *string `protobuf:"bytes,14,opt,name=ref" json:"ref,omitempty"` - ClickToWhatsappCall *bool `protobuf:"varint,15,opt,name=clickToWhatsappCall" json:"clickToWhatsappCall,omitempty"` - AdContextPreviewDismissed *bool `protobuf:"varint,16,opt,name=adContextPreviewDismissed" json:"adContextPreviewDismissed,omitempty"` - SourceApp *string `protobuf:"bytes,17,opt,name=sourceApp" json:"sourceApp,omitempty"` - AutomatedGreetingMessageShown *bool `protobuf:"varint,18,opt,name=automatedGreetingMessageShown" json:"automatedGreetingMessageShown,omitempty"` - GreetingMessageBody *string `protobuf:"bytes,19,opt,name=greetingMessageBody" json:"greetingMessageBody,omitempty"` - CtaPayload *string `protobuf:"bytes,20,opt,name=ctaPayload" json:"ctaPayload,omitempty"` - DisableNudge *bool `protobuf:"varint,21,opt,name=disableNudge" json:"disableNudge,omitempty"` - OriginalImageURL *string `protobuf:"bytes,22,opt,name=originalImageURL" json:"originalImageURL,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Title *string `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"` + Body *string `protobuf:"bytes,2,opt,name=body" json:"body,omitempty"` + MediaType *ContextInfo_ExternalAdReplyInfo_MediaType `protobuf:"varint,3,opt,name=mediaType,enum=WAWebProtobufsE2E.ContextInfo_ExternalAdReplyInfo_MediaType" json:"mediaType,omitempty"` + ThumbnailURL *string `protobuf:"bytes,4,opt,name=thumbnailURL" json:"thumbnailURL,omitempty"` + MediaURL *string `protobuf:"bytes,5,opt,name=mediaURL" json:"mediaURL,omitempty"` + Thumbnail []byte `protobuf:"bytes,6,opt,name=thumbnail" json:"thumbnail,omitempty"` + SourceType *string `protobuf:"bytes,7,opt,name=sourceType" json:"sourceType,omitempty"` + SourceID *string `protobuf:"bytes,8,opt,name=sourceID" json:"sourceID,omitempty"` + SourceURL *string `protobuf:"bytes,9,opt,name=sourceURL" json:"sourceURL,omitempty"` + ContainsAutoReply *bool `protobuf:"varint,10,opt,name=containsAutoReply" json:"containsAutoReply,omitempty"` + RenderLargerThumbnail *bool `protobuf:"varint,11,opt,name=renderLargerThumbnail" json:"renderLargerThumbnail,omitempty"` + ShowAdAttribution *bool `protobuf:"varint,12,opt,name=showAdAttribution" json:"showAdAttribution,omitempty"` + CtwaClid *string `protobuf:"bytes,13,opt,name=ctwaClid" json:"ctwaClid,omitempty"` + Ref *string `protobuf:"bytes,14,opt,name=ref" json:"ref,omitempty"` + ClickToWhatsappCall *bool `protobuf:"varint,15,opt,name=clickToWhatsappCall" json:"clickToWhatsappCall,omitempty"` + AdContextPreviewDismissed *bool `protobuf:"varint,16,opt,name=adContextPreviewDismissed" json:"adContextPreviewDismissed,omitempty"` + SourceApp *string `protobuf:"bytes,17,opt,name=sourceApp" json:"sourceApp,omitempty"` + AutomatedGreetingMessageShown *bool `protobuf:"varint,18,opt,name=automatedGreetingMessageShown" json:"automatedGreetingMessageShown,omitempty"` + GreetingMessageBody *string `protobuf:"bytes,19,opt,name=greetingMessageBody" json:"greetingMessageBody,omitempty"` + CtaPayload *string `protobuf:"bytes,20,opt,name=ctaPayload" json:"ctaPayload,omitempty"` + DisableNudge *bool `protobuf:"varint,21,opt,name=disableNudge" json:"disableNudge,omitempty"` + OriginalImageURL *string `protobuf:"bytes,22,opt,name=originalImageURL" json:"originalImageURL,omitempty"` + AutomatedGreetingMessageCtaType *string `protobuf:"bytes,23,opt,name=automatedGreetingMessageCtaType" json:"automatedGreetingMessageCtaType,omitempty"` + WtwaAdFormat *bool `protobuf:"varint,24,opt,name=wtwaAdFormat" json:"wtwaAdFormat,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ContextInfo_ExternalAdReplyInfo) Reset() { *x = ContextInfo_ExternalAdReplyInfo{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[160] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18494,7 +19027,7 @@ func (x *ContextInfo_ExternalAdReplyInfo) String() string { func (*ContextInfo_ExternalAdReplyInfo) ProtoMessage() {} func (x *ContextInfo_ExternalAdReplyInfo) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[160] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[166] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18507,7 +19040,7 @@ func (x *ContextInfo_ExternalAdReplyInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ContextInfo_ExternalAdReplyInfo.ProtoReflect.Descriptor instead. func (*ContextInfo_ExternalAdReplyInfo) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{31, 1} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{32, 1} } func (x *ContextInfo_ExternalAdReplyInfo) GetTitle() string { @@ -18664,6 +19197,20 @@ func (x *ContextInfo_ExternalAdReplyInfo) GetOriginalImageURL() string { return "" } +func (x *ContextInfo_ExternalAdReplyInfo) GetAutomatedGreetingMessageCtaType() string { + if x != nil && x.AutomatedGreetingMessageCtaType != nil { + return *x.AutomatedGreetingMessageCtaType + } + return "" +} + +func (x *ContextInfo_ExternalAdReplyInfo) GetWtwaAdFormat() bool { + if x != nil && x.WtwaAdFormat != nil { + return *x.WtwaAdFormat + } + return false +} + type ContextInfo_AdReplyInfo struct { state protoimpl.MessageState `protogen:"open.v1"` AdvertiserName *string `protobuf:"bytes,1,opt,name=advertiserName" json:"advertiserName,omitempty"` @@ -18676,7 +19223,7 @@ type ContextInfo_AdReplyInfo struct { func (x *ContextInfo_AdReplyInfo) Reset() { *x = ContextInfo_AdReplyInfo{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[161] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18688,7 +19235,7 @@ func (x *ContextInfo_AdReplyInfo) String() string { func (*ContextInfo_AdReplyInfo) ProtoMessage() {} func (x *ContextInfo_AdReplyInfo) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[161] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[167] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18701,7 +19248,7 @@ func (x *ContextInfo_AdReplyInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ContextInfo_AdReplyInfo.ProtoReflect.Descriptor instead. func (*ContextInfo_AdReplyInfo) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{31, 2} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{32, 2} } func (x *ContextInfo_AdReplyInfo) GetAdvertiserName() string { @@ -18744,7 +19291,7 @@ type ContextInfo_FeatureEligibilities struct { func (x *ContextInfo_FeatureEligibilities) Reset() { *x = ContextInfo_FeatureEligibilities{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[162] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18756,7 +19303,7 @@ func (x *ContextInfo_FeatureEligibilities) String() string { func (*ContextInfo_FeatureEligibilities) ProtoMessage() {} func (x *ContextInfo_FeatureEligibilities) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[162] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[168] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18769,7 +19316,7 @@ func (x *ContextInfo_FeatureEligibilities) ProtoReflect() protoreflect.Message { // Deprecated: Use ContextInfo_FeatureEligibilities.ProtoReflect.Descriptor instead. func (*ContextInfo_FeatureEligibilities) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{31, 3} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{32, 3} } func (x *ContextInfo_FeatureEligibilities) GetCannotBeReactedTo() bool { @@ -18811,7 +19358,7 @@ type ContextInfo_DataSharingContext struct { func (x *ContextInfo_DataSharingContext) Reset() { *x = ContextInfo_DataSharingContext{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[163] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18823,7 +19370,7 @@ func (x *ContextInfo_DataSharingContext) String() string { func (*ContextInfo_DataSharingContext) ProtoMessage() {} func (x *ContextInfo_DataSharingContext) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[163] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[169] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18836,7 +19383,7 @@ func (x *ContextInfo_DataSharingContext) ProtoReflect() protoreflect.Message { // Deprecated: Use ContextInfo_DataSharingContext.ProtoReflect.Descriptor instead. func (*ContextInfo_DataSharingContext) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{31, 4} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{32, 4} } func (x *ContextInfo_DataSharingContext) GetShowMmDisclosure() bool { @@ -18871,7 +19418,7 @@ type ContextInfo_ForwardedAIBotMessageInfo struct { func (x *ContextInfo_ForwardedAIBotMessageInfo) Reset() { *x = ContextInfo_ForwardedAIBotMessageInfo{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[164] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18883,7 +19430,7 @@ func (x *ContextInfo_ForwardedAIBotMessageInfo) String() string { func (*ContextInfo_ForwardedAIBotMessageInfo) ProtoMessage() {} func (x *ContextInfo_ForwardedAIBotMessageInfo) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[164] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[170] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18896,7 +19443,7 @@ func (x *ContextInfo_ForwardedAIBotMessageInfo) ProtoReflect() protoreflect.Mess // Deprecated: Use ContextInfo_ForwardedAIBotMessageInfo.ProtoReflect.Descriptor instead. func (*ContextInfo_ForwardedAIBotMessageInfo) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{31, 5} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{32, 5} } func (x *ContextInfo_ForwardedAIBotMessageInfo) GetBotName() string { @@ -18930,7 +19477,7 @@ type ContextInfo_UTMInfo struct { func (x *ContextInfo_UTMInfo) Reset() { *x = ContextInfo_UTMInfo{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[165] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18942,7 +19489,7 @@ func (x *ContextInfo_UTMInfo) String() string { func (*ContextInfo_UTMInfo) ProtoMessage() {} func (x *ContextInfo_UTMInfo) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[165] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[171] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18955,7 +19502,7 @@ func (x *ContextInfo_UTMInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ContextInfo_UTMInfo.ProtoReflect.Descriptor instead. func (*ContextInfo_UTMInfo) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{31, 6} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{32, 6} } func (x *ContextInfo_UTMInfo) GetUtmSource() string { @@ -18981,7 +19528,7 @@ type ContextInfo_BusinessMessageForwardInfo struct { func (x *ContextInfo_BusinessMessageForwardInfo) Reset() { *x = ContextInfo_BusinessMessageForwardInfo{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[166] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18993,7 +19540,7 @@ func (x *ContextInfo_BusinessMessageForwardInfo) String() string { func (*ContextInfo_BusinessMessageForwardInfo) ProtoMessage() {} func (x *ContextInfo_BusinessMessageForwardInfo) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[166] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[172] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19006,7 +19553,7 @@ func (x *ContextInfo_BusinessMessageForwardInfo) ProtoReflect() protoreflect.Mes // Deprecated: Use ContextInfo_BusinessMessageForwardInfo.ProtoReflect.Descriptor instead. func (*ContextInfo_BusinessMessageForwardInfo) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{31, 7} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{32, 7} } func (x *ContextInfo_BusinessMessageForwardInfo) GetBusinessOwnerJID() string { @@ -19029,7 +19576,7 @@ type ContextInfo_DataSharingContext_Parameters struct { func (x *ContextInfo_DataSharingContext_Parameters) Reset() { *x = ContextInfo_DataSharingContext_Parameters{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[167] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19041,7 +19588,7 @@ func (x *ContextInfo_DataSharingContext_Parameters) String() string { func (*ContextInfo_DataSharingContext_Parameters) ProtoMessage() {} func (x *ContextInfo_DataSharingContext_Parameters) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[167] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[173] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19054,7 +19601,7 @@ func (x *ContextInfo_DataSharingContext_Parameters) ProtoReflect() protoreflect. // Deprecated: Use ContextInfo_DataSharingContext_Parameters.ProtoReflect.Descriptor instead. func (*ContextInfo_DataSharingContext_Parameters) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{31, 4, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{32, 4, 0} } func (x *ContextInfo_DataSharingContext_Parameters) GetKey() string { @@ -19102,7 +19649,7 @@ type AIRichResponseMessage_AIRichResponseContentItemsMetadata struct { func (x *AIRichResponseMessage_AIRichResponseContentItemsMetadata) Reset() { *x = AIRichResponseMessage_AIRichResponseContentItemsMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[168] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19114,7 +19661,7 @@ func (x *AIRichResponseMessage_AIRichResponseContentItemsMetadata) String() stri func (*AIRichResponseMessage_AIRichResponseContentItemsMetadata) ProtoMessage() {} func (x *AIRichResponseMessage_AIRichResponseContentItemsMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[168] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[174] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19127,7 +19674,7 @@ func (x *AIRichResponseMessage_AIRichResponseContentItemsMetadata) ProtoReflect( // Deprecated: Use AIRichResponseMessage_AIRichResponseContentItemsMetadata.ProtoReflect.Descriptor instead. func (*AIRichResponseMessage_AIRichResponseContentItemsMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 0} } func (x *AIRichResponseMessage_AIRichResponseContentItemsMetadata) GetItemsMetadata() []*AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseContentItemMetadata { @@ -19156,7 +19703,7 @@ type AIRichResponseMessage_AIRichResponseDynamicMetadata struct { func (x *AIRichResponseMessage_AIRichResponseDynamicMetadata) Reset() { *x = AIRichResponseMessage_AIRichResponseDynamicMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[169] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19168,7 +19715,7 @@ func (x *AIRichResponseMessage_AIRichResponseDynamicMetadata) String() string { func (*AIRichResponseMessage_AIRichResponseDynamicMetadata) ProtoMessage() {} func (x *AIRichResponseMessage_AIRichResponseDynamicMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[169] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[175] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19181,7 +19728,7 @@ func (x *AIRichResponseMessage_AIRichResponseDynamicMetadata) ProtoReflect() pro // Deprecated: Use AIRichResponseMessage_AIRichResponseDynamicMetadata.ProtoReflect.Descriptor instead. func (*AIRichResponseMessage_AIRichResponseDynamicMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 1} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 1} } func (x *AIRichResponseMessage_AIRichResponseDynamicMetadata) GetType() AIRichResponseMessage_AIRichResponseDynamicMetadata_AIRichResponseDynamicMetadataType { @@ -19222,7 +19769,7 @@ type AIRichResponseMessage_AIRichResponseCodeMetadata struct { func (x *AIRichResponseMessage_AIRichResponseCodeMetadata) Reset() { *x = AIRichResponseMessage_AIRichResponseCodeMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[170] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19234,7 +19781,7 @@ func (x *AIRichResponseMessage_AIRichResponseCodeMetadata) String() string { func (*AIRichResponseMessage_AIRichResponseCodeMetadata) ProtoMessage() {} func (x *AIRichResponseMessage_AIRichResponseCodeMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[170] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[176] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19247,7 +19794,7 @@ func (x *AIRichResponseMessage_AIRichResponseCodeMetadata) ProtoReflect() protor // Deprecated: Use AIRichResponseMessage_AIRichResponseCodeMetadata.ProtoReflect.Descriptor instead. func (*AIRichResponseMessage_AIRichResponseCodeMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 2} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 2} } func (x *AIRichResponseMessage_AIRichResponseCodeMetadata) GetCodeLanguage() string { @@ -19276,7 +19823,7 @@ type AIRichResponseMessage_AIRichResponseInlineImageMetadata struct { func (x *AIRichResponseMessage_AIRichResponseInlineImageMetadata) Reset() { *x = AIRichResponseMessage_AIRichResponseInlineImageMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[171] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19288,7 +19835,7 @@ func (x *AIRichResponseMessage_AIRichResponseInlineImageMetadata) String() strin func (*AIRichResponseMessage_AIRichResponseInlineImageMetadata) ProtoMessage() {} func (x *AIRichResponseMessage_AIRichResponseInlineImageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[171] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[177] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19301,7 +19848,7 @@ func (x *AIRichResponseMessage_AIRichResponseInlineImageMetadata) ProtoReflect() // Deprecated: Use AIRichResponseMessage_AIRichResponseInlineImageMetadata.ProtoReflect.Descriptor instead. func (*AIRichResponseMessage_AIRichResponseInlineImageMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 3} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 3} } func (x *AIRichResponseMessage_AIRichResponseInlineImageMetadata) GetImageURL() *AIRichResponseMessage_AIRichResponseImageURL { @@ -19350,7 +19897,7 @@ type AIRichResponseMessage_AIRichResponseSubMessage struct { func (x *AIRichResponseMessage_AIRichResponseSubMessage) Reset() { *x = AIRichResponseMessage_AIRichResponseSubMessage{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[172] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19362,7 +19909,7 @@ func (x *AIRichResponseMessage_AIRichResponseSubMessage) String() string { func (*AIRichResponseMessage_AIRichResponseSubMessage) ProtoMessage() {} func (x *AIRichResponseMessage_AIRichResponseSubMessage) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[172] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[178] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19375,7 +19922,7 @@ func (x *AIRichResponseMessage_AIRichResponseSubMessage) ProtoReflect() protoref // Deprecated: Use AIRichResponseMessage_AIRichResponseSubMessage.ProtoReflect.Descriptor instead. func (*AIRichResponseMessage_AIRichResponseSubMessage) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 4} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 4} } func (x *AIRichResponseMessage_AIRichResponseSubMessage) GetMessageType() AIRichResponseMessage_AIRichResponseSubMessageType { @@ -19462,7 +20009,7 @@ type AIRichResponseMessage_AIRichResponseMapMetadata struct { func (x *AIRichResponseMessage_AIRichResponseMapMetadata) Reset() { *x = AIRichResponseMessage_AIRichResponseMapMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[173] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19474,7 +20021,7 @@ func (x *AIRichResponseMessage_AIRichResponseMapMetadata) String() string { func (*AIRichResponseMessage_AIRichResponseMapMetadata) ProtoMessage() {} func (x *AIRichResponseMessage_AIRichResponseMapMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[173] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[179] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19487,7 +20034,7 @@ func (x *AIRichResponseMessage_AIRichResponseMapMetadata) ProtoReflect() protore // Deprecated: Use AIRichResponseMessage_AIRichResponseMapMetadata.ProtoReflect.Descriptor instead. func (*AIRichResponseMessage_AIRichResponseMapMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 5} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 5} } func (x *AIRichResponseMessage_AIRichResponseMapMetadata) GetCenterLatitude() float64 { @@ -19542,7 +20089,7 @@ type AIRichResponseMessage_AIRichResponseLatexMetadata struct { func (x *AIRichResponseMessage_AIRichResponseLatexMetadata) Reset() { *x = AIRichResponseMessage_AIRichResponseLatexMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[174] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19554,7 +20101,7 @@ func (x *AIRichResponseMessage_AIRichResponseLatexMetadata) String() string { func (*AIRichResponseMessage_AIRichResponseLatexMetadata) ProtoMessage() {} func (x *AIRichResponseMessage_AIRichResponseLatexMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[174] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[180] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19567,7 +20114,7 @@ func (x *AIRichResponseMessage_AIRichResponseLatexMetadata) ProtoReflect() proto // Deprecated: Use AIRichResponseMessage_AIRichResponseLatexMetadata.ProtoReflect.Descriptor instead. func (*AIRichResponseMessage_AIRichResponseLatexMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 6} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 6} } func (x *AIRichResponseMessage_AIRichResponseLatexMetadata) GetText() string { @@ -19593,7 +20140,7 @@ type AIRichResponseMessage_AIRichResponseAbstractData struct { func (x *AIRichResponseMessage_AIRichResponseAbstractData) Reset() { *x = AIRichResponseMessage_AIRichResponseAbstractData{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[175] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19605,7 +20152,7 @@ func (x *AIRichResponseMessage_AIRichResponseAbstractData) String() string { func (*AIRichResponseMessage_AIRichResponseAbstractData) ProtoMessage() {} func (x *AIRichResponseMessage_AIRichResponseAbstractData) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[175] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[181] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19618,7 +20165,7 @@ func (x *AIRichResponseMessage_AIRichResponseAbstractData) ProtoReflect() protor // Deprecated: Use AIRichResponseMessage_AIRichResponseAbstractData.ProtoReflect.Descriptor instead. func (*AIRichResponseMessage_AIRichResponseAbstractData) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 7} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 7} } func (x *AIRichResponseMessage_AIRichResponseAbstractData) GetData() []byte { @@ -19637,7 +20184,7 @@ type AIRichResponseMessage_AIRichResponseTableMetadata struct { func (x *AIRichResponseMessage_AIRichResponseTableMetadata) Reset() { *x = AIRichResponseMessage_AIRichResponseTableMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[176] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[182] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19649,7 +20196,7 @@ func (x *AIRichResponseMessage_AIRichResponseTableMetadata) String() string { func (*AIRichResponseMessage_AIRichResponseTableMetadata) ProtoMessage() {} func (x *AIRichResponseMessage_AIRichResponseTableMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[176] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[182] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19662,7 +20209,7 @@ func (x *AIRichResponseMessage_AIRichResponseTableMetadata) ProtoReflect() proto // Deprecated: Use AIRichResponseMessage_AIRichResponseTableMetadata.ProtoReflect.Descriptor instead. func (*AIRichResponseMessage_AIRichResponseTableMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 8} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 8} } func (x *AIRichResponseMessage_AIRichResponseTableMetadata) GetRows() []*AIRichResponseMessage_AIRichResponseTableMetadata_AIRichResponseTableRow { @@ -19682,7 +20229,7 @@ type AIRichResponseMessage_AIRichResponseGridImageMetadata struct { func (x *AIRichResponseMessage_AIRichResponseGridImageMetadata) Reset() { *x = AIRichResponseMessage_AIRichResponseGridImageMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[177] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[183] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19694,7 +20241,7 @@ func (x *AIRichResponseMessage_AIRichResponseGridImageMetadata) String() string func (*AIRichResponseMessage_AIRichResponseGridImageMetadata) ProtoMessage() {} func (x *AIRichResponseMessage_AIRichResponseGridImageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[177] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[183] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19707,7 +20254,7 @@ func (x *AIRichResponseMessage_AIRichResponseGridImageMetadata) ProtoReflect() p // Deprecated: Use AIRichResponseMessage_AIRichResponseGridImageMetadata.ProtoReflect.Descriptor instead. func (*AIRichResponseMessage_AIRichResponseGridImageMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 9} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 9} } func (x *AIRichResponseMessage_AIRichResponseGridImageMetadata) GetGridImageURL() *AIRichResponseMessage_AIRichResponseImageURL { @@ -19735,7 +20282,7 @@ type AIRichResponseMessage_AIRichResponseImageURL struct { func (x *AIRichResponseMessage_AIRichResponseImageURL) Reset() { *x = AIRichResponseMessage_AIRichResponseImageURL{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[178] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[184] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19747,7 +20294,7 @@ func (x *AIRichResponseMessage_AIRichResponseImageURL) String() string { func (*AIRichResponseMessage_AIRichResponseImageURL) ProtoMessage() {} func (x *AIRichResponseMessage_AIRichResponseImageURL) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[178] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[184] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19760,7 +20307,7 @@ func (x *AIRichResponseMessage_AIRichResponseImageURL) ProtoReflect() protorefle // Deprecated: Use AIRichResponseMessage_AIRichResponseImageURL.ProtoReflect.Descriptor instead. func (*AIRichResponseMessage_AIRichResponseImageURL) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 10} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 10} } func (x *AIRichResponseMessage_AIRichResponseImageURL) GetImagePreviewURL() string { @@ -19796,7 +20343,7 @@ type AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseCont func (x *AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseContentItemMetadata) Reset() { *x = AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseContentItemMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[179] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[185] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19809,7 +20356,7 @@ func (*AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseCo } func (x *AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseContentItemMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[179] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[185] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19822,7 +20369,7 @@ func (x *AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponse // Deprecated: Use AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseContentItemMetadata.ProtoReflect.Descriptor instead. func (*AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseContentItemMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 0, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 0, 0} } func (x *AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseContentItemMetadata) GetAIRichResponseContentItem() isAIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseContentItemMetadata_AIRichResponseContentItem { @@ -19864,7 +20411,7 @@ type AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseReel func (x *AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseReelItem) Reset() { *x = AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseReelItem{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[180] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[186] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19877,7 +20424,7 @@ func (*AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseRe } func (x *AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseReelItem) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[180] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[186] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19890,7 +20437,7 @@ func (x *AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponse // Deprecated: Use AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseReelItem.ProtoReflect.Descriptor instead. func (*AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseReelItem) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 0, 1} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 0, 1} } func (x *AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseReelItem) GetTitle() string { @@ -19931,7 +20478,7 @@ type AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeBlock st func (x *AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeBlock) Reset() { *x = AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeBlock{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[181] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[187] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19943,7 +20490,7 @@ func (x *AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeBloc func (*AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeBlock) ProtoMessage() {} func (x *AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeBlock) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[181] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[187] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19956,7 +20503,7 @@ func (x *AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeBloc // Deprecated: Use AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeBlock.ProtoReflect.Descriptor instead. func (*AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeBlock) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 2, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 2, 0} } func (x *AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeBlock) GetHighlightType() AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeHighlightType { @@ -19986,7 +20533,7 @@ type AIRichResponseMessage_AIRichResponseMapMetadata_AIRichResponseMapAnnotation func (x *AIRichResponseMessage_AIRichResponseMapMetadata_AIRichResponseMapAnnotation) Reset() { *x = AIRichResponseMessage_AIRichResponseMapMetadata_AIRichResponseMapAnnotation{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[182] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[188] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19998,7 +20545,7 @@ func (x *AIRichResponseMessage_AIRichResponseMapMetadata_AIRichResponseMapAnnota func (*AIRichResponseMessage_AIRichResponseMapMetadata_AIRichResponseMapAnnotation) ProtoMessage() {} func (x *AIRichResponseMessage_AIRichResponseMapMetadata_AIRichResponseMapAnnotation) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[182] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[188] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20011,7 +20558,7 @@ func (x *AIRichResponseMessage_AIRichResponseMapMetadata_AIRichResponseMapAnnota // Deprecated: Use AIRichResponseMessage_AIRichResponseMapMetadata_AIRichResponseMapAnnotation.ProtoReflect.Descriptor instead. func (*AIRichResponseMessage_AIRichResponseMapMetadata_AIRichResponseMapAnnotation) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 5, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 5, 0} } func (x *AIRichResponseMessage_AIRichResponseMapMetadata_AIRichResponseMapAnnotation) GetAnnotationNumber() uint32 { @@ -20050,19 +20597,23 @@ func (x *AIRichResponseMessage_AIRichResponseMapMetadata_AIRichResponseMapAnnota } type AIRichResponseMessage_AIRichResponseLatexMetadata_AIRichResponseLatexExpression struct { - state protoimpl.MessageState `protogen:"open.v1"` - LatexExpression *string `protobuf:"bytes,1,opt,name=latexExpression" json:"latexExpression,omitempty"` - URL *string `protobuf:"bytes,2,opt,name=URL" json:"URL,omitempty"` - Width *float64 `protobuf:"fixed64,3,opt,name=width" json:"width,omitempty"` - Height *float64 `protobuf:"fixed64,4,opt,name=height" json:"height,omitempty"` - FontHeight *float64 `protobuf:"fixed64,5,opt,name=fontHeight" json:"fontHeight,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + LatexExpression *string `protobuf:"bytes,1,opt,name=latexExpression" json:"latexExpression,omitempty"` + URL *string `protobuf:"bytes,2,opt,name=URL" json:"URL,omitempty"` + Width *float64 `protobuf:"fixed64,3,opt,name=width" json:"width,omitempty"` + Height *float64 `protobuf:"fixed64,4,opt,name=height" json:"height,omitempty"` + FontHeight *float64 `protobuf:"fixed64,5,opt,name=fontHeight" json:"fontHeight,omitempty"` + ImageTopPadding *float64 `protobuf:"fixed64,6,opt,name=imageTopPadding" json:"imageTopPadding,omitempty"` + ImageLeadingPadding *float64 `protobuf:"fixed64,7,opt,name=imageLeadingPadding" json:"imageLeadingPadding,omitempty"` + ImageBottomPadding *float64 `protobuf:"fixed64,8,opt,name=imageBottomPadding" json:"imageBottomPadding,omitempty"` + ImageTrailingPadding *float64 `protobuf:"fixed64,9,opt,name=imageTrailingPadding" json:"imageTrailingPadding,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AIRichResponseMessage_AIRichResponseLatexMetadata_AIRichResponseLatexExpression) Reset() { *x = AIRichResponseMessage_AIRichResponseLatexMetadata_AIRichResponseLatexExpression{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[183] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[189] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20075,7 +20626,7 @@ func (*AIRichResponseMessage_AIRichResponseLatexMetadata_AIRichResponseLatexExpr } func (x *AIRichResponseMessage_AIRichResponseLatexMetadata_AIRichResponseLatexExpression) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[183] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[189] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20088,7 +20639,7 @@ func (x *AIRichResponseMessage_AIRichResponseLatexMetadata_AIRichResponseLatexEx // Deprecated: Use AIRichResponseMessage_AIRichResponseLatexMetadata_AIRichResponseLatexExpression.ProtoReflect.Descriptor instead. func (*AIRichResponseMessage_AIRichResponseLatexMetadata_AIRichResponseLatexExpression) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 6, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 6, 0} } func (x *AIRichResponseMessage_AIRichResponseLatexMetadata_AIRichResponseLatexExpression) GetLatexExpression() string { @@ -20126,6 +20677,34 @@ func (x *AIRichResponseMessage_AIRichResponseLatexMetadata_AIRichResponseLatexEx return 0 } +func (x *AIRichResponseMessage_AIRichResponseLatexMetadata_AIRichResponseLatexExpression) GetImageTopPadding() float64 { + if x != nil && x.ImageTopPadding != nil { + return *x.ImageTopPadding + } + return 0 +} + +func (x *AIRichResponseMessage_AIRichResponseLatexMetadata_AIRichResponseLatexExpression) GetImageLeadingPadding() float64 { + if x != nil && x.ImageLeadingPadding != nil { + return *x.ImageLeadingPadding + } + return 0 +} + +func (x *AIRichResponseMessage_AIRichResponseLatexMetadata_AIRichResponseLatexExpression) GetImageBottomPadding() float64 { + if x != nil && x.ImageBottomPadding != nil { + return *x.ImageBottomPadding + } + return 0 +} + +func (x *AIRichResponseMessage_AIRichResponseLatexMetadata_AIRichResponseLatexExpression) GetImageTrailingPadding() float64 { + if x != nil && x.ImageTrailingPadding != nil { + return *x.ImageTrailingPadding + } + return 0 +} + type AIRichResponseMessage_AIRichResponseTableMetadata_AIRichResponseTableRow struct { state protoimpl.MessageState `protogen:"open.v1"` Items []string `protobuf:"bytes,1,rep,name=items" json:"items,omitempty"` @@ -20136,7 +20715,7 @@ type AIRichResponseMessage_AIRichResponseTableMetadata_AIRichResponseTableRow st func (x *AIRichResponseMessage_AIRichResponseTableMetadata_AIRichResponseTableRow) Reset() { *x = AIRichResponseMessage_AIRichResponseTableMetadata_AIRichResponseTableRow{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[184] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[190] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20148,7 +20727,7 @@ func (x *AIRichResponseMessage_AIRichResponseTableMetadata_AIRichResponseTableRo func (*AIRichResponseMessage_AIRichResponseTableMetadata_AIRichResponseTableRow) ProtoMessage() {} func (x *AIRichResponseMessage_AIRichResponseTableMetadata_AIRichResponseTableRow) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[184] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[190] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20161,7 +20740,7 @@ func (x *AIRichResponseMessage_AIRichResponseTableMetadata_AIRichResponseTableRo // Deprecated: Use AIRichResponseMessage_AIRichResponseTableMetadata_AIRichResponseTableRow.ProtoReflect.Descriptor instead. func (*AIRichResponseMessage_AIRichResponseTableMetadata_AIRichResponseTableRow) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{34, 8, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{35, 8, 0} } func (x *AIRichResponseMessage_AIRichResponseTableMetadata_AIRichResponseTableRow) GetItems() []string { @@ -20181,6 +20760,7 @@ func (x *AIRichResponseMessage_AIRichResponseTableMetadata_AIRichResponseTableRo type BotProgressIndicatorMetadata_BotPlanningStepMetadata struct { state protoimpl.MessageState `protogen:"open.v1"` StatusTitle *string `protobuf:"bytes,1,opt,name=statusTitle" json:"statusTitle,omitempty"` + StatusBody *string `protobuf:"bytes,2,opt,name=statusBody" json:"statusBody,omitempty"` SourcesMetadata []*BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourcesMetadata `protobuf:"bytes,3,rep,name=sourcesMetadata" json:"sourcesMetadata,omitempty"` Status *BotProgressIndicatorMetadata_BotPlanningStepMetadata_PlanningStepStatus `protobuf:"varint,4,opt,name=status,enum=WAWebProtobufsE2E.BotProgressIndicatorMetadata_BotPlanningStepMetadata_PlanningStepStatus" json:"status,omitempty"` IsReasoning *bool `protobuf:"varint,5,opt,name=isReasoning" json:"isReasoning,omitempty"` @@ -20192,7 +20772,7 @@ type BotProgressIndicatorMetadata_BotPlanningStepMetadata struct { func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata) Reset() { *x = BotProgressIndicatorMetadata_BotPlanningStepMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[185] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[191] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20204,7 +20784,7 @@ func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata) String() string { func (*BotProgressIndicatorMetadata_BotPlanningStepMetadata) ProtoMessage() {} func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[185] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[191] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20217,7 +20797,7 @@ func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata) ProtoReflect() pr // Deprecated: Use BotProgressIndicatorMetadata_BotPlanningStepMetadata.ProtoReflect.Descriptor instead. func (*BotProgressIndicatorMetadata_BotPlanningStepMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{38, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{39, 0} } func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata) GetStatusTitle() string { @@ -20227,6 +20807,13 @@ func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata) GetStatusTitle() return "" } +func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata) GetStatusBody() string { + if x != nil && x.StatusBody != nil { + return *x.StatusBody + } + return "" +} + func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata) GetSourcesMetadata() []*BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourcesMetadata { if x != nil { return x.SourcesMetadata @@ -20273,7 +20860,7 @@ type BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourc func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourcesMetadata) Reset() { *x = BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourcesMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[186] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[192] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20286,7 +20873,7 @@ func (*BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSou } func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourcesMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[186] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[192] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20299,7 +20886,7 @@ func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchS // Deprecated: Use BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourcesMetadata.ProtoReflect.Descriptor instead. func (*BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourcesMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{38, 0, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{39, 0, 0} } func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourcesMetadata) GetSourceTitle() string { @@ -20334,7 +20921,7 @@ type BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningStepSection func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningStepSectionMetadata) Reset() { *x = BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningStepSectionMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[187] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[193] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20347,7 +20934,7 @@ func (*BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningStepSecti } func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningStepSectionMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[187] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[193] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20360,7 +20947,7 @@ func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningStepSec // Deprecated: Use BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningStepSectionMetadata.ProtoReflect.Descriptor instead. func (*BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningStepSectionMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{38, 0, 1} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{39, 0, 1} } func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningStepSectionMetadata) GetSectionTitle() string { @@ -20396,7 +20983,7 @@ type BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourc func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourceMetadata) Reset() { *x = BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourceMetadata{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[188] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[194] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20409,7 +20996,7 @@ func (*BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSou } func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourceMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[188] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[194] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20422,7 +21009,7 @@ func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchS // Deprecated: Use BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourceMetadata.ProtoReflect.Descriptor instead. func (*BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourceMetadata) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{38, 0, 2} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{39, 0, 2} } func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourceMetadata) GetTitle() string { @@ -20436,7 +21023,7 @@ func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchS if x != nil && x.Provider != nil { return *x.Provider } - return BotProgressIndicatorMetadata_BotPlanningStepMetadata_UNKNOWNPROVIDER + return BotProgressIndicatorMetadata_BotPlanningStepMetadata_UNKNOWN_PROVIDER } func (x *BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourceMetadata) GetSourceURL() string { @@ -20467,7 +21054,7 @@ type BotSourcesMetadata_BotSourceItem struct { func (x *BotSourcesMetadata_BotSourceItem) Reset() { *x = BotSourcesMetadata_BotSourceItem{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[189] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[195] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20479,7 +21066,7 @@ func (x *BotSourcesMetadata_BotSourceItem) String() string { func (*BotSourcesMetadata_BotSourceItem) ProtoMessage() {} func (x *BotSourcesMetadata_BotSourceItem) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[189] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[195] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20492,7 +21079,7 @@ func (x *BotSourcesMetadata_BotSourceItem) ProtoReflect() protoreflect.Message { // Deprecated: Use BotSourcesMetadata_BotSourceItem.ProtoReflect.Descriptor instead. func (*BotSourcesMetadata_BotSourceItem) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{41, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{42, 0} } func (x *BotSourcesMetadata_BotSourceItem) GetProvider() BotSourcesMetadata_BotSourceItem_SourceProvider { @@ -20549,7 +21136,7 @@ type HydratedTemplateButton_HydratedURLButton struct { func (x *HydratedTemplateButton_HydratedURLButton) Reset() { *x = HydratedTemplateButton_HydratedURLButton{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[190] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[196] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20561,7 +21148,7 @@ func (x *HydratedTemplateButton_HydratedURLButton) String() string { func (*HydratedTemplateButton_HydratedURLButton) ProtoMessage() {} func (x *HydratedTemplateButton_HydratedURLButton) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[190] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[196] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20574,7 +21161,7 @@ func (x *HydratedTemplateButton_HydratedURLButton) ProtoReflect() protoreflect.M // Deprecated: Use HydratedTemplateButton_HydratedURLButton.ProtoReflect.Descriptor instead. func (*HydratedTemplateButton_HydratedURLButton) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{44, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{46, 0} } func (x *HydratedTemplateButton_HydratedURLButton) GetDisplayText() string { @@ -20615,7 +21202,7 @@ type HydratedTemplateButton_HydratedCallButton struct { func (x *HydratedTemplateButton_HydratedCallButton) Reset() { *x = HydratedTemplateButton_HydratedCallButton{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[191] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[197] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20627,7 +21214,7 @@ func (x *HydratedTemplateButton_HydratedCallButton) String() string { func (*HydratedTemplateButton_HydratedCallButton) ProtoMessage() {} func (x *HydratedTemplateButton_HydratedCallButton) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[191] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[197] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20640,7 +21227,7 @@ func (x *HydratedTemplateButton_HydratedCallButton) ProtoReflect() protoreflect. // Deprecated: Use HydratedTemplateButton_HydratedCallButton.ProtoReflect.Descriptor instead. func (*HydratedTemplateButton_HydratedCallButton) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{44, 1} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{46, 1} } func (x *HydratedTemplateButton_HydratedCallButton) GetDisplayText() string { @@ -20667,7 +21254,7 @@ type HydratedTemplateButton_HydratedQuickReplyButton struct { func (x *HydratedTemplateButton_HydratedQuickReplyButton) Reset() { *x = HydratedTemplateButton_HydratedQuickReplyButton{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[192] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[198] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20679,7 +21266,7 @@ func (x *HydratedTemplateButton_HydratedQuickReplyButton) String() string { func (*HydratedTemplateButton_HydratedQuickReplyButton) ProtoMessage() {} func (x *HydratedTemplateButton_HydratedQuickReplyButton) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[192] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[198] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20692,7 +21279,7 @@ func (x *HydratedTemplateButton_HydratedQuickReplyButton) ProtoReflect() protore // Deprecated: Use HydratedTemplateButton_HydratedQuickReplyButton.ProtoReflect.Descriptor instead. func (*HydratedTemplateButton_HydratedQuickReplyButton) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{44, 2} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{46, 2} } func (x *HydratedTemplateButton_HydratedQuickReplyButton) GetDisplayText() string { @@ -20722,7 +21309,7 @@ type PaymentBackground_MediaData struct { func (x *PaymentBackground_MediaData) Reset() { *x = PaymentBackground_MediaData{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[193] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[199] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20734,7 +21321,7 @@ func (x *PaymentBackground_MediaData) String() string { func (*PaymentBackground_MediaData) ProtoMessage() {} func (x *PaymentBackground_MediaData) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[193] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[199] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20747,7 +21334,7 @@ func (x *PaymentBackground_MediaData) ProtoReflect() protoreflect.Message { // Deprecated: Use PaymentBackground_MediaData.ProtoReflect.Descriptor instead. func (*PaymentBackground_MediaData) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{45, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{47, 0} } func (x *PaymentBackground_MediaData) GetMediaKey() []byte { @@ -20795,7 +21382,7 @@ type PollResultSnapshotMessage_PollVote struct { func (x *PollResultSnapshotMessage_PollVote) Reset() { *x = PollResultSnapshotMessage_PollVote{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[194] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[200] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20807,7 +21394,7 @@ func (x *PollResultSnapshotMessage_PollVote) String() string { func (*PollResultSnapshotMessage_PollVote) ProtoMessage() {} func (x *PollResultSnapshotMessage_PollVote) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[194] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[200] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20820,7 +21407,7 @@ func (x *PollResultSnapshotMessage_PollVote) ProtoReflect() protoreflect.Message // Deprecated: Use PollResultSnapshotMessage_PollVote.ProtoReflect.Descriptor instead. func (*PollResultSnapshotMessage_PollVote) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{57, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{59, 0} } func (x *PollResultSnapshotMessage_PollVote) GetOptionName() string { @@ -20857,7 +21444,7 @@ type ProductMessage_ProductSnapshot struct { func (x *ProductMessage_ProductSnapshot) Reset() { *x = ProductMessage_ProductSnapshot{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[195] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[201] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20869,7 +21456,7 @@ func (x *ProductMessage_ProductSnapshot) String() string { func (*ProductMessage_ProductSnapshot) ProtoMessage() {} func (x *ProductMessage_ProductSnapshot) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[195] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[201] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20882,7 +21469,7 @@ func (x *ProductMessage_ProductSnapshot) ProtoReflect() protoreflect.Message { // Deprecated: Use ProductMessage_ProductSnapshot.ProtoReflect.Descriptor instead. func (*ProductMessage_ProductSnapshot) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{68, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{70, 0} } func (x *ProductMessage_ProductSnapshot) GetProductImage() *ImageMessage { @@ -20980,7 +21567,7 @@ type ProductMessage_CatalogSnapshot struct { func (x *ProductMessage_CatalogSnapshot) Reset() { *x = ProductMessage_CatalogSnapshot{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[196] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[202] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20992,7 +21579,7 @@ func (x *ProductMessage_CatalogSnapshot) String() string { func (*ProductMessage_CatalogSnapshot) ProtoMessage() {} func (x *ProductMessage_CatalogSnapshot) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[196] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[202] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21005,7 +21592,7 @@ func (x *ProductMessage_CatalogSnapshot) ProtoReflect() protoreflect.Message { // Deprecated: Use ProductMessage_CatalogSnapshot.ProtoReflect.Descriptor instead. func (*ProductMessage_CatalogSnapshot) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{68, 1} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{70, 1} } func (x *ProductMessage_CatalogSnapshot) GetCatalogImage() *ImageMessage { @@ -21050,7 +21637,7 @@ type TemplateMessage_HydratedFourRowTemplate struct { func (x *TemplateMessage_HydratedFourRowTemplate) Reset() { *x = TemplateMessage_HydratedFourRowTemplate{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[197] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[203] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21062,7 +21649,7 @@ func (x *TemplateMessage_HydratedFourRowTemplate) String() string { func (*TemplateMessage_HydratedFourRowTemplate) ProtoMessage() {} func (x *TemplateMessage_HydratedFourRowTemplate) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[197] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[203] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21075,7 +21662,7 @@ func (x *TemplateMessage_HydratedFourRowTemplate) ProtoReflect() protoreflect.Me // Deprecated: Use TemplateMessage_HydratedFourRowTemplate.ProtoReflect.Descriptor instead. func (*TemplateMessage_HydratedFourRowTemplate) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{70, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{72, 0} } func (x *TemplateMessage_HydratedFourRowTemplate) GetTitle() isTemplateMessage_HydratedFourRowTemplate_Title { @@ -21223,7 +21810,7 @@ type TemplateMessage_FourRowTemplate struct { func (x *TemplateMessage_FourRowTemplate) Reset() { *x = TemplateMessage_FourRowTemplate{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[198] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[204] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21235,7 +21822,7 @@ func (x *TemplateMessage_FourRowTemplate) String() string { func (*TemplateMessage_FourRowTemplate) ProtoMessage() {} func (x *TemplateMessage_FourRowTemplate) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[198] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[204] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21248,7 +21835,7 @@ func (x *TemplateMessage_FourRowTemplate) ProtoReflect() protoreflect.Message { // Deprecated: Use TemplateMessage_FourRowTemplate.ProtoReflect.Descriptor instead. func (*TemplateMessage_FourRowTemplate) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{70, 1} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{72, 1} } func (x *TemplateMessage_FourRowTemplate) GetTitle() isTemplateMessage_FourRowTemplate_Title { @@ -21368,7 +21955,7 @@ type PeerDataOperationRequestMessage_PlaceholderMessageResendRequest struct { func (x *PeerDataOperationRequestMessage_PlaceholderMessageResendRequest) Reset() { *x = PeerDataOperationRequestMessage_PlaceholderMessageResendRequest{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[199] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[205] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21380,7 +21967,7 @@ func (x *PeerDataOperationRequestMessage_PlaceholderMessageResendRequest) String func (*PeerDataOperationRequestMessage_PlaceholderMessageResendRequest) ProtoMessage() {} func (x *PeerDataOperationRequestMessage_PlaceholderMessageResendRequest) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[199] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[205] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21393,7 +21980,7 @@ func (x *PeerDataOperationRequestMessage_PlaceholderMessageResendRequest) ProtoR // Deprecated: Use PeerDataOperationRequestMessage_PlaceholderMessageResendRequest.ProtoReflect.Descriptor instead. func (*PeerDataOperationRequestMessage_PlaceholderMessageResendRequest) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{79, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{81, 0} } func (x *PeerDataOperationRequestMessage_PlaceholderMessageResendRequest) GetMessageKey() *waCommon.MessageKey { @@ -21413,7 +22000,7 @@ type PeerDataOperationRequestMessage_FullHistorySyncOnDemandRequest struct { func (x *PeerDataOperationRequestMessage_FullHistorySyncOnDemandRequest) Reset() { *x = PeerDataOperationRequestMessage_FullHistorySyncOnDemandRequest{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[200] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[206] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21425,7 +22012,7 @@ func (x *PeerDataOperationRequestMessage_FullHistorySyncOnDemandRequest) String( func (*PeerDataOperationRequestMessage_FullHistorySyncOnDemandRequest) ProtoMessage() {} func (x *PeerDataOperationRequestMessage_FullHistorySyncOnDemandRequest) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[200] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[206] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21438,7 +22025,7 @@ func (x *PeerDataOperationRequestMessage_FullHistorySyncOnDemandRequest) ProtoRe // Deprecated: Use PeerDataOperationRequestMessage_FullHistorySyncOnDemandRequest.ProtoReflect.Descriptor instead. func (*PeerDataOperationRequestMessage_FullHistorySyncOnDemandRequest) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{79, 1} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{81, 1} } func (x *PeerDataOperationRequestMessage_FullHistorySyncOnDemandRequest) GetRequestMetadata() *FullHistorySyncOnDemandRequestMetadata { @@ -21469,7 +22056,7 @@ type PeerDataOperationRequestMessage_HistorySyncOnDemandRequest struct { func (x *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) Reset() { *x = PeerDataOperationRequestMessage_HistorySyncOnDemandRequest{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[201] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[207] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21481,7 +22068,7 @@ func (x *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) String() st func (*PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) ProtoMessage() {} func (x *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[201] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[207] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21494,7 +22081,7 @@ func (x *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) ProtoReflec // Deprecated: Use PeerDataOperationRequestMessage_HistorySyncOnDemandRequest.ProtoReflect.Descriptor instead. func (*PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{79, 2} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{81, 2} } func (x *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) GetChatJID() string { @@ -21549,7 +22136,7 @@ type PeerDataOperationRequestMessage_RequestUrlPreview struct { func (x *PeerDataOperationRequestMessage_RequestUrlPreview) Reset() { *x = PeerDataOperationRequestMessage_RequestUrlPreview{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[202] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[208] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21561,7 +22148,7 @@ func (x *PeerDataOperationRequestMessage_RequestUrlPreview) String() string { func (*PeerDataOperationRequestMessage_RequestUrlPreview) ProtoMessage() {} func (x *PeerDataOperationRequestMessage_RequestUrlPreview) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[202] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[208] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21574,7 +22161,7 @@ func (x *PeerDataOperationRequestMessage_RequestUrlPreview) ProtoReflect() proto // Deprecated: Use PeerDataOperationRequestMessage_RequestUrlPreview.ProtoReflect.Descriptor instead. func (*PeerDataOperationRequestMessage_RequestUrlPreview) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{79, 3} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{81, 3} } func (x *PeerDataOperationRequestMessage_RequestUrlPreview) GetURL() string { @@ -21600,7 +22187,7 @@ type PeerDataOperationRequestMessage_RequestStickerReupload struct { func (x *PeerDataOperationRequestMessage_RequestStickerReupload) Reset() { *x = PeerDataOperationRequestMessage_RequestStickerReupload{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[203] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[209] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21612,7 +22199,7 @@ func (x *PeerDataOperationRequestMessage_RequestStickerReupload) String() string func (*PeerDataOperationRequestMessage_RequestStickerReupload) ProtoMessage() {} func (x *PeerDataOperationRequestMessage_RequestStickerReupload) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[203] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[209] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21625,7 +22212,7 @@ func (x *PeerDataOperationRequestMessage_RequestStickerReupload) ProtoReflect() // Deprecated: Use PeerDataOperationRequestMessage_RequestStickerReupload.ProtoReflect.Descriptor instead. func (*PeerDataOperationRequestMessage_RequestStickerReupload) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{79, 4} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{81, 4} } func (x *PeerDataOperationRequestMessage_RequestStickerReupload) GetFileSHA256() string { @@ -21645,7 +22232,7 @@ type BotRenderingMetadata_Keyword struct { func (x *BotRenderingMetadata_Keyword) Reset() { *x = BotRenderingMetadata_Keyword{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[204] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[210] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21657,7 +22244,7 @@ func (x *BotRenderingMetadata_Keyword) String() string { func (*BotRenderingMetadata_Keyword) ProtoMessage() {} func (x *BotRenderingMetadata_Keyword) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[204] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[210] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21670,7 +22257,7 @@ func (x *BotRenderingMetadata_Keyword) ProtoReflect() protoreflect.Message { // Deprecated: Use BotRenderingMetadata_Keyword.ProtoReflect.Descriptor instead. func (*BotRenderingMetadata_Keyword) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{103, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{107, 0} } func (x *BotRenderingMetadata_Keyword) GetValue() string { @@ -21697,7 +22284,7 @@ type TemplateButton_CallButton struct { func (x *TemplateButton_CallButton) Reset() { *x = TemplateButton_CallButton{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[205] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[211] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21709,7 +22296,7 @@ func (x *TemplateButton_CallButton) String() string { func (*TemplateButton_CallButton) ProtoMessage() {} func (x *TemplateButton_CallButton) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[205] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[211] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21722,7 +22309,7 @@ func (x *TemplateButton_CallButton) ProtoReflect() protoreflect.Message { // Deprecated: Use TemplateButton_CallButton.ProtoReflect.Descriptor instead. func (*TemplateButton_CallButton) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{116, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{119, 0} } func (x *TemplateButton_CallButton) GetDisplayText() *HighlyStructuredMessage { @@ -21749,7 +22336,7 @@ type TemplateButton_URLButton struct { func (x *TemplateButton_URLButton) Reset() { *x = TemplateButton_URLButton{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[206] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[212] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21761,7 +22348,7 @@ func (x *TemplateButton_URLButton) String() string { func (*TemplateButton_URLButton) ProtoMessage() {} func (x *TemplateButton_URLButton) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[206] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[212] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21774,7 +22361,7 @@ func (x *TemplateButton_URLButton) ProtoReflect() protoreflect.Message { // Deprecated: Use TemplateButton_URLButton.ProtoReflect.Descriptor instead. func (*TemplateButton_URLButton) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{116, 1} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{119, 1} } func (x *TemplateButton_URLButton) GetDisplayText() *HighlyStructuredMessage { @@ -21801,7 +22388,7 @@ type TemplateButton_QuickReplyButton struct { func (x *TemplateButton_QuickReplyButton) Reset() { *x = TemplateButton_QuickReplyButton{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[207] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[213] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21813,7 +22400,7 @@ func (x *TemplateButton_QuickReplyButton) String() string { func (*TemplateButton_QuickReplyButton) ProtoMessage() {} func (x *TemplateButton_QuickReplyButton) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[207] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[213] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21826,7 +22413,7 @@ func (x *TemplateButton_QuickReplyButton) ProtoReflect() protoreflect.Message { // Deprecated: Use TemplateButton_QuickReplyButton.ProtoReflect.Descriptor instead. func (*TemplateButton_QuickReplyButton) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{116, 2} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{119, 2} } func (x *TemplateButton_QuickReplyButton) GetDisplayText() *HighlyStructuredMessage { @@ -21855,7 +22442,7 @@ type UrlTrackingMap_UrlTrackingMapElement struct { func (x *UrlTrackingMap_UrlTrackingMapElement) Reset() { *x = UrlTrackingMap_UrlTrackingMapElement{} - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[208] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[214] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21867,7 +22454,7 @@ func (x *UrlTrackingMap_UrlTrackingMapElement) String() string { func (*UrlTrackingMap_UrlTrackingMapElement) ProtoMessage() {} func (x *UrlTrackingMap_UrlTrackingMapElement) ProtoReflect() protoreflect.Message { - mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[208] + mi := &file_waE2E_WAWebProtobufsE2E_proto_msgTypes[214] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21880,7 +22467,7 @@ func (x *UrlTrackingMap_UrlTrackingMapElement) ProtoReflect() protoreflect.Messa // Deprecated: Use UrlTrackingMap_UrlTrackingMapElement.ProtoReflect.Descriptor instead. func (*UrlTrackingMap_UrlTrackingMapElement) Descriptor() ([]byte, []int) { - return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{123, 0} + return file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP(), []int{126, 0} } func (x *UrlTrackingMap_UrlTrackingMapElement) GetOriginalURL() string { @@ -21928,8 +22515,8 @@ func file_waE2E_WAWebProtobufsE2E_proto_rawDescGZIP() []byte { return file_waE2E_WAWebProtobufsE2E_proto_rawDescData } -var file_waE2E_WAWebProtobufsE2E_proto_enumTypes = make([]protoimpl.EnumInfo, 78) -var file_waE2E_WAWebProtobufsE2E_proto_msgTypes = make([]protoimpl.MessageInfo, 209) +var file_waE2E_WAWebProtobufsE2E_proto_enumTypes = make([]protoimpl.EnumInfo, 80) +var file_waE2E_WAWebProtobufsE2E_proto_msgTypes = make([]protoimpl.MessageInfo, 215) var file_waE2E_WAWebProtobufsE2E_proto_goTypes = []any{ (PollContentType)(0), // 0: WAWebProtobufsE2E.PollContentType (PeerDataOperationRequestType)(0), // 1: WAWebProtobufsE2E.PeerDataOperationRequestType @@ -21974,682 +22561,704 @@ var file_waE2E_WAWebProtobufsE2E_proto_goTypes = []any{ (ExtendedTextMessage_InviteLinkGroupType)(0), // 40: WAWebProtobufsE2E.ExtendedTextMessage.InviteLinkGroupType (ExtendedTextMessage_PreviewType)(0), // 41: WAWebProtobufsE2E.ExtendedTextMessage.PreviewType (ExtendedTextMessage_FontType)(0), // 42: WAWebProtobufsE2E.ExtendedTextMessage.FontType - (StatusNotificationMessage_StatusNotificationType)(0), // 43: WAWebProtobufsE2E.StatusNotificationMessage.StatusNotificationType - (InvoiceMessage_AttachmentType)(0), // 44: WAWebProtobufsE2E.InvoiceMessage.AttachmentType - (ImageMessage_ImageSourceType)(0), // 45: WAWebProtobufsE2E.ImageMessage.ImageSourceType - (ContextInfo_PairedMediaType)(0), // 46: WAWebProtobufsE2E.ContextInfo.PairedMediaType - (ContextInfo_StatusAttributionType)(0), // 47: WAWebProtobufsE2E.ContextInfo.StatusAttributionType - (ContextInfo_ForwardedNewsletterMessageInfo_ContentType)(0), // 48: WAWebProtobufsE2E.ContextInfo.ForwardedNewsletterMessageInfo.ContentType - (ContextInfo_ExternalAdReplyInfo_MediaType)(0), // 49: WAWebProtobufsE2E.ContextInfo.ExternalAdReplyInfo.MediaType - (ContextInfo_AdReplyInfo_MediaType)(0), // 50: WAWebProtobufsE2E.ContextInfo.AdReplyInfo.MediaType - (BotPluginMetadata_PluginType)(0), // 51: WAWebProtobufsE2E.BotPluginMetadata.PluginType - (BotPluginMetadata_SearchProvider)(0), // 52: WAWebProtobufsE2E.BotPluginMetadata.SearchProvider - (BotLinkedAccount_BotLinkedAccountType)(0), // 53: WAWebProtobufsE2E.BotLinkedAccount.BotLinkedAccountType - (AIRichResponseMessage_AIRichResponseSubMessageType)(0), // 54: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessageType - (AIRichResponseMessage_AIRichResponseMessageType)(0), // 55: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseMessageType - (AIRichResponseMessage_AIRichResponseContentItemsMetadata_ContentType)(0), // 56: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata.ContentType - (AIRichResponseMessage_AIRichResponseDynamicMetadata_AIRichResponseDynamicMetadataType)(0), // 57: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseDynamicMetadata.AIRichResponseDynamicMetadataType - (AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeHighlightType)(0), // 58: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType - (AIRichResponseMessage_AIRichResponseInlineImageMetadata_AIRichResponseImageAlignment)(0), // 59: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseInlineImageMetadata.AIRichResponseImageAlignment - (BotMediaMetadata_OrientationType)(0), // 60: WAWebProtobufsE2E.BotMediaMetadata.OrientationType - (BotReminderMetadata_ReminderFrequency)(0), // 61: WAWebProtobufsE2E.BotReminderMetadata.ReminderFrequency - (BotReminderMetadata_ReminderAction)(0), // 62: WAWebProtobufsE2E.BotReminderMetadata.ReminderAction - (BotModelMetadata_PremiumModelStatus)(0), // 63: WAWebProtobufsE2E.BotModelMetadata.PremiumModelStatus - (BotModelMetadata_ModelType)(0), // 64: WAWebProtobufsE2E.BotModelMetadata.ModelType - (BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotSearchSourceProvider)(0), // 65: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider - (BotProgressIndicatorMetadata_BotPlanningStepMetadata_PlanningStepStatus)(0), // 66: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus - (BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourcesMetadata_BotPlanningSearchSourceProvider)(0), // 67: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider - (BotCapabilityMetadata_BotCapabilityType)(0), // 68: WAWebProtobufsE2E.BotCapabilityMetadata.BotCapabilityType - (BotImagineMetadata_ImagineType)(0), // 69: WAWebProtobufsE2E.BotImagineMetadata.ImagineType - (BotSourcesMetadata_BotSourceItem_SourceProvider)(0), // 70: WAWebProtobufsE2E.BotSourcesMetadata.BotSourceItem.SourceProvider - (MessageAssociation_AssociationType)(0), // 71: WAWebProtobufsE2E.MessageAssociation.AssociationType - (MessageContextInfo_MessageAddonExpiryType)(0), // 72: WAWebProtobufsE2E.MessageContextInfo.MessageAddonExpiryType - (HydratedTemplateButton_HydratedURLButton_WebviewPresentationType)(0), // 73: WAWebProtobufsE2E.HydratedTemplateButton.HydratedURLButton.WebviewPresentationType - (PaymentBackground_Type)(0), // 74: WAWebProtobufsE2E.PaymentBackground.Type - (DisappearingMode_Trigger)(0), // 75: WAWebProtobufsE2E.DisappearingMode.Trigger - (DisappearingMode_Initiator)(0), // 76: WAWebProtobufsE2E.DisappearingMode.Initiator - (ProcessedVideo_VideoQuality)(0), // 77: WAWebProtobufsE2E.ProcessedVideo.VideoQuality - (*StickerPackMessage)(nil), // 78: WAWebProtobufsE2E.StickerPackMessage - (*PlaceholderMessage)(nil), // 79: WAWebProtobufsE2E.PlaceholderMessage - (*BCallMessage)(nil), // 80: WAWebProtobufsE2E.BCallMessage - (*CallLogMessage)(nil), // 81: WAWebProtobufsE2E.CallLogMessage - (*ScheduledCallEditMessage)(nil), // 82: WAWebProtobufsE2E.ScheduledCallEditMessage - (*ScheduledCallCreationMessage)(nil), // 83: WAWebProtobufsE2E.ScheduledCallCreationMessage - (*EventResponseMessage)(nil), // 84: WAWebProtobufsE2E.EventResponseMessage - (*PinInChatMessage)(nil), // 85: WAWebProtobufsE2E.PinInChatMessage - (*PollCreationMessage)(nil), // 86: WAWebProtobufsE2E.PollCreationMessage - (*ButtonsResponseMessage)(nil), // 87: WAWebProtobufsE2E.ButtonsResponseMessage - (*ButtonsMessage)(nil), // 88: WAWebProtobufsE2E.ButtonsMessage - (*SecretEncryptedMessage)(nil), // 89: WAWebProtobufsE2E.SecretEncryptedMessage - (*GroupInviteMessage)(nil), // 90: WAWebProtobufsE2E.GroupInviteMessage - (*InteractiveResponseMessage)(nil), // 91: WAWebProtobufsE2E.InteractiveResponseMessage - (*InteractiveMessage)(nil), // 92: WAWebProtobufsE2E.InteractiveMessage - (*ListResponseMessage)(nil), // 93: WAWebProtobufsE2E.ListResponseMessage - (*ListMessage)(nil), // 94: WAWebProtobufsE2E.ListMessage - (*OrderMessage)(nil), // 95: WAWebProtobufsE2E.OrderMessage - (*PaymentInviteMessage)(nil), // 96: WAWebProtobufsE2E.PaymentInviteMessage - (*HighlyStructuredMessage)(nil), // 97: WAWebProtobufsE2E.HighlyStructuredMessage - (*PeerDataOperationRequestResponseMessage)(nil), // 98: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage - (*HistorySyncNotification)(nil), // 99: WAWebProtobufsE2E.HistorySyncNotification - (*RequestWelcomeMessageMetadata)(nil), // 100: WAWebProtobufsE2E.RequestWelcomeMessageMetadata - (*ProtocolMessage)(nil), // 101: WAWebProtobufsE2E.ProtocolMessage - (*CloudAPIThreadControlNotification)(nil), // 102: WAWebProtobufsE2E.CloudAPIThreadControlNotification - (*BotFeedbackMessage)(nil), // 103: WAWebProtobufsE2E.BotFeedbackMessage - (*VideoMessage)(nil), // 104: WAWebProtobufsE2E.VideoMessage - (*ExtendedTextMessage)(nil), // 105: WAWebProtobufsE2E.ExtendedTextMessage - (*StatusNotificationMessage)(nil), // 106: WAWebProtobufsE2E.StatusNotificationMessage - (*InvoiceMessage)(nil), // 107: WAWebProtobufsE2E.InvoiceMessage - (*ImageMessage)(nil), // 108: WAWebProtobufsE2E.ImageMessage - (*ContextInfo)(nil), // 109: WAWebProtobufsE2E.ContextInfo - (*BotPluginMetadata)(nil), // 110: WAWebProtobufsE2E.BotPluginMetadata - (*BotLinkedAccount)(nil), // 111: WAWebProtobufsE2E.BotLinkedAccount - (*AIRichResponseMessage)(nil), // 112: WAWebProtobufsE2E.AIRichResponseMessage - (*BotMediaMetadata)(nil), // 113: WAWebProtobufsE2E.BotMediaMetadata - (*BotReminderMetadata)(nil), // 114: WAWebProtobufsE2E.BotReminderMetadata - (*BotModelMetadata)(nil), // 115: WAWebProtobufsE2E.BotModelMetadata - (*BotProgressIndicatorMetadata)(nil), // 116: WAWebProtobufsE2E.BotProgressIndicatorMetadata - (*BotCapabilityMetadata)(nil), // 117: WAWebProtobufsE2E.BotCapabilityMetadata - (*BotImagineMetadata)(nil), // 118: WAWebProtobufsE2E.BotImagineMetadata - (*BotSourcesMetadata)(nil), // 119: WAWebProtobufsE2E.BotSourcesMetadata - (*MessageAssociation)(nil), // 120: WAWebProtobufsE2E.MessageAssociation - (*MessageContextInfo)(nil), // 121: WAWebProtobufsE2E.MessageContextInfo - (*HydratedTemplateButton)(nil), // 122: WAWebProtobufsE2E.HydratedTemplateButton - (*PaymentBackground)(nil), // 123: WAWebProtobufsE2E.PaymentBackground - (*DisappearingMode)(nil), // 124: WAWebProtobufsE2E.DisappearingMode - (*ProcessedVideo)(nil), // 125: WAWebProtobufsE2E.ProcessedVideo - (*Message)(nil), // 126: WAWebProtobufsE2E.Message - (*AlbumMessage)(nil), // 127: WAWebProtobufsE2E.AlbumMessage - (*MessageHistoryBundle)(nil), // 128: WAWebProtobufsE2E.MessageHistoryBundle - (*EncEventResponseMessage)(nil), // 129: WAWebProtobufsE2E.EncEventResponseMessage - (*EventMessage)(nil), // 130: WAWebProtobufsE2E.EventMessage - (*CommentMessage)(nil), // 131: WAWebProtobufsE2E.CommentMessage - (*EncCommentMessage)(nil), // 132: WAWebProtobufsE2E.EncCommentMessage - (*EncReactionMessage)(nil), // 133: WAWebProtobufsE2E.EncReactionMessage - (*KeepInChatMessage)(nil), // 134: WAWebProtobufsE2E.KeepInChatMessage - (*PollResultSnapshotMessage)(nil), // 135: WAWebProtobufsE2E.PollResultSnapshotMessage - (*PollVoteMessage)(nil), // 136: WAWebProtobufsE2E.PollVoteMessage - (*PollEncValue)(nil), // 137: WAWebProtobufsE2E.PollEncValue - (*PollUpdateMessageMetadata)(nil), // 138: WAWebProtobufsE2E.PollUpdateMessageMetadata - (*PollUpdateMessage)(nil), // 139: WAWebProtobufsE2E.PollUpdateMessage - (*StickerSyncRMRMessage)(nil), // 140: WAWebProtobufsE2E.StickerSyncRMRMessage - (*ReactionMessage)(nil), // 141: WAWebProtobufsE2E.ReactionMessage - (*FutureProofMessage)(nil), // 142: WAWebProtobufsE2E.FutureProofMessage - (*DeviceSentMessage)(nil), // 143: WAWebProtobufsE2E.DeviceSentMessage - (*RequestPhoneNumberMessage)(nil), // 144: WAWebProtobufsE2E.RequestPhoneNumberMessage - (*NewsletterAdminInviteMessage)(nil), // 145: WAWebProtobufsE2E.NewsletterAdminInviteMessage - (*ProductMessage)(nil), // 146: WAWebProtobufsE2E.ProductMessage - (*TemplateButtonReplyMessage)(nil), // 147: WAWebProtobufsE2E.TemplateButtonReplyMessage - (*TemplateMessage)(nil), // 148: WAWebProtobufsE2E.TemplateMessage - (*StickerMessage)(nil), // 149: WAWebProtobufsE2E.StickerMessage - (*LiveLocationMessage)(nil), // 150: WAWebProtobufsE2E.LiveLocationMessage - (*CancelPaymentRequestMessage)(nil), // 151: WAWebProtobufsE2E.CancelPaymentRequestMessage - (*DeclinePaymentRequestMessage)(nil), // 152: WAWebProtobufsE2E.DeclinePaymentRequestMessage - (*RequestPaymentMessage)(nil), // 153: WAWebProtobufsE2E.RequestPaymentMessage - (*SendPaymentMessage)(nil), // 154: WAWebProtobufsE2E.SendPaymentMessage - (*ContactsArrayMessage)(nil), // 155: WAWebProtobufsE2E.ContactsArrayMessage - (*InitialSecurityNotificationSettingSync)(nil), // 156: WAWebProtobufsE2E.InitialSecurityNotificationSettingSync - (*PeerDataOperationRequestMessage)(nil), // 157: WAWebProtobufsE2E.PeerDataOperationRequestMessage - (*FullHistorySyncOnDemandRequestMetadata)(nil), // 158: WAWebProtobufsE2E.FullHistorySyncOnDemandRequestMetadata - (*AppStateFatalExceptionNotification)(nil), // 159: WAWebProtobufsE2E.AppStateFatalExceptionNotification - (*AppStateSyncKeyRequest)(nil), // 160: WAWebProtobufsE2E.AppStateSyncKeyRequest - (*AppStateSyncKeyShare)(nil), // 161: WAWebProtobufsE2E.AppStateSyncKeyShare - (*AppStateSyncKeyData)(nil), // 162: WAWebProtobufsE2E.AppStateSyncKeyData - (*AppStateSyncKeyFingerprint)(nil), // 163: WAWebProtobufsE2E.AppStateSyncKeyFingerprint - (*AppStateSyncKeyId)(nil), // 164: WAWebProtobufsE2E.AppStateSyncKeyId - (*AppStateSyncKey)(nil), // 165: WAWebProtobufsE2E.AppStateSyncKey - (*Chat)(nil), // 166: WAWebProtobufsE2E.Chat - (*Call)(nil), // 167: WAWebProtobufsE2E.Call - (*AudioMessage)(nil), // 168: WAWebProtobufsE2E.AudioMessage - (*DocumentMessage)(nil), // 169: WAWebProtobufsE2E.DocumentMessage - (*MMSThumbnailMetadata)(nil), // 170: WAWebProtobufsE2E.MMSThumbnailMetadata - (*LocationMessage)(nil), // 171: WAWebProtobufsE2E.LocationMessage - (*ContactMessage)(nil), // 172: WAWebProtobufsE2E.ContactMessage - (*SenderKeyDistributionMessage)(nil), // 173: WAWebProtobufsE2E.SenderKeyDistributionMessage - (*BotAvatarMetadata)(nil), // 174: WAWebProtobufsE2E.BotAvatarMetadata - (*BotSuggestedPromptMetadata)(nil), // 175: WAWebProtobufsE2E.BotSuggestedPromptMetadata - (*BotPromptSuggestions)(nil), // 176: WAWebProtobufsE2E.BotPromptSuggestions - (*BotPromptSuggestion)(nil), // 177: WAWebProtobufsE2E.BotPromptSuggestion - (*BotLinkedAccountsMetadata)(nil), // 178: WAWebProtobufsE2E.BotLinkedAccountsMetadata - (*BotMemoryMetadata)(nil), // 179: WAWebProtobufsE2E.BotMemoryMetadata - (*BotMemoryFact)(nil), // 180: WAWebProtobufsE2E.BotMemoryFact - (*BotRenderingMetadata)(nil), // 181: WAWebProtobufsE2E.BotRenderingMetadata - (*BotMetricsMetadata)(nil), // 182: WAWebProtobufsE2E.BotMetricsMetadata - (*BotSessionMetadata)(nil), // 183: WAWebProtobufsE2E.BotSessionMetadata - (*BotMemuMetadata)(nil), // 184: WAWebProtobufsE2E.BotMemuMetadata - (*BotMetadata)(nil), // 185: WAWebProtobufsE2E.BotMetadata - (*DeviceListMetadata)(nil), // 186: WAWebProtobufsE2E.DeviceListMetadata - (*EmbeddedMessage)(nil), // 187: WAWebProtobufsE2E.EmbeddedMessage - (*EmbeddedMusic)(nil), // 188: WAWebProtobufsE2E.EmbeddedMusic - (*EmbeddedContent)(nil), // 189: WAWebProtobufsE2E.EmbeddedContent - (*TapLinkAction)(nil), // 190: WAWebProtobufsE2E.TapLinkAction - (*InteractiveAnnotation)(nil), // 191: WAWebProtobufsE2E.InteractiveAnnotation - (*Point)(nil), // 192: WAWebProtobufsE2E.Point - (*Location)(nil), // 193: WAWebProtobufsE2E.Location - (*TemplateButton)(nil), // 194: WAWebProtobufsE2E.TemplateButton - (*Money)(nil), // 195: WAWebProtobufsE2E.Money - (*ActionLink)(nil), // 196: WAWebProtobufsE2E.ActionLink - (*GroupMention)(nil), // 197: WAWebProtobufsE2E.GroupMention - (*MessageSecretMessage)(nil), // 198: WAWebProtobufsE2E.MessageSecretMessage - (*MediaNotifyMessage)(nil), // 199: WAWebProtobufsE2E.MediaNotifyMessage - (*LIDMigrationMappingSyncMessage)(nil), // 200: WAWebProtobufsE2E.LIDMigrationMappingSyncMessage - (*UrlTrackingMap)(nil), // 201: WAWebProtobufsE2E.UrlTrackingMap - (*StickerPackMessage_Sticker)(nil), // 202: WAWebProtobufsE2E.StickerPackMessage.Sticker - (*CallLogMessage_CallParticipant)(nil), // 203: WAWebProtobufsE2E.CallLogMessage.CallParticipant - (*PollCreationMessage_Option)(nil), // 204: WAWebProtobufsE2E.PollCreationMessage.Option - (*ButtonsMessage_Button)(nil), // 205: WAWebProtobufsE2E.ButtonsMessage.Button - (*ButtonsMessage_Button_NativeFlowInfo)(nil), // 206: WAWebProtobufsE2E.ButtonsMessage.Button.NativeFlowInfo - (*ButtonsMessage_Button_ButtonText)(nil), // 207: WAWebProtobufsE2E.ButtonsMessage.Button.ButtonText - (*InteractiveResponseMessage_Body)(nil), // 208: WAWebProtobufsE2E.InteractiveResponseMessage.Body - (*InteractiveResponseMessage_NativeFlowResponseMessage)(nil), // 209: WAWebProtobufsE2E.InteractiveResponseMessage.NativeFlowResponseMessage - (*InteractiveMessage_ShopMessage)(nil), // 210: WAWebProtobufsE2E.InteractiveMessage.ShopMessage - (*InteractiveMessage_CarouselMessage)(nil), // 211: WAWebProtobufsE2E.InteractiveMessage.CarouselMessage - (*InteractiveMessage_NativeFlowMessage)(nil), // 212: WAWebProtobufsE2E.InteractiveMessage.NativeFlowMessage - (*InteractiveMessage_CollectionMessage)(nil), // 213: WAWebProtobufsE2E.InteractiveMessage.CollectionMessage - (*InteractiveMessage_Footer)(nil), // 214: WAWebProtobufsE2E.InteractiveMessage.Footer - (*InteractiveMessage_Body)(nil), // 215: WAWebProtobufsE2E.InteractiveMessage.Body - (*InteractiveMessage_Header)(nil), // 216: WAWebProtobufsE2E.InteractiveMessage.Header - (*InteractiveMessage_NativeFlowMessage_NativeFlowButton)(nil), // 217: WAWebProtobufsE2E.InteractiveMessage.NativeFlowMessage.NativeFlowButton - (*ListResponseMessage_SingleSelectReply)(nil), // 218: WAWebProtobufsE2E.ListResponseMessage.SingleSelectReply - (*ListMessage_ProductListInfo)(nil), // 219: WAWebProtobufsE2E.ListMessage.ProductListInfo - (*ListMessage_ProductListHeaderImage)(nil), // 220: WAWebProtobufsE2E.ListMessage.ProductListHeaderImage - (*ListMessage_ProductSection)(nil), // 221: WAWebProtobufsE2E.ListMessage.ProductSection - (*ListMessage_Product)(nil), // 222: WAWebProtobufsE2E.ListMessage.Product - (*ListMessage_Section)(nil), // 223: WAWebProtobufsE2E.ListMessage.Section - (*ListMessage_Row)(nil), // 224: WAWebProtobufsE2E.ListMessage.Row - (*HighlyStructuredMessage_HSMLocalizableParameter)(nil), // 225: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter - (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime)(nil), // 226: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime - (*HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency)(nil), // 227: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency - (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent)(nil), // 228: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent - (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch)(nil), // 229: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch - (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult)(nil), // 230: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult - (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_CompanionMetaNonceFetchResponse)(nil), // 231: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.CompanionMetaNonceFetchResponse - (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_WaffleNonceFetchResponse)(nil), // 232: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.WaffleNonceFetchResponse - (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_FullHistorySyncOnDemandRequestResponse)(nil), // 233: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandRequestResponse - (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse)(nil), // 234: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse - (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse)(nil), // 235: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse - (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail)(nil), // 236: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail - (*ContextInfo_ForwardedNewsletterMessageInfo)(nil), // 237: WAWebProtobufsE2E.ContextInfo.ForwardedNewsletterMessageInfo - (*ContextInfo_ExternalAdReplyInfo)(nil), // 238: WAWebProtobufsE2E.ContextInfo.ExternalAdReplyInfo - (*ContextInfo_AdReplyInfo)(nil), // 239: WAWebProtobufsE2E.ContextInfo.AdReplyInfo - (*ContextInfo_FeatureEligibilities)(nil), // 240: WAWebProtobufsE2E.ContextInfo.FeatureEligibilities - (*ContextInfo_DataSharingContext)(nil), // 241: WAWebProtobufsE2E.ContextInfo.DataSharingContext - (*ContextInfo_ForwardedAIBotMessageInfo)(nil), // 242: WAWebProtobufsE2E.ContextInfo.ForwardedAIBotMessageInfo - (*ContextInfo_UTMInfo)(nil), // 243: WAWebProtobufsE2E.ContextInfo.UTMInfo - (*ContextInfo_BusinessMessageForwardInfo)(nil), // 244: WAWebProtobufsE2E.ContextInfo.BusinessMessageForwardInfo - (*ContextInfo_DataSharingContext_Parameters)(nil), // 245: WAWebProtobufsE2E.ContextInfo.DataSharingContext.Parameters - (*AIRichResponseMessage_AIRichResponseContentItemsMetadata)(nil), // 246: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata - (*AIRichResponseMessage_AIRichResponseDynamicMetadata)(nil), // 247: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseDynamicMetadata - (*AIRichResponseMessage_AIRichResponseCodeMetadata)(nil), // 248: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseCodeMetadata - (*AIRichResponseMessage_AIRichResponseInlineImageMetadata)(nil), // 249: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseInlineImageMetadata - (*AIRichResponseMessage_AIRichResponseSubMessage)(nil), // 250: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage - (*AIRichResponseMessage_AIRichResponseMapMetadata)(nil), // 251: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseMapMetadata - (*AIRichResponseMessage_AIRichResponseLatexMetadata)(nil), // 252: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseLatexMetadata - (*AIRichResponseMessage_AIRichResponseAbstractData)(nil), // 253: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseAbstractData - (*AIRichResponseMessage_AIRichResponseTableMetadata)(nil), // 254: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseTableMetadata - (*AIRichResponseMessage_AIRichResponseGridImageMetadata)(nil), // 255: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseGridImageMetadata - (*AIRichResponseMessage_AIRichResponseImageURL)(nil), // 256: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseImageURL - (*AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseContentItemMetadata)(nil), // 257: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata.AIRichResponseContentItemMetadata - (*AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseReelItem)(nil), // 258: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata.AIRichResponseReelItem - (*AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeBlock)(nil), // 259: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseCodeMetadata.AIRichResponseCodeBlock - (*AIRichResponseMessage_AIRichResponseMapMetadata_AIRichResponseMapAnnotation)(nil), // 260: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseMapMetadata.AIRichResponseMapAnnotation - (*AIRichResponseMessage_AIRichResponseLatexMetadata_AIRichResponseLatexExpression)(nil), // 261: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseLatexMetadata.AIRichResponseLatexExpression - (*AIRichResponseMessage_AIRichResponseTableMetadata_AIRichResponseTableRow)(nil), // 262: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseTableMetadata.AIRichResponseTableRow - (*BotProgressIndicatorMetadata_BotPlanningStepMetadata)(nil), // 263: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata - (*BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourcesMetadata)(nil), // 264: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata - (*BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningStepSectionMetadata)(nil), // 265: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningStepSectionMetadata - (*BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourceMetadata)(nil), // 266: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourceMetadata - (*BotSourcesMetadata_BotSourceItem)(nil), // 267: WAWebProtobufsE2E.BotSourcesMetadata.BotSourceItem - (*HydratedTemplateButton_HydratedURLButton)(nil), // 268: WAWebProtobufsE2E.HydratedTemplateButton.HydratedURLButton - (*HydratedTemplateButton_HydratedCallButton)(nil), // 269: WAWebProtobufsE2E.HydratedTemplateButton.HydratedCallButton - (*HydratedTemplateButton_HydratedQuickReplyButton)(nil), // 270: WAWebProtobufsE2E.HydratedTemplateButton.HydratedQuickReplyButton - (*PaymentBackground_MediaData)(nil), // 271: WAWebProtobufsE2E.PaymentBackground.MediaData - (*PollResultSnapshotMessage_PollVote)(nil), // 272: WAWebProtobufsE2E.PollResultSnapshotMessage.PollVote - (*ProductMessage_ProductSnapshot)(nil), // 273: WAWebProtobufsE2E.ProductMessage.ProductSnapshot - (*ProductMessage_CatalogSnapshot)(nil), // 274: WAWebProtobufsE2E.ProductMessage.CatalogSnapshot - (*TemplateMessage_HydratedFourRowTemplate)(nil), // 275: WAWebProtobufsE2E.TemplateMessage.HydratedFourRowTemplate - (*TemplateMessage_FourRowTemplate)(nil), // 276: WAWebProtobufsE2E.TemplateMessage.FourRowTemplate - (*PeerDataOperationRequestMessage_PlaceholderMessageResendRequest)(nil), // 277: WAWebProtobufsE2E.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest - (*PeerDataOperationRequestMessage_FullHistorySyncOnDemandRequest)(nil), // 278: WAWebProtobufsE2E.PeerDataOperationRequestMessage.FullHistorySyncOnDemandRequest - (*PeerDataOperationRequestMessage_HistorySyncOnDemandRequest)(nil), // 279: WAWebProtobufsE2E.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest - (*PeerDataOperationRequestMessage_RequestUrlPreview)(nil), // 280: WAWebProtobufsE2E.PeerDataOperationRequestMessage.RequestUrlPreview - (*PeerDataOperationRequestMessage_RequestStickerReupload)(nil), // 281: WAWebProtobufsE2E.PeerDataOperationRequestMessage.RequestStickerReupload - (*BotRenderingMetadata_Keyword)(nil), // 282: WAWebProtobufsE2E.BotRenderingMetadata.Keyword - (*TemplateButton_CallButton)(nil), // 283: WAWebProtobufsE2E.TemplateButton.CallButton - (*TemplateButton_URLButton)(nil), // 284: WAWebProtobufsE2E.TemplateButton.URLButton - (*TemplateButton_QuickReplyButton)(nil), // 285: WAWebProtobufsE2E.TemplateButton.QuickReplyButton - (*UrlTrackingMap_UrlTrackingMapElement)(nil), // 286: WAWebProtobufsE2E.UrlTrackingMap.UrlTrackingMapElement - (*waCommon.MessageKey)(nil), // 287: WACommon.MessageKey - (*waCommon.LimitSharing)(nil), // 288: WACommon.LimitSharing - (waAdv.ADVEncryptionType)(0), // 289: WAAdv.ADVEncryptionType - (waMmsRetry.MediaRetryNotification_ResultType)(0), // 290: WAMmsRetry.MediaRetryNotification.ResultType - (*waCompanionReg.DeviceProps_HistorySyncConfig)(nil), // 291: WAWebProtobufsCompanionReg.DeviceProps.HistorySyncConfig + (PaymentLinkMetadata_PaymentLinkHeader_PaymentLinkHeaderType)(0), // 43: WAWebProtobufsE2E.PaymentLinkMetadata.PaymentLinkHeader.PaymentLinkHeaderType + (StatusNotificationMessage_StatusNotificationType)(0), // 44: WAWebProtobufsE2E.StatusNotificationMessage.StatusNotificationType + (InvoiceMessage_AttachmentType)(0), // 45: WAWebProtobufsE2E.InvoiceMessage.AttachmentType + (ImageMessage_ImageSourceType)(0), // 46: WAWebProtobufsE2E.ImageMessage.ImageSourceType + (ContextInfo_PairedMediaType)(0), // 47: WAWebProtobufsE2E.ContextInfo.PairedMediaType + (ContextInfo_StatusAttributionType)(0), // 48: WAWebProtobufsE2E.ContextInfo.StatusAttributionType + (ContextInfo_ForwardedNewsletterMessageInfo_ContentType)(0), // 49: WAWebProtobufsE2E.ContextInfo.ForwardedNewsletterMessageInfo.ContentType + (ContextInfo_ExternalAdReplyInfo_MediaType)(0), // 50: WAWebProtobufsE2E.ContextInfo.ExternalAdReplyInfo.MediaType + (ContextInfo_AdReplyInfo_MediaType)(0), // 51: WAWebProtobufsE2E.ContextInfo.AdReplyInfo.MediaType + (BotPluginMetadata_PluginType)(0), // 52: WAWebProtobufsE2E.BotPluginMetadata.PluginType + (BotPluginMetadata_SearchProvider)(0), // 53: WAWebProtobufsE2E.BotPluginMetadata.SearchProvider + (BotLinkedAccount_BotLinkedAccountType)(0), // 54: WAWebProtobufsE2E.BotLinkedAccount.BotLinkedAccountType + (AIRichResponseMessage_AIRichResponseSubMessageType)(0), // 55: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessageType + (AIRichResponseMessage_AIRichResponseMessageType)(0), // 56: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseMessageType + (AIRichResponseMessage_AIRichResponseContentItemsMetadata_ContentType)(0), // 57: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata.ContentType + (AIRichResponseMessage_AIRichResponseDynamicMetadata_AIRichResponseDynamicMetadataType)(0), // 58: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseDynamicMetadata.AIRichResponseDynamicMetadataType + (AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeHighlightType)(0), // 59: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType + (AIRichResponseMessage_AIRichResponseInlineImageMetadata_AIRichResponseImageAlignment)(0), // 60: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseInlineImageMetadata.AIRichResponseImageAlignment + (BotMediaMetadata_OrientationType)(0), // 61: WAWebProtobufsE2E.BotMediaMetadata.OrientationType + (BotReminderMetadata_ReminderFrequency)(0), // 62: WAWebProtobufsE2E.BotReminderMetadata.ReminderFrequency + (BotReminderMetadata_ReminderAction)(0), // 63: WAWebProtobufsE2E.BotReminderMetadata.ReminderAction + (BotModelMetadata_PremiumModelStatus)(0), // 64: WAWebProtobufsE2E.BotModelMetadata.PremiumModelStatus + (BotModelMetadata_ModelType)(0), // 65: WAWebProtobufsE2E.BotModelMetadata.ModelType + (BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotSearchSourceProvider)(0), // 66: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider + (BotProgressIndicatorMetadata_BotPlanningStepMetadata_PlanningStepStatus)(0), // 67: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus + (BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourcesMetadata_BotPlanningSearchSourceProvider)(0), // 68: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider + (BotCapabilityMetadata_BotCapabilityType)(0), // 69: WAWebProtobufsE2E.BotCapabilityMetadata.BotCapabilityType + (BotImagineMetadata_ImagineType)(0), // 70: WAWebProtobufsE2E.BotImagineMetadata.ImagineType + (BotSourcesMetadata_BotSourceItem_SourceProvider)(0), // 71: WAWebProtobufsE2E.BotSourcesMetadata.BotSourceItem.SourceProvider + (MessageAssociation_AssociationType)(0), // 72: WAWebProtobufsE2E.MessageAssociation.AssociationType + (MessageContextInfo_MessageAddonExpiryType)(0), // 73: WAWebProtobufsE2E.MessageContextInfo.MessageAddonExpiryType + (InteractiveAnnotation_StatusLinkType)(0), // 74: WAWebProtobufsE2E.InteractiveAnnotation.StatusLinkType + (HydratedTemplateButton_HydratedURLButton_WebviewPresentationType)(0), // 75: WAWebProtobufsE2E.HydratedTemplateButton.HydratedURLButton.WebviewPresentationType + (PaymentBackground_Type)(0), // 76: WAWebProtobufsE2E.PaymentBackground.Type + (DisappearingMode_Trigger)(0), // 77: WAWebProtobufsE2E.DisappearingMode.Trigger + (DisappearingMode_Initiator)(0), // 78: WAWebProtobufsE2E.DisappearingMode.Initiator + (ProcessedVideo_VideoQuality)(0), // 79: WAWebProtobufsE2E.ProcessedVideo.VideoQuality + (*StickerPackMessage)(nil), // 80: WAWebProtobufsE2E.StickerPackMessage + (*PlaceholderMessage)(nil), // 81: WAWebProtobufsE2E.PlaceholderMessage + (*BCallMessage)(nil), // 82: WAWebProtobufsE2E.BCallMessage + (*CallLogMessage)(nil), // 83: WAWebProtobufsE2E.CallLogMessage + (*ScheduledCallEditMessage)(nil), // 84: WAWebProtobufsE2E.ScheduledCallEditMessage + (*ScheduledCallCreationMessage)(nil), // 85: WAWebProtobufsE2E.ScheduledCallCreationMessage + (*EventResponseMessage)(nil), // 86: WAWebProtobufsE2E.EventResponseMessage + (*PinInChatMessage)(nil), // 87: WAWebProtobufsE2E.PinInChatMessage + (*PollCreationMessage)(nil), // 88: WAWebProtobufsE2E.PollCreationMessage + (*ButtonsResponseMessage)(nil), // 89: WAWebProtobufsE2E.ButtonsResponseMessage + (*ButtonsMessage)(nil), // 90: WAWebProtobufsE2E.ButtonsMessage + (*SecretEncryptedMessage)(nil), // 91: WAWebProtobufsE2E.SecretEncryptedMessage + (*GroupInviteMessage)(nil), // 92: WAWebProtobufsE2E.GroupInviteMessage + (*InteractiveResponseMessage)(nil), // 93: WAWebProtobufsE2E.InteractiveResponseMessage + (*InteractiveMessage)(nil), // 94: WAWebProtobufsE2E.InteractiveMessage + (*ListResponseMessage)(nil), // 95: WAWebProtobufsE2E.ListResponseMessage + (*ListMessage)(nil), // 96: WAWebProtobufsE2E.ListMessage + (*OrderMessage)(nil), // 97: WAWebProtobufsE2E.OrderMessage + (*PaymentInviteMessage)(nil), // 98: WAWebProtobufsE2E.PaymentInviteMessage + (*HighlyStructuredMessage)(nil), // 99: WAWebProtobufsE2E.HighlyStructuredMessage + (*PeerDataOperationRequestResponseMessage)(nil), // 100: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage + (*HistorySyncNotification)(nil), // 101: WAWebProtobufsE2E.HistorySyncNotification + (*RequestWelcomeMessageMetadata)(nil), // 102: WAWebProtobufsE2E.RequestWelcomeMessageMetadata + (*ProtocolMessage)(nil), // 103: WAWebProtobufsE2E.ProtocolMessage + (*CloudAPIThreadControlNotification)(nil), // 104: WAWebProtobufsE2E.CloudAPIThreadControlNotification + (*BotFeedbackMessage)(nil), // 105: WAWebProtobufsE2E.BotFeedbackMessage + (*VideoMessage)(nil), // 106: WAWebProtobufsE2E.VideoMessage + (*ExtendedTextMessage)(nil), // 107: WAWebProtobufsE2E.ExtendedTextMessage + (*PaymentLinkMetadata)(nil), // 108: WAWebProtobufsE2E.PaymentLinkMetadata + (*StatusNotificationMessage)(nil), // 109: WAWebProtobufsE2E.StatusNotificationMessage + (*InvoiceMessage)(nil), // 110: WAWebProtobufsE2E.InvoiceMessage + (*ImageMessage)(nil), // 111: WAWebProtobufsE2E.ImageMessage + (*ContextInfo)(nil), // 112: WAWebProtobufsE2E.ContextInfo + (*BotPluginMetadata)(nil), // 113: WAWebProtobufsE2E.BotPluginMetadata + (*BotLinkedAccount)(nil), // 114: WAWebProtobufsE2E.BotLinkedAccount + (*AIRichResponseMessage)(nil), // 115: WAWebProtobufsE2E.AIRichResponseMessage + (*BotMediaMetadata)(nil), // 116: WAWebProtobufsE2E.BotMediaMetadata + (*BotReminderMetadata)(nil), // 117: WAWebProtobufsE2E.BotReminderMetadata + (*BotModelMetadata)(nil), // 118: WAWebProtobufsE2E.BotModelMetadata + (*BotProgressIndicatorMetadata)(nil), // 119: WAWebProtobufsE2E.BotProgressIndicatorMetadata + (*BotCapabilityMetadata)(nil), // 120: WAWebProtobufsE2E.BotCapabilityMetadata + (*BotImagineMetadata)(nil), // 121: WAWebProtobufsE2E.BotImagineMetadata + (*BotSourcesMetadata)(nil), // 122: WAWebProtobufsE2E.BotSourcesMetadata + (*MessageAssociation)(nil), // 123: WAWebProtobufsE2E.MessageAssociation + (*MessageContextInfo)(nil), // 124: WAWebProtobufsE2E.MessageContextInfo + (*InteractiveAnnotation)(nil), // 125: WAWebProtobufsE2E.InteractiveAnnotation + (*HydratedTemplateButton)(nil), // 126: WAWebProtobufsE2E.HydratedTemplateButton + (*PaymentBackground)(nil), // 127: WAWebProtobufsE2E.PaymentBackground + (*DisappearingMode)(nil), // 128: WAWebProtobufsE2E.DisappearingMode + (*ProcessedVideo)(nil), // 129: WAWebProtobufsE2E.ProcessedVideo + (*Message)(nil), // 130: WAWebProtobufsE2E.Message + (*AlbumMessage)(nil), // 131: WAWebProtobufsE2E.AlbumMessage + (*MessageHistoryBundle)(nil), // 132: WAWebProtobufsE2E.MessageHistoryBundle + (*EncEventResponseMessage)(nil), // 133: WAWebProtobufsE2E.EncEventResponseMessage + (*EventMessage)(nil), // 134: WAWebProtobufsE2E.EventMessage + (*CommentMessage)(nil), // 135: WAWebProtobufsE2E.CommentMessage + (*EncCommentMessage)(nil), // 136: WAWebProtobufsE2E.EncCommentMessage + (*EncReactionMessage)(nil), // 137: WAWebProtobufsE2E.EncReactionMessage + (*KeepInChatMessage)(nil), // 138: WAWebProtobufsE2E.KeepInChatMessage + (*PollResultSnapshotMessage)(nil), // 139: WAWebProtobufsE2E.PollResultSnapshotMessage + (*PollVoteMessage)(nil), // 140: WAWebProtobufsE2E.PollVoteMessage + (*PollEncValue)(nil), // 141: WAWebProtobufsE2E.PollEncValue + (*PollUpdateMessageMetadata)(nil), // 142: WAWebProtobufsE2E.PollUpdateMessageMetadata + (*PollUpdateMessage)(nil), // 143: WAWebProtobufsE2E.PollUpdateMessage + (*StickerSyncRMRMessage)(nil), // 144: WAWebProtobufsE2E.StickerSyncRMRMessage + (*ReactionMessage)(nil), // 145: WAWebProtobufsE2E.ReactionMessage + (*FutureProofMessage)(nil), // 146: WAWebProtobufsE2E.FutureProofMessage + (*DeviceSentMessage)(nil), // 147: WAWebProtobufsE2E.DeviceSentMessage + (*RequestPhoneNumberMessage)(nil), // 148: WAWebProtobufsE2E.RequestPhoneNumberMessage + (*NewsletterAdminInviteMessage)(nil), // 149: WAWebProtobufsE2E.NewsletterAdminInviteMessage + (*ProductMessage)(nil), // 150: WAWebProtobufsE2E.ProductMessage + (*TemplateButtonReplyMessage)(nil), // 151: WAWebProtobufsE2E.TemplateButtonReplyMessage + (*TemplateMessage)(nil), // 152: WAWebProtobufsE2E.TemplateMessage + (*StickerMessage)(nil), // 153: WAWebProtobufsE2E.StickerMessage + (*LiveLocationMessage)(nil), // 154: WAWebProtobufsE2E.LiveLocationMessage + (*CancelPaymentRequestMessage)(nil), // 155: WAWebProtobufsE2E.CancelPaymentRequestMessage + (*DeclinePaymentRequestMessage)(nil), // 156: WAWebProtobufsE2E.DeclinePaymentRequestMessage + (*RequestPaymentMessage)(nil), // 157: WAWebProtobufsE2E.RequestPaymentMessage + (*SendPaymentMessage)(nil), // 158: WAWebProtobufsE2E.SendPaymentMessage + (*ContactsArrayMessage)(nil), // 159: WAWebProtobufsE2E.ContactsArrayMessage + (*InitialSecurityNotificationSettingSync)(nil), // 160: WAWebProtobufsE2E.InitialSecurityNotificationSettingSync + (*PeerDataOperationRequestMessage)(nil), // 161: WAWebProtobufsE2E.PeerDataOperationRequestMessage + (*FullHistorySyncOnDemandRequestMetadata)(nil), // 162: WAWebProtobufsE2E.FullHistorySyncOnDemandRequestMetadata + (*AppStateFatalExceptionNotification)(nil), // 163: WAWebProtobufsE2E.AppStateFatalExceptionNotification + (*AppStateSyncKeyRequest)(nil), // 164: WAWebProtobufsE2E.AppStateSyncKeyRequest + (*AppStateSyncKeyShare)(nil), // 165: WAWebProtobufsE2E.AppStateSyncKeyShare + (*AppStateSyncKeyData)(nil), // 166: WAWebProtobufsE2E.AppStateSyncKeyData + (*AppStateSyncKeyFingerprint)(nil), // 167: WAWebProtobufsE2E.AppStateSyncKeyFingerprint + (*AppStateSyncKeyId)(nil), // 168: WAWebProtobufsE2E.AppStateSyncKeyId + (*AppStateSyncKey)(nil), // 169: WAWebProtobufsE2E.AppStateSyncKey + (*Chat)(nil), // 170: WAWebProtobufsE2E.Chat + (*Call)(nil), // 171: WAWebProtobufsE2E.Call + (*AudioMessage)(nil), // 172: WAWebProtobufsE2E.AudioMessage + (*DocumentMessage)(nil), // 173: WAWebProtobufsE2E.DocumentMessage + (*LinkPreviewMetadata)(nil), // 174: WAWebProtobufsE2E.LinkPreviewMetadata + (*URLMetadata)(nil), // 175: WAWebProtobufsE2E.URLMetadata + (*MMSThumbnailMetadata)(nil), // 176: WAWebProtobufsE2E.MMSThumbnailMetadata + (*LocationMessage)(nil), // 177: WAWebProtobufsE2E.LocationMessage + (*ContactMessage)(nil), // 178: WAWebProtobufsE2E.ContactMessage + (*SenderKeyDistributionMessage)(nil), // 179: WAWebProtobufsE2E.SenderKeyDistributionMessage + (*BotAvatarMetadata)(nil), // 180: WAWebProtobufsE2E.BotAvatarMetadata + (*BotSuggestedPromptMetadata)(nil), // 181: WAWebProtobufsE2E.BotSuggestedPromptMetadata + (*BotPromptSuggestions)(nil), // 182: WAWebProtobufsE2E.BotPromptSuggestions + (*BotPromptSuggestion)(nil), // 183: WAWebProtobufsE2E.BotPromptSuggestion + (*BotLinkedAccountsMetadata)(nil), // 184: WAWebProtobufsE2E.BotLinkedAccountsMetadata + (*BotMemoryMetadata)(nil), // 185: WAWebProtobufsE2E.BotMemoryMetadata + (*BotMemoryFact)(nil), // 186: WAWebProtobufsE2E.BotMemoryFact + (*BotRenderingMetadata)(nil), // 187: WAWebProtobufsE2E.BotRenderingMetadata + (*BotMetricsMetadata)(nil), // 188: WAWebProtobufsE2E.BotMetricsMetadata + (*BotSessionMetadata)(nil), // 189: WAWebProtobufsE2E.BotSessionMetadata + (*BotMemuMetadata)(nil), // 190: WAWebProtobufsE2E.BotMemuMetadata + (*BotMetadata)(nil), // 191: WAWebProtobufsE2E.BotMetadata + (*DeviceListMetadata)(nil), // 192: WAWebProtobufsE2E.DeviceListMetadata + (*EmbeddedMessage)(nil), // 193: WAWebProtobufsE2E.EmbeddedMessage + (*EmbeddedMusic)(nil), // 194: WAWebProtobufsE2E.EmbeddedMusic + (*EmbeddedContent)(nil), // 195: WAWebProtobufsE2E.EmbeddedContent + (*TapLinkAction)(nil), // 196: WAWebProtobufsE2E.TapLinkAction + (*Point)(nil), // 197: WAWebProtobufsE2E.Point + (*Location)(nil), // 198: WAWebProtobufsE2E.Location + (*TemplateButton)(nil), // 199: WAWebProtobufsE2E.TemplateButton + (*Money)(nil), // 200: WAWebProtobufsE2E.Money + (*ActionLink)(nil), // 201: WAWebProtobufsE2E.ActionLink + (*GroupMention)(nil), // 202: WAWebProtobufsE2E.GroupMention + (*MessageSecretMessage)(nil), // 203: WAWebProtobufsE2E.MessageSecretMessage + (*MediaNotifyMessage)(nil), // 204: WAWebProtobufsE2E.MediaNotifyMessage + (*LIDMigrationMappingSyncMessage)(nil), // 205: WAWebProtobufsE2E.LIDMigrationMappingSyncMessage + (*UrlTrackingMap)(nil), // 206: WAWebProtobufsE2E.UrlTrackingMap + (*AIQueryFanout)(nil), // 207: WAWebProtobufsE2E.AIQueryFanout + (*StickerPackMessage_Sticker)(nil), // 208: WAWebProtobufsE2E.StickerPackMessage.Sticker + (*CallLogMessage_CallParticipant)(nil), // 209: WAWebProtobufsE2E.CallLogMessage.CallParticipant + (*PollCreationMessage_Option)(nil), // 210: WAWebProtobufsE2E.PollCreationMessage.Option + (*ButtonsMessage_Button)(nil), // 211: WAWebProtobufsE2E.ButtonsMessage.Button + (*ButtonsMessage_Button_NativeFlowInfo)(nil), // 212: WAWebProtobufsE2E.ButtonsMessage.Button.NativeFlowInfo + (*ButtonsMessage_Button_ButtonText)(nil), // 213: WAWebProtobufsE2E.ButtonsMessage.Button.ButtonText + (*InteractiveResponseMessage_Body)(nil), // 214: WAWebProtobufsE2E.InteractiveResponseMessage.Body + (*InteractiveResponseMessage_NativeFlowResponseMessage)(nil), // 215: WAWebProtobufsE2E.InteractiveResponseMessage.NativeFlowResponseMessage + (*InteractiveMessage_ShopMessage)(nil), // 216: WAWebProtobufsE2E.InteractiveMessage.ShopMessage + (*InteractiveMessage_CarouselMessage)(nil), // 217: WAWebProtobufsE2E.InteractiveMessage.CarouselMessage + (*InteractiveMessage_NativeFlowMessage)(nil), // 218: WAWebProtobufsE2E.InteractiveMessage.NativeFlowMessage + (*InteractiveMessage_CollectionMessage)(nil), // 219: WAWebProtobufsE2E.InteractiveMessage.CollectionMessage + (*InteractiveMessage_Footer)(nil), // 220: WAWebProtobufsE2E.InteractiveMessage.Footer + (*InteractiveMessage_Body)(nil), // 221: WAWebProtobufsE2E.InteractiveMessage.Body + (*InteractiveMessage_Header)(nil), // 222: WAWebProtobufsE2E.InteractiveMessage.Header + (*InteractiveMessage_NativeFlowMessage_NativeFlowButton)(nil), // 223: WAWebProtobufsE2E.InteractiveMessage.NativeFlowMessage.NativeFlowButton + (*ListResponseMessage_SingleSelectReply)(nil), // 224: WAWebProtobufsE2E.ListResponseMessage.SingleSelectReply + (*ListMessage_ProductListInfo)(nil), // 225: WAWebProtobufsE2E.ListMessage.ProductListInfo + (*ListMessage_ProductListHeaderImage)(nil), // 226: WAWebProtobufsE2E.ListMessage.ProductListHeaderImage + (*ListMessage_ProductSection)(nil), // 227: WAWebProtobufsE2E.ListMessage.ProductSection + (*ListMessage_Product)(nil), // 228: WAWebProtobufsE2E.ListMessage.Product + (*ListMessage_Section)(nil), // 229: WAWebProtobufsE2E.ListMessage.Section + (*ListMessage_Row)(nil), // 230: WAWebProtobufsE2E.ListMessage.Row + (*HighlyStructuredMessage_HSMLocalizableParameter)(nil), // 231: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter + (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime)(nil), // 232: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime + (*HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency)(nil), // 233: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency + (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent)(nil), // 234: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent + (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch)(nil), // 235: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch + (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult)(nil), // 236: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult + (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_CompanionMetaNonceFetchResponse)(nil), // 237: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.CompanionMetaNonceFetchResponse + (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_WaffleNonceFetchResponse)(nil), // 238: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.WaffleNonceFetchResponse + (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_FullHistorySyncOnDemandRequestResponse)(nil), // 239: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandRequestResponse + (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse)(nil), // 240: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse + (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse)(nil), // 241: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse + (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail)(nil), // 242: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail + (*PaymentLinkMetadata_PaymentLinkHeader)(nil), // 243: WAWebProtobufsE2E.PaymentLinkMetadata.PaymentLinkHeader + (*PaymentLinkMetadata_PaymentLinkButton)(nil), // 244: WAWebProtobufsE2E.PaymentLinkMetadata.PaymentLinkButton + (*ContextInfo_ForwardedNewsletterMessageInfo)(nil), // 245: WAWebProtobufsE2E.ContextInfo.ForwardedNewsletterMessageInfo + (*ContextInfo_ExternalAdReplyInfo)(nil), // 246: WAWebProtobufsE2E.ContextInfo.ExternalAdReplyInfo + (*ContextInfo_AdReplyInfo)(nil), // 247: WAWebProtobufsE2E.ContextInfo.AdReplyInfo + (*ContextInfo_FeatureEligibilities)(nil), // 248: WAWebProtobufsE2E.ContextInfo.FeatureEligibilities + (*ContextInfo_DataSharingContext)(nil), // 249: WAWebProtobufsE2E.ContextInfo.DataSharingContext + (*ContextInfo_ForwardedAIBotMessageInfo)(nil), // 250: WAWebProtobufsE2E.ContextInfo.ForwardedAIBotMessageInfo + (*ContextInfo_UTMInfo)(nil), // 251: WAWebProtobufsE2E.ContextInfo.UTMInfo + (*ContextInfo_BusinessMessageForwardInfo)(nil), // 252: WAWebProtobufsE2E.ContextInfo.BusinessMessageForwardInfo + (*ContextInfo_DataSharingContext_Parameters)(nil), // 253: WAWebProtobufsE2E.ContextInfo.DataSharingContext.Parameters + (*AIRichResponseMessage_AIRichResponseContentItemsMetadata)(nil), // 254: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata + (*AIRichResponseMessage_AIRichResponseDynamicMetadata)(nil), // 255: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseDynamicMetadata + (*AIRichResponseMessage_AIRichResponseCodeMetadata)(nil), // 256: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseCodeMetadata + (*AIRichResponseMessage_AIRichResponseInlineImageMetadata)(nil), // 257: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseInlineImageMetadata + (*AIRichResponseMessage_AIRichResponseSubMessage)(nil), // 258: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage + (*AIRichResponseMessage_AIRichResponseMapMetadata)(nil), // 259: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseMapMetadata + (*AIRichResponseMessage_AIRichResponseLatexMetadata)(nil), // 260: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseLatexMetadata + (*AIRichResponseMessage_AIRichResponseAbstractData)(nil), // 261: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseAbstractData + (*AIRichResponseMessage_AIRichResponseTableMetadata)(nil), // 262: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseTableMetadata + (*AIRichResponseMessage_AIRichResponseGridImageMetadata)(nil), // 263: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseGridImageMetadata + (*AIRichResponseMessage_AIRichResponseImageURL)(nil), // 264: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseImageURL + (*AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseContentItemMetadata)(nil), // 265: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata.AIRichResponseContentItemMetadata + (*AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseReelItem)(nil), // 266: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata.AIRichResponseReelItem + (*AIRichResponseMessage_AIRichResponseCodeMetadata_AIRichResponseCodeBlock)(nil), // 267: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseCodeMetadata.AIRichResponseCodeBlock + (*AIRichResponseMessage_AIRichResponseMapMetadata_AIRichResponseMapAnnotation)(nil), // 268: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseMapMetadata.AIRichResponseMapAnnotation + (*AIRichResponseMessage_AIRichResponseLatexMetadata_AIRichResponseLatexExpression)(nil), // 269: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseLatexMetadata.AIRichResponseLatexExpression + (*AIRichResponseMessage_AIRichResponseTableMetadata_AIRichResponseTableRow)(nil), // 270: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseTableMetadata.AIRichResponseTableRow + (*BotProgressIndicatorMetadata_BotPlanningStepMetadata)(nil), // 271: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata + (*BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourcesMetadata)(nil), // 272: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata + (*BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningStepSectionMetadata)(nil), // 273: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningStepSectionMetadata + (*BotProgressIndicatorMetadata_BotPlanningStepMetadata_BotPlanningSearchSourceMetadata)(nil), // 274: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourceMetadata + (*BotSourcesMetadata_BotSourceItem)(nil), // 275: WAWebProtobufsE2E.BotSourcesMetadata.BotSourceItem + (*HydratedTemplateButton_HydratedURLButton)(nil), // 276: WAWebProtobufsE2E.HydratedTemplateButton.HydratedURLButton + (*HydratedTemplateButton_HydratedCallButton)(nil), // 277: WAWebProtobufsE2E.HydratedTemplateButton.HydratedCallButton + (*HydratedTemplateButton_HydratedQuickReplyButton)(nil), // 278: WAWebProtobufsE2E.HydratedTemplateButton.HydratedQuickReplyButton + (*PaymentBackground_MediaData)(nil), // 279: WAWebProtobufsE2E.PaymentBackground.MediaData + (*PollResultSnapshotMessage_PollVote)(nil), // 280: WAWebProtobufsE2E.PollResultSnapshotMessage.PollVote + (*ProductMessage_ProductSnapshot)(nil), // 281: WAWebProtobufsE2E.ProductMessage.ProductSnapshot + (*ProductMessage_CatalogSnapshot)(nil), // 282: WAWebProtobufsE2E.ProductMessage.CatalogSnapshot + (*TemplateMessage_HydratedFourRowTemplate)(nil), // 283: WAWebProtobufsE2E.TemplateMessage.HydratedFourRowTemplate + (*TemplateMessage_FourRowTemplate)(nil), // 284: WAWebProtobufsE2E.TemplateMessage.FourRowTemplate + (*PeerDataOperationRequestMessage_PlaceholderMessageResendRequest)(nil), // 285: WAWebProtobufsE2E.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest + (*PeerDataOperationRequestMessage_FullHistorySyncOnDemandRequest)(nil), // 286: WAWebProtobufsE2E.PeerDataOperationRequestMessage.FullHistorySyncOnDemandRequest + (*PeerDataOperationRequestMessage_HistorySyncOnDemandRequest)(nil), // 287: WAWebProtobufsE2E.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest + (*PeerDataOperationRequestMessage_RequestUrlPreview)(nil), // 288: WAWebProtobufsE2E.PeerDataOperationRequestMessage.RequestUrlPreview + (*PeerDataOperationRequestMessage_RequestStickerReupload)(nil), // 289: WAWebProtobufsE2E.PeerDataOperationRequestMessage.RequestStickerReupload + (*BotRenderingMetadata_Keyword)(nil), // 290: WAWebProtobufsE2E.BotRenderingMetadata.Keyword + (*TemplateButton_CallButton)(nil), // 291: WAWebProtobufsE2E.TemplateButton.CallButton + (*TemplateButton_URLButton)(nil), // 292: WAWebProtobufsE2E.TemplateButton.URLButton + (*TemplateButton_QuickReplyButton)(nil), // 293: WAWebProtobufsE2E.TemplateButton.QuickReplyButton + (*UrlTrackingMap_UrlTrackingMapElement)(nil), // 294: WAWebProtobufsE2E.UrlTrackingMap.UrlTrackingMapElement + (*waCommon.MessageKey)(nil), // 295: WACommon.MessageKey + (*waCommon.LimitSharing)(nil), // 296: WACommon.LimitSharing + (waAdv.ADVEncryptionType)(0), // 297: WAAdv.ADVEncryptionType + (waMmsRetry.MediaRetryNotification_ResultType)(0), // 298: WAMmsRetry.MediaRetryNotification.ResultType + (*waCompanionReg.DeviceProps_HistorySyncConfig)(nil), // 299: WACompanionReg.DeviceProps.HistorySyncConfig } var file_waE2E_WAWebProtobufsE2E_proto_depIdxs = []int32{ - 202, // 0: WAWebProtobufsE2E.StickerPackMessage.stickers:type_name -> WAWebProtobufsE2E.StickerPackMessage.Sticker - 109, // 1: WAWebProtobufsE2E.StickerPackMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 208, // 0: WAWebProtobufsE2E.StickerPackMessage.stickers:type_name -> WAWebProtobufsE2E.StickerPackMessage.Sticker + 112, // 1: WAWebProtobufsE2E.StickerPackMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo 6, // 2: WAWebProtobufsE2E.StickerPackMessage.stickerPackOrigin:type_name -> WAWebProtobufsE2E.StickerPackMessage.StickerPackOrigin 7, // 3: WAWebProtobufsE2E.PlaceholderMessage.type:type_name -> WAWebProtobufsE2E.PlaceholderMessage.PlaceholderType 8, // 4: WAWebProtobufsE2E.BCallMessage.mediaType:type_name -> WAWebProtobufsE2E.BCallMessage.MediaType 9, // 5: WAWebProtobufsE2E.CallLogMessage.callOutcome:type_name -> WAWebProtobufsE2E.CallLogMessage.CallOutcome 10, // 6: WAWebProtobufsE2E.CallLogMessage.callType:type_name -> WAWebProtobufsE2E.CallLogMessage.CallType - 203, // 7: WAWebProtobufsE2E.CallLogMessage.participants:type_name -> WAWebProtobufsE2E.CallLogMessage.CallParticipant - 287, // 8: WAWebProtobufsE2E.ScheduledCallEditMessage.key:type_name -> WACommon.MessageKey + 209, // 7: WAWebProtobufsE2E.CallLogMessage.participants:type_name -> WAWebProtobufsE2E.CallLogMessage.CallParticipant + 295, // 8: WAWebProtobufsE2E.ScheduledCallEditMessage.key:type_name -> WACommon.MessageKey 11, // 9: WAWebProtobufsE2E.ScheduledCallEditMessage.editType:type_name -> WAWebProtobufsE2E.ScheduledCallEditMessage.EditType 12, // 10: WAWebProtobufsE2E.ScheduledCallCreationMessage.callType:type_name -> WAWebProtobufsE2E.ScheduledCallCreationMessage.CallType 13, // 11: WAWebProtobufsE2E.EventResponseMessage.response:type_name -> WAWebProtobufsE2E.EventResponseMessage.EventResponseType - 287, // 12: WAWebProtobufsE2E.PinInChatMessage.key:type_name -> WACommon.MessageKey + 295, // 12: WAWebProtobufsE2E.PinInChatMessage.key:type_name -> WACommon.MessageKey 14, // 13: WAWebProtobufsE2E.PinInChatMessage.type:type_name -> WAWebProtobufsE2E.PinInChatMessage.Type - 204, // 14: WAWebProtobufsE2E.PollCreationMessage.options:type_name -> WAWebProtobufsE2E.PollCreationMessage.Option - 109, // 15: WAWebProtobufsE2E.PollCreationMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 210, // 14: WAWebProtobufsE2E.PollCreationMessage.options:type_name -> WAWebProtobufsE2E.PollCreationMessage.Option + 112, // 15: WAWebProtobufsE2E.PollCreationMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo 0, // 16: WAWebProtobufsE2E.PollCreationMessage.pollContentType:type_name -> WAWebProtobufsE2E.PollContentType 15, // 17: WAWebProtobufsE2E.PollCreationMessage.pollType:type_name -> WAWebProtobufsE2E.PollCreationMessage.PollType - 204, // 18: WAWebProtobufsE2E.PollCreationMessage.correctAnswer:type_name -> WAWebProtobufsE2E.PollCreationMessage.Option - 109, // 19: WAWebProtobufsE2E.ButtonsResponseMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 210, // 18: WAWebProtobufsE2E.PollCreationMessage.correctAnswer:type_name -> WAWebProtobufsE2E.PollCreationMessage.Option + 112, // 19: WAWebProtobufsE2E.ButtonsResponseMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo 16, // 20: WAWebProtobufsE2E.ButtonsResponseMessage.type:type_name -> WAWebProtobufsE2E.ButtonsResponseMessage.Type - 169, // 21: WAWebProtobufsE2E.ButtonsMessage.documentMessage:type_name -> WAWebProtobufsE2E.DocumentMessage - 108, // 22: WAWebProtobufsE2E.ButtonsMessage.imageMessage:type_name -> WAWebProtobufsE2E.ImageMessage - 104, // 23: WAWebProtobufsE2E.ButtonsMessage.videoMessage:type_name -> WAWebProtobufsE2E.VideoMessage - 171, // 24: WAWebProtobufsE2E.ButtonsMessage.locationMessage:type_name -> WAWebProtobufsE2E.LocationMessage - 109, // 25: WAWebProtobufsE2E.ButtonsMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 205, // 26: WAWebProtobufsE2E.ButtonsMessage.buttons:type_name -> WAWebProtobufsE2E.ButtonsMessage.Button + 173, // 21: WAWebProtobufsE2E.ButtonsMessage.documentMessage:type_name -> WAWebProtobufsE2E.DocumentMessage + 111, // 22: WAWebProtobufsE2E.ButtonsMessage.imageMessage:type_name -> WAWebProtobufsE2E.ImageMessage + 106, // 23: WAWebProtobufsE2E.ButtonsMessage.videoMessage:type_name -> WAWebProtobufsE2E.VideoMessage + 177, // 24: WAWebProtobufsE2E.ButtonsMessage.locationMessage:type_name -> WAWebProtobufsE2E.LocationMessage + 112, // 25: WAWebProtobufsE2E.ButtonsMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 211, // 26: WAWebProtobufsE2E.ButtonsMessage.buttons:type_name -> WAWebProtobufsE2E.ButtonsMessage.Button 17, // 27: WAWebProtobufsE2E.ButtonsMessage.headerType:type_name -> WAWebProtobufsE2E.ButtonsMessage.HeaderType - 287, // 28: WAWebProtobufsE2E.SecretEncryptedMessage.targetMessageKey:type_name -> WACommon.MessageKey + 295, // 28: WAWebProtobufsE2E.SecretEncryptedMessage.targetMessageKey:type_name -> WACommon.MessageKey 19, // 29: WAWebProtobufsE2E.SecretEncryptedMessage.secretEncType:type_name -> WAWebProtobufsE2E.SecretEncryptedMessage.SecretEncType - 109, // 30: WAWebProtobufsE2E.GroupInviteMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 112, // 30: WAWebProtobufsE2E.GroupInviteMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo 20, // 31: WAWebProtobufsE2E.GroupInviteMessage.groupType:type_name -> WAWebProtobufsE2E.GroupInviteMessage.GroupType - 209, // 32: WAWebProtobufsE2E.InteractiveResponseMessage.nativeFlowResponseMessage:type_name -> WAWebProtobufsE2E.InteractiveResponseMessage.NativeFlowResponseMessage - 208, // 33: WAWebProtobufsE2E.InteractiveResponseMessage.body:type_name -> WAWebProtobufsE2E.InteractiveResponseMessage.Body - 109, // 34: WAWebProtobufsE2E.InteractiveResponseMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 210, // 35: WAWebProtobufsE2E.InteractiveMessage.shopStorefrontMessage:type_name -> WAWebProtobufsE2E.InteractiveMessage.ShopMessage - 213, // 36: WAWebProtobufsE2E.InteractiveMessage.collectionMessage:type_name -> WAWebProtobufsE2E.InteractiveMessage.CollectionMessage - 212, // 37: WAWebProtobufsE2E.InteractiveMessage.nativeFlowMessage:type_name -> WAWebProtobufsE2E.InteractiveMessage.NativeFlowMessage - 211, // 38: WAWebProtobufsE2E.InteractiveMessage.carouselMessage:type_name -> WAWebProtobufsE2E.InteractiveMessage.CarouselMessage - 216, // 39: WAWebProtobufsE2E.InteractiveMessage.header:type_name -> WAWebProtobufsE2E.InteractiveMessage.Header - 215, // 40: WAWebProtobufsE2E.InteractiveMessage.body:type_name -> WAWebProtobufsE2E.InteractiveMessage.Body - 214, // 41: WAWebProtobufsE2E.InteractiveMessage.footer:type_name -> WAWebProtobufsE2E.InteractiveMessage.Footer - 109, // 42: WAWebProtobufsE2E.InteractiveMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 201, // 43: WAWebProtobufsE2E.InteractiveMessage.urlTrackingMap:type_name -> WAWebProtobufsE2E.UrlTrackingMap + 215, // 32: WAWebProtobufsE2E.InteractiveResponseMessage.nativeFlowResponseMessage:type_name -> WAWebProtobufsE2E.InteractiveResponseMessage.NativeFlowResponseMessage + 214, // 33: WAWebProtobufsE2E.InteractiveResponseMessage.body:type_name -> WAWebProtobufsE2E.InteractiveResponseMessage.Body + 112, // 34: WAWebProtobufsE2E.InteractiveResponseMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 216, // 35: WAWebProtobufsE2E.InteractiveMessage.shopStorefrontMessage:type_name -> WAWebProtobufsE2E.InteractiveMessage.ShopMessage + 219, // 36: WAWebProtobufsE2E.InteractiveMessage.collectionMessage:type_name -> WAWebProtobufsE2E.InteractiveMessage.CollectionMessage + 218, // 37: WAWebProtobufsE2E.InteractiveMessage.nativeFlowMessage:type_name -> WAWebProtobufsE2E.InteractiveMessage.NativeFlowMessage + 217, // 38: WAWebProtobufsE2E.InteractiveMessage.carouselMessage:type_name -> WAWebProtobufsE2E.InteractiveMessage.CarouselMessage + 222, // 39: WAWebProtobufsE2E.InteractiveMessage.header:type_name -> WAWebProtobufsE2E.InteractiveMessage.Header + 221, // 40: WAWebProtobufsE2E.InteractiveMessage.body:type_name -> WAWebProtobufsE2E.InteractiveMessage.Body + 220, // 41: WAWebProtobufsE2E.InteractiveMessage.footer:type_name -> WAWebProtobufsE2E.InteractiveMessage.Footer + 112, // 42: WAWebProtobufsE2E.InteractiveMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 206, // 43: WAWebProtobufsE2E.InteractiveMessage.urlTrackingMap:type_name -> WAWebProtobufsE2E.UrlTrackingMap 23, // 44: WAWebProtobufsE2E.ListResponseMessage.listType:type_name -> WAWebProtobufsE2E.ListResponseMessage.ListType - 218, // 45: WAWebProtobufsE2E.ListResponseMessage.singleSelectReply:type_name -> WAWebProtobufsE2E.ListResponseMessage.SingleSelectReply - 109, // 46: WAWebProtobufsE2E.ListResponseMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 224, // 45: WAWebProtobufsE2E.ListResponseMessage.singleSelectReply:type_name -> WAWebProtobufsE2E.ListResponseMessage.SingleSelectReply + 112, // 46: WAWebProtobufsE2E.ListResponseMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo 24, // 47: WAWebProtobufsE2E.ListMessage.listType:type_name -> WAWebProtobufsE2E.ListMessage.ListType - 223, // 48: WAWebProtobufsE2E.ListMessage.sections:type_name -> WAWebProtobufsE2E.ListMessage.Section - 219, // 49: WAWebProtobufsE2E.ListMessage.productListInfo:type_name -> WAWebProtobufsE2E.ListMessage.ProductListInfo - 109, // 50: WAWebProtobufsE2E.ListMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 229, // 48: WAWebProtobufsE2E.ListMessage.sections:type_name -> WAWebProtobufsE2E.ListMessage.Section + 225, // 49: WAWebProtobufsE2E.ListMessage.productListInfo:type_name -> WAWebProtobufsE2E.ListMessage.ProductListInfo + 112, // 50: WAWebProtobufsE2E.ListMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo 26, // 51: WAWebProtobufsE2E.OrderMessage.status:type_name -> WAWebProtobufsE2E.OrderMessage.OrderStatus 25, // 52: WAWebProtobufsE2E.OrderMessage.surface:type_name -> WAWebProtobufsE2E.OrderMessage.OrderSurface - 109, // 53: WAWebProtobufsE2E.OrderMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 287, // 54: WAWebProtobufsE2E.OrderMessage.orderRequestMessageID:type_name -> WACommon.MessageKey + 112, // 53: WAWebProtobufsE2E.OrderMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 295, // 54: WAWebProtobufsE2E.OrderMessage.orderRequestMessageID:type_name -> WACommon.MessageKey 27, // 55: WAWebProtobufsE2E.PaymentInviteMessage.serviceType:type_name -> WAWebProtobufsE2E.PaymentInviteMessage.ServiceType - 225, // 56: WAWebProtobufsE2E.HighlyStructuredMessage.localizableParams:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter - 148, // 57: WAWebProtobufsE2E.HighlyStructuredMessage.hydratedHsm:type_name -> WAWebProtobufsE2E.TemplateMessage + 231, // 56: WAWebProtobufsE2E.HighlyStructuredMessage.localizableParams:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter + 152, // 57: WAWebProtobufsE2E.HighlyStructuredMessage.hydratedHsm:type_name -> WAWebProtobufsE2E.TemplateMessage 1, // 58: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.peerDataOperationRequestType:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestType - 230, // 59: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.peerDataOperationResult:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult + 236, // 59: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.peerDataOperationResult:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult 31, // 60: WAWebProtobufsE2E.HistorySyncNotification.syncType:type_name -> WAWebProtobufsE2E.HistorySyncNotification.HistorySyncType - 158, // 61: WAWebProtobufsE2E.HistorySyncNotification.fullHistorySyncOnDemandRequestMetadata:type_name -> WAWebProtobufsE2E.FullHistorySyncOnDemandRequestMetadata + 162, // 61: WAWebProtobufsE2E.HistorySyncNotification.fullHistorySyncOnDemandRequestMetadata:type_name -> WAWebProtobufsE2E.FullHistorySyncOnDemandRequestMetadata 32, // 62: WAWebProtobufsE2E.RequestWelcomeMessageMetadata.localChatState:type_name -> WAWebProtobufsE2E.RequestWelcomeMessageMetadata.LocalChatState - 287, // 63: WAWebProtobufsE2E.ProtocolMessage.key:type_name -> WACommon.MessageKey + 295, // 63: WAWebProtobufsE2E.ProtocolMessage.key:type_name -> WACommon.MessageKey 33, // 64: WAWebProtobufsE2E.ProtocolMessage.type:type_name -> WAWebProtobufsE2E.ProtocolMessage.Type - 99, // 65: WAWebProtobufsE2E.ProtocolMessage.historySyncNotification:type_name -> WAWebProtobufsE2E.HistorySyncNotification - 161, // 66: WAWebProtobufsE2E.ProtocolMessage.appStateSyncKeyShare:type_name -> WAWebProtobufsE2E.AppStateSyncKeyShare - 160, // 67: WAWebProtobufsE2E.ProtocolMessage.appStateSyncKeyRequest:type_name -> WAWebProtobufsE2E.AppStateSyncKeyRequest - 156, // 68: WAWebProtobufsE2E.ProtocolMessage.initialSecurityNotificationSettingSync:type_name -> WAWebProtobufsE2E.InitialSecurityNotificationSettingSync - 159, // 69: WAWebProtobufsE2E.ProtocolMessage.appStateFatalExceptionNotification:type_name -> WAWebProtobufsE2E.AppStateFatalExceptionNotification - 124, // 70: WAWebProtobufsE2E.ProtocolMessage.disappearingMode:type_name -> WAWebProtobufsE2E.DisappearingMode - 126, // 71: WAWebProtobufsE2E.ProtocolMessage.editedMessage:type_name -> WAWebProtobufsE2E.Message - 157, // 72: WAWebProtobufsE2E.ProtocolMessage.peerDataOperationRequestMessage:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestMessage - 98, // 73: WAWebProtobufsE2E.ProtocolMessage.peerDataOperationRequestResponseMessage:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage - 103, // 74: WAWebProtobufsE2E.ProtocolMessage.botFeedbackMessage:type_name -> WAWebProtobufsE2E.BotFeedbackMessage - 100, // 75: WAWebProtobufsE2E.ProtocolMessage.requestWelcomeMessageMetadata:type_name -> WAWebProtobufsE2E.RequestWelcomeMessageMetadata - 199, // 76: WAWebProtobufsE2E.ProtocolMessage.mediaNotifyMessage:type_name -> WAWebProtobufsE2E.MediaNotifyMessage - 102, // 77: WAWebProtobufsE2E.ProtocolMessage.cloudApiThreadControlNotification:type_name -> WAWebProtobufsE2E.CloudAPIThreadControlNotification - 200, // 78: WAWebProtobufsE2E.ProtocolMessage.lidMigrationMappingSyncMessage:type_name -> WAWebProtobufsE2E.LIDMigrationMappingSyncMessage - 288, // 79: WAWebProtobufsE2E.ProtocolMessage.limitSharing:type_name -> WACommon.LimitSharing - 34, // 80: WAWebProtobufsE2E.CloudAPIThreadControlNotification.status:type_name -> WAWebProtobufsE2E.CloudAPIThreadControlNotification.CloudAPIThreadControl - 287, // 81: WAWebProtobufsE2E.BotFeedbackMessage.messageKey:type_name -> WACommon.MessageKey - 38, // 82: WAWebProtobufsE2E.BotFeedbackMessage.kind:type_name -> WAWebProtobufsE2E.BotFeedbackMessage.BotFeedbackKind - 35, // 83: WAWebProtobufsE2E.BotFeedbackMessage.kindReport:type_name -> WAWebProtobufsE2E.BotFeedbackMessage.ReportKind - 191, // 84: WAWebProtobufsE2E.VideoMessage.interactiveAnnotations:type_name -> WAWebProtobufsE2E.InteractiveAnnotation - 109, // 85: WAWebProtobufsE2E.VideoMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 39, // 86: WAWebProtobufsE2E.VideoMessage.gifAttribution:type_name -> WAWebProtobufsE2E.VideoMessage.Attribution - 191, // 87: WAWebProtobufsE2E.VideoMessage.annotations:type_name -> WAWebProtobufsE2E.InteractiveAnnotation - 125, // 88: WAWebProtobufsE2E.VideoMessage.processedVideos:type_name -> WAWebProtobufsE2E.ProcessedVideo - 42, // 89: WAWebProtobufsE2E.ExtendedTextMessage.font:type_name -> WAWebProtobufsE2E.ExtendedTextMessage.FontType - 41, // 90: WAWebProtobufsE2E.ExtendedTextMessage.previewType:type_name -> WAWebProtobufsE2E.ExtendedTextMessage.PreviewType - 109, // 91: WAWebProtobufsE2E.ExtendedTextMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 40, // 92: WAWebProtobufsE2E.ExtendedTextMessage.inviteLinkGroupType:type_name -> WAWebProtobufsE2E.ExtendedTextMessage.InviteLinkGroupType - 40, // 93: WAWebProtobufsE2E.ExtendedTextMessage.inviteLinkGroupTypeV2:type_name -> WAWebProtobufsE2E.ExtendedTextMessage.InviteLinkGroupType - 170, // 94: WAWebProtobufsE2E.ExtendedTextMessage.faviconMMSMetadata:type_name -> WAWebProtobufsE2E.MMSThumbnailMetadata - 287, // 95: WAWebProtobufsE2E.StatusNotificationMessage.responseMessageKey:type_name -> WACommon.MessageKey - 287, // 96: WAWebProtobufsE2E.StatusNotificationMessage.originalMessageKey:type_name -> WACommon.MessageKey - 43, // 97: WAWebProtobufsE2E.StatusNotificationMessage.type:type_name -> WAWebProtobufsE2E.StatusNotificationMessage.StatusNotificationType - 44, // 98: WAWebProtobufsE2E.InvoiceMessage.attachmentType:type_name -> WAWebProtobufsE2E.InvoiceMessage.AttachmentType - 191, // 99: WAWebProtobufsE2E.ImageMessage.interactiveAnnotations:type_name -> WAWebProtobufsE2E.InteractiveAnnotation - 109, // 100: WAWebProtobufsE2E.ImageMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 191, // 101: WAWebProtobufsE2E.ImageMessage.annotations:type_name -> WAWebProtobufsE2E.InteractiveAnnotation - 45, // 102: WAWebProtobufsE2E.ImageMessage.imageSourceType:type_name -> WAWebProtobufsE2E.ImageMessage.ImageSourceType - 126, // 103: WAWebProtobufsE2E.ContextInfo.quotedMessage:type_name -> WAWebProtobufsE2E.Message - 239, // 104: WAWebProtobufsE2E.ContextInfo.quotedAd:type_name -> WAWebProtobufsE2E.ContextInfo.AdReplyInfo - 287, // 105: WAWebProtobufsE2E.ContextInfo.placeholderKey:type_name -> WACommon.MessageKey - 238, // 106: WAWebProtobufsE2E.ContextInfo.externalAdReply:type_name -> WAWebProtobufsE2E.ContextInfo.ExternalAdReplyInfo - 124, // 107: WAWebProtobufsE2E.ContextInfo.disappearingMode:type_name -> WAWebProtobufsE2E.DisappearingMode - 196, // 108: WAWebProtobufsE2E.ContextInfo.actionLink:type_name -> WAWebProtobufsE2E.ActionLink - 197, // 109: WAWebProtobufsE2E.ContextInfo.groupMentions:type_name -> WAWebProtobufsE2E.GroupMention - 243, // 110: WAWebProtobufsE2E.ContextInfo.utm:type_name -> WAWebProtobufsE2E.ContextInfo.UTMInfo - 237, // 111: WAWebProtobufsE2E.ContextInfo.forwardedNewsletterMessageInfo:type_name -> WAWebProtobufsE2E.ContextInfo.ForwardedNewsletterMessageInfo - 244, // 112: WAWebProtobufsE2E.ContextInfo.businessMessageForwardInfo:type_name -> WAWebProtobufsE2E.ContextInfo.BusinessMessageForwardInfo - 241, // 113: WAWebProtobufsE2E.ContextInfo.dataSharingContext:type_name -> WAWebProtobufsE2E.ContextInfo.DataSharingContext - 240, // 114: WAWebProtobufsE2E.ContextInfo.featureEligibilities:type_name -> WAWebProtobufsE2E.ContextInfo.FeatureEligibilities - 242, // 115: WAWebProtobufsE2E.ContextInfo.forwardedAiBotMessageInfo:type_name -> WAWebProtobufsE2E.ContextInfo.ForwardedAIBotMessageInfo - 47, // 116: WAWebProtobufsE2E.ContextInfo.statusAttributionType:type_name -> WAWebProtobufsE2E.ContextInfo.StatusAttributionType - 201, // 117: WAWebProtobufsE2E.ContextInfo.urlTrackingMap:type_name -> WAWebProtobufsE2E.UrlTrackingMap - 46, // 118: WAWebProtobufsE2E.ContextInfo.pairedMediaType:type_name -> WAWebProtobufsE2E.ContextInfo.PairedMediaType - 52, // 119: WAWebProtobufsE2E.BotPluginMetadata.provider:type_name -> WAWebProtobufsE2E.BotPluginMetadata.SearchProvider - 51, // 120: WAWebProtobufsE2E.BotPluginMetadata.pluginType:type_name -> WAWebProtobufsE2E.BotPluginMetadata.PluginType - 287, // 121: WAWebProtobufsE2E.BotPluginMetadata.parentPluginMessageKey:type_name -> WACommon.MessageKey - 51, // 122: WAWebProtobufsE2E.BotPluginMetadata.deprecatedField:type_name -> WAWebProtobufsE2E.BotPluginMetadata.PluginType - 51, // 123: WAWebProtobufsE2E.BotPluginMetadata.parentPluginType:type_name -> WAWebProtobufsE2E.BotPluginMetadata.PluginType - 53, // 124: WAWebProtobufsE2E.BotLinkedAccount.type:type_name -> WAWebProtobufsE2E.BotLinkedAccount.BotLinkedAccountType - 55, // 125: WAWebProtobufsE2E.AIRichResponseMessage.messageType:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseMessageType - 250, // 126: WAWebProtobufsE2E.AIRichResponseMessage.submessages:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage - 253, // 127: WAWebProtobufsE2E.AIRichResponseMessage.abstractData:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseAbstractData - 60, // 128: WAWebProtobufsE2E.BotMediaMetadata.orientationType:type_name -> WAWebProtobufsE2E.BotMediaMetadata.OrientationType - 287, // 129: WAWebProtobufsE2E.BotReminderMetadata.requestMessageKey:type_name -> WACommon.MessageKey - 62, // 130: WAWebProtobufsE2E.BotReminderMetadata.action:type_name -> WAWebProtobufsE2E.BotReminderMetadata.ReminderAction - 61, // 131: WAWebProtobufsE2E.BotReminderMetadata.frequency:type_name -> WAWebProtobufsE2E.BotReminderMetadata.ReminderFrequency - 64, // 132: WAWebProtobufsE2E.BotModelMetadata.modelType:type_name -> WAWebProtobufsE2E.BotModelMetadata.ModelType - 63, // 133: WAWebProtobufsE2E.BotModelMetadata.premiumModelStatus:type_name -> WAWebProtobufsE2E.BotModelMetadata.PremiumModelStatus - 263, // 134: WAWebProtobufsE2E.BotProgressIndicatorMetadata.stepsMetadata:type_name -> WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata - 68, // 135: WAWebProtobufsE2E.BotCapabilityMetadata.capabilities:type_name -> WAWebProtobufsE2E.BotCapabilityMetadata.BotCapabilityType - 69, // 136: WAWebProtobufsE2E.BotImagineMetadata.imagineType:type_name -> WAWebProtobufsE2E.BotImagineMetadata.ImagineType - 267, // 137: WAWebProtobufsE2E.BotSourcesMetadata.sources:type_name -> WAWebProtobufsE2E.BotSourcesMetadata.BotSourceItem - 71, // 138: WAWebProtobufsE2E.MessageAssociation.associationType:type_name -> WAWebProtobufsE2E.MessageAssociation.AssociationType - 287, // 139: WAWebProtobufsE2E.MessageAssociation.parentMessageKey:type_name -> WACommon.MessageKey - 186, // 140: WAWebProtobufsE2E.MessageContextInfo.deviceListMetadata:type_name -> WAWebProtobufsE2E.DeviceListMetadata - 185, // 141: WAWebProtobufsE2E.MessageContextInfo.botMetadata:type_name -> WAWebProtobufsE2E.BotMetadata - 72, // 142: WAWebProtobufsE2E.MessageContextInfo.messageAddOnExpiryType:type_name -> WAWebProtobufsE2E.MessageContextInfo.MessageAddonExpiryType - 120, // 143: WAWebProtobufsE2E.MessageContextInfo.messageAssociation:type_name -> WAWebProtobufsE2E.MessageAssociation - 270, // 144: WAWebProtobufsE2E.HydratedTemplateButton.quickReplyButton:type_name -> WAWebProtobufsE2E.HydratedTemplateButton.HydratedQuickReplyButton - 268, // 145: WAWebProtobufsE2E.HydratedTemplateButton.urlButton:type_name -> WAWebProtobufsE2E.HydratedTemplateButton.HydratedURLButton - 269, // 146: WAWebProtobufsE2E.HydratedTemplateButton.callButton:type_name -> WAWebProtobufsE2E.HydratedTemplateButton.HydratedCallButton - 271, // 147: WAWebProtobufsE2E.PaymentBackground.mediaData:type_name -> WAWebProtobufsE2E.PaymentBackground.MediaData - 74, // 148: WAWebProtobufsE2E.PaymentBackground.type:type_name -> WAWebProtobufsE2E.PaymentBackground.Type - 76, // 149: WAWebProtobufsE2E.DisappearingMode.initiator:type_name -> WAWebProtobufsE2E.DisappearingMode.Initiator - 75, // 150: WAWebProtobufsE2E.DisappearingMode.trigger:type_name -> WAWebProtobufsE2E.DisappearingMode.Trigger - 77, // 151: WAWebProtobufsE2E.ProcessedVideo.quality:type_name -> WAWebProtobufsE2E.ProcessedVideo.VideoQuality - 173, // 152: WAWebProtobufsE2E.Message.senderKeyDistributionMessage:type_name -> WAWebProtobufsE2E.SenderKeyDistributionMessage - 108, // 153: WAWebProtobufsE2E.Message.imageMessage:type_name -> WAWebProtobufsE2E.ImageMessage - 172, // 154: WAWebProtobufsE2E.Message.contactMessage:type_name -> WAWebProtobufsE2E.ContactMessage - 171, // 155: WAWebProtobufsE2E.Message.locationMessage:type_name -> WAWebProtobufsE2E.LocationMessage - 105, // 156: WAWebProtobufsE2E.Message.extendedTextMessage:type_name -> WAWebProtobufsE2E.ExtendedTextMessage - 169, // 157: WAWebProtobufsE2E.Message.documentMessage:type_name -> WAWebProtobufsE2E.DocumentMessage - 168, // 158: WAWebProtobufsE2E.Message.audioMessage:type_name -> WAWebProtobufsE2E.AudioMessage - 104, // 159: WAWebProtobufsE2E.Message.videoMessage:type_name -> WAWebProtobufsE2E.VideoMessage - 167, // 160: WAWebProtobufsE2E.Message.call:type_name -> WAWebProtobufsE2E.Call - 166, // 161: WAWebProtobufsE2E.Message.chat:type_name -> WAWebProtobufsE2E.Chat - 101, // 162: WAWebProtobufsE2E.Message.protocolMessage:type_name -> WAWebProtobufsE2E.ProtocolMessage - 155, // 163: WAWebProtobufsE2E.Message.contactsArrayMessage:type_name -> WAWebProtobufsE2E.ContactsArrayMessage - 97, // 164: WAWebProtobufsE2E.Message.highlyStructuredMessage:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage - 173, // 165: WAWebProtobufsE2E.Message.fastRatchetKeySenderKeyDistributionMessage:type_name -> WAWebProtobufsE2E.SenderKeyDistributionMessage - 154, // 166: WAWebProtobufsE2E.Message.sendPaymentMessage:type_name -> WAWebProtobufsE2E.SendPaymentMessage - 150, // 167: WAWebProtobufsE2E.Message.liveLocationMessage:type_name -> WAWebProtobufsE2E.LiveLocationMessage - 153, // 168: WAWebProtobufsE2E.Message.requestPaymentMessage:type_name -> WAWebProtobufsE2E.RequestPaymentMessage - 152, // 169: WAWebProtobufsE2E.Message.declinePaymentRequestMessage:type_name -> WAWebProtobufsE2E.DeclinePaymentRequestMessage - 151, // 170: WAWebProtobufsE2E.Message.cancelPaymentRequestMessage:type_name -> WAWebProtobufsE2E.CancelPaymentRequestMessage - 148, // 171: WAWebProtobufsE2E.Message.templateMessage:type_name -> WAWebProtobufsE2E.TemplateMessage - 149, // 172: WAWebProtobufsE2E.Message.stickerMessage:type_name -> WAWebProtobufsE2E.StickerMessage - 90, // 173: WAWebProtobufsE2E.Message.groupInviteMessage:type_name -> WAWebProtobufsE2E.GroupInviteMessage - 147, // 174: WAWebProtobufsE2E.Message.templateButtonReplyMessage:type_name -> WAWebProtobufsE2E.TemplateButtonReplyMessage - 146, // 175: WAWebProtobufsE2E.Message.productMessage:type_name -> WAWebProtobufsE2E.ProductMessage - 143, // 176: WAWebProtobufsE2E.Message.deviceSentMessage:type_name -> WAWebProtobufsE2E.DeviceSentMessage - 121, // 177: WAWebProtobufsE2E.Message.messageContextInfo:type_name -> WAWebProtobufsE2E.MessageContextInfo - 94, // 178: WAWebProtobufsE2E.Message.listMessage:type_name -> WAWebProtobufsE2E.ListMessage - 142, // 179: WAWebProtobufsE2E.Message.viewOnceMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage - 95, // 180: WAWebProtobufsE2E.Message.orderMessage:type_name -> WAWebProtobufsE2E.OrderMessage - 93, // 181: WAWebProtobufsE2E.Message.listResponseMessage:type_name -> WAWebProtobufsE2E.ListResponseMessage - 142, // 182: WAWebProtobufsE2E.Message.ephemeralMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage - 107, // 183: WAWebProtobufsE2E.Message.invoiceMessage:type_name -> WAWebProtobufsE2E.InvoiceMessage - 88, // 184: WAWebProtobufsE2E.Message.buttonsMessage:type_name -> WAWebProtobufsE2E.ButtonsMessage - 87, // 185: WAWebProtobufsE2E.Message.buttonsResponseMessage:type_name -> WAWebProtobufsE2E.ButtonsResponseMessage - 96, // 186: WAWebProtobufsE2E.Message.paymentInviteMessage:type_name -> WAWebProtobufsE2E.PaymentInviteMessage - 92, // 187: WAWebProtobufsE2E.Message.interactiveMessage:type_name -> WAWebProtobufsE2E.InteractiveMessage - 141, // 188: WAWebProtobufsE2E.Message.reactionMessage:type_name -> WAWebProtobufsE2E.ReactionMessage - 140, // 189: WAWebProtobufsE2E.Message.stickerSyncRmrMessage:type_name -> WAWebProtobufsE2E.StickerSyncRMRMessage - 91, // 190: WAWebProtobufsE2E.Message.interactiveResponseMessage:type_name -> WAWebProtobufsE2E.InteractiveResponseMessage - 86, // 191: WAWebProtobufsE2E.Message.pollCreationMessage:type_name -> WAWebProtobufsE2E.PollCreationMessage - 139, // 192: WAWebProtobufsE2E.Message.pollUpdateMessage:type_name -> WAWebProtobufsE2E.PollUpdateMessage - 134, // 193: WAWebProtobufsE2E.Message.keepInChatMessage:type_name -> WAWebProtobufsE2E.KeepInChatMessage - 142, // 194: WAWebProtobufsE2E.Message.documentWithCaptionMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage - 144, // 195: WAWebProtobufsE2E.Message.requestPhoneNumberMessage:type_name -> WAWebProtobufsE2E.RequestPhoneNumberMessage - 142, // 196: WAWebProtobufsE2E.Message.viewOnceMessageV2:type_name -> WAWebProtobufsE2E.FutureProofMessage - 133, // 197: WAWebProtobufsE2E.Message.encReactionMessage:type_name -> WAWebProtobufsE2E.EncReactionMessage - 142, // 198: WAWebProtobufsE2E.Message.editedMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage - 142, // 199: WAWebProtobufsE2E.Message.viewOnceMessageV2Extension:type_name -> WAWebProtobufsE2E.FutureProofMessage - 86, // 200: WAWebProtobufsE2E.Message.pollCreationMessageV2:type_name -> WAWebProtobufsE2E.PollCreationMessage - 83, // 201: WAWebProtobufsE2E.Message.scheduledCallCreationMessage:type_name -> WAWebProtobufsE2E.ScheduledCallCreationMessage - 142, // 202: WAWebProtobufsE2E.Message.groupMentionedMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage - 85, // 203: WAWebProtobufsE2E.Message.pinInChatMessage:type_name -> WAWebProtobufsE2E.PinInChatMessage - 86, // 204: WAWebProtobufsE2E.Message.pollCreationMessageV3:type_name -> WAWebProtobufsE2E.PollCreationMessage - 82, // 205: WAWebProtobufsE2E.Message.scheduledCallEditMessage:type_name -> WAWebProtobufsE2E.ScheduledCallEditMessage - 104, // 206: WAWebProtobufsE2E.Message.ptvMessage:type_name -> WAWebProtobufsE2E.VideoMessage - 142, // 207: WAWebProtobufsE2E.Message.botInvokeMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage - 81, // 208: WAWebProtobufsE2E.Message.callLogMesssage:type_name -> WAWebProtobufsE2E.CallLogMessage - 128, // 209: WAWebProtobufsE2E.Message.messageHistoryBundle:type_name -> WAWebProtobufsE2E.MessageHistoryBundle - 132, // 210: WAWebProtobufsE2E.Message.encCommentMessage:type_name -> WAWebProtobufsE2E.EncCommentMessage - 80, // 211: WAWebProtobufsE2E.Message.bcallMessage:type_name -> WAWebProtobufsE2E.BCallMessage - 142, // 212: WAWebProtobufsE2E.Message.lottieStickerMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage - 130, // 213: WAWebProtobufsE2E.Message.eventMessage:type_name -> WAWebProtobufsE2E.EventMessage - 129, // 214: WAWebProtobufsE2E.Message.encEventResponseMessage:type_name -> WAWebProtobufsE2E.EncEventResponseMessage - 131, // 215: WAWebProtobufsE2E.Message.commentMessage:type_name -> WAWebProtobufsE2E.CommentMessage - 145, // 216: WAWebProtobufsE2E.Message.newsletterAdminInviteMessage:type_name -> WAWebProtobufsE2E.NewsletterAdminInviteMessage - 79, // 217: WAWebProtobufsE2E.Message.placeholderMessage:type_name -> WAWebProtobufsE2E.PlaceholderMessage - 89, // 218: WAWebProtobufsE2E.Message.secretEncryptedMessage:type_name -> WAWebProtobufsE2E.SecretEncryptedMessage - 127, // 219: WAWebProtobufsE2E.Message.albumMessage:type_name -> WAWebProtobufsE2E.AlbumMessage - 142, // 220: WAWebProtobufsE2E.Message.eventCoverImage:type_name -> WAWebProtobufsE2E.FutureProofMessage - 78, // 221: WAWebProtobufsE2E.Message.stickerPackMessage:type_name -> WAWebProtobufsE2E.StickerPackMessage - 142, // 222: WAWebProtobufsE2E.Message.statusMentionMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage - 135, // 223: WAWebProtobufsE2E.Message.pollResultSnapshotMessage:type_name -> WAWebProtobufsE2E.PollResultSnapshotMessage - 142, // 224: WAWebProtobufsE2E.Message.pollCreationOptionImageMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage - 142, // 225: WAWebProtobufsE2E.Message.associatedChildMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage - 142, // 226: WAWebProtobufsE2E.Message.groupStatusMentionMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage - 142, // 227: WAWebProtobufsE2E.Message.pollCreationMessageV4:type_name -> WAWebProtobufsE2E.FutureProofMessage - 142, // 228: WAWebProtobufsE2E.Message.pollCreationMessageV5:type_name -> WAWebProtobufsE2E.FutureProofMessage - 142, // 229: WAWebProtobufsE2E.Message.statusAddYours:type_name -> WAWebProtobufsE2E.FutureProofMessage - 142, // 230: WAWebProtobufsE2E.Message.groupStatusMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage - 112, // 231: WAWebProtobufsE2E.Message.richResponseMessage:type_name -> WAWebProtobufsE2E.AIRichResponseMessage - 106, // 232: WAWebProtobufsE2E.Message.statusNotificationMessage:type_name -> WAWebProtobufsE2E.StatusNotificationMessage - 109, // 233: WAWebProtobufsE2E.AlbumMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 109, // 234: WAWebProtobufsE2E.MessageHistoryBundle.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 287, // 235: WAWebProtobufsE2E.EncEventResponseMessage.eventCreationMessageKey:type_name -> WACommon.MessageKey - 109, // 236: WAWebProtobufsE2E.EventMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 171, // 237: WAWebProtobufsE2E.EventMessage.location:type_name -> WAWebProtobufsE2E.LocationMessage - 126, // 238: WAWebProtobufsE2E.CommentMessage.message:type_name -> WAWebProtobufsE2E.Message - 287, // 239: WAWebProtobufsE2E.CommentMessage.targetMessageKey:type_name -> WACommon.MessageKey - 287, // 240: WAWebProtobufsE2E.EncCommentMessage.targetMessageKey:type_name -> WACommon.MessageKey - 287, // 241: WAWebProtobufsE2E.EncReactionMessage.targetMessageKey:type_name -> WACommon.MessageKey - 287, // 242: WAWebProtobufsE2E.KeepInChatMessage.key:type_name -> WACommon.MessageKey - 5, // 243: WAWebProtobufsE2E.KeepInChatMessage.keepType:type_name -> WAWebProtobufsE2E.KeepType - 272, // 244: WAWebProtobufsE2E.PollResultSnapshotMessage.pollVotes:type_name -> WAWebProtobufsE2E.PollResultSnapshotMessage.PollVote - 109, // 245: WAWebProtobufsE2E.PollResultSnapshotMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 287, // 246: WAWebProtobufsE2E.PollUpdateMessage.pollCreationMessageKey:type_name -> WACommon.MessageKey - 137, // 247: WAWebProtobufsE2E.PollUpdateMessage.vote:type_name -> WAWebProtobufsE2E.PollEncValue - 138, // 248: WAWebProtobufsE2E.PollUpdateMessage.metadata:type_name -> WAWebProtobufsE2E.PollUpdateMessageMetadata - 287, // 249: WAWebProtobufsE2E.ReactionMessage.key:type_name -> WACommon.MessageKey - 126, // 250: WAWebProtobufsE2E.FutureProofMessage.message:type_name -> WAWebProtobufsE2E.Message - 126, // 251: WAWebProtobufsE2E.DeviceSentMessage.message:type_name -> WAWebProtobufsE2E.Message - 109, // 252: WAWebProtobufsE2E.RequestPhoneNumberMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 109, // 253: WAWebProtobufsE2E.NewsletterAdminInviteMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 273, // 254: WAWebProtobufsE2E.ProductMessage.product:type_name -> WAWebProtobufsE2E.ProductMessage.ProductSnapshot - 274, // 255: WAWebProtobufsE2E.ProductMessage.catalog:type_name -> WAWebProtobufsE2E.ProductMessage.CatalogSnapshot - 109, // 256: WAWebProtobufsE2E.ProductMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 109, // 257: WAWebProtobufsE2E.TemplateButtonReplyMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 276, // 258: WAWebProtobufsE2E.TemplateMessage.fourRowTemplate:type_name -> WAWebProtobufsE2E.TemplateMessage.FourRowTemplate - 275, // 259: WAWebProtobufsE2E.TemplateMessage.hydratedFourRowTemplate:type_name -> WAWebProtobufsE2E.TemplateMessage.HydratedFourRowTemplate - 92, // 260: WAWebProtobufsE2E.TemplateMessage.interactiveMessageTemplate:type_name -> WAWebProtobufsE2E.InteractiveMessage - 109, // 261: WAWebProtobufsE2E.TemplateMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 275, // 262: WAWebProtobufsE2E.TemplateMessage.hydratedTemplate:type_name -> WAWebProtobufsE2E.TemplateMessage.HydratedFourRowTemplate - 109, // 263: WAWebProtobufsE2E.StickerMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 109, // 264: WAWebProtobufsE2E.LiveLocationMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 287, // 265: WAWebProtobufsE2E.CancelPaymentRequestMessage.key:type_name -> WACommon.MessageKey - 287, // 266: WAWebProtobufsE2E.DeclinePaymentRequestMessage.key:type_name -> WACommon.MessageKey - 126, // 267: WAWebProtobufsE2E.RequestPaymentMessage.noteMessage:type_name -> WAWebProtobufsE2E.Message - 195, // 268: WAWebProtobufsE2E.RequestPaymentMessage.amount:type_name -> WAWebProtobufsE2E.Money - 123, // 269: WAWebProtobufsE2E.RequestPaymentMessage.background:type_name -> WAWebProtobufsE2E.PaymentBackground - 126, // 270: WAWebProtobufsE2E.SendPaymentMessage.noteMessage:type_name -> WAWebProtobufsE2E.Message - 287, // 271: WAWebProtobufsE2E.SendPaymentMessage.requestMessageKey:type_name -> WACommon.MessageKey - 123, // 272: WAWebProtobufsE2E.SendPaymentMessage.background:type_name -> WAWebProtobufsE2E.PaymentBackground - 172, // 273: WAWebProtobufsE2E.ContactsArrayMessage.contacts:type_name -> WAWebProtobufsE2E.ContactMessage - 109, // 274: WAWebProtobufsE2E.ContactsArrayMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 1, // 275: WAWebProtobufsE2E.PeerDataOperationRequestMessage.peerDataOperationRequestType:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestType - 281, // 276: WAWebProtobufsE2E.PeerDataOperationRequestMessage.requestStickerReupload:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestMessage.RequestStickerReupload - 280, // 277: WAWebProtobufsE2E.PeerDataOperationRequestMessage.requestURLPreview:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestMessage.RequestUrlPreview - 279, // 278: WAWebProtobufsE2E.PeerDataOperationRequestMessage.historySyncOnDemandRequest:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest - 277, // 279: WAWebProtobufsE2E.PeerDataOperationRequestMessage.placeholderMessageResendRequest:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest - 278, // 280: WAWebProtobufsE2E.PeerDataOperationRequestMessage.fullHistorySyncOnDemandRequest:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestMessage.FullHistorySyncOnDemandRequest - 164, // 281: WAWebProtobufsE2E.AppStateSyncKeyRequest.keyIDs:type_name -> WAWebProtobufsE2E.AppStateSyncKeyId - 165, // 282: WAWebProtobufsE2E.AppStateSyncKeyShare.keys:type_name -> WAWebProtobufsE2E.AppStateSyncKey - 163, // 283: WAWebProtobufsE2E.AppStateSyncKeyData.fingerprint:type_name -> WAWebProtobufsE2E.AppStateSyncKeyFingerprint - 164, // 284: WAWebProtobufsE2E.AppStateSyncKey.keyID:type_name -> WAWebProtobufsE2E.AppStateSyncKeyId - 162, // 285: WAWebProtobufsE2E.AppStateSyncKey.keyData:type_name -> WAWebProtobufsE2E.AppStateSyncKeyData - 109, // 286: WAWebProtobufsE2E.AudioMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 109, // 287: WAWebProtobufsE2E.DocumentMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 109, // 288: WAWebProtobufsE2E.LocationMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 109, // 289: WAWebProtobufsE2E.ContactMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo - 176, // 290: WAWebProtobufsE2E.BotSuggestedPromptMetadata.promptSuggestions:type_name -> WAWebProtobufsE2E.BotPromptSuggestions - 177, // 291: WAWebProtobufsE2E.BotPromptSuggestions.suggestions:type_name -> WAWebProtobufsE2E.BotPromptSuggestion - 111, // 292: WAWebProtobufsE2E.BotLinkedAccountsMetadata.accounts:type_name -> WAWebProtobufsE2E.BotLinkedAccount - 180, // 293: WAWebProtobufsE2E.BotMemoryMetadata.addedFacts:type_name -> WAWebProtobufsE2E.BotMemoryFact - 180, // 294: WAWebProtobufsE2E.BotMemoryMetadata.removedFacts:type_name -> WAWebProtobufsE2E.BotMemoryFact - 282, // 295: WAWebProtobufsE2E.BotRenderingMetadata.keywords:type_name -> WAWebProtobufsE2E.BotRenderingMetadata.Keyword - 2, // 296: WAWebProtobufsE2E.BotMetricsMetadata.destinationEntryPoint:type_name -> WAWebProtobufsE2E.BotMetricsEntryPoint - 3, // 297: WAWebProtobufsE2E.BotMetricsMetadata.threadOrigin:type_name -> WAWebProtobufsE2E.BotMetricsThreadEntryPoint - 4, // 298: WAWebProtobufsE2E.BotSessionMetadata.sessionSource:type_name -> WAWebProtobufsE2E.BotSessionSource - 113, // 299: WAWebProtobufsE2E.BotMemuMetadata.faceImages:type_name -> WAWebProtobufsE2E.BotMediaMetadata - 174, // 300: WAWebProtobufsE2E.BotMetadata.avatarMetadata:type_name -> WAWebProtobufsE2E.BotAvatarMetadata - 110, // 301: WAWebProtobufsE2E.BotMetadata.pluginMetadata:type_name -> WAWebProtobufsE2E.BotPluginMetadata - 175, // 302: WAWebProtobufsE2E.BotMetadata.suggestedPromptMetadata:type_name -> WAWebProtobufsE2E.BotSuggestedPromptMetadata - 183, // 303: WAWebProtobufsE2E.BotMetadata.sessionMetadata:type_name -> WAWebProtobufsE2E.BotSessionMetadata - 184, // 304: WAWebProtobufsE2E.BotMetadata.memuMetadata:type_name -> WAWebProtobufsE2E.BotMemuMetadata - 114, // 305: WAWebProtobufsE2E.BotMetadata.reminderMetadata:type_name -> WAWebProtobufsE2E.BotReminderMetadata - 115, // 306: WAWebProtobufsE2E.BotMetadata.modelMetadata:type_name -> WAWebProtobufsE2E.BotModelMetadata - 116, // 307: WAWebProtobufsE2E.BotMetadata.progressIndicatorMetadata:type_name -> WAWebProtobufsE2E.BotProgressIndicatorMetadata - 117, // 308: WAWebProtobufsE2E.BotMetadata.capabilityMetadata:type_name -> WAWebProtobufsE2E.BotCapabilityMetadata - 118, // 309: WAWebProtobufsE2E.BotMetadata.imagineMetadata:type_name -> WAWebProtobufsE2E.BotImagineMetadata - 179, // 310: WAWebProtobufsE2E.BotMetadata.memoryMetadata:type_name -> WAWebProtobufsE2E.BotMemoryMetadata - 181, // 311: WAWebProtobufsE2E.BotMetadata.renderingMetadata:type_name -> WAWebProtobufsE2E.BotRenderingMetadata - 182, // 312: WAWebProtobufsE2E.BotMetadata.botMetricsMetadata:type_name -> WAWebProtobufsE2E.BotMetricsMetadata - 178, // 313: WAWebProtobufsE2E.BotMetadata.botLinkedAccountsMetadata:type_name -> WAWebProtobufsE2E.BotLinkedAccountsMetadata - 119, // 314: WAWebProtobufsE2E.BotMetadata.richResponseSourcesMetadata:type_name -> WAWebProtobufsE2E.BotSourcesMetadata - 289, // 315: WAWebProtobufsE2E.DeviceListMetadata.senderAccountType:type_name -> WAAdv.ADVEncryptionType - 289, // 316: WAWebProtobufsE2E.DeviceListMetadata.receiverAccountType:type_name -> WAAdv.ADVEncryptionType - 126, // 317: WAWebProtobufsE2E.EmbeddedMessage.message:type_name -> WAWebProtobufsE2E.Message - 187, // 318: WAWebProtobufsE2E.EmbeddedContent.embeddedMessage:type_name -> WAWebProtobufsE2E.EmbeddedMessage - 188, // 319: WAWebProtobufsE2E.EmbeddedContent.embeddedMusic:type_name -> WAWebProtobufsE2E.EmbeddedMusic - 193, // 320: WAWebProtobufsE2E.InteractiveAnnotation.location:type_name -> WAWebProtobufsE2E.Location - 237, // 321: WAWebProtobufsE2E.InteractiveAnnotation.newsletter:type_name -> WAWebProtobufsE2E.ContextInfo.ForwardedNewsletterMessageInfo - 190, // 322: WAWebProtobufsE2E.InteractiveAnnotation.tapAction:type_name -> WAWebProtobufsE2E.TapLinkAction - 192, // 323: WAWebProtobufsE2E.InteractiveAnnotation.polygonVertices:type_name -> WAWebProtobufsE2E.Point - 189, // 324: WAWebProtobufsE2E.InteractiveAnnotation.embeddedContent:type_name -> WAWebProtobufsE2E.EmbeddedContent - 285, // 325: WAWebProtobufsE2E.TemplateButton.quickReplyButton:type_name -> WAWebProtobufsE2E.TemplateButton.QuickReplyButton - 284, // 326: WAWebProtobufsE2E.TemplateButton.urlButton:type_name -> WAWebProtobufsE2E.TemplateButton.URLButton - 283, // 327: WAWebProtobufsE2E.TemplateButton.callButton:type_name -> WAWebProtobufsE2E.TemplateButton.CallButton - 286, // 328: WAWebProtobufsE2E.UrlTrackingMap.urlTrackingMapElements:type_name -> WAWebProtobufsE2E.UrlTrackingMap.UrlTrackingMapElement - 9, // 329: WAWebProtobufsE2E.CallLogMessage.CallParticipant.callOutcome:type_name -> WAWebProtobufsE2E.CallLogMessage.CallOutcome - 207, // 330: WAWebProtobufsE2E.ButtonsMessage.Button.buttonText:type_name -> WAWebProtobufsE2E.ButtonsMessage.Button.ButtonText - 18, // 331: WAWebProtobufsE2E.ButtonsMessage.Button.type:type_name -> WAWebProtobufsE2E.ButtonsMessage.Button.Type - 206, // 332: WAWebProtobufsE2E.ButtonsMessage.Button.nativeFlowInfo:type_name -> WAWebProtobufsE2E.ButtonsMessage.Button.NativeFlowInfo - 21, // 333: WAWebProtobufsE2E.InteractiveResponseMessage.Body.format:type_name -> WAWebProtobufsE2E.InteractiveResponseMessage.Body.Format - 22, // 334: WAWebProtobufsE2E.InteractiveMessage.ShopMessage.surface:type_name -> WAWebProtobufsE2E.InteractiveMessage.ShopMessage.Surface - 92, // 335: WAWebProtobufsE2E.InteractiveMessage.CarouselMessage.cards:type_name -> WAWebProtobufsE2E.InteractiveMessage - 217, // 336: WAWebProtobufsE2E.InteractiveMessage.NativeFlowMessage.buttons:type_name -> WAWebProtobufsE2E.InteractiveMessage.NativeFlowMessage.NativeFlowButton - 169, // 337: WAWebProtobufsE2E.InteractiveMessage.Header.documentMessage:type_name -> WAWebProtobufsE2E.DocumentMessage - 108, // 338: WAWebProtobufsE2E.InteractiveMessage.Header.imageMessage:type_name -> WAWebProtobufsE2E.ImageMessage - 104, // 339: WAWebProtobufsE2E.InteractiveMessage.Header.videoMessage:type_name -> WAWebProtobufsE2E.VideoMessage - 171, // 340: WAWebProtobufsE2E.InteractiveMessage.Header.locationMessage:type_name -> WAWebProtobufsE2E.LocationMessage - 146, // 341: WAWebProtobufsE2E.InteractiveMessage.Header.productMessage:type_name -> WAWebProtobufsE2E.ProductMessage - 221, // 342: WAWebProtobufsE2E.ListMessage.ProductListInfo.productSections:type_name -> WAWebProtobufsE2E.ListMessage.ProductSection - 220, // 343: WAWebProtobufsE2E.ListMessage.ProductListInfo.headerImage:type_name -> WAWebProtobufsE2E.ListMessage.ProductListHeaderImage - 222, // 344: WAWebProtobufsE2E.ListMessage.ProductSection.products:type_name -> WAWebProtobufsE2E.ListMessage.Product - 224, // 345: WAWebProtobufsE2E.ListMessage.Section.rows:type_name -> WAWebProtobufsE2E.ListMessage.Row - 227, // 346: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.currency:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency - 226, // 347: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.dateTime:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime - 228, // 348: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.component:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent - 229, // 349: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.unixEpoch:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch - 29, // 350: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.dayOfWeek:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType - 28, // 351: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.calendar:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType - 290, // 352: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.mediaUploadResult:type_name -> WAMmsRetry.MediaRetryNotification.ResultType - 149, // 353: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.stickerMessage:type_name -> WAWebProtobufsE2E.StickerMessage - 235, // 354: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.linkPreviewResponse:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse - 234, // 355: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.placeholderMessageResendResponse:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse - 232, // 356: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.waffleNonceFetchRequestResponse:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.WaffleNonceFetchResponse - 233, // 357: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.fullHistorySyncOnDemandRequestResponse:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandRequestResponse - 231, // 358: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.companionMetaNonceFetchRequestResponse:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.CompanionMetaNonceFetchResponse - 158, // 359: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandRequestResponse.requestMetadata:type_name -> WAWebProtobufsE2E.FullHistorySyncOnDemandRequestMetadata - 30, // 360: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandRequestResponse.responseCode:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode - 236, // 361: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.hqThumbnail:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail - 48, // 362: WAWebProtobufsE2E.ContextInfo.ForwardedNewsletterMessageInfo.contentType:type_name -> WAWebProtobufsE2E.ContextInfo.ForwardedNewsletterMessageInfo.ContentType - 49, // 363: WAWebProtobufsE2E.ContextInfo.ExternalAdReplyInfo.mediaType:type_name -> WAWebProtobufsE2E.ContextInfo.ExternalAdReplyInfo.MediaType - 50, // 364: WAWebProtobufsE2E.ContextInfo.AdReplyInfo.mediaType:type_name -> WAWebProtobufsE2E.ContextInfo.AdReplyInfo.MediaType - 245, // 365: WAWebProtobufsE2E.ContextInfo.DataSharingContext.parameters:type_name -> WAWebProtobufsE2E.ContextInfo.DataSharingContext.Parameters - 245, // 366: WAWebProtobufsE2E.ContextInfo.DataSharingContext.Parameters.contents:type_name -> WAWebProtobufsE2E.ContextInfo.DataSharingContext.Parameters - 257, // 367: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata.itemsMetadata:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata.AIRichResponseContentItemMetadata - 56, // 368: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata.contentType:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata.ContentType - 57, // 369: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseDynamicMetadata.type:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseDynamicMetadata.AIRichResponseDynamicMetadataType - 259, // 370: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseCodeMetadata.codeBlocks:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseCodeMetadata.AIRichResponseCodeBlock - 256, // 371: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseInlineImageMetadata.imageURL:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseImageURL - 59, // 372: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseInlineImageMetadata.alignment:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseInlineImageMetadata.AIRichResponseImageAlignment - 54, // 373: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage.messageType:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessageType - 255, // 374: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage.gridImageMetadata:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseGridImageMetadata - 249, // 375: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage.imageMetadata:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseInlineImageMetadata - 248, // 376: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage.codeMetadata:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseCodeMetadata - 254, // 377: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage.tableMetadata:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseTableMetadata - 247, // 378: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage.dynamicMetadata:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseDynamicMetadata - 252, // 379: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage.latexMetadata:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseLatexMetadata - 251, // 380: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage.mapMetadata:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseMapMetadata - 246, // 381: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage.contentItemsMetadata:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata - 260, // 382: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseMapMetadata.annotations:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseMapMetadata.AIRichResponseMapAnnotation - 261, // 383: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseLatexMetadata.expressions:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseLatexMetadata.AIRichResponseLatexExpression - 262, // 384: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseTableMetadata.rows:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseTableMetadata.AIRichResponseTableRow - 256, // 385: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseGridImageMetadata.gridImageURL:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseImageURL - 256, // 386: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseGridImageMetadata.imageURLs:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseImageURL - 258, // 387: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata.AIRichResponseContentItemMetadata.reelItem:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata.AIRichResponseReelItem - 58, // 388: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseCodeMetadata.AIRichResponseCodeBlock.highlightType:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType - 264, // 389: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.sourcesMetadata:type_name -> WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata - 66, // 390: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.status:type_name -> WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus - 265, // 391: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.sections:type_name -> WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningStepSectionMetadata - 67, // 392: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.provider:type_name -> WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider - 266, // 393: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningStepSectionMetadata.sourcesMetadata:type_name -> WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourceMetadata - 65, // 394: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourceMetadata.provider:type_name -> WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider - 70, // 395: WAWebProtobufsE2E.BotSourcesMetadata.BotSourceItem.provider:type_name -> WAWebProtobufsE2E.BotSourcesMetadata.BotSourceItem.SourceProvider - 73, // 396: WAWebProtobufsE2E.HydratedTemplateButton.HydratedURLButton.webviewPresentation:type_name -> WAWebProtobufsE2E.HydratedTemplateButton.HydratedURLButton.WebviewPresentationType - 108, // 397: WAWebProtobufsE2E.ProductMessage.ProductSnapshot.productImage:type_name -> WAWebProtobufsE2E.ImageMessage - 108, // 398: WAWebProtobufsE2E.ProductMessage.CatalogSnapshot.catalogImage:type_name -> WAWebProtobufsE2E.ImageMessage - 169, // 399: WAWebProtobufsE2E.TemplateMessage.HydratedFourRowTemplate.documentMessage:type_name -> WAWebProtobufsE2E.DocumentMessage - 108, // 400: WAWebProtobufsE2E.TemplateMessage.HydratedFourRowTemplate.imageMessage:type_name -> WAWebProtobufsE2E.ImageMessage - 104, // 401: WAWebProtobufsE2E.TemplateMessage.HydratedFourRowTemplate.videoMessage:type_name -> WAWebProtobufsE2E.VideoMessage - 171, // 402: WAWebProtobufsE2E.TemplateMessage.HydratedFourRowTemplate.locationMessage:type_name -> WAWebProtobufsE2E.LocationMessage - 122, // 403: WAWebProtobufsE2E.TemplateMessage.HydratedFourRowTemplate.hydratedButtons:type_name -> WAWebProtobufsE2E.HydratedTemplateButton - 169, // 404: WAWebProtobufsE2E.TemplateMessage.FourRowTemplate.documentMessage:type_name -> WAWebProtobufsE2E.DocumentMessage - 97, // 405: WAWebProtobufsE2E.TemplateMessage.FourRowTemplate.highlyStructuredMessage:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage - 108, // 406: WAWebProtobufsE2E.TemplateMessage.FourRowTemplate.imageMessage:type_name -> WAWebProtobufsE2E.ImageMessage - 104, // 407: WAWebProtobufsE2E.TemplateMessage.FourRowTemplate.videoMessage:type_name -> WAWebProtobufsE2E.VideoMessage - 171, // 408: WAWebProtobufsE2E.TemplateMessage.FourRowTemplate.locationMessage:type_name -> WAWebProtobufsE2E.LocationMessage - 97, // 409: WAWebProtobufsE2E.TemplateMessage.FourRowTemplate.content:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage - 97, // 410: WAWebProtobufsE2E.TemplateMessage.FourRowTemplate.footer:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage - 194, // 411: WAWebProtobufsE2E.TemplateMessage.FourRowTemplate.buttons:type_name -> WAWebProtobufsE2E.TemplateButton - 287, // 412: WAWebProtobufsE2E.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest.messageKey:type_name -> WACommon.MessageKey - 158, // 413: WAWebProtobufsE2E.PeerDataOperationRequestMessage.FullHistorySyncOnDemandRequest.requestMetadata:type_name -> WAWebProtobufsE2E.FullHistorySyncOnDemandRequestMetadata - 291, // 414: WAWebProtobufsE2E.PeerDataOperationRequestMessage.FullHistorySyncOnDemandRequest.historySyncConfig:type_name -> WAWebProtobufsCompanionReg.DeviceProps.HistorySyncConfig - 97, // 415: WAWebProtobufsE2E.TemplateButton.CallButton.displayText:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage - 97, // 416: WAWebProtobufsE2E.TemplateButton.CallButton.phoneNumber:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage - 97, // 417: WAWebProtobufsE2E.TemplateButton.URLButton.displayText:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage - 97, // 418: WAWebProtobufsE2E.TemplateButton.URLButton.URL:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage - 97, // 419: WAWebProtobufsE2E.TemplateButton.QuickReplyButton.displayText:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage - 420, // [420:420] is the sub-list for method output_type - 420, // [420:420] is the sub-list for method input_type - 420, // [420:420] is the sub-list for extension type_name - 420, // [420:420] is the sub-list for extension extendee - 0, // [0:420] is the sub-list for field type_name + 101, // 65: WAWebProtobufsE2E.ProtocolMessage.historySyncNotification:type_name -> WAWebProtobufsE2E.HistorySyncNotification + 165, // 66: WAWebProtobufsE2E.ProtocolMessage.appStateSyncKeyShare:type_name -> WAWebProtobufsE2E.AppStateSyncKeyShare + 164, // 67: WAWebProtobufsE2E.ProtocolMessage.appStateSyncKeyRequest:type_name -> WAWebProtobufsE2E.AppStateSyncKeyRequest + 160, // 68: WAWebProtobufsE2E.ProtocolMessage.initialSecurityNotificationSettingSync:type_name -> WAWebProtobufsE2E.InitialSecurityNotificationSettingSync + 163, // 69: WAWebProtobufsE2E.ProtocolMessage.appStateFatalExceptionNotification:type_name -> WAWebProtobufsE2E.AppStateFatalExceptionNotification + 128, // 70: WAWebProtobufsE2E.ProtocolMessage.disappearingMode:type_name -> WAWebProtobufsE2E.DisappearingMode + 130, // 71: WAWebProtobufsE2E.ProtocolMessage.editedMessage:type_name -> WAWebProtobufsE2E.Message + 161, // 72: WAWebProtobufsE2E.ProtocolMessage.peerDataOperationRequestMessage:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestMessage + 100, // 73: WAWebProtobufsE2E.ProtocolMessage.peerDataOperationRequestResponseMessage:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage + 105, // 74: WAWebProtobufsE2E.ProtocolMessage.botFeedbackMessage:type_name -> WAWebProtobufsE2E.BotFeedbackMessage + 102, // 75: WAWebProtobufsE2E.ProtocolMessage.requestWelcomeMessageMetadata:type_name -> WAWebProtobufsE2E.RequestWelcomeMessageMetadata + 204, // 76: WAWebProtobufsE2E.ProtocolMessage.mediaNotifyMessage:type_name -> WAWebProtobufsE2E.MediaNotifyMessage + 104, // 77: WAWebProtobufsE2E.ProtocolMessage.cloudApiThreadControlNotification:type_name -> WAWebProtobufsE2E.CloudAPIThreadControlNotification + 205, // 78: WAWebProtobufsE2E.ProtocolMessage.lidMigrationMappingSyncMessage:type_name -> WAWebProtobufsE2E.LIDMigrationMappingSyncMessage + 296, // 79: WAWebProtobufsE2E.ProtocolMessage.limitSharing:type_name -> WACommon.LimitSharing + 207, // 80: WAWebProtobufsE2E.ProtocolMessage.aiQueryFanout:type_name -> WAWebProtobufsE2E.AIQueryFanout + 34, // 81: WAWebProtobufsE2E.CloudAPIThreadControlNotification.status:type_name -> WAWebProtobufsE2E.CloudAPIThreadControlNotification.CloudAPIThreadControl + 295, // 82: WAWebProtobufsE2E.BotFeedbackMessage.messageKey:type_name -> WACommon.MessageKey + 38, // 83: WAWebProtobufsE2E.BotFeedbackMessage.kind:type_name -> WAWebProtobufsE2E.BotFeedbackMessage.BotFeedbackKind + 35, // 84: WAWebProtobufsE2E.BotFeedbackMessage.kindReport:type_name -> WAWebProtobufsE2E.BotFeedbackMessage.ReportKind + 125, // 85: WAWebProtobufsE2E.VideoMessage.interactiveAnnotations:type_name -> WAWebProtobufsE2E.InteractiveAnnotation + 112, // 86: WAWebProtobufsE2E.VideoMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 39, // 87: WAWebProtobufsE2E.VideoMessage.gifAttribution:type_name -> WAWebProtobufsE2E.VideoMessage.Attribution + 125, // 88: WAWebProtobufsE2E.VideoMessage.annotations:type_name -> WAWebProtobufsE2E.InteractiveAnnotation + 129, // 89: WAWebProtobufsE2E.VideoMessage.processedVideos:type_name -> WAWebProtobufsE2E.ProcessedVideo + 42, // 90: WAWebProtobufsE2E.ExtendedTextMessage.font:type_name -> WAWebProtobufsE2E.ExtendedTextMessage.FontType + 41, // 91: WAWebProtobufsE2E.ExtendedTextMessage.previewType:type_name -> WAWebProtobufsE2E.ExtendedTextMessage.PreviewType + 112, // 92: WAWebProtobufsE2E.ExtendedTextMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 40, // 93: WAWebProtobufsE2E.ExtendedTextMessage.inviteLinkGroupType:type_name -> WAWebProtobufsE2E.ExtendedTextMessage.InviteLinkGroupType + 40, // 94: WAWebProtobufsE2E.ExtendedTextMessage.inviteLinkGroupTypeV2:type_name -> WAWebProtobufsE2E.ExtendedTextMessage.InviteLinkGroupType + 176, // 95: WAWebProtobufsE2E.ExtendedTextMessage.faviconMMSMetadata:type_name -> WAWebProtobufsE2E.MMSThumbnailMetadata + 174, // 96: WAWebProtobufsE2E.ExtendedTextMessage.linkPreviewMetadata:type_name -> WAWebProtobufsE2E.LinkPreviewMetadata + 108, // 97: WAWebProtobufsE2E.ExtendedTextMessage.paymentLinkMetadata:type_name -> WAWebProtobufsE2E.PaymentLinkMetadata + 244, // 98: WAWebProtobufsE2E.PaymentLinkMetadata.button:type_name -> WAWebProtobufsE2E.PaymentLinkMetadata.PaymentLinkButton + 243, // 99: WAWebProtobufsE2E.PaymentLinkMetadata.header:type_name -> WAWebProtobufsE2E.PaymentLinkMetadata.PaymentLinkHeader + 295, // 100: WAWebProtobufsE2E.StatusNotificationMessage.responseMessageKey:type_name -> WACommon.MessageKey + 295, // 101: WAWebProtobufsE2E.StatusNotificationMessage.originalMessageKey:type_name -> WACommon.MessageKey + 44, // 102: WAWebProtobufsE2E.StatusNotificationMessage.type:type_name -> WAWebProtobufsE2E.StatusNotificationMessage.StatusNotificationType + 45, // 103: WAWebProtobufsE2E.InvoiceMessage.attachmentType:type_name -> WAWebProtobufsE2E.InvoiceMessage.AttachmentType + 125, // 104: WAWebProtobufsE2E.ImageMessage.interactiveAnnotations:type_name -> WAWebProtobufsE2E.InteractiveAnnotation + 112, // 105: WAWebProtobufsE2E.ImageMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 125, // 106: WAWebProtobufsE2E.ImageMessage.annotations:type_name -> WAWebProtobufsE2E.InteractiveAnnotation + 46, // 107: WAWebProtobufsE2E.ImageMessage.imageSourceType:type_name -> WAWebProtobufsE2E.ImageMessage.ImageSourceType + 130, // 108: WAWebProtobufsE2E.ContextInfo.quotedMessage:type_name -> WAWebProtobufsE2E.Message + 247, // 109: WAWebProtobufsE2E.ContextInfo.quotedAd:type_name -> WAWebProtobufsE2E.ContextInfo.AdReplyInfo + 295, // 110: WAWebProtobufsE2E.ContextInfo.placeholderKey:type_name -> WACommon.MessageKey + 246, // 111: WAWebProtobufsE2E.ContextInfo.externalAdReply:type_name -> WAWebProtobufsE2E.ContextInfo.ExternalAdReplyInfo + 128, // 112: WAWebProtobufsE2E.ContextInfo.disappearingMode:type_name -> WAWebProtobufsE2E.DisappearingMode + 201, // 113: WAWebProtobufsE2E.ContextInfo.actionLink:type_name -> WAWebProtobufsE2E.ActionLink + 202, // 114: WAWebProtobufsE2E.ContextInfo.groupMentions:type_name -> WAWebProtobufsE2E.GroupMention + 251, // 115: WAWebProtobufsE2E.ContextInfo.utm:type_name -> WAWebProtobufsE2E.ContextInfo.UTMInfo + 245, // 116: WAWebProtobufsE2E.ContextInfo.forwardedNewsletterMessageInfo:type_name -> WAWebProtobufsE2E.ContextInfo.ForwardedNewsletterMessageInfo + 252, // 117: WAWebProtobufsE2E.ContextInfo.businessMessageForwardInfo:type_name -> WAWebProtobufsE2E.ContextInfo.BusinessMessageForwardInfo + 249, // 118: WAWebProtobufsE2E.ContextInfo.dataSharingContext:type_name -> WAWebProtobufsE2E.ContextInfo.DataSharingContext + 248, // 119: WAWebProtobufsE2E.ContextInfo.featureEligibilities:type_name -> WAWebProtobufsE2E.ContextInfo.FeatureEligibilities + 250, // 120: WAWebProtobufsE2E.ContextInfo.forwardedAiBotMessageInfo:type_name -> WAWebProtobufsE2E.ContextInfo.ForwardedAIBotMessageInfo + 48, // 121: WAWebProtobufsE2E.ContextInfo.statusAttributionType:type_name -> WAWebProtobufsE2E.ContextInfo.StatusAttributionType + 206, // 122: WAWebProtobufsE2E.ContextInfo.urlTrackingMap:type_name -> WAWebProtobufsE2E.UrlTrackingMap + 47, // 123: WAWebProtobufsE2E.ContextInfo.pairedMediaType:type_name -> WAWebProtobufsE2E.ContextInfo.PairedMediaType + 53, // 124: WAWebProtobufsE2E.BotPluginMetadata.provider:type_name -> WAWebProtobufsE2E.BotPluginMetadata.SearchProvider + 52, // 125: WAWebProtobufsE2E.BotPluginMetadata.pluginType:type_name -> WAWebProtobufsE2E.BotPluginMetadata.PluginType + 295, // 126: WAWebProtobufsE2E.BotPluginMetadata.parentPluginMessageKey:type_name -> WACommon.MessageKey + 52, // 127: WAWebProtobufsE2E.BotPluginMetadata.deprecatedField:type_name -> WAWebProtobufsE2E.BotPluginMetadata.PluginType + 52, // 128: WAWebProtobufsE2E.BotPluginMetadata.parentPluginType:type_name -> WAWebProtobufsE2E.BotPluginMetadata.PluginType + 54, // 129: WAWebProtobufsE2E.BotLinkedAccount.type:type_name -> WAWebProtobufsE2E.BotLinkedAccount.BotLinkedAccountType + 56, // 130: WAWebProtobufsE2E.AIRichResponseMessage.messageType:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseMessageType + 258, // 131: WAWebProtobufsE2E.AIRichResponseMessage.submessages:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage + 261, // 132: WAWebProtobufsE2E.AIRichResponseMessage.abstractData:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseAbstractData + 61, // 133: WAWebProtobufsE2E.BotMediaMetadata.orientationType:type_name -> WAWebProtobufsE2E.BotMediaMetadata.OrientationType + 295, // 134: WAWebProtobufsE2E.BotReminderMetadata.requestMessageKey:type_name -> WACommon.MessageKey + 63, // 135: WAWebProtobufsE2E.BotReminderMetadata.action:type_name -> WAWebProtobufsE2E.BotReminderMetadata.ReminderAction + 62, // 136: WAWebProtobufsE2E.BotReminderMetadata.frequency:type_name -> WAWebProtobufsE2E.BotReminderMetadata.ReminderFrequency + 65, // 137: WAWebProtobufsE2E.BotModelMetadata.modelType:type_name -> WAWebProtobufsE2E.BotModelMetadata.ModelType + 64, // 138: WAWebProtobufsE2E.BotModelMetadata.premiumModelStatus:type_name -> WAWebProtobufsE2E.BotModelMetadata.PremiumModelStatus + 271, // 139: WAWebProtobufsE2E.BotProgressIndicatorMetadata.stepsMetadata:type_name -> WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata + 69, // 140: WAWebProtobufsE2E.BotCapabilityMetadata.capabilities:type_name -> WAWebProtobufsE2E.BotCapabilityMetadata.BotCapabilityType + 70, // 141: WAWebProtobufsE2E.BotImagineMetadata.imagineType:type_name -> WAWebProtobufsE2E.BotImagineMetadata.ImagineType + 275, // 142: WAWebProtobufsE2E.BotSourcesMetadata.sources:type_name -> WAWebProtobufsE2E.BotSourcesMetadata.BotSourceItem + 72, // 143: WAWebProtobufsE2E.MessageAssociation.associationType:type_name -> WAWebProtobufsE2E.MessageAssociation.AssociationType + 295, // 144: WAWebProtobufsE2E.MessageAssociation.parentMessageKey:type_name -> WACommon.MessageKey + 192, // 145: WAWebProtobufsE2E.MessageContextInfo.deviceListMetadata:type_name -> WAWebProtobufsE2E.DeviceListMetadata + 191, // 146: WAWebProtobufsE2E.MessageContextInfo.botMetadata:type_name -> WAWebProtobufsE2E.BotMetadata + 73, // 147: WAWebProtobufsE2E.MessageContextInfo.messageAddOnExpiryType:type_name -> WAWebProtobufsE2E.MessageContextInfo.MessageAddonExpiryType + 123, // 148: WAWebProtobufsE2E.MessageContextInfo.messageAssociation:type_name -> WAWebProtobufsE2E.MessageAssociation + 296, // 149: WAWebProtobufsE2E.MessageContextInfo.limitSharing:type_name -> WACommon.LimitSharing + 198, // 150: WAWebProtobufsE2E.InteractiveAnnotation.location:type_name -> WAWebProtobufsE2E.Location + 245, // 151: WAWebProtobufsE2E.InteractiveAnnotation.newsletter:type_name -> WAWebProtobufsE2E.ContextInfo.ForwardedNewsletterMessageInfo + 196, // 152: WAWebProtobufsE2E.InteractiveAnnotation.tapAction:type_name -> WAWebProtobufsE2E.TapLinkAction + 197, // 153: WAWebProtobufsE2E.InteractiveAnnotation.polygonVertices:type_name -> WAWebProtobufsE2E.Point + 195, // 154: WAWebProtobufsE2E.InteractiveAnnotation.embeddedContent:type_name -> WAWebProtobufsE2E.EmbeddedContent + 74, // 155: WAWebProtobufsE2E.InteractiveAnnotation.statusLinkType:type_name -> WAWebProtobufsE2E.InteractiveAnnotation.StatusLinkType + 278, // 156: WAWebProtobufsE2E.HydratedTemplateButton.quickReplyButton:type_name -> WAWebProtobufsE2E.HydratedTemplateButton.HydratedQuickReplyButton + 276, // 157: WAWebProtobufsE2E.HydratedTemplateButton.urlButton:type_name -> WAWebProtobufsE2E.HydratedTemplateButton.HydratedURLButton + 277, // 158: WAWebProtobufsE2E.HydratedTemplateButton.callButton:type_name -> WAWebProtobufsE2E.HydratedTemplateButton.HydratedCallButton + 279, // 159: WAWebProtobufsE2E.PaymentBackground.mediaData:type_name -> WAWebProtobufsE2E.PaymentBackground.MediaData + 76, // 160: WAWebProtobufsE2E.PaymentBackground.type:type_name -> WAWebProtobufsE2E.PaymentBackground.Type + 78, // 161: WAWebProtobufsE2E.DisappearingMode.initiator:type_name -> WAWebProtobufsE2E.DisappearingMode.Initiator + 77, // 162: WAWebProtobufsE2E.DisappearingMode.trigger:type_name -> WAWebProtobufsE2E.DisappearingMode.Trigger + 79, // 163: WAWebProtobufsE2E.ProcessedVideo.quality:type_name -> WAWebProtobufsE2E.ProcessedVideo.VideoQuality + 179, // 164: WAWebProtobufsE2E.Message.senderKeyDistributionMessage:type_name -> WAWebProtobufsE2E.SenderKeyDistributionMessage + 111, // 165: WAWebProtobufsE2E.Message.imageMessage:type_name -> WAWebProtobufsE2E.ImageMessage + 178, // 166: WAWebProtobufsE2E.Message.contactMessage:type_name -> WAWebProtobufsE2E.ContactMessage + 177, // 167: WAWebProtobufsE2E.Message.locationMessage:type_name -> WAWebProtobufsE2E.LocationMessage + 107, // 168: WAWebProtobufsE2E.Message.extendedTextMessage:type_name -> WAWebProtobufsE2E.ExtendedTextMessage + 173, // 169: WAWebProtobufsE2E.Message.documentMessage:type_name -> WAWebProtobufsE2E.DocumentMessage + 172, // 170: WAWebProtobufsE2E.Message.audioMessage:type_name -> WAWebProtobufsE2E.AudioMessage + 106, // 171: WAWebProtobufsE2E.Message.videoMessage:type_name -> WAWebProtobufsE2E.VideoMessage + 171, // 172: WAWebProtobufsE2E.Message.call:type_name -> WAWebProtobufsE2E.Call + 170, // 173: WAWebProtobufsE2E.Message.chat:type_name -> WAWebProtobufsE2E.Chat + 103, // 174: WAWebProtobufsE2E.Message.protocolMessage:type_name -> WAWebProtobufsE2E.ProtocolMessage + 159, // 175: WAWebProtobufsE2E.Message.contactsArrayMessage:type_name -> WAWebProtobufsE2E.ContactsArrayMessage + 99, // 176: WAWebProtobufsE2E.Message.highlyStructuredMessage:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage + 179, // 177: WAWebProtobufsE2E.Message.fastRatchetKeySenderKeyDistributionMessage:type_name -> WAWebProtobufsE2E.SenderKeyDistributionMessage + 158, // 178: WAWebProtobufsE2E.Message.sendPaymentMessage:type_name -> WAWebProtobufsE2E.SendPaymentMessage + 154, // 179: WAWebProtobufsE2E.Message.liveLocationMessage:type_name -> WAWebProtobufsE2E.LiveLocationMessage + 157, // 180: WAWebProtobufsE2E.Message.requestPaymentMessage:type_name -> WAWebProtobufsE2E.RequestPaymentMessage + 156, // 181: WAWebProtobufsE2E.Message.declinePaymentRequestMessage:type_name -> WAWebProtobufsE2E.DeclinePaymentRequestMessage + 155, // 182: WAWebProtobufsE2E.Message.cancelPaymentRequestMessage:type_name -> WAWebProtobufsE2E.CancelPaymentRequestMessage + 152, // 183: WAWebProtobufsE2E.Message.templateMessage:type_name -> WAWebProtobufsE2E.TemplateMessage + 153, // 184: WAWebProtobufsE2E.Message.stickerMessage:type_name -> WAWebProtobufsE2E.StickerMessage + 92, // 185: WAWebProtobufsE2E.Message.groupInviteMessage:type_name -> WAWebProtobufsE2E.GroupInviteMessage + 151, // 186: WAWebProtobufsE2E.Message.templateButtonReplyMessage:type_name -> WAWebProtobufsE2E.TemplateButtonReplyMessage + 150, // 187: WAWebProtobufsE2E.Message.productMessage:type_name -> WAWebProtobufsE2E.ProductMessage + 147, // 188: WAWebProtobufsE2E.Message.deviceSentMessage:type_name -> WAWebProtobufsE2E.DeviceSentMessage + 124, // 189: WAWebProtobufsE2E.Message.messageContextInfo:type_name -> WAWebProtobufsE2E.MessageContextInfo + 96, // 190: WAWebProtobufsE2E.Message.listMessage:type_name -> WAWebProtobufsE2E.ListMessage + 146, // 191: WAWebProtobufsE2E.Message.viewOnceMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage + 97, // 192: WAWebProtobufsE2E.Message.orderMessage:type_name -> WAWebProtobufsE2E.OrderMessage + 95, // 193: WAWebProtobufsE2E.Message.listResponseMessage:type_name -> WAWebProtobufsE2E.ListResponseMessage + 146, // 194: WAWebProtobufsE2E.Message.ephemeralMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage + 110, // 195: WAWebProtobufsE2E.Message.invoiceMessage:type_name -> WAWebProtobufsE2E.InvoiceMessage + 90, // 196: WAWebProtobufsE2E.Message.buttonsMessage:type_name -> WAWebProtobufsE2E.ButtonsMessage + 89, // 197: WAWebProtobufsE2E.Message.buttonsResponseMessage:type_name -> WAWebProtobufsE2E.ButtonsResponseMessage + 98, // 198: WAWebProtobufsE2E.Message.paymentInviteMessage:type_name -> WAWebProtobufsE2E.PaymentInviteMessage + 94, // 199: WAWebProtobufsE2E.Message.interactiveMessage:type_name -> WAWebProtobufsE2E.InteractiveMessage + 145, // 200: WAWebProtobufsE2E.Message.reactionMessage:type_name -> WAWebProtobufsE2E.ReactionMessage + 144, // 201: WAWebProtobufsE2E.Message.stickerSyncRmrMessage:type_name -> WAWebProtobufsE2E.StickerSyncRMRMessage + 93, // 202: WAWebProtobufsE2E.Message.interactiveResponseMessage:type_name -> WAWebProtobufsE2E.InteractiveResponseMessage + 88, // 203: WAWebProtobufsE2E.Message.pollCreationMessage:type_name -> WAWebProtobufsE2E.PollCreationMessage + 143, // 204: WAWebProtobufsE2E.Message.pollUpdateMessage:type_name -> WAWebProtobufsE2E.PollUpdateMessage + 138, // 205: WAWebProtobufsE2E.Message.keepInChatMessage:type_name -> WAWebProtobufsE2E.KeepInChatMessage + 146, // 206: WAWebProtobufsE2E.Message.documentWithCaptionMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage + 148, // 207: WAWebProtobufsE2E.Message.requestPhoneNumberMessage:type_name -> WAWebProtobufsE2E.RequestPhoneNumberMessage + 146, // 208: WAWebProtobufsE2E.Message.viewOnceMessageV2:type_name -> WAWebProtobufsE2E.FutureProofMessage + 137, // 209: WAWebProtobufsE2E.Message.encReactionMessage:type_name -> WAWebProtobufsE2E.EncReactionMessage + 146, // 210: WAWebProtobufsE2E.Message.editedMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage + 146, // 211: WAWebProtobufsE2E.Message.viewOnceMessageV2Extension:type_name -> WAWebProtobufsE2E.FutureProofMessage + 88, // 212: WAWebProtobufsE2E.Message.pollCreationMessageV2:type_name -> WAWebProtobufsE2E.PollCreationMessage + 85, // 213: WAWebProtobufsE2E.Message.scheduledCallCreationMessage:type_name -> WAWebProtobufsE2E.ScheduledCallCreationMessage + 146, // 214: WAWebProtobufsE2E.Message.groupMentionedMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage + 87, // 215: WAWebProtobufsE2E.Message.pinInChatMessage:type_name -> WAWebProtobufsE2E.PinInChatMessage + 88, // 216: WAWebProtobufsE2E.Message.pollCreationMessageV3:type_name -> WAWebProtobufsE2E.PollCreationMessage + 84, // 217: WAWebProtobufsE2E.Message.scheduledCallEditMessage:type_name -> WAWebProtobufsE2E.ScheduledCallEditMessage + 106, // 218: WAWebProtobufsE2E.Message.ptvMessage:type_name -> WAWebProtobufsE2E.VideoMessage + 146, // 219: WAWebProtobufsE2E.Message.botInvokeMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage + 83, // 220: WAWebProtobufsE2E.Message.callLogMesssage:type_name -> WAWebProtobufsE2E.CallLogMessage + 132, // 221: WAWebProtobufsE2E.Message.messageHistoryBundle:type_name -> WAWebProtobufsE2E.MessageHistoryBundle + 136, // 222: WAWebProtobufsE2E.Message.encCommentMessage:type_name -> WAWebProtobufsE2E.EncCommentMessage + 82, // 223: WAWebProtobufsE2E.Message.bcallMessage:type_name -> WAWebProtobufsE2E.BCallMessage + 146, // 224: WAWebProtobufsE2E.Message.lottieStickerMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage + 134, // 225: WAWebProtobufsE2E.Message.eventMessage:type_name -> WAWebProtobufsE2E.EventMessage + 133, // 226: WAWebProtobufsE2E.Message.encEventResponseMessage:type_name -> WAWebProtobufsE2E.EncEventResponseMessage + 135, // 227: WAWebProtobufsE2E.Message.commentMessage:type_name -> WAWebProtobufsE2E.CommentMessage + 149, // 228: WAWebProtobufsE2E.Message.newsletterAdminInviteMessage:type_name -> WAWebProtobufsE2E.NewsletterAdminInviteMessage + 81, // 229: WAWebProtobufsE2E.Message.placeholderMessage:type_name -> WAWebProtobufsE2E.PlaceholderMessage + 91, // 230: WAWebProtobufsE2E.Message.secretEncryptedMessage:type_name -> WAWebProtobufsE2E.SecretEncryptedMessage + 131, // 231: WAWebProtobufsE2E.Message.albumMessage:type_name -> WAWebProtobufsE2E.AlbumMessage + 146, // 232: WAWebProtobufsE2E.Message.eventCoverImage:type_name -> WAWebProtobufsE2E.FutureProofMessage + 80, // 233: WAWebProtobufsE2E.Message.stickerPackMessage:type_name -> WAWebProtobufsE2E.StickerPackMessage + 146, // 234: WAWebProtobufsE2E.Message.statusMentionMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage + 139, // 235: WAWebProtobufsE2E.Message.pollResultSnapshotMessage:type_name -> WAWebProtobufsE2E.PollResultSnapshotMessage + 146, // 236: WAWebProtobufsE2E.Message.pollCreationOptionImageMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage + 146, // 237: WAWebProtobufsE2E.Message.associatedChildMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage + 146, // 238: WAWebProtobufsE2E.Message.groupStatusMentionMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage + 146, // 239: WAWebProtobufsE2E.Message.pollCreationMessageV4:type_name -> WAWebProtobufsE2E.FutureProofMessage + 146, // 240: WAWebProtobufsE2E.Message.pollCreationMessageV5:type_name -> WAWebProtobufsE2E.FutureProofMessage + 146, // 241: WAWebProtobufsE2E.Message.statusAddYours:type_name -> WAWebProtobufsE2E.FutureProofMessage + 146, // 242: WAWebProtobufsE2E.Message.groupStatusMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage + 115, // 243: WAWebProtobufsE2E.Message.richResponseMessage:type_name -> WAWebProtobufsE2E.AIRichResponseMessage + 109, // 244: WAWebProtobufsE2E.Message.statusNotificationMessage:type_name -> WAWebProtobufsE2E.StatusNotificationMessage + 146, // 245: WAWebProtobufsE2E.Message.limitSharingMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage + 146, // 246: WAWebProtobufsE2E.Message.botTaskMessage:type_name -> WAWebProtobufsE2E.FutureProofMessage + 112, // 247: WAWebProtobufsE2E.AlbumMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 112, // 248: WAWebProtobufsE2E.MessageHistoryBundle.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 295, // 249: WAWebProtobufsE2E.EncEventResponseMessage.eventCreationMessageKey:type_name -> WACommon.MessageKey + 112, // 250: WAWebProtobufsE2E.EventMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 177, // 251: WAWebProtobufsE2E.EventMessage.location:type_name -> WAWebProtobufsE2E.LocationMessage + 130, // 252: WAWebProtobufsE2E.CommentMessage.message:type_name -> WAWebProtobufsE2E.Message + 295, // 253: WAWebProtobufsE2E.CommentMessage.targetMessageKey:type_name -> WACommon.MessageKey + 295, // 254: WAWebProtobufsE2E.EncCommentMessage.targetMessageKey:type_name -> WACommon.MessageKey + 295, // 255: WAWebProtobufsE2E.EncReactionMessage.targetMessageKey:type_name -> WACommon.MessageKey + 295, // 256: WAWebProtobufsE2E.KeepInChatMessage.key:type_name -> WACommon.MessageKey + 5, // 257: WAWebProtobufsE2E.KeepInChatMessage.keepType:type_name -> WAWebProtobufsE2E.KeepType + 280, // 258: WAWebProtobufsE2E.PollResultSnapshotMessage.pollVotes:type_name -> WAWebProtobufsE2E.PollResultSnapshotMessage.PollVote + 112, // 259: WAWebProtobufsE2E.PollResultSnapshotMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 295, // 260: WAWebProtobufsE2E.PollUpdateMessage.pollCreationMessageKey:type_name -> WACommon.MessageKey + 141, // 261: WAWebProtobufsE2E.PollUpdateMessage.vote:type_name -> WAWebProtobufsE2E.PollEncValue + 142, // 262: WAWebProtobufsE2E.PollUpdateMessage.metadata:type_name -> WAWebProtobufsE2E.PollUpdateMessageMetadata + 295, // 263: WAWebProtobufsE2E.ReactionMessage.key:type_name -> WACommon.MessageKey + 130, // 264: WAWebProtobufsE2E.FutureProofMessage.message:type_name -> WAWebProtobufsE2E.Message + 130, // 265: WAWebProtobufsE2E.DeviceSentMessage.message:type_name -> WAWebProtobufsE2E.Message + 112, // 266: WAWebProtobufsE2E.RequestPhoneNumberMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 112, // 267: WAWebProtobufsE2E.NewsletterAdminInviteMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 281, // 268: WAWebProtobufsE2E.ProductMessage.product:type_name -> WAWebProtobufsE2E.ProductMessage.ProductSnapshot + 282, // 269: WAWebProtobufsE2E.ProductMessage.catalog:type_name -> WAWebProtobufsE2E.ProductMessage.CatalogSnapshot + 112, // 270: WAWebProtobufsE2E.ProductMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 112, // 271: WAWebProtobufsE2E.TemplateButtonReplyMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 284, // 272: WAWebProtobufsE2E.TemplateMessage.fourRowTemplate:type_name -> WAWebProtobufsE2E.TemplateMessage.FourRowTemplate + 283, // 273: WAWebProtobufsE2E.TemplateMessage.hydratedFourRowTemplate:type_name -> WAWebProtobufsE2E.TemplateMessage.HydratedFourRowTemplate + 94, // 274: WAWebProtobufsE2E.TemplateMessage.interactiveMessageTemplate:type_name -> WAWebProtobufsE2E.InteractiveMessage + 112, // 275: WAWebProtobufsE2E.TemplateMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 283, // 276: WAWebProtobufsE2E.TemplateMessage.hydratedTemplate:type_name -> WAWebProtobufsE2E.TemplateMessage.HydratedFourRowTemplate + 112, // 277: WAWebProtobufsE2E.StickerMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 112, // 278: WAWebProtobufsE2E.LiveLocationMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 295, // 279: WAWebProtobufsE2E.CancelPaymentRequestMessage.key:type_name -> WACommon.MessageKey + 295, // 280: WAWebProtobufsE2E.DeclinePaymentRequestMessage.key:type_name -> WACommon.MessageKey + 130, // 281: WAWebProtobufsE2E.RequestPaymentMessage.noteMessage:type_name -> WAWebProtobufsE2E.Message + 200, // 282: WAWebProtobufsE2E.RequestPaymentMessage.amount:type_name -> WAWebProtobufsE2E.Money + 127, // 283: WAWebProtobufsE2E.RequestPaymentMessage.background:type_name -> WAWebProtobufsE2E.PaymentBackground + 130, // 284: WAWebProtobufsE2E.SendPaymentMessage.noteMessage:type_name -> WAWebProtobufsE2E.Message + 295, // 285: WAWebProtobufsE2E.SendPaymentMessage.requestMessageKey:type_name -> WACommon.MessageKey + 127, // 286: WAWebProtobufsE2E.SendPaymentMessage.background:type_name -> WAWebProtobufsE2E.PaymentBackground + 178, // 287: WAWebProtobufsE2E.ContactsArrayMessage.contacts:type_name -> WAWebProtobufsE2E.ContactMessage + 112, // 288: WAWebProtobufsE2E.ContactsArrayMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 1, // 289: WAWebProtobufsE2E.PeerDataOperationRequestMessage.peerDataOperationRequestType:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestType + 289, // 290: WAWebProtobufsE2E.PeerDataOperationRequestMessage.requestStickerReupload:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestMessage.RequestStickerReupload + 288, // 291: WAWebProtobufsE2E.PeerDataOperationRequestMessage.requestURLPreview:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestMessage.RequestUrlPreview + 287, // 292: WAWebProtobufsE2E.PeerDataOperationRequestMessage.historySyncOnDemandRequest:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest + 285, // 293: WAWebProtobufsE2E.PeerDataOperationRequestMessage.placeholderMessageResendRequest:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest + 286, // 294: WAWebProtobufsE2E.PeerDataOperationRequestMessage.fullHistorySyncOnDemandRequest:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestMessage.FullHistorySyncOnDemandRequest + 168, // 295: WAWebProtobufsE2E.AppStateSyncKeyRequest.keyIDs:type_name -> WAWebProtobufsE2E.AppStateSyncKeyId + 169, // 296: WAWebProtobufsE2E.AppStateSyncKeyShare.keys:type_name -> WAWebProtobufsE2E.AppStateSyncKey + 167, // 297: WAWebProtobufsE2E.AppStateSyncKeyData.fingerprint:type_name -> WAWebProtobufsE2E.AppStateSyncKeyFingerprint + 168, // 298: WAWebProtobufsE2E.AppStateSyncKey.keyID:type_name -> WAWebProtobufsE2E.AppStateSyncKeyId + 166, // 299: WAWebProtobufsE2E.AppStateSyncKey.keyData:type_name -> WAWebProtobufsE2E.AppStateSyncKeyData + 112, // 300: WAWebProtobufsE2E.AudioMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 112, // 301: WAWebProtobufsE2E.DocumentMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 108, // 302: WAWebProtobufsE2E.LinkPreviewMetadata.paymentLinkMetadata:type_name -> WAWebProtobufsE2E.PaymentLinkMetadata + 175, // 303: WAWebProtobufsE2E.LinkPreviewMetadata.urlMetadata:type_name -> WAWebProtobufsE2E.URLMetadata + 112, // 304: WAWebProtobufsE2E.LocationMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 112, // 305: WAWebProtobufsE2E.ContactMessage.contextInfo:type_name -> WAWebProtobufsE2E.ContextInfo + 182, // 306: WAWebProtobufsE2E.BotSuggestedPromptMetadata.promptSuggestions:type_name -> WAWebProtobufsE2E.BotPromptSuggestions + 183, // 307: WAWebProtobufsE2E.BotPromptSuggestions.suggestions:type_name -> WAWebProtobufsE2E.BotPromptSuggestion + 114, // 308: WAWebProtobufsE2E.BotLinkedAccountsMetadata.accounts:type_name -> WAWebProtobufsE2E.BotLinkedAccount + 186, // 309: WAWebProtobufsE2E.BotMemoryMetadata.addedFacts:type_name -> WAWebProtobufsE2E.BotMemoryFact + 186, // 310: WAWebProtobufsE2E.BotMemoryMetadata.removedFacts:type_name -> WAWebProtobufsE2E.BotMemoryFact + 290, // 311: WAWebProtobufsE2E.BotRenderingMetadata.keywords:type_name -> WAWebProtobufsE2E.BotRenderingMetadata.Keyword + 2, // 312: WAWebProtobufsE2E.BotMetricsMetadata.destinationEntryPoint:type_name -> WAWebProtobufsE2E.BotMetricsEntryPoint + 3, // 313: WAWebProtobufsE2E.BotMetricsMetadata.threadOrigin:type_name -> WAWebProtobufsE2E.BotMetricsThreadEntryPoint + 4, // 314: WAWebProtobufsE2E.BotSessionMetadata.sessionSource:type_name -> WAWebProtobufsE2E.BotSessionSource + 116, // 315: WAWebProtobufsE2E.BotMemuMetadata.faceImages:type_name -> WAWebProtobufsE2E.BotMediaMetadata + 180, // 316: WAWebProtobufsE2E.BotMetadata.avatarMetadata:type_name -> WAWebProtobufsE2E.BotAvatarMetadata + 113, // 317: WAWebProtobufsE2E.BotMetadata.pluginMetadata:type_name -> WAWebProtobufsE2E.BotPluginMetadata + 181, // 318: WAWebProtobufsE2E.BotMetadata.suggestedPromptMetadata:type_name -> WAWebProtobufsE2E.BotSuggestedPromptMetadata + 189, // 319: WAWebProtobufsE2E.BotMetadata.sessionMetadata:type_name -> WAWebProtobufsE2E.BotSessionMetadata + 190, // 320: WAWebProtobufsE2E.BotMetadata.memuMetadata:type_name -> WAWebProtobufsE2E.BotMemuMetadata + 117, // 321: WAWebProtobufsE2E.BotMetadata.reminderMetadata:type_name -> WAWebProtobufsE2E.BotReminderMetadata + 118, // 322: WAWebProtobufsE2E.BotMetadata.modelMetadata:type_name -> WAWebProtobufsE2E.BotModelMetadata + 119, // 323: WAWebProtobufsE2E.BotMetadata.progressIndicatorMetadata:type_name -> WAWebProtobufsE2E.BotProgressIndicatorMetadata + 120, // 324: WAWebProtobufsE2E.BotMetadata.capabilityMetadata:type_name -> WAWebProtobufsE2E.BotCapabilityMetadata + 121, // 325: WAWebProtobufsE2E.BotMetadata.imagineMetadata:type_name -> WAWebProtobufsE2E.BotImagineMetadata + 185, // 326: WAWebProtobufsE2E.BotMetadata.memoryMetadata:type_name -> WAWebProtobufsE2E.BotMemoryMetadata + 187, // 327: WAWebProtobufsE2E.BotMetadata.renderingMetadata:type_name -> WAWebProtobufsE2E.BotRenderingMetadata + 188, // 328: WAWebProtobufsE2E.BotMetadata.botMetricsMetadata:type_name -> WAWebProtobufsE2E.BotMetricsMetadata + 184, // 329: WAWebProtobufsE2E.BotMetadata.botLinkedAccountsMetadata:type_name -> WAWebProtobufsE2E.BotLinkedAccountsMetadata + 122, // 330: WAWebProtobufsE2E.BotMetadata.richResponseSourcesMetadata:type_name -> WAWebProtobufsE2E.BotSourcesMetadata + 297, // 331: WAWebProtobufsE2E.DeviceListMetadata.senderAccountType:type_name -> WAAdv.ADVEncryptionType + 297, // 332: WAWebProtobufsE2E.DeviceListMetadata.receiverAccountType:type_name -> WAAdv.ADVEncryptionType + 130, // 333: WAWebProtobufsE2E.EmbeddedMessage.message:type_name -> WAWebProtobufsE2E.Message + 193, // 334: WAWebProtobufsE2E.EmbeddedContent.embeddedMessage:type_name -> WAWebProtobufsE2E.EmbeddedMessage + 194, // 335: WAWebProtobufsE2E.EmbeddedContent.embeddedMusic:type_name -> WAWebProtobufsE2E.EmbeddedMusic + 293, // 336: WAWebProtobufsE2E.TemplateButton.quickReplyButton:type_name -> WAWebProtobufsE2E.TemplateButton.QuickReplyButton + 292, // 337: WAWebProtobufsE2E.TemplateButton.urlButton:type_name -> WAWebProtobufsE2E.TemplateButton.URLButton + 291, // 338: WAWebProtobufsE2E.TemplateButton.callButton:type_name -> WAWebProtobufsE2E.TemplateButton.CallButton + 294, // 339: WAWebProtobufsE2E.UrlTrackingMap.urlTrackingMapElements:type_name -> WAWebProtobufsE2E.UrlTrackingMap.UrlTrackingMapElement + 295, // 340: WAWebProtobufsE2E.AIQueryFanout.messageKey:type_name -> WACommon.MessageKey + 130, // 341: WAWebProtobufsE2E.AIQueryFanout.message:type_name -> WAWebProtobufsE2E.Message + 9, // 342: WAWebProtobufsE2E.CallLogMessage.CallParticipant.callOutcome:type_name -> WAWebProtobufsE2E.CallLogMessage.CallOutcome + 213, // 343: WAWebProtobufsE2E.ButtonsMessage.Button.buttonText:type_name -> WAWebProtobufsE2E.ButtonsMessage.Button.ButtonText + 18, // 344: WAWebProtobufsE2E.ButtonsMessage.Button.type:type_name -> WAWebProtobufsE2E.ButtonsMessage.Button.Type + 212, // 345: WAWebProtobufsE2E.ButtonsMessage.Button.nativeFlowInfo:type_name -> WAWebProtobufsE2E.ButtonsMessage.Button.NativeFlowInfo + 21, // 346: WAWebProtobufsE2E.InteractiveResponseMessage.Body.format:type_name -> WAWebProtobufsE2E.InteractiveResponseMessage.Body.Format + 22, // 347: WAWebProtobufsE2E.InteractiveMessage.ShopMessage.surface:type_name -> WAWebProtobufsE2E.InteractiveMessage.ShopMessage.Surface + 94, // 348: WAWebProtobufsE2E.InteractiveMessage.CarouselMessage.cards:type_name -> WAWebProtobufsE2E.InteractiveMessage + 223, // 349: WAWebProtobufsE2E.InteractiveMessage.NativeFlowMessage.buttons:type_name -> WAWebProtobufsE2E.InteractiveMessage.NativeFlowMessage.NativeFlowButton + 173, // 350: WAWebProtobufsE2E.InteractiveMessage.Header.documentMessage:type_name -> WAWebProtobufsE2E.DocumentMessage + 111, // 351: WAWebProtobufsE2E.InteractiveMessage.Header.imageMessage:type_name -> WAWebProtobufsE2E.ImageMessage + 106, // 352: WAWebProtobufsE2E.InteractiveMessage.Header.videoMessage:type_name -> WAWebProtobufsE2E.VideoMessage + 177, // 353: WAWebProtobufsE2E.InteractiveMessage.Header.locationMessage:type_name -> WAWebProtobufsE2E.LocationMessage + 150, // 354: WAWebProtobufsE2E.InteractiveMessage.Header.productMessage:type_name -> WAWebProtobufsE2E.ProductMessage + 227, // 355: WAWebProtobufsE2E.ListMessage.ProductListInfo.productSections:type_name -> WAWebProtobufsE2E.ListMessage.ProductSection + 226, // 356: WAWebProtobufsE2E.ListMessage.ProductListInfo.headerImage:type_name -> WAWebProtobufsE2E.ListMessage.ProductListHeaderImage + 228, // 357: WAWebProtobufsE2E.ListMessage.ProductSection.products:type_name -> WAWebProtobufsE2E.ListMessage.Product + 230, // 358: WAWebProtobufsE2E.ListMessage.Section.rows:type_name -> WAWebProtobufsE2E.ListMessage.Row + 233, // 359: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.currency:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency + 232, // 360: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.dateTime:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime + 234, // 361: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.component:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent + 235, // 362: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.unixEpoch:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch + 29, // 363: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.dayOfWeek:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType + 28, // 364: WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.calendar:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType + 298, // 365: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.mediaUploadResult:type_name -> WAMmsRetry.MediaRetryNotification.ResultType + 153, // 366: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.stickerMessage:type_name -> WAWebProtobufsE2E.StickerMessage + 241, // 367: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.linkPreviewResponse:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse + 240, // 368: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.placeholderMessageResendResponse:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse + 238, // 369: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.waffleNonceFetchRequestResponse:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.WaffleNonceFetchResponse + 239, // 370: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.fullHistorySyncOnDemandRequestResponse:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandRequestResponse + 237, // 371: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.companionMetaNonceFetchRequestResponse:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.CompanionMetaNonceFetchResponse + 162, // 372: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandRequestResponse.requestMetadata:type_name -> WAWebProtobufsE2E.FullHistorySyncOnDemandRequestMetadata + 30, // 373: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandRequestResponse.responseCode:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode + 242, // 374: WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.hqThumbnail:type_name -> WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail + 43, // 375: WAWebProtobufsE2E.PaymentLinkMetadata.PaymentLinkHeader.headerType:type_name -> WAWebProtobufsE2E.PaymentLinkMetadata.PaymentLinkHeader.PaymentLinkHeaderType + 49, // 376: WAWebProtobufsE2E.ContextInfo.ForwardedNewsletterMessageInfo.contentType:type_name -> WAWebProtobufsE2E.ContextInfo.ForwardedNewsletterMessageInfo.ContentType + 50, // 377: WAWebProtobufsE2E.ContextInfo.ExternalAdReplyInfo.mediaType:type_name -> WAWebProtobufsE2E.ContextInfo.ExternalAdReplyInfo.MediaType + 51, // 378: WAWebProtobufsE2E.ContextInfo.AdReplyInfo.mediaType:type_name -> WAWebProtobufsE2E.ContextInfo.AdReplyInfo.MediaType + 253, // 379: WAWebProtobufsE2E.ContextInfo.DataSharingContext.parameters:type_name -> WAWebProtobufsE2E.ContextInfo.DataSharingContext.Parameters + 253, // 380: WAWebProtobufsE2E.ContextInfo.DataSharingContext.Parameters.contents:type_name -> WAWebProtobufsE2E.ContextInfo.DataSharingContext.Parameters + 265, // 381: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata.itemsMetadata:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata.AIRichResponseContentItemMetadata + 57, // 382: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata.contentType:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata.ContentType + 58, // 383: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseDynamicMetadata.type:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseDynamicMetadata.AIRichResponseDynamicMetadataType + 267, // 384: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseCodeMetadata.codeBlocks:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseCodeMetadata.AIRichResponseCodeBlock + 264, // 385: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseInlineImageMetadata.imageURL:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseImageURL + 60, // 386: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseInlineImageMetadata.alignment:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseInlineImageMetadata.AIRichResponseImageAlignment + 55, // 387: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage.messageType:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessageType + 263, // 388: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage.gridImageMetadata:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseGridImageMetadata + 257, // 389: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage.imageMetadata:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseInlineImageMetadata + 256, // 390: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage.codeMetadata:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseCodeMetadata + 262, // 391: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage.tableMetadata:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseTableMetadata + 255, // 392: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage.dynamicMetadata:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseDynamicMetadata + 260, // 393: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage.latexMetadata:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseLatexMetadata + 259, // 394: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage.mapMetadata:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseMapMetadata + 254, // 395: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseSubMessage.contentItemsMetadata:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata + 268, // 396: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseMapMetadata.annotations:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseMapMetadata.AIRichResponseMapAnnotation + 269, // 397: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseLatexMetadata.expressions:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseLatexMetadata.AIRichResponseLatexExpression + 270, // 398: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseTableMetadata.rows:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseTableMetadata.AIRichResponseTableRow + 264, // 399: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseGridImageMetadata.gridImageURL:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseImageURL + 264, // 400: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseGridImageMetadata.imageURLs:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseImageURL + 266, // 401: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata.AIRichResponseContentItemMetadata.reelItem:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseContentItemsMetadata.AIRichResponseReelItem + 59, // 402: WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseCodeMetadata.AIRichResponseCodeBlock.highlightType:type_name -> WAWebProtobufsE2E.AIRichResponseMessage.AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType + 272, // 403: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.sourcesMetadata:type_name -> WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata + 67, // 404: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.status:type_name -> WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus + 273, // 405: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.sections:type_name -> WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningStepSectionMetadata + 68, // 406: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.provider:type_name -> WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider + 274, // 407: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningStepSectionMetadata.sourcesMetadata:type_name -> WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourceMetadata + 66, // 408: WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourceMetadata.provider:type_name -> WAWebProtobufsE2E.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider + 71, // 409: WAWebProtobufsE2E.BotSourcesMetadata.BotSourceItem.provider:type_name -> WAWebProtobufsE2E.BotSourcesMetadata.BotSourceItem.SourceProvider + 75, // 410: WAWebProtobufsE2E.HydratedTemplateButton.HydratedURLButton.webviewPresentation:type_name -> WAWebProtobufsE2E.HydratedTemplateButton.HydratedURLButton.WebviewPresentationType + 111, // 411: WAWebProtobufsE2E.ProductMessage.ProductSnapshot.productImage:type_name -> WAWebProtobufsE2E.ImageMessage + 111, // 412: WAWebProtobufsE2E.ProductMessage.CatalogSnapshot.catalogImage:type_name -> WAWebProtobufsE2E.ImageMessage + 173, // 413: WAWebProtobufsE2E.TemplateMessage.HydratedFourRowTemplate.documentMessage:type_name -> WAWebProtobufsE2E.DocumentMessage + 111, // 414: WAWebProtobufsE2E.TemplateMessage.HydratedFourRowTemplate.imageMessage:type_name -> WAWebProtobufsE2E.ImageMessage + 106, // 415: WAWebProtobufsE2E.TemplateMessage.HydratedFourRowTemplate.videoMessage:type_name -> WAWebProtobufsE2E.VideoMessage + 177, // 416: WAWebProtobufsE2E.TemplateMessage.HydratedFourRowTemplate.locationMessage:type_name -> WAWebProtobufsE2E.LocationMessage + 126, // 417: WAWebProtobufsE2E.TemplateMessage.HydratedFourRowTemplate.hydratedButtons:type_name -> WAWebProtobufsE2E.HydratedTemplateButton + 173, // 418: WAWebProtobufsE2E.TemplateMessage.FourRowTemplate.documentMessage:type_name -> WAWebProtobufsE2E.DocumentMessage + 99, // 419: WAWebProtobufsE2E.TemplateMessage.FourRowTemplate.highlyStructuredMessage:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage + 111, // 420: WAWebProtobufsE2E.TemplateMessage.FourRowTemplate.imageMessage:type_name -> WAWebProtobufsE2E.ImageMessage + 106, // 421: WAWebProtobufsE2E.TemplateMessage.FourRowTemplate.videoMessage:type_name -> WAWebProtobufsE2E.VideoMessage + 177, // 422: WAWebProtobufsE2E.TemplateMessage.FourRowTemplate.locationMessage:type_name -> WAWebProtobufsE2E.LocationMessage + 99, // 423: WAWebProtobufsE2E.TemplateMessage.FourRowTemplate.content:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage + 99, // 424: WAWebProtobufsE2E.TemplateMessage.FourRowTemplate.footer:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage + 199, // 425: WAWebProtobufsE2E.TemplateMessage.FourRowTemplate.buttons:type_name -> WAWebProtobufsE2E.TemplateButton + 295, // 426: WAWebProtobufsE2E.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest.messageKey:type_name -> WACommon.MessageKey + 162, // 427: WAWebProtobufsE2E.PeerDataOperationRequestMessage.FullHistorySyncOnDemandRequest.requestMetadata:type_name -> WAWebProtobufsE2E.FullHistorySyncOnDemandRequestMetadata + 299, // 428: WAWebProtobufsE2E.PeerDataOperationRequestMessage.FullHistorySyncOnDemandRequest.historySyncConfig:type_name -> WACompanionReg.DeviceProps.HistorySyncConfig + 99, // 429: WAWebProtobufsE2E.TemplateButton.CallButton.displayText:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage + 99, // 430: WAWebProtobufsE2E.TemplateButton.CallButton.phoneNumber:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage + 99, // 431: WAWebProtobufsE2E.TemplateButton.URLButton.displayText:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage + 99, // 432: WAWebProtobufsE2E.TemplateButton.URLButton.URL:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage + 99, // 433: WAWebProtobufsE2E.TemplateButton.QuickReplyButton.displayText:type_name -> WAWebProtobufsE2E.HighlyStructuredMessage + 434, // [434:434] is the sub-list for method output_type + 434, // [434:434] is the sub-list for method input_type + 434, // [434:434] is the sub-list for extension type_name + 434, // [434:434] is the sub-list for extension extendee + 0, // [0:434] is the sub-list for field type_name } func init() { file_waE2E_WAWebProtobufsE2E_proto_init() } @@ -22676,32 +23285,32 @@ func file_waE2E_WAWebProtobufsE2E_proto_init() { (*InteractiveMessage_NativeFlowMessage_)(nil), (*InteractiveMessage_CarouselMessage_)(nil), } - file_waE2E_WAWebProtobufsE2E_proto_msgTypes[44].OneofWrappers = []any{ + file_waE2E_WAWebProtobufsE2E_proto_msgTypes[45].OneofWrappers = []any{ + (*InteractiveAnnotation_Location)(nil), + (*InteractiveAnnotation_Newsletter)(nil), + (*InteractiveAnnotation_EmbeddedAction)(nil), + (*InteractiveAnnotation_TapAction)(nil), + } + file_waE2E_WAWebProtobufsE2E_proto_msgTypes[46].OneofWrappers = []any{ (*HydratedTemplateButton_QuickReplyButton)(nil), (*HydratedTemplateButton_UrlButton)(nil), (*HydratedTemplateButton_CallButton)(nil), } - file_waE2E_WAWebProtobufsE2E_proto_msgTypes[70].OneofWrappers = []any{ + file_waE2E_WAWebProtobufsE2E_proto_msgTypes[72].OneofWrappers = []any{ (*TemplateMessage_FourRowTemplate_)(nil), (*TemplateMessage_HydratedFourRowTemplate_)(nil), (*TemplateMessage_InteractiveMessageTemplate)(nil), } - file_waE2E_WAWebProtobufsE2E_proto_msgTypes[111].OneofWrappers = []any{ + file_waE2E_WAWebProtobufsE2E_proto_msgTypes[115].OneofWrappers = []any{ (*EmbeddedContent_EmbeddedMessage)(nil), (*EmbeddedContent_EmbeddedMusic)(nil), } - file_waE2E_WAWebProtobufsE2E_proto_msgTypes[113].OneofWrappers = []any{ - (*InteractiveAnnotation_Location)(nil), - (*InteractiveAnnotation_Newsletter)(nil), - (*InteractiveAnnotation_EmbeddedAction)(nil), - (*InteractiveAnnotation_TapAction)(nil), - } - file_waE2E_WAWebProtobufsE2E_proto_msgTypes[116].OneofWrappers = []any{ + file_waE2E_WAWebProtobufsE2E_proto_msgTypes[119].OneofWrappers = []any{ (*TemplateButton_QuickReplyButton_)(nil), (*TemplateButton_UrlButton)(nil), (*TemplateButton_CallButton_)(nil), } - file_waE2E_WAWebProtobufsE2E_proto_msgTypes[138].OneofWrappers = []any{ + file_waE2E_WAWebProtobufsE2E_proto_msgTypes[142].OneofWrappers = []any{ (*InteractiveMessage_Header_DocumentMessage)(nil), (*InteractiveMessage_Header_ImageMessage)(nil), (*InteractiveMessage_Header_JPEGThumbnail)(nil), @@ -22709,25 +23318,25 @@ func file_waE2E_WAWebProtobufsE2E_proto_init() { (*InteractiveMessage_Header_LocationMessage)(nil), (*InteractiveMessage_Header_ProductMessage)(nil), } - file_waE2E_WAWebProtobufsE2E_proto_msgTypes[147].OneofWrappers = []any{ + file_waE2E_WAWebProtobufsE2E_proto_msgTypes[151].OneofWrappers = []any{ (*HighlyStructuredMessage_HSMLocalizableParameter_Currency)(nil), (*HighlyStructuredMessage_HSMLocalizableParameter_DateTime)(nil), } - file_waE2E_WAWebProtobufsE2E_proto_msgTypes[148].OneofWrappers = []any{ + file_waE2E_WAWebProtobufsE2E_proto_msgTypes[152].OneofWrappers = []any{ (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_Component)(nil), (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_UnixEpoch)(nil), } - file_waE2E_WAWebProtobufsE2E_proto_msgTypes[179].OneofWrappers = []any{ + file_waE2E_WAWebProtobufsE2E_proto_msgTypes[185].OneofWrappers = []any{ (*AIRichResponseMessage_AIRichResponseContentItemsMetadata_AIRichResponseContentItemMetadata_ReelItem)(nil), } - file_waE2E_WAWebProtobufsE2E_proto_msgTypes[197].OneofWrappers = []any{ + file_waE2E_WAWebProtobufsE2E_proto_msgTypes[203].OneofWrappers = []any{ (*TemplateMessage_HydratedFourRowTemplate_DocumentMessage)(nil), (*TemplateMessage_HydratedFourRowTemplate_HydratedTitleText)(nil), (*TemplateMessage_HydratedFourRowTemplate_ImageMessage)(nil), (*TemplateMessage_HydratedFourRowTemplate_VideoMessage)(nil), (*TemplateMessage_HydratedFourRowTemplate_LocationMessage)(nil), } - file_waE2E_WAWebProtobufsE2E_proto_msgTypes[198].OneofWrappers = []any{ + file_waE2E_WAWebProtobufsE2E_proto_msgTypes[204].OneofWrappers = []any{ (*TemplateMessage_FourRowTemplate_DocumentMessage)(nil), (*TemplateMessage_FourRowTemplate_HighlyStructuredMessage)(nil), (*TemplateMessage_FourRowTemplate_ImageMessage)(nil), @@ -22739,8 +23348,8 @@ func file_waE2E_WAWebProtobufsE2E_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_waE2E_WAWebProtobufsE2E_proto_rawDesc, - NumEnums: 78, - NumMessages: 209, + NumEnums: 80, + NumMessages: 215, NumExtensions: 0, NumServices: 0, }, diff --git a/proto/waE2E/WAWebProtobufsE2E.pb.raw b/proto/waE2E/WAWebProtobufsE2E.pb.raw index 3ae8a6400e89cb27fc2bf4f8e6873959a1820e46..8d7bebf3b58db2bd70b83bf80247947d54bf0ece 100644 GIT binary patch delta 2274 zcma)8eQXnD827GS*S`JWc=yrkzE=pD4(327sEK&%Zd+N~mG@dUFtIt-V>?`X&GpLG zXtL}dj3EnTFOiT4G9V%X5^^R*6N!H)Mq^?`q7sb;{XCfwQTR^LR60QYqQI2Ni zu%wAeQ4?8T8`a@Ll|k5Vu(szUHQz6$m7K;lv{6T9-ITY53zmfqS=m?rZT*F9AJ7lM z8nB8BCZa+x5$0oD9~a}8rp4g)IFEKF`nkw(JjOKZT==$={=}ni+&NI?gQK8kQcgb? zRi%BhG<7dUKW@3|<3h_3v=ZHL$%y%sl-3N%J(o4arJ;2>fXdl==Gk4;gXb-vCc2yn zqrkR1r)f%>rAXDBo3`Ng%e7A}Cw7&Idrbja6dD#2l9-fKmcDN>`tKHlrT{Gp8{VeC z>aqihC`+vnl9``pQ^d%x`~R4iXN)~H^}PR4P`B(5!x}Qc6$(a%5>dqO2=XJ$ z1JD7ghEX4n7^~j0Qdd&t7Ns9}^$j>4i>RpIGmrPuumI+Dn!hI0#zB zoTj8iO-c@^lBCJ$@vxN5isMp16V2;*Nv#~{zi7}8TvOVV$R+y~mDsT?k=ap2%-;zd zVJRt_zR(V=`t#Eh4(nVOsKXl%)#-oD9%Zbjt)LO74>sbr=3k+IrZK{2XJ7|dC8tPE zF(nfflSz^!Ya{*?S{jDkpvGi|$nQpIC3dyRUI~I-0Gf(kg>+Y{B(R%;BEnTba1*F4 zCZmcnc{2CTaF~)6G5s$7#cut{4Vv(Y<4w5w*h%YaF5tz(C%pLmV{6)50LW^hmdo}k z$-LQ}4pbI_^Z3Am5BvAm5_u24wcy3yzUt8T9zSbc7X@CDo*;?p*o2_u)G;ZlD*I&8 z<**ho@yJkQcqEd*TTbQaLk_H;nxl;qLX|cjqQfc=YHk5cI%Cx{1(13!0!35%k z=x{{f6Cp0fk0yc<(s4Y~3OxW62S_x;MVK~NN7@YybAecJ2Tx{=AaDab)2@Gg<_Jw+ zuww0vZ>Uf4_H%Qq_|X`TB3#ID9^??db#8w*tOrntak03NFdN#i8ICY+BWI(t6I{sP zM?*ngU_Acc^xXM7G=xt8*QA`1HDN+jjV5s8=(bL*T-<7XuZlF$!gyVwr;)lw)xreu z6f0`XA+wL|^YuQwwaJO!jf0sk!7O(PL`%s2y}(n+fQ`V5IDyFxb(*R)Sy{cy=pVOw5weYd&H&X^`!usDAVM>oh%Y(GPsNm+FA)fJe>> zV-r#`Hz@_g$w?NF9=4+;QT_L?YMQMVT%Z-V547r?f6QB`@9~v8FSb4dR!_)TO;Phg zK0Ovt(tG6b#o@Z4YlPD?e;#yp-=IK^QRpSB<)3y1W$cPA%Lix0t|)C5_%v|l)XCCU zmc}CV&5*K|BB&fTF1%+qKb?_O+1OFRKGs4m>_$tX{vO~g^H@PSGLhlPU8 zM$Or%lSdA_s98U315R;_S5-v~C`rjYu?m%k3UzL3%0k^O%rVr}s>dK1|DsHaxldBF zqR|)RvnEYzY%Mv}g;oX&LOu17wE&x`&DCE2Q3|*#{w@$xkirW$);U3{*cwAp9$)-! bb8{1LXrvnCwWKm;au#$yPzbK2u3G;FQNZyg delta 438 zcmV;n0ZIP1;{=b=1dv7^FLz->Z*6d4ZfS3BQe|f^S3y^0Vo-8#bZ=sHW^=Jvph5z> z6tnt5bO!<=#IxQ?#R9X<^ilkul`0K~PXZLQF+pO+`~vK}VC5 zu!aI6x3fvH`2v%Ev_P|gw+aaYt~j%ez%CrKW8I+w0_p;@2H)XMa(PpEZev4lZf0p`7y=*xC<`(}TU zWnxfrZ**^Bb!Kz72Ll0*3%98c0h9&-fR{cN0fD#S76Eqy0mZjj8Ue-yw^bkk$pixP g1GB)i=>ZBt2nq&aV{~b6ZnqsJ0XPS@@hkzx1WYTa3;+NC diff --git a/proto/waE2E/WAWebProtobufsE2E.proto b/proto/waE2E/WAWebProtobufsE2E.proto index 6b8e2e65..ec055a6a 100644 --- a/proto/waE2E/WAWebProtobufsE2E.proto +++ b/proto/waE2E/WAWebProtobufsE2E.proto @@ -3,7 +3,7 @@ package WAWebProtobufsE2E; option go_package = "go.mau.fi/whatsmeow/proto/waE2E"; import "waAdv/WAAdv.proto"; -import "waCompanionReg/WAWebProtobufsCompanionReg.proto"; +import "waCompanionReg/WACompanionReg.proto"; import "waMmsRetry/WAMmsRetry.proto"; import "waCommon/WACommon.proto"; @@ -711,6 +711,8 @@ message ProtocolMessage { STATUS_MENTION_MESSAGE = 25; STOP_GENERATION_MESSAGE = 26; LIMIT_SHARING = 27; + AI_PSI_METADATA = 28; + AI_QUERY_FANOUT = 29; } optional WACommon.MessageKey key = 1; @@ -734,6 +736,8 @@ message ProtocolMessage { optional CloudAPIThreadControlNotification cloudApiThreadControlNotification = 22; optional LIDMigrationMappingSyncMessage lidMigrationMappingSyncMessage = 23; optional WACommon.LimitSharing limitSharing = 24; + optional bytes aiPsiMetadata = 25; + optional AIQueryFanout aiQueryFanout = 26; } message CloudAPIThreadControlNotification { @@ -884,6 +888,26 @@ message ExtendedTextMessage { optional uint32 videoHeight = 31; optional uint32 videoWidth = 32; optional MMSThumbnailMetadata faviconMMSMetadata = 33; + optional LinkPreviewMetadata linkPreviewMetadata = 34; + optional PaymentLinkMetadata paymentLinkMetadata = 35; +} + +message PaymentLinkMetadata { + message PaymentLinkHeader { + enum PaymentLinkHeaderType { + LINK_PREVIEW = 0; + ORDER = 1; + } + + optional PaymentLinkHeaderType headerType = 1; + } + + message PaymentLinkButton { + optional string displayText = 1; + } + + optional PaymentLinkButton button = 1; + optional PaymentLinkHeader header = 2; } message StatusNotificationMessage { @@ -1013,6 +1037,8 @@ message ContextInfo { optional string ctaPayload = 20; optional bool disableNudge = 21; optional string originalImageURL = 22; + optional string automatedGreetingMessageCtaType = 23; + optional bool wtwaAdFormat = 24; } message AdReplyInfo { @@ -1270,6 +1296,10 @@ message AIRichResponseMessage { optional double width = 3; optional double height = 4; optional double fontHeight = 5; + optional double imageTopPadding = 6; + optional double imageLeadingPadding = 7; + optional double imageBottomPadding = 8; + optional double imageTrailingPadding = 9; } optional string text = 1; @@ -1364,7 +1394,7 @@ message BotModelMetadata { message BotProgressIndicatorMetadata { message BotPlanningStepMetadata { enum BotSearchSourceProvider { - UNKNOWNPROVIDER = 0; + UNKNOWN_PROVIDER = 0; OTHER = 1; GOOGLE = 2; BING = 3; @@ -1404,6 +1434,7 @@ message BotProgressIndicatorMetadata { } optional string statusTitle = 1; + optional string statusBody = 2; repeated BotPlanningSearchSourcesMetadata sourcesMetadata = 3; optional PlanningStepStatus status = 4; optional bool isReasoning = 5; @@ -1447,6 +1478,10 @@ message BotCapabilityMetadata { AGENTIC_PLANNING = 27; ACCOUNT_LINKING = 28; STREAMING_DISAGGREGATION = 29; + RICH_RESPONSE_GRID_IMAGE_3P = 30; + RICH_RESPONSE_LATEX_INLINE = 31; + QUERY_PLAN = 32; + PROACTIVE_MESSAGE = 33; } repeated BotCapabilityType capabilities = 1; @@ -1492,13 +1527,15 @@ message MessageAssociation { EVENT_COVER_IMAGE = 3; STATUS_POLL = 4; HD_VIDEO_DUAL_UPLOAD = 5; - STATUS_TAPPABLE_MESSAGE = 6; + STATUS_EXTERNAL_RESHARE = 6; MEDIA_POLL = 7; STATUS_ADD_YOURS = 8; STATUS_NOTIFICATION = 9; HD_IMAGE_DUAL_UPLOAD = 10; STICKER_ANNOTATION = 11; MOTION_PHOTO = 12; + STATUS_LINK_ACTION = 13; + VIEW_ALL_REPLIES = 14; } optional AssociationType associationType = 1; @@ -1524,6 +1561,27 @@ message MessageContextInfo { optional MessageAssociation messageAssociation = 10; optional bool capiCreatedGroup = 11; optional string supportPayload = 12; + optional WACommon.LimitSharing limitSharing = 13; +} + +message InteractiveAnnotation { + enum StatusLinkType { + RASTERIZED_LINK_PREVIEW = 1; + RASTERIZED_LINK_TRUNCATED = 2; + RASTERIZED_LINK_FULL_URL = 3; + } + + oneof action { + Location location = 2; + ContextInfo.ForwardedNewsletterMessageInfo newsletter = 3; + bool embeddedAction = 6; + TapLinkAction tapAction = 7; + } + + repeated Point polygonVertices = 1; + optional bool shouldSkipConfirmation = 4; + optional EmbeddedContent embeddedContent = 5; + optional StatusLinkType statusLinkType = 8; } message HydratedTemplateButton { @@ -1709,6 +1767,8 @@ message Message { optional FutureProofMessage groupStatusMessage = 96; optional AIRichResponseMessage richResponseMessage = 97; optional StatusNotificationMessage statusNotificationMessage = 98; + optional FutureProofMessage limitSharingMessage = 99; + optional FutureProofMessage botTaskMessage = 100; } message AlbumMessage { @@ -1744,6 +1804,7 @@ message EventMessage { optional int64 startTime = 7; optional int64 endTime = 8; optional bool extraGuestsAllowed = 9; + optional bool isScheduleCall = 10; } message CommentMessage { @@ -1992,7 +2053,7 @@ message PeerDataOperationRequestMessage { message FullHistorySyncOnDemandRequest { optional FullHistorySyncOnDemandRequestMetadata requestMetadata = 1; - optional WAWebProtobufsCompanionReg.DeviceProps.HistorySyncConfig historySyncConfig = 2; + optional WACompanionReg.DeviceProps.HistorySyncConfig historySyncConfig = 2; } message HistorySyncOnDemandRequest { @@ -2116,6 +2177,16 @@ message DocumentMessage { optional string accessibilityLabel = 21; } +message LinkPreviewMetadata { + optional PaymentLinkMetadata paymentLinkMetadata = 1; + optional URLMetadata urlMetadata = 2; + optional uint32 fbExperimentID = 3; +} + +message URLMetadata { + optional uint32 fbExperimentID = 1; +} + message MMSThumbnailMetadata { optional string thumbnailDirectPath = 1; optional bytes thumbnailSHA256 = 2; @@ -2179,6 +2250,7 @@ message BotPromptSuggestion { message BotLinkedAccountsMetadata { repeated BotLinkedAccount accounts = 1; optional bytes acAuthTokens = 2; + optional int32 acErrorCode = 3; } message BotMemoryMetadata { @@ -2236,6 +2308,7 @@ message BotMetadata { optional BotMetricsMetadata botMetricsMetadata = 17; optional BotLinkedAccountsMetadata botLinkedAccountsMetadata = 18; optional BotSourcesMetadata richResponseSourcesMetadata = 19; + optional bytes aiConversationContext = 20; } message DeviceListMetadata { @@ -2280,19 +2353,6 @@ message TapLinkAction { optional string tapURL = 2; } -message InteractiveAnnotation { - oneof action { - Location location = 2; - ContextInfo.ForwardedNewsletterMessageInfo newsletter = 3; - bool embeddedAction = 6; - TapLinkAction tapAction = 7; - } - - repeated Point polygonVertices = 1; - optional bool shouldSkipConfirmation = 4; - optional EmbeddedContent embeddedContent = 5; -} - message Point { optional int32 xDeprecated = 1; optional int32 yDeprecated = 2; @@ -2373,3 +2433,9 @@ message UrlTrackingMap { repeated UrlTrackingMapElement urlTrackingMapElements = 1; } + +message AIQueryFanout { + optional WACommon.MessageKey messageKey = 1; + optional Message message = 2; + optional int64 timestamp = 3; +} diff --git a/proto/waFingerprint/WAFingerprint.pb.go b/proto/waFingerprint/WAFingerprint.pb.go index 2b9c77ea..a451a109 100644 --- a/proto/waFingerprint/WAFingerprint.pb.go +++ b/proto/waFingerprint/WAFingerprint.pb.go @@ -86,6 +86,7 @@ type FingerprintData struct { LidIdentifier []byte `protobuf:"bytes,3,opt,name=lidIdentifier" json:"lidIdentifier,omitempty"` UsernameIdentifier []byte `protobuf:"bytes,4,opt,name=usernameIdentifier" json:"usernameIdentifier,omitempty"` HostedState *HostedState `protobuf:"varint,5,opt,name=hostedState,enum=WAFingerprint.HostedState" json:"hostedState,omitempty"` + HashedPublicKey []byte `protobuf:"bytes,6,opt,name=hashedPublicKey" json:"hashedPublicKey,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -155,6 +156,13 @@ func (x *FingerprintData) GetHostedState() HostedState { return HostedState_E2EE } +func (x *FingerprintData) GetHashedPublicKey() []byte { + if x != nil { + return x.HashedPublicKey + } + return nil +} + type CombinedFingerprint struct { state protoimpl.MessageState `protogen:"open.v1"` Version *uint32 `protobuf:"varint,1,opt,name=version" json:"version,omitempty"` diff --git a/proto/waFingerprint/WAFingerprint.pb.raw b/proto/waFingerprint/WAFingerprint.pb.raw index 01a9174dcd649b92c32aa868d030aec55cc5cd5b..737bff315f145b78649841df8eb48d8eca842506 100644 GIT binary patch delta 60 zcmdnN@`z=EG1Ek*iKfrBgfzJLGZKq4Qd0s-lX5bXy;CbC*c2Ewc!JP{H_I@}FaiKi C_!7_n delta 17 ZcmaFFvV&!UG1GI#iKfptyD`cz0suW^1{44Q diff --git a/proto/waFingerprint/WAFingerprint.proto b/proto/waFingerprint/WAFingerprint.proto index 221e8549..74be0481 100644 --- a/proto/waFingerprint/WAFingerprint.proto +++ b/proto/waFingerprint/WAFingerprint.proto @@ -13,6 +13,7 @@ message FingerprintData { optional bytes lidIdentifier = 3; optional bytes usernameIdentifier = 4; optional HostedState hostedState = 5; + optional bytes hashedPublicKey = 6; } message CombinedFingerprint { diff --git a/proto/waHistorySync/WAWebProtobufsHistorySync.pb.go b/proto/waHistorySync/WAWebProtobufsHistorySync.pb.go index f728a93c..ae65017d 100644 --- a/proto/waHistorySync/WAWebProtobufsHistorySync.pb.go +++ b/proto/waHistorySync/WAWebProtobufsHistorySync.pb.go @@ -14,6 +14,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" waChatLockSettings "github.com/techwiz37/waSocket/proto/waChatLockSettings" + waCommon "github.com/techwiz37/waSocket/proto/waCommon" waE2E "github.com/techwiz37/waSocket/proto/waE2E" waSyncAction "github.com/techwiz37/waSocket/proto/waSyncAction" waWeb "github.com/techwiz37/waSocket/proto/waWeb" @@ -672,6 +673,8 @@ type Conversation struct { AccountLid *string `protobuf:"bytes,49,opt,name=accountLid" json:"accountLid,omitempty"` LimitSharing *bool `protobuf:"varint,50,opt,name=limitSharing" json:"limitSharing,omitempty"` LimitSharingSettingTimestamp *int64 `protobuf:"varint,51,opt,name=limitSharingSettingTimestamp" json:"limitSharingSettingTimestamp,omitempty"` + LimitSharingTrigger *waCommon.LimitSharing_Trigger `protobuf:"varint,52,opt,name=limitSharingTrigger,enum=WACommon.LimitSharing_Trigger" json:"limitSharingTrigger,omitempty"` + LimitSharingInitiatedByMe *bool `protobuf:"varint,53,opt,name=limitSharingInitiatedByMe" json:"limitSharingInitiatedByMe,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1063,6 +1066,20 @@ func (x *Conversation) GetLimitSharingSettingTimestamp() int64 { return 0 } +func (x *Conversation) GetLimitSharingTrigger() waCommon.LimitSharing_Trigger { + if x != nil && x.LimitSharingTrigger != nil { + return *x.LimitSharingTrigger + } + return waCommon.LimitSharing_Trigger(0) +} + +func (x *Conversation) GetLimitSharingInitiatedByMe() bool { + if x != nil && x.LimitSharingInitiatedByMe != nil { + return *x.LimitSharingInitiatedByMe + } + return false +} + type GroupParticipant struct { state protoimpl.MessageState `protogen:"open.v1"` UserJID *string `protobuf:"bytes,1,req,name=userJID" json:"userJID,omitempty"` @@ -2072,7 +2089,8 @@ var file_waHistorySync_WAWebProtobufsHistorySync_proto_goTypes = []any{ (*waWeb.WebMessageInfo)(nil), // 22: WAWebProtobufsWeb.WebMessageInfo (*waSyncAction.CallLogRecord)(nil), // 23: WASyncAction.CallLogRecord (*waE2E.DisappearingMode)(nil), // 24: WAWebProtobufsE2E.DisappearingMode - (*waChatLockSettings.ChatLockSettings)(nil), // 25: WAProtobufsChatLockSettings.ChatLockSettings + (waCommon.LimitSharing_Trigger)(0), // 25: WACommon.LimitSharing.Trigger + (*waChatLockSettings.ChatLockSettings)(nil), // 26: WAProtobufsChatLockSettings.ChatLockSettings } var file_waHistorySync_WAWebProtobufsHistorySync_proto_depIdxs = []int32{ 3, // 0: WAWebProtobufsHistorySync.HistorySync.syncType:type_name -> WAWebProtobufsHistorySync.HistorySync.HistorySyncType @@ -2093,25 +2111,26 @@ var file_waHistorySync_WAWebProtobufsHistorySync_proto_depIdxs = []int32{ 15, // 15: WAWebProtobufsHistorySync.Conversation.wallpaper:type_name -> WAWebProtobufsHistorySync.WallpaperSettings 0, // 16: WAWebProtobufsHistorySync.Conversation.mediaVisibility:type_name -> WAWebProtobufsHistorySync.MediaVisibility 1, // 17: WAWebProtobufsHistorySync.Conversation.systemMessageToInsert:type_name -> WAWebProtobufsHistorySync.PrivacySystemMessage - 5, // 18: WAWebProtobufsHistorySync.GroupParticipant.rank:type_name -> WAWebProtobufsHistorySync.GroupParticipant.Rank - 6, // 19: WAWebProtobufsHistorySync.PastParticipant.leaveReason:type_name -> WAWebProtobufsHistorySync.PastParticipant.LeaveReason - 22, // 20: WAWebProtobufsHistorySync.HistorySyncMsg.message:type_name -> WAWebProtobufsWeb.WebMessageInfo - 15, // 21: WAWebProtobufsHistorySync.GlobalSettings.lightThemeWallpaper:type_name -> WAWebProtobufsHistorySync.WallpaperSettings - 0, // 22: WAWebProtobufsHistorySync.GlobalSettings.mediaVisibility:type_name -> WAWebProtobufsHistorySync.MediaVisibility - 15, // 23: WAWebProtobufsHistorySync.GlobalSettings.darkThemeWallpaper:type_name -> WAWebProtobufsHistorySync.WallpaperSettings - 17, // 24: WAWebProtobufsHistorySync.GlobalSettings.autoDownloadWiFi:type_name -> WAWebProtobufsHistorySync.AutoDownloadSettings - 17, // 25: WAWebProtobufsHistorySync.GlobalSettings.autoDownloadCellular:type_name -> WAWebProtobufsHistorySync.AutoDownloadSettings - 17, // 26: WAWebProtobufsHistorySync.GlobalSettings.autoDownloadRoaming:type_name -> WAWebProtobufsHistorySync.AutoDownloadSettings - 20, // 27: WAWebProtobufsHistorySync.GlobalSettings.avatarUserSettings:type_name -> WAWebProtobufsHistorySync.AvatarUserSettings - 21, // 28: WAWebProtobufsHistorySync.GlobalSettings.individualNotificationSettings:type_name -> WAWebProtobufsHistorySync.NotificationSettings - 21, // 29: WAWebProtobufsHistorySync.GlobalSettings.groupNotificationSettings:type_name -> WAWebProtobufsHistorySync.NotificationSettings - 25, // 30: WAWebProtobufsHistorySync.GlobalSettings.chatLockSettings:type_name -> WAProtobufsChatLockSettings.ChatLockSettings - 10, // 31: WAWebProtobufsHistorySync.PastParticipants.pastParticipants:type_name -> WAWebProtobufsHistorySync.PastParticipant - 32, // [32:32] is the sub-list for method output_type - 32, // [32:32] is the sub-list for method input_type - 32, // [32:32] is the sub-list for extension type_name - 32, // [32:32] is the sub-list for extension extendee - 0, // [0:32] is the sub-list for field type_name + 25, // 18: WAWebProtobufsHistorySync.Conversation.limitSharingTrigger:type_name -> WACommon.LimitSharing.Trigger + 5, // 19: WAWebProtobufsHistorySync.GroupParticipant.rank:type_name -> WAWebProtobufsHistorySync.GroupParticipant.Rank + 6, // 20: WAWebProtobufsHistorySync.PastParticipant.leaveReason:type_name -> WAWebProtobufsHistorySync.PastParticipant.LeaveReason + 22, // 21: WAWebProtobufsHistorySync.HistorySyncMsg.message:type_name -> WAWebProtobufsWeb.WebMessageInfo + 15, // 22: WAWebProtobufsHistorySync.GlobalSettings.lightThemeWallpaper:type_name -> WAWebProtobufsHistorySync.WallpaperSettings + 0, // 23: WAWebProtobufsHistorySync.GlobalSettings.mediaVisibility:type_name -> WAWebProtobufsHistorySync.MediaVisibility + 15, // 24: WAWebProtobufsHistorySync.GlobalSettings.darkThemeWallpaper:type_name -> WAWebProtobufsHistorySync.WallpaperSettings + 17, // 25: WAWebProtobufsHistorySync.GlobalSettings.autoDownloadWiFi:type_name -> WAWebProtobufsHistorySync.AutoDownloadSettings + 17, // 26: WAWebProtobufsHistorySync.GlobalSettings.autoDownloadCellular:type_name -> WAWebProtobufsHistorySync.AutoDownloadSettings + 17, // 27: WAWebProtobufsHistorySync.GlobalSettings.autoDownloadRoaming:type_name -> WAWebProtobufsHistorySync.AutoDownloadSettings + 20, // 28: WAWebProtobufsHistorySync.GlobalSettings.avatarUserSettings:type_name -> WAWebProtobufsHistorySync.AvatarUserSettings + 21, // 29: WAWebProtobufsHistorySync.GlobalSettings.individualNotificationSettings:type_name -> WAWebProtobufsHistorySync.NotificationSettings + 21, // 30: WAWebProtobufsHistorySync.GlobalSettings.groupNotificationSettings:type_name -> WAWebProtobufsHistorySync.NotificationSettings + 26, // 31: WAWebProtobufsHistorySync.GlobalSettings.chatLockSettings:type_name -> WAProtobufsChatLockSettings.ChatLockSettings + 10, // 32: WAWebProtobufsHistorySync.PastParticipants.pastParticipants:type_name -> WAWebProtobufsHistorySync.PastParticipant + 33, // [33:33] is the sub-list for method output_type + 33, // [33:33] is the sub-list for method input_type + 33, // [33:33] is the sub-list for extension type_name + 33, // [33:33] is the sub-list for extension extendee + 0, // [0:33] is the sub-list for field type_name } func init() { file_waHistorySync_WAWebProtobufsHistorySync_proto_init() } diff --git a/proto/waHistorySync/WAWebProtobufsHistorySync.pb.raw b/proto/waHistorySync/WAWebProtobufsHistorySync.pb.raw index 6ea82bf03488a7b7f658532b5f91a76c263094ac..8603dc6f9c01b4fa3ee892bcb747228a2b2c48cf 100644 GIT binary patch delta 197 zcmZ2vecEQiK_T(-MCbh6-26QKa7PGZA^JV`5-CMgQ^O`rd7y>OA^^c&%Df%%*2w^6sJnxR0&g{ dxg0@o1!5pOQB)}HVdRpSoWLQm*^NJj4**AWM0NlG delta 23 fcmX?Yv&eeF!Hu`pu`+!Z+T6vqgJbh0{z^UoizN!3 diff --git a/proto/waHistorySync/WAWebProtobufsHistorySync.proto b/proto/waHistorySync/WAWebProtobufsHistorySync.proto index 3e259c71..240ade67 100644 --- a/proto/waHistorySync/WAWebProtobufsHistorySync.proto +++ b/proto/waHistorySync/WAWebProtobufsHistorySync.proto @@ -5,6 +5,7 @@ option go_package = "go.mau.fi/whatsmeow/proto/waHistorySync"; import "waSyncAction/WASyncAction.proto"; import "waChatLockSettings/WAProtobufsChatLockSettings.proto"; import "waE2E/WAWebProtobufsE2E.proto"; +import "waCommon/WACommon.proto"; import "waWeb/WAWebProtobufsWeb.proto"; enum MediaVisibility { @@ -112,6 +113,8 @@ message Conversation { optional string accountLid = 49; optional bool limitSharing = 50; optional int64 limitSharingSettingTimestamp = 51; + optional WACommon.LimitSharing.Trigger limitSharingTrigger = 52; + optional bool limitSharingInitiatedByMe = 53; } message GroupParticipant { diff --git a/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.pb.go b/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.pb.go index d6ee9adc..868c89c0 100644 --- a/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.pb.go +++ b/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.pb.go @@ -84,10 +84,11 @@ func (x *LIDMigrationMapping) GetLatestLid() uint64 { } type LIDMigrationMappingSyncPayload struct { - state protoimpl.MessageState `protogen:"open.v1"` - PnToLidMappings []*LIDMigrationMapping `protobuf:"bytes,1,rep,name=pnToLidMappings" json:"pnToLidMappings,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + PnToLidMappings []*LIDMigrationMapping `protobuf:"bytes,1,rep,name=pnToLidMappings" json:"pnToLidMappings,omitempty"` + ChatDbMigrationTimestamp *uint64 `protobuf:"varint,2,opt,name=chatDbMigrationTimestamp" json:"chatDbMigrationTimestamp,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LIDMigrationMappingSyncPayload) Reset() { @@ -127,6 +128,13 @@ func (x *LIDMigrationMappingSyncPayload) GetPnToLidMappings() []*LIDMigrationMap return nil } +func (x *LIDMigrationMappingSyncPayload) GetChatDbMigrationTimestamp() uint64 { + if x != nil && x.ChatDbMigrationTimestamp != nil { + return *x.ChatDbMigrationTimestamp + } + return 0 +} + var File_waLidMigrationSyncPayload_WAWebProtobufLidMigrationSyncPayload_proto protoreflect.FileDescriptor //go:embed WAWebProtobufLidMigrationSyncPayload.pb.raw diff --git a/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.pb.raw b/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.pb.raw index f9bf3fb2..288c4961 100644 --- a/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.pb.raw +++ b/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.pb.raw @@ -3,6 +3,7 @@ DwaLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.proto$WAWebProt LIDMigrationMapping pn (Rpn assignedLid (R assignedLid - latestLid (R latestLid"… + latestLid (R latestLid"Á LIDMigrationMappingSyncPayloadc -pnToLidMappings ( 29.WAWebProtobufLidMigrationSyncPayload.LIDMigrationMappingRpnToLidMappingsB5Z3go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload \ No newline at end of file +pnToLidMappings ( 29.WAWebProtobufLidMigrationSyncPayload.LIDMigrationMappingRpnToLidMappings: +chatDbMigrationTimestamp (RchatDbMigrationTimestampB5Z3go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload \ No newline at end of file diff --git a/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.proto b/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.proto index 62e96ad9..a0b044d1 100644 --- a/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.proto +++ b/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.proto @@ -10,4 +10,5 @@ message LIDMigrationMapping { message LIDMigrationMappingSyncPayload { repeated LIDMigrationMapping pnToLidMappings = 1; + optional uint64 chatDbMigrationTimestamp = 2; } diff --git a/proto/waMmsRetry/WAMmsRetry.pb.go b/proto/waMmsRetry/WAMmsRetry.pb.go index 848beacf..c1e49d13 100644 --- a/proto/waMmsRetry/WAMmsRetry.pb.go +++ b/proto/waMmsRetry/WAMmsRetry.pb.go @@ -90,6 +90,7 @@ type MediaRetryNotification struct { StanzaID *string `protobuf:"bytes,1,opt,name=stanzaID" json:"stanzaID,omitempty"` DirectPath *string `protobuf:"bytes,2,opt,name=directPath" json:"directPath,omitempty"` Result *MediaRetryNotification_ResultType `protobuf:"varint,3,opt,name=result,enum=WAMmsRetry.MediaRetryNotification_ResultType" json:"result,omitempty"` + MessageSecret []byte `protobuf:"bytes,4,opt,name=messageSecret" json:"messageSecret,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -145,6 +146,13 @@ func (x *MediaRetryNotification) GetResult() MediaRetryNotification_ResultType { return MediaRetryNotification_GENERAL_ERROR } +func (x *MediaRetryNotification) GetMessageSecret() []byte { + if x != nil { + return x.MessageSecret + } + return nil +} + type ServerErrorReceipt struct { state protoimpl.MessageState `protogen:"open.v1"` StanzaID *string `protobuf:"bytes,1,opt,name=stanzaID" json:"stanzaID,omitempty"` diff --git a/proto/waMmsRetry/WAMmsRetry.pb.raw b/proto/waMmsRetry/WAMmsRetry.pb.raw index aa22282a34d21f59c6ce1c0462b8fc4dbc18b42e..5b03434f783eb4adf258cbf4de4b25724483e347 100644 GIT binary patch delta 53 ycmeyuG>dtH7Sj}_i8`}Yg;cnBb5o0p6Vp?JQ WAMsgApplication.MessageApplication.Payload - 2, // 1: WAMsgApplication.MessageApplication.metadata:type_name -> WAMsgApplication.MessageApplication.Metadata - 8, // 2: WAMsgApplication.MessageApplication.Metadata.chatEphemeralSetting:type_name -> WAMsgApplication.MessageApplication.EphemeralSetting - 10, // 3: WAMsgApplication.MessageApplication.Metadata.ephemeralSettingList:type_name -> WAMsgApplication.MessageApplication.Metadata.EphemeralSettingMap - 11, // 4: WAMsgApplication.MessageApplication.Metadata.businessMetadata:type_name -> WACommon.SubProtocol - 9, // 5: WAMsgApplication.MessageApplication.Metadata.quotedMessage:type_name -> WAMsgApplication.MessageApplication.Metadata.QuotedMessage + 4, // 0: WAMsgApplication.MessageApplication.payload:type_name -> WAMsgApplication.MessageApplication.Payload + 3, // 1: WAMsgApplication.MessageApplication.metadata:type_name -> WAMsgApplication.MessageApplication.Metadata + 9, // 2: WAMsgApplication.MessageApplication.Metadata.chatEphemeralSetting:type_name -> WAMsgApplication.MessageApplication.EphemeralSetting + 11, // 3: WAMsgApplication.MessageApplication.Metadata.ephemeralSettingList:type_name -> WAMsgApplication.MessageApplication.Metadata.EphemeralSettingMap + 12, // 4: WAMsgApplication.MessageApplication.Metadata.businessMetadata:type_name -> WACommon.SubProtocol + 10, // 5: WAMsgApplication.MessageApplication.Metadata.quotedMessage:type_name -> WAMsgApplication.MessageApplication.Metadata.QuotedMessage 0, // 6: WAMsgApplication.MessageApplication.Metadata.threadType:type_name -> WAMsgApplication.MessageApplication.Metadata.ThreadType - 7, // 7: WAMsgApplication.MessageApplication.Payload.coreContent:type_name -> WAMsgApplication.MessageApplication.Content - 6, // 8: WAMsgApplication.MessageApplication.Payload.signal:type_name -> WAMsgApplication.MessageApplication.Signal - 5, // 9: WAMsgApplication.MessageApplication.Payload.applicationData:type_name -> WAMsgApplication.MessageApplication.ApplicationData - 4, // 10: WAMsgApplication.MessageApplication.Payload.subProtocol:type_name -> WAMsgApplication.MessageApplication.SubProtocolPayload - 11, // 11: WAMsgApplication.MessageApplication.SubProtocolPayload.consumerMessage:type_name -> WACommon.SubProtocol - 11, // 12: WAMsgApplication.MessageApplication.SubProtocolPayload.businessMessage:type_name -> WACommon.SubProtocol - 11, // 13: WAMsgApplication.MessageApplication.SubProtocolPayload.paymentMessage:type_name -> WACommon.SubProtocol - 11, // 14: WAMsgApplication.MessageApplication.SubProtocolPayload.multiDevice:type_name -> WACommon.SubProtocol - 11, // 15: WAMsgApplication.MessageApplication.SubProtocolPayload.voip:type_name -> WACommon.SubProtocol - 11, // 16: WAMsgApplication.MessageApplication.SubProtocolPayload.armadillo:type_name -> WACommon.SubProtocol - 12, // 17: WAMsgApplication.MessageApplication.SubProtocolPayload.futureProof:type_name -> WACommon.FutureProofBehavior - 3, // 18: WAMsgApplication.MessageApplication.Metadata.QuotedMessage.payload:type_name -> WAMsgApplication.MessageApplication.Payload - 8, // 19: WAMsgApplication.MessageApplication.Metadata.EphemeralSettingMap.ephemeralSetting:type_name -> WAMsgApplication.MessageApplication.EphemeralSetting - 20, // [20:20] is the sub-list for method output_type - 20, // [20:20] is the sub-list for method input_type - 20, // [20:20] is the sub-list for extension type_name - 20, // [20:20] is the sub-list for extension extendee - 0, // [0:20] is the sub-list for field type_name + 8, // 7: WAMsgApplication.MessageApplication.Payload.coreContent:type_name -> WAMsgApplication.MessageApplication.Content + 7, // 8: WAMsgApplication.MessageApplication.Payload.signal:type_name -> WAMsgApplication.MessageApplication.Signal + 6, // 9: WAMsgApplication.MessageApplication.Payload.applicationData:type_name -> WAMsgApplication.MessageApplication.ApplicationData + 5, // 10: WAMsgApplication.MessageApplication.Payload.subProtocol:type_name -> WAMsgApplication.MessageApplication.SubProtocolPayload + 12, // 11: WAMsgApplication.MessageApplication.SubProtocolPayload.consumerMessage:type_name -> WACommon.SubProtocol + 12, // 12: WAMsgApplication.MessageApplication.SubProtocolPayload.businessMessage:type_name -> WACommon.SubProtocol + 12, // 13: WAMsgApplication.MessageApplication.SubProtocolPayload.paymentMessage:type_name -> WACommon.SubProtocol + 12, // 14: WAMsgApplication.MessageApplication.SubProtocolPayload.multiDevice:type_name -> WACommon.SubProtocol + 12, // 15: WAMsgApplication.MessageApplication.SubProtocolPayload.voip:type_name -> WACommon.SubProtocol + 12, // 16: WAMsgApplication.MessageApplication.SubProtocolPayload.armadillo:type_name -> WACommon.SubProtocol + 13, // 17: WAMsgApplication.MessageApplication.SubProtocolPayload.futureProof:type_name -> WACommon.FutureProofBehavior + 1, // 18: WAMsgApplication.MessageApplication.EphemeralSetting.ephemeralityType:type_name -> WAMsgApplication.MessageApplication.EphemeralSetting.EphemeralityType + 4, // 19: WAMsgApplication.MessageApplication.Metadata.QuotedMessage.payload:type_name -> WAMsgApplication.MessageApplication.Payload + 9, // 20: WAMsgApplication.MessageApplication.Metadata.EphemeralSettingMap.ephemeralSetting:type_name -> WAMsgApplication.MessageApplication.EphemeralSetting + 21, // [21:21] is the sub-list for method output_type + 21, // [21:21] is the sub-list for method input_type + 21, // [21:21] is the sub-list for extension type_name + 21, // [21:21] is the sub-list for extension extendee + 0, // [0:21] is the sub-list for field type_name } func init() { file_waMsgApplication_WAMsgApplication_proto_init() } @@ -999,7 +1071,7 @@ func file_waMsgApplication_WAMsgApplication_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_waMsgApplication_WAMsgApplication_proto_rawDesc, - NumEnums: 1, + NumEnums: 2, NumMessages: 10, NumExtensions: 0, NumServices: 0, diff --git a/proto/waMsgApplication/WAMsgApplication.pb.raw b/proto/waMsgApplication/WAMsgApplication.pb.raw index 6621be27b37606e381fb8b3676f78f2ee076fb62..f0d89b2cc57e45d4d9918c6d143de920a2695de9 100644 GIT binary patch delta 202 zcmdlfI$3-|C{v%<#_%#urfJNR&vQ0Q7jX%s7G$L6rWPgUWR_HhR2HO4uqrTW@EN&H ztW%vFz$l=s=ZdBv2t&){KrX8^r4%j!bfrSvT|>}024&Y&m|s1ig|K3mmUC&p*&Im delta 28 kcmbO%zEgBUDAN{^jp1dSOnVq7pXY3ze2mL-aw@kT0GA00DF6Tf diff --git a/proto/waMsgApplication/WAMsgApplication.proto b/proto/waMsgApplication/WAMsgApplication.proto index 54ee0cf0..282e5273 100644 --- a/proto/waMsgApplication/WAMsgApplication.proto +++ b/proto/waMsgApplication/WAMsgApplication.proto @@ -78,8 +78,16 @@ message MessageApplication { } message EphemeralSetting { + enum EphemeralityType { + UNKNOWN = 0; + SEEN_ONCE = 1; + SEEN_BASED_WITH_TIMER = 2; + SEND_BASED_WITH_TIMER = 3; + } + optional uint32 ephemeralExpiration = 2; optional int64 ephemeralSettingTimestamp = 3; + optional EphemeralityType ephemeralityType = 5; optional bool isEphemeralSettingReset = 4; } diff --git a/proto/waSyncAction/WASyncAction.pb.go b/proto/waSyncAction/WASyncAction.pb.go index 75cbd813..b0bb39bd 100644 --- a/proto/waSyncAction/WASyncAction.pb.go +++ b/proto/waSyncAction/WASyncAction.pb.go @@ -231,6 +231,68 @@ func (CallLogRecord_CallResult) EnumDescriptor() ([]byte, []int) { return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{0, 2} } +type NotificationActivitySettingAction_NotificationActivitySetting int32 + +const ( + NotificationActivitySettingAction_DEFAULT_ALL_MESSAGES NotificationActivitySettingAction_NotificationActivitySetting = 0 + NotificationActivitySettingAction_ALL_MESSAGES NotificationActivitySettingAction_NotificationActivitySetting = 1 + NotificationActivitySettingAction_HIGHLIGHTS NotificationActivitySettingAction_NotificationActivitySetting = 2 + NotificationActivitySettingAction_DEFAULT_HIGHLIGHTS NotificationActivitySettingAction_NotificationActivitySetting = 3 +) + +// Enum value maps for NotificationActivitySettingAction_NotificationActivitySetting. +var ( + NotificationActivitySettingAction_NotificationActivitySetting_name = map[int32]string{ + 0: "DEFAULT_ALL_MESSAGES", + 1: "ALL_MESSAGES", + 2: "HIGHLIGHTS", + 3: "DEFAULT_HIGHLIGHTS", + } + NotificationActivitySettingAction_NotificationActivitySetting_value = map[string]int32{ + "DEFAULT_ALL_MESSAGES": 0, + "ALL_MESSAGES": 1, + "HIGHLIGHTS": 2, + "DEFAULT_HIGHLIGHTS": 3, + } +) + +func (x NotificationActivitySettingAction_NotificationActivitySetting) Enum() *NotificationActivitySettingAction_NotificationActivitySetting { + p := new(NotificationActivitySettingAction_NotificationActivitySetting) + *p = x + return p +} + +func (x NotificationActivitySettingAction_NotificationActivitySetting) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NotificationActivitySettingAction_NotificationActivitySetting) Descriptor() protoreflect.EnumDescriptor { + return file_waSyncAction_WASyncAction_proto_enumTypes[3].Descriptor() +} + +func (NotificationActivitySettingAction_NotificationActivitySetting) Type() protoreflect.EnumType { + return &file_waSyncAction_WASyncAction_proto_enumTypes[3] +} + +func (x NotificationActivitySettingAction_NotificationActivitySetting) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *NotificationActivitySettingAction_NotificationActivitySetting) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = NotificationActivitySettingAction_NotificationActivitySetting(num) + return nil +} + +// Deprecated: Use NotificationActivitySettingAction_NotificationActivitySetting.Descriptor instead. +func (NotificationActivitySettingAction_NotificationActivitySetting) EnumDescriptor() ([]byte, []int) { + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{1, 0} +} + type WaffleAccountLinkStateAction_AccountLinkState int32 const ( @@ -258,11 +320,11 @@ func (x WaffleAccountLinkStateAction_AccountLinkState) String() string { } func (WaffleAccountLinkStateAction_AccountLinkState) Descriptor() protoreflect.EnumDescriptor { - return file_waSyncAction_WASyncAction_proto_enumTypes[3].Descriptor() + return file_waSyncAction_WASyncAction_proto_enumTypes[4].Descriptor() } func (WaffleAccountLinkStateAction_AccountLinkState) Type() protoreflect.EnumType { - return &file_waSyncAction_WASyncAction_proto_enumTypes[3] + return &file_waSyncAction_WASyncAction_proto_enumTypes[4] } func (x WaffleAccountLinkStateAction_AccountLinkState) Number() protoreflect.EnumNumber { @@ -281,7 +343,7 @@ func (x *WaffleAccountLinkStateAction_AccountLinkState) UnmarshalJSON(b []byte) // Deprecated: Use WaffleAccountLinkStateAction_AccountLinkState.Descriptor instead. func (WaffleAccountLinkStateAction_AccountLinkState) EnumDescriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{1, 0} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{2, 0} } type MerchantPaymentPartnerAction_Status int32 @@ -314,11 +376,11 @@ func (x MerchantPaymentPartnerAction_Status) String() string { } func (MerchantPaymentPartnerAction_Status) Descriptor() protoreflect.EnumDescriptor { - return file_waSyncAction_WASyncAction_proto_enumTypes[4].Descriptor() + return file_waSyncAction_WASyncAction_proto_enumTypes[5].Descriptor() } func (MerchantPaymentPartnerAction_Status) Type() protoreflect.EnumType { - return &file_waSyncAction_WASyncAction_proto_enumTypes[4] + return &file_waSyncAction_WASyncAction_proto_enumTypes[5] } func (x MerchantPaymentPartnerAction_Status) Number() protoreflect.EnumNumber { @@ -337,7 +399,7 @@ func (x *MerchantPaymentPartnerAction_Status) UnmarshalJSON(b []byte) error { // Deprecated: Use MerchantPaymentPartnerAction_Status.Descriptor instead. func (MerchantPaymentPartnerAction_Status) EnumDescriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{2, 0} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{3, 0} } type NoteEditAction_NoteType int32 @@ -370,11 +432,11 @@ func (x NoteEditAction_NoteType) String() string { } func (NoteEditAction_NoteType) Descriptor() protoreflect.EnumDescriptor { - return file_waSyncAction_WASyncAction_proto_enumTypes[5].Descriptor() + return file_waSyncAction_WASyncAction_proto_enumTypes[6].Descriptor() } func (NoteEditAction_NoteType) Type() protoreflect.EnumType { - return &file_waSyncAction_WASyncAction_proto_enumTypes[5] + return &file_waSyncAction_WASyncAction_proto_enumTypes[6] } func (x NoteEditAction_NoteType) Number() protoreflect.EnumNumber { @@ -393,7 +455,7 @@ func (x *NoteEditAction_NoteType) UnmarshalJSON(b []byte) error { // Deprecated: Use NoteEditAction_NoteType.Descriptor instead. func (NoteEditAction_NoteType) EnumDescriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{3, 0} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{4, 0} } type StatusPrivacyAction_StatusDistributionMode int32 @@ -429,11 +491,11 @@ func (x StatusPrivacyAction_StatusDistributionMode) String() string { } func (StatusPrivacyAction_StatusDistributionMode) Descriptor() protoreflect.EnumDescriptor { - return file_waSyncAction_WASyncAction_proto_enumTypes[6].Descriptor() + return file_waSyncAction_WASyncAction_proto_enumTypes[7].Descriptor() } func (StatusPrivacyAction_StatusDistributionMode) Type() protoreflect.EnumType { - return &file_waSyncAction_WASyncAction_proto_enumTypes[6] + return &file_waSyncAction_WASyncAction_proto_enumTypes[7] } func (x StatusPrivacyAction_StatusDistributionMode) Number() protoreflect.EnumNumber { @@ -452,7 +514,7 @@ func (x *StatusPrivacyAction_StatusDistributionMode) UnmarshalJSON(b []byte) err // Deprecated: Use StatusPrivacyAction_StatusDistributionMode.Descriptor instead. func (StatusPrivacyAction_StatusDistributionMode) EnumDescriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{4, 0} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{5, 0} } type MarketingMessageAction_MarketingMessagePrototypeType int32 @@ -482,11 +544,11 @@ func (x MarketingMessageAction_MarketingMessagePrototypeType) String() string { } func (MarketingMessageAction_MarketingMessagePrototypeType) Descriptor() protoreflect.EnumDescriptor { - return file_waSyncAction_WASyncAction_proto_enumTypes[7].Descriptor() + return file_waSyncAction_WASyncAction_proto_enumTypes[8].Descriptor() } func (MarketingMessageAction_MarketingMessagePrototypeType) Type() protoreflect.EnumType { - return &file_waSyncAction_WASyncAction_proto_enumTypes[7] + return &file_waSyncAction_WASyncAction_proto_enumTypes[8] } func (x MarketingMessageAction_MarketingMessagePrototypeType) Number() protoreflect.EnumNumber { @@ -505,7 +567,7 @@ func (x *MarketingMessageAction_MarketingMessagePrototypeType) UnmarshalJSON(b [ // Deprecated: Use MarketingMessageAction_MarketingMessagePrototypeType.Descriptor instead. func (MarketingMessageAction_MarketingMessagePrototypeType) EnumDescriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{5, 0} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{6, 0} } type UsernameChatStartModeAction_ChatStartMode int32 @@ -538,11 +600,11 @@ func (x UsernameChatStartModeAction_ChatStartMode) String() string { } func (UsernameChatStartModeAction_ChatStartMode) Descriptor() protoreflect.EnumDescriptor { - return file_waSyncAction_WASyncAction_proto_enumTypes[8].Descriptor() + return file_waSyncAction_WASyncAction_proto_enumTypes[9].Descriptor() } func (UsernameChatStartModeAction_ChatStartMode) Type() protoreflect.EnumType { - return &file_waSyncAction_WASyncAction_proto_enumTypes[8] + return &file_waSyncAction_WASyncAction_proto_enumTypes[9] } func (x UsernameChatStartModeAction_ChatStartMode) Number() protoreflect.EnumNumber { @@ -561,7 +623,7 @@ func (x *UsernameChatStartModeAction_ChatStartMode) UnmarshalJSON(b []byte) erro // Deprecated: Use UsernameChatStartModeAction_ChatStartMode.Descriptor instead. func (UsernameChatStartModeAction_ChatStartMode) EnumDescriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{6, 0} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{7, 0} } type LabelEditAction_ListType int32 @@ -606,11 +668,11 @@ func (x LabelEditAction_ListType) String() string { } func (LabelEditAction_ListType) Descriptor() protoreflect.EnumDescriptor { - return file_waSyncAction_WASyncAction_proto_enumTypes[9].Descriptor() + return file_waSyncAction_WASyncAction_proto_enumTypes[10].Descriptor() } func (LabelEditAction_ListType) Type() protoreflect.EnumType { - return &file_waSyncAction_WASyncAction_proto_enumTypes[9] + return &file_waSyncAction_WASyncAction_proto_enumTypes[10] } func (x LabelEditAction_ListType) Number() protoreflect.EnumNumber { @@ -629,7 +691,7 @@ func (x *LabelEditAction_ListType) UnmarshalJSON(b []byte) error { // Deprecated: Use LabelEditAction_ListType.Descriptor instead. func (LabelEditAction_ListType) EnumDescriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{7, 0} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{8, 0} } type PatchDebugData_Platform int32 @@ -642,6 +704,8 @@ const ( PatchDebugData_WEB PatchDebugData_Platform = 4 PatchDebugData_UWP PatchDebugData_Platform = 5 PatchDebugData_DARWIN PatchDebugData_Platform = 6 + PatchDebugData_IPAD PatchDebugData_Platform = 7 + PatchDebugData_WEAROS PatchDebugData_Platform = 8 ) // Enum value maps for PatchDebugData_Platform. @@ -654,6 +718,8 @@ var ( 4: "WEB", 5: "UWP", 6: "DARWIN", + 7: "IPAD", + 8: "WEAROS", } PatchDebugData_Platform_value = map[string]int32{ "ANDROID": 0, @@ -663,6 +729,8 @@ var ( "WEB": 4, "UWP": 5, "DARWIN": 6, + "IPAD": 7, + "WEAROS": 8, } ) @@ -677,11 +745,11 @@ func (x PatchDebugData_Platform) String() string { } func (PatchDebugData_Platform) Descriptor() protoreflect.EnumDescriptor { - return file_waSyncAction_WASyncAction_proto_enumTypes[10].Descriptor() + return file_waSyncAction_WASyncAction_proto_enumTypes[11].Descriptor() } func (PatchDebugData_Platform) Type() protoreflect.EnumType { - return &file_waSyncAction_WASyncAction_proto_enumTypes[10] + return &file_waSyncAction_WASyncAction_proto_enumTypes[11] } func (x PatchDebugData_Platform) Number() protoreflect.EnumNumber { @@ -700,7 +768,7 @@ func (x *PatchDebugData_Platform) UnmarshalJSON(b []byte) error { // Deprecated: Use PatchDebugData_Platform.Descriptor instead. func (PatchDebugData_Platform) EnumDescriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{8, 0} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{9, 0} } type CallLogRecord struct { @@ -859,6 +927,50 @@ func (x *CallLogRecord) GetCallType() CallLogRecord_CallType { return CallLogRecord_REGULAR } +type NotificationActivitySettingAction struct { + state protoimpl.MessageState `protogen:"open.v1"` + NotificationActivitySetting *NotificationActivitySettingAction_NotificationActivitySetting `protobuf:"varint,1,opt,name=notificationActivitySetting,enum=WASyncAction.NotificationActivitySettingAction_NotificationActivitySetting" json:"notificationActivitySetting,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NotificationActivitySettingAction) Reset() { + *x = NotificationActivitySettingAction{} + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NotificationActivitySettingAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotificationActivitySettingAction) ProtoMessage() {} + +func (x *NotificationActivitySettingAction) ProtoReflect() protoreflect.Message { + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NotificationActivitySettingAction.ProtoReflect.Descriptor instead. +func (*NotificationActivitySettingAction) Descriptor() ([]byte, []int) { + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{1} +} + +func (x *NotificationActivitySettingAction) GetNotificationActivitySetting() NotificationActivitySettingAction_NotificationActivitySetting { + if x != nil && x.NotificationActivitySetting != nil { + return *x.NotificationActivitySetting + } + return NotificationActivitySettingAction_DEFAULT_ALL_MESSAGES +} + type WaffleAccountLinkStateAction struct { state protoimpl.MessageState `protogen:"open.v1"` LinkState *WaffleAccountLinkStateAction_AccountLinkState `protobuf:"varint,2,opt,name=linkState,enum=WASyncAction.WaffleAccountLinkStateAction_AccountLinkState" json:"linkState,omitempty"` @@ -868,7 +980,7 @@ type WaffleAccountLinkStateAction struct { func (x *WaffleAccountLinkStateAction) Reset() { *x = WaffleAccountLinkStateAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[1] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -880,7 +992,7 @@ func (x *WaffleAccountLinkStateAction) String() string { func (*WaffleAccountLinkStateAction) ProtoMessage() {} func (x *WaffleAccountLinkStateAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[1] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -893,7 +1005,7 @@ func (x *WaffleAccountLinkStateAction) ProtoReflect() protoreflect.Message { // Deprecated: Use WaffleAccountLinkStateAction.ProtoReflect.Descriptor instead. func (*WaffleAccountLinkStateAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{1} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{2} } func (x *WaffleAccountLinkStateAction) GetLinkState() WaffleAccountLinkStateAction_AccountLinkState { @@ -915,7 +1027,7 @@ type MerchantPaymentPartnerAction struct { func (x *MerchantPaymentPartnerAction) Reset() { *x = MerchantPaymentPartnerAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[2] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -927,7 +1039,7 @@ func (x *MerchantPaymentPartnerAction) String() string { func (*MerchantPaymentPartnerAction) ProtoMessage() {} func (x *MerchantPaymentPartnerAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[2] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -940,7 +1052,7 @@ func (x *MerchantPaymentPartnerAction) ProtoReflect() protoreflect.Message { // Deprecated: Use MerchantPaymentPartnerAction.ProtoReflect.Descriptor instead. func (*MerchantPaymentPartnerAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{2} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{3} } func (x *MerchantPaymentPartnerAction) GetStatus() MerchantPaymentPartnerAction_Status { @@ -984,7 +1096,7 @@ type NoteEditAction struct { func (x *NoteEditAction) Reset() { *x = NoteEditAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[3] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -996,7 +1108,7 @@ func (x *NoteEditAction) String() string { func (*NoteEditAction) ProtoMessage() {} func (x *NoteEditAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[3] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1009,7 +1121,7 @@ func (x *NoteEditAction) ProtoReflect() protoreflect.Message { // Deprecated: Use NoteEditAction.ProtoReflect.Descriptor instead. func (*NoteEditAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{3} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{4} } func (x *NoteEditAction) GetType() NoteEditAction_NoteType { @@ -1057,7 +1169,7 @@ type StatusPrivacyAction struct { func (x *StatusPrivacyAction) Reset() { *x = StatusPrivacyAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[4] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1069,7 +1181,7 @@ func (x *StatusPrivacyAction) String() string { func (*StatusPrivacyAction) ProtoMessage() {} func (x *StatusPrivacyAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[4] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1082,7 +1194,7 @@ func (x *StatusPrivacyAction) ProtoReflect() protoreflect.Message { // Deprecated: Use StatusPrivacyAction.ProtoReflect.Descriptor instead. func (*StatusPrivacyAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{4} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{5} } func (x *StatusPrivacyAction) GetMode() StatusPrivacyAction_StatusDistributionMode { @@ -1114,7 +1226,7 @@ type MarketingMessageAction struct { func (x *MarketingMessageAction) Reset() { *x = MarketingMessageAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[5] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1126,7 +1238,7 @@ func (x *MarketingMessageAction) String() string { func (*MarketingMessageAction) ProtoMessage() {} func (x *MarketingMessageAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[5] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1139,7 +1251,7 @@ func (x *MarketingMessageAction) ProtoReflect() protoreflect.Message { // Deprecated: Use MarketingMessageAction.ProtoReflect.Descriptor instead. func (*MarketingMessageAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{5} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{6} } func (x *MarketingMessageAction) GetName() string { @@ -1200,7 +1312,7 @@ type UsernameChatStartModeAction struct { func (x *UsernameChatStartModeAction) Reset() { *x = UsernameChatStartModeAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[6] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1212,7 +1324,7 @@ func (x *UsernameChatStartModeAction) String() string { func (*UsernameChatStartModeAction) ProtoMessage() {} func (x *UsernameChatStartModeAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[6] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1225,7 +1337,7 @@ func (x *UsernameChatStartModeAction) ProtoReflect() protoreflect.Message { // Deprecated: Use UsernameChatStartModeAction.ProtoReflect.Descriptor instead. func (*UsernameChatStartModeAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{6} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{7} } func (x *UsernameChatStartModeAction) GetChatStartMode() UsernameChatStartModeAction_ChatStartMode { @@ -1250,7 +1362,7 @@ type LabelEditAction struct { func (x *LabelEditAction) Reset() { *x = LabelEditAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[7] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1262,7 +1374,7 @@ func (x *LabelEditAction) String() string { func (*LabelEditAction) ProtoMessage() {} func (x *LabelEditAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[7] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1275,7 +1387,7 @@ func (x *LabelEditAction) ProtoReflect() protoreflect.Message { // Deprecated: Use LabelEditAction.ProtoReflect.Descriptor instead. func (*LabelEditAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{7} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{8} } func (x *LabelEditAction) GetName() string { @@ -1346,7 +1458,7 @@ type PatchDebugData struct { func (x *PatchDebugData) Reset() { *x = PatchDebugData{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[8] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1358,7 +1470,7 @@ func (x *PatchDebugData) String() string { func (*PatchDebugData) ProtoMessage() {} func (x *PatchDebugData) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[8] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1371,7 +1483,7 @@ func (x *PatchDebugData) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchDebugData.ProtoReflect.Descriptor instead. func (*PatchDebugData) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{8} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{9} } func (x *PatchDebugData) GetCurrentLthash() []byte { @@ -1461,7 +1573,7 @@ type RecentEmojiWeight struct { func (x *RecentEmojiWeight) Reset() { *x = RecentEmojiWeight{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[9] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1473,7 +1585,7 @@ func (x *RecentEmojiWeight) String() string { func (*RecentEmojiWeight) ProtoMessage() {} func (x *RecentEmojiWeight) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[9] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1486,7 +1598,7 @@ func (x *RecentEmojiWeight) ProtoReflect() protoreflect.Message { // Deprecated: Use RecentEmojiWeight.ProtoReflect.Descriptor instead. func (*RecentEmojiWeight) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{9} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{10} } func (x *RecentEmojiWeight) GetEmoji() string { @@ -1558,13 +1670,14 @@ type SyncActionValue struct { MerchantPaymentPartnerAction *MerchantPaymentPartnerAction `protobuf:"bytes,57,opt,name=merchantPaymentPartnerAction" json:"merchantPaymentPartnerAction,omitempty"` WaffleAccountLinkStateAction *WaffleAccountLinkStateAction `protobuf:"bytes,58,opt,name=waffleAccountLinkStateAction" json:"waffleAccountLinkStateAction,omitempty"` UsernameChatStartMode *UsernameChatStartModeAction `protobuf:"bytes,59,opt,name=usernameChatStartMode" json:"usernameChatStartMode,omitempty"` + NotificationActivitySettingAction *NotificationActivitySettingAction `protobuf:"bytes,60,opt,name=notificationActivitySettingAction" json:"notificationActivitySettingAction,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SyncActionValue) Reset() { *x = SyncActionValue{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[10] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1576,7 +1689,7 @@ func (x *SyncActionValue) String() string { func (*SyncActionValue) ProtoMessage() {} func (x *SyncActionValue) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[10] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1589,7 +1702,7 @@ func (x *SyncActionValue) ProtoReflect() protoreflect.Message { // Deprecated: Use SyncActionValue.ProtoReflect.Descriptor instead. func (*SyncActionValue) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{10} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{11} } func (x *SyncActionValue) GetTimestamp() int64 { @@ -1963,6 +2076,13 @@ func (x *SyncActionValue) GetUsernameChatStartMode() *UsernameChatStartModeActio return nil } +func (x *SyncActionValue) GetNotificationActivitySettingAction() *NotificationActivitySettingAction { + if x != nil { + return x.NotificationActivitySettingAction + } + return nil +} + type FavoritesAction struct { state protoimpl.MessageState `protogen:"open.v1"` Favorites []*FavoritesAction_Favorite `protobuf:"bytes,1,rep,name=favorites" json:"favorites,omitempty"` @@ -1972,7 +2092,7 @@ type FavoritesAction struct { func (x *FavoritesAction) Reset() { *x = FavoritesAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[11] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1984,7 +2104,7 @@ func (x *FavoritesAction) String() string { func (*FavoritesAction) ProtoMessage() {} func (x *FavoritesAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[11] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1997,7 +2117,7 @@ func (x *FavoritesAction) ProtoReflect() protoreflect.Message { // Deprecated: Use FavoritesAction.ProtoReflect.Descriptor instead. func (*FavoritesAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{11} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{12} } func (x *FavoritesAction) GetFavorites() []*FavoritesAction_Favorite { @@ -2016,7 +2136,7 @@ type PrivacySettingDisableLinkPreviewsAction struct { func (x *PrivacySettingDisableLinkPreviewsAction) Reset() { *x = PrivacySettingDisableLinkPreviewsAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[12] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2028,7 +2148,7 @@ func (x *PrivacySettingDisableLinkPreviewsAction) String() string { func (*PrivacySettingDisableLinkPreviewsAction) ProtoMessage() {} func (x *PrivacySettingDisableLinkPreviewsAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[12] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2041,7 +2161,7 @@ func (x *PrivacySettingDisableLinkPreviewsAction) ProtoReflect() protoreflect.Me // Deprecated: Use PrivacySettingDisableLinkPreviewsAction.ProtoReflect.Descriptor instead. func (*PrivacySettingDisableLinkPreviewsAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{12} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{13} } func (x *PrivacySettingDisableLinkPreviewsAction) GetIsPreviewsDisabled() bool { @@ -2060,7 +2180,7 @@ type WamoUserIdentifierAction struct { func (x *WamoUserIdentifierAction) Reset() { *x = WamoUserIdentifierAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[13] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2072,7 +2192,7 @@ func (x *WamoUserIdentifierAction) String() string { func (*WamoUserIdentifierAction) ProtoMessage() {} func (x *WamoUserIdentifierAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[13] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2085,7 +2205,7 @@ func (x *WamoUserIdentifierAction) ProtoReflect() protoreflect.Message { // Deprecated: Use WamoUserIdentifierAction.ProtoReflect.Descriptor instead. func (*WamoUserIdentifierAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{13} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{14} } func (x *WamoUserIdentifierAction) GetIdentifier() string { @@ -2104,7 +2224,7 @@ type LockChatAction struct { func (x *LockChatAction) Reset() { *x = LockChatAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[14] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2116,7 +2236,7 @@ func (x *LockChatAction) String() string { func (*LockChatAction) ProtoMessage() {} func (x *LockChatAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[14] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2129,7 +2249,7 @@ func (x *LockChatAction) ProtoReflect() protoreflect.Message { // Deprecated: Use LockChatAction.ProtoReflect.Descriptor instead. func (*LockChatAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{14} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{15} } func (x *LockChatAction) GetLocked() bool { @@ -2148,7 +2268,7 @@ type CustomPaymentMethodsAction struct { func (x *CustomPaymentMethodsAction) Reset() { *x = CustomPaymentMethodsAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[15] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2160,7 +2280,7 @@ func (x *CustomPaymentMethodsAction) String() string { func (*CustomPaymentMethodsAction) ProtoMessage() {} func (x *CustomPaymentMethodsAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[15] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2173,7 +2293,7 @@ func (x *CustomPaymentMethodsAction) ProtoReflect() protoreflect.Message { // Deprecated: Use CustomPaymentMethodsAction.ProtoReflect.Descriptor instead. func (*CustomPaymentMethodsAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{15} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{16} } func (x *CustomPaymentMethodsAction) GetCustomPaymentMethods() []*CustomPaymentMethod { @@ -2195,7 +2315,7 @@ type CustomPaymentMethod struct { func (x *CustomPaymentMethod) Reset() { *x = CustomPaymentMethod{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[16] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2207,7 +2327,7 @@ func (x *CustomPaymentMethod) String() string { func (*CustomPaymentMethod) ProtoMessage() {} func (x *CustomPaymentMethod) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[16] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2220,7 +2340,7 @@ func (x *CustomPaymentMethod) ProtoReflect() protoreflect.Message { // Deprecated: Use CustomPaymentMethod.ProtoReflect.Descriptor instead. func (*CustomPaymentMethod) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{16} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{17} } func (x *CustomPaymentMethod) GetCredentialID() string { @@ -2261,7 +2381,7 @@ type CustomPaymentMethodMetadata struct { func (x *CustomPaymentMethodMetadata) Reset() { *x = CustomPaymentMethodMetadata{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[17] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2273,7 +2393,7 @@ func (x *CustomPaymentMethodMetadata) String() string { func (*CustomPaymentMethodMetadata) ProtoMessage() {} func (x *CustomPaymentMethodMetadata) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[17] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2286,7 +2406,7 @@ func (x *CustomPaymentMethodMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use CustomPaymentMethodMetadata.ProtoReflect.Descriptor instead. func (*CustomPaymentMethodMetadata) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{17} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{18} } func (x *CustomPaymentMethodMetadata) GetKey() string { @@ -2312,7 +2432,7 @@ type PaymentInfoAction struct { func (x *PaymentInfoAction) Reset() { *x = PaymentInfoAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[18] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2324,7 +2444,7 @@ func (x *PaymentInfoAction) String() string { func (*PaymentInfoAction) ProtoMessage() {} func (x *PaymentInfoAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[18] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2337,7 +2457,7 @@ func (x *PaymentInfoAction) ProtoReflect() protoreflect.Message { // Deprecated: Use PaymentInfoAction.ProtoReflect.Descriptor instead. func (*PaymentInfoAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{18} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{19} } func (x *PaymentInfoAction) GetCpi() string { @@ -2356,7 +2476,7 @@ type LabelReorderingAction struct { func (x *LabelReorderingAction) Reset() { *x = LabelReorderingAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[19] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2368,7 +2488,7 @@ func (x *LabelReorderingAction) String() string { func (*LabelReorderingAction) ProtoMessage() {} func (x *LabelReorderingAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[19] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2381,7 +2501,7 @@ func (x *LabelReorderingAction) ProtoReflect() protoreflect.Message { // Deprecated: Use LabelReorderingAction.ProtoReflect.Descriptor instead. func (*LabelReorderingAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{19} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{20} } func (x *LabelReorderingAction) GetSortedLabelIDs() []int32 { @@ -2401,7 +2521,7 @@ type DeleteIndividualCallLogAction struct { func (x *DeleteIndividualCallLogAction) Reset() { *x = DeleteIndividualCallLogAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[20] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2413,7 +2533,7 @@ func (x *DeleteIndividualCallLogAction) String() string { func (*DeleteIndividualCallLogAction) ProtoMessage() {} func (x *DeleteIndividualCallLogAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[20] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2426,7 +2546,7 @@ func (x *DeleteIndividualCallLogAction) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteIndividualCallLogAction.ProtoReflect.Descriptor instead. func (*DeleteIndividualCallLogAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{20} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{21} } func (x *DeleteIndividualCallLogAction) GetPeerJID() string { @@ -2452,7 +2572,7 @@ type BotWelcomeRequestAction struct { func (x *BotWelcomeRequestAction) Reset() { *x = BotWelcomeRequestAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[21] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2464,7 +2584,7 @@ func (x *BotWelcomeRequestAction) String() string { func (*BotWelcomeRequestAction) ProtoMessage() {} func (x *BotWelcomeRequestAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[21] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2477,7 +2597,7 @@ func (x *BotWelcomeRequestAction) ProtoReflect() protoreflect.Message { // Deprecated: Use BotWelcomeRequestAction.ProtoReflect.Descriptor instead. func (*BotWelcomeRequestAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{21} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{22} } func (x *BotWelcomeRequestAction) GetIsSent() bool { @@ -2496,7 +2616,7 @@ type CallLogAction struct { func (x *CallLogAction) Reset() { *x = CallLogAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[22] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2508,7 +2628,7 @@ func (x *CallLogAction) String() string { func (*CallLogAction) ProtoMessage() {} func (x *CallLogAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[22] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2521,7 +2641,7 @@ func (x *CallLogAction) ProtoReflect() protoreflect.Message { // Deprecated: Use CallLogAction.ProtoReflect.Descriptor instead. func (*CallLogAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{22} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{23} } func (x *CallLogAction) GetCallLogRecord() *CallLogRecord { @@ -2540,7 +2660,7 @@ type PrivacySettingRelayAllCalls struct { func (x *PrivacySettingRelayAllCalls) Reset() { *x = PrivacySettingRelayAllCalls{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[23] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2552,7 +2672,7 @@ func (x *PrivacySettingRelayAllCalls) String() string { func (*PrivacySettingRelayAllCalls) ProtoMessage() {} func (x *PrivacySettingRelayAllCalls) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[23] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2565,7 +2685,7 @@ func (x *PrivacySettingRelayAllCalls) ProtoReflect() protoreflect.Message { // Deprecated: Use PrivacySettingRelayAllCalls.ProtoReflect.Descriptor instead. func (*PrivacySettingRelayAllCalls) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{23} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{24} } func (x *PrivacySettingRelayAllCalls) GetIsEnabled() bool { @@ -2584,7 +2704,7 @@ type ExternalWebBetaAction struct { func (x *ExternalWebBetaAction) Reset() { *x = ExternalWebBetaAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[24] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2596,7 +2716,7 @@ func (x *ExternalWebBetaAction) String() string { func (*ExternalWebBetaAction) ProtoMessage() {} func (x *ExternalWebBetaAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[24] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2609,7 +2729,7 @@ func (x *ExternalWebBetaAction) ProtoReflect() protoreflect.Message { // Deprecated: Use ExternalWebBetaAction.ProtoReflect.Descriptor instead. func (*ExternalWebBetaAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{24} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{25} } func (x *ExternalWebBetaAction) GetIsOptIn() bool { @@ -2628,7 +2748,7 @@ type MarketingMessageBroadcastAction struct { func (x *MarketingMessageBroadcastAction) Reset() { *x = MarketingMessageBroadcastAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[25] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2640,7 +2760,7 @@ func (x *MarketingMessageBroadcastAction) String() string { func (*MarketingMessageBroadcastAction) ProtoMessage() {} func (x *MarketingMessageBroadcastAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[25] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2653,7 +2773,7 @@ func (x *MarketingMessageBroadcastAction) ProtoReflect() protoreflect.Message { // Deprecated: Use MarketingMessageBroadcastAction.ProtoReflect.Descriptor instead. func (*MarketingMessageBroadcastAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{25} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{26} } func (x *MarketingMessageBroadcastAction) GetRepliedCount() int32 { @@ -2672,7 +2792,7 @@ type PnForLidChatAction struct { func (x *PnForLidChatAction) Reset() { *x = PnForLidChatAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[26] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2684,7 +2804,7 @@ func (x *PnForLidChatAction) String() string { func (*PnForLidChatAction) ProtoMessage() {} func (x *PnForLidChatAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[26] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2697,7 +2817,7 @@ func (x *PnForLidChatAction) ProtoReflect() protoreflect.Message { // Deprecated: Use PnForLidChatAction.ProtoReflect.Descriptor instead. func (*PnForLidChatAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{26} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{27} } func (x *PnForLidChatAction) GetPnJID() string { @@ -2716,7 +2836,7 @@ type ChatAssignmentOpenedStatusAction struct { func (x *ChatAssignmentOpenedStatusAction) Reset() { *x = ChatAssignmentOpenedStatusAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[27] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2728,7 +2848,7 @@ func (x *ChatAssignmentOpenedStatusAction) String() string { func (*ChatAssignmentOpenedStatusAction) ProtoMessage() {} func (x *ChatAssignmentOpenedStatusAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[27] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2741,7 +2861,7 @@ func (x *ChatAssignmentOpenedStatusAction) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatAssignmentOpenedStatusAction.ProtoReflect.Descriptor instead. func (*ChatAssignmentOpenedStatusAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{27} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{28} } func (x *ChatAssignmentOpenedStatusAction) GetChatOpened() bool { @@ -2760,7 +2880,7 @@ type ChatAssignmentAction struct { func (x *ChatAssignmentAction) Reset() { *x = ChatAssignmentAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[28] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2772,7 +2892,7 @@ func (x *ChatAssignmentAction) String() string { func (*ChatAssignmentAction) ProtoMessage() {} func (x *ChatAssignmentAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[28] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2785,7 +2905,7 @@ func (x *ChatAssignmentAction) ProtoReflect() protoreflect.Message { // Deprecated: Use ChatAssignmentAction.ProtoReflect.Descriptor instead. func (*ChatAssignmentAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{28} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{29} } func (x *ChatAssignmentAction) GetDeviceAgentID() string { @@ -2814,7 +2934,7 @@ type StickerAction struct { func (x *StickerAction) Reset() { *x = StickerAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[29] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2826,7 +2946,7 @@ func (x *StickerAction) String() string { func (*StickerAction) ProtoMessage() {} func (x *StickerAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[29] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2839,7 +2959,7 @@ func (x *StickerAction) ProtoReflect() protoreflect.Message { // Deprecated: Use StickerAction.ProtoReflect.Descriptor instead. func (*StickerAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{29} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{30} } func (x *StickerAction) GetURL() string { @@ -2928,7 +3048,7 @@ type RemoveRecentStickerAction struct { func (x *RemoveRecentStickerAction) Reset() { *x = RemoveRecentStickerAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[30] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2940,7 +3060,7 @@ func (x *RemoveRecentStickerAction) String() string { func (*RemoveRecentStickerAction) ProtoMessage() {} func (x *RemoveRecentStickerAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[30] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2953,7 +3073,7 @@ func (x *RemoveRecentStickerAction) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveRecentStickerAction.ProtoReflect.Descriptor instead. func (*RemoveRecentStickerAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{30} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{31} } func (x *RemoveRecentStickerAction) GetLastStickerSentTS() int64 { @@ -2972,7 +3092,7 @@ type PrimaryVersionAction struct { func (x *PrimaryVersionAction) Reset() { *x = PrimaryVersionAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[31] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2984,7 +3104,7 @@ func (x *PrimaryVersionAction) String() string { func (*PrimaryVersionAction) ProtoMessage() {} func (x *PrimaryVersionAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[31] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2997,7 +3117,7 @@ func (x *PrimaryVersionAction) ProtoReflect() protoreflect.Message { // Deprecated: Use PrimaryVersionAction.ProtoReflect.Descriptor instead. func (*PrimaryVersionAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{31} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{32} } func (x *PrimaryVersionAction) GetVersion() string { @@ -3016,7 +3136,7 @@ type NuxAction struct { func (x *NuxAction) Reset() { *x = NuxAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[32] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3028,7 +3148,7 @@ func (x *NuxAction) String() string { func (*NuxAction) ProtoMessage() {} func (x *NuxAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[32] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3041,7 +3161,7 @@ func (x *NuxAction) ProtoReflect() protoreflect.Message { // Deprecated: Use NuxAction.ProtoReflect.Descriptor instead. func (*NuxAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{32} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{33} } func (x *NuxAction) GetAcknowledged() bool { @@ -3060,7 +3180,7 @@ type TimeFormatAction struct { func (x *TimeFormatAction) Reset() { *x = TimeFormatAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[33] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3072,7 +3192,7 @@ func (x *TimeFormatAction) String() string { func (*TimeFormatAction) ProtoMessage() {} func (x *TimeFormatAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[33] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3085,7 +3205,7 @@ func (x *TimeFormatAction) ProtoReflect() protoreflect.Message { // Deprecated: Use TimeFormatAction.ProtoReflect.Descriptor instead. func (*TimeFormatAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{33} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{34} } func (x *TimeFormatAction) GetIsTwentyFourHourFormatEnabled() bool { @@ -3104,7 +3224,7 @@ type UserStatusMuteAction struct { func (x *UserStatusMuteAction) Reset() { *x = UserStatusMuteAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[34] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3116,7 +3236,7 @@ func (x *UserStatusMuteAction) String() string { func (*UserStatusMuteAction) ProtoMessage() {} func (x *UserStatusMuteAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[34] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3129,7 +3249,7 @@ func (x *UserStatusMuteAction) ProtoReflect() protoreflect.Message { // Deprecated: Use UserStatusMuteAction.ProtoReflect.Descriptor instead. func (*UserStatusMuteAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{34} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{35} } func (x *UserStatusMuteAction) GetMuted() bool { @@ -3150,7 +3270,7 @@ type SubscriptionAction struct { func (x *SubscriptionAction) Reset() { *x = SubscriptionAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[35] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3162,7 +3282,7 @@ func (x *SubscriptionAction) String() string { func (*SubscriptionAction) ProtoMessage() {} func (x *SubscriptionAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[35] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3175,7 +3295,7 @@ func (x *SubscriptionAction) ProtoReflect() protoreflect.Message { // Deprecated: Use SubscriptionAction.ProtoReflect.Descriptor instead. func (*SubscriptionAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{35} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{36} } func (x *SubscriptionAction) GetIsDeactivated() bool { @@ -3210,7 +3330,7 @@ type AgentAction struct { func (x *AgentAction) Reset() { *x = AgentAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[36] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3222,7 +3342,7 @@ func (x *AgentAction) String() string { func (*AgentAction) ProtoMessage() {} func (x *AgentAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[36] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3235,7 +3355,7 @@ func (x *AgentAction) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentAction.ProtoReflect.Descriptor instead. func (*AgentAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{36} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{37} } func (x *AgentAction) GetName() string { @@ -3268,7 +3388,7 @@ type AndroidUnsupportedActions struct { func (x *AndroidUnsupportedActions) Reset() { *x = AndroidUnsupportedActions{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[37] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3280,7 +3400,7 @@ func (x *AndroidUnsupportedActions) String() string { func (*AndroidUnsupportedActions) ProtoMessage() {} func (x *AndroidUnsupportedActions) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[37] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3293,7 +3413,7 @@ func (x *AndroidUnsupportedActions) ProtoReflect() protoreflect.Message { // Deprecated: Use AndroidUnsupportedActions.ProtoReflect.Descriptor instead. func (*AndroidUnsupportedActions) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{37} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{38} } func (x *AndroidUnsupportedActions) GetAllowed() bool { @@ -3312,7 +3432,7 @@ type PrimaryFeature struct { func (x *PrimaryFeature) Reset() { *x = PrimaryFeature{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[38] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3324,7 +3444,7 @@ func (x *PrimaryFeature) String() string { func (*PrimaryFeature) ProtoMessage() {} func (x *PrimaryFeature) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[38] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3337,7 +3457,7 @@ func (x *PrimaryFeature) ProtoReflect() protoreflect.Message { // Deprecated: Use PrimaryFeature.ProtoReflect.Descriptor instead. func (*PrimaryFeature) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{38} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{39} } func (x *PrimaryFeature) GetFlags() []string { @@ -3356,7 +3476,7 @@ type KeyExpiration struct { func (x *KeyExpiration) Reset() { *x = KeyExpiration{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[39] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3368,7 +3488,7 @@ func (x *KeyExpiration) String() string { func (*KeyExpiration) ProtoMessage() {} func (x *KeyExpiration) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[39] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3381,7 +3501,7 @@ func (x *KeyExpiration) ProtoReflect() protoreflect.Message { // Deprecated: Use KeyExpiration.ProtoReflect.Descriptor instead. func (*KeyExpiration) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{39} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{40} } func (x *KeyExpiration) GetExpiredKeyEpoch() int32 { @@ -3401,7 +3521,7 @@ type SyncActionMessage struct { func (x *SyncActionMessage) Reset() { *x = SyncActionMessage{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[40] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3413,7 +3533,7 @@ func (x *SyncActionMessage) String() string { func (*SyncActionMessage) ProtoMessage() {} func (x *SyncActionMessage) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[40] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3426,7 +3546,7 @@ func (x *SyncActionMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use SyncActionMessage.ProtoReflect.Descriptor instead. func (*SyncActionMessage) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{40} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{41} } func (x *SyncActionMessage) GetKey() *waCommon.MessageKey { @@ -3454,7 +3574,7 @@ type SyncActionMessageRange struct { func (x *SyncActionMessageRange) Reset() { *x = SyncActionMessageRange{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[41] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3466,7 +3586,7 @@ func (x *SyncActionMessageRange) String() string { func (*SyncActionMessageRange) ProtoMessage() {} func (x *SyncActionMessageRange) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[41] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3479,7 +3599,7 @@ func (x *SyncActionMessageRange) ProtoReflect() protoreflect.Message { // Deprecated: Use SyncActionMessageRange.ProtoReflect.Descriptor instead. func (*SyncActionMessageRange) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{41} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{42} } func (x *SyncActionMessageRange) GetLastMessageTimestamp() int64 { @@ -3512,7 +3632,7 @@ type UnarchiveChatsSetting struct { func (x *UnarchiveChatsSetting) Reset() { *x = UnarchiveChatsSetting{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[42] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3524,7 +3644,7 @@ func (x *UnarchiveChatsSetting) String() string { func (*UnarchiveChatsSetting) ProtoMessage() {} func (x *UnarchiveChatsSetting) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[42] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3537,7 +3657,7 @@ func (x *UnarchiveChatsSetting) ProtoReflect() protoreflect.Message { // Deprecated: Use UnarchiveChatsSetting.ProtoReflect.Descriptor instead. func (*UnarchiveChatsSetting) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{42} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{43} } func (x *UnarchiveChatsSetting) GetUnarchiveChats() bool { @@ -3556,7 +3676,7 @@ type DeleteChatAction struct { func (x *DeleteChatAction) Reset() { *x = DeleteChatAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[43] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3568,7 +3688,7 @@ func (x *DeleteChatAction) String() string { func (*DeleteChatAction) ProtoMessage() {} func (x *DeleteChatAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[43] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3581,7 +3701,7 @@ func (x *DeleteChatAction) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteChatAction.ProtoReflect.Descriptor instead. func (*DeleteChatAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{43} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{44} } func (x *DeleteChatAction) GetMessageRange() *SyncActionMessageRange { @@ -3600,7 +3720,7 @@ type ClearChatAction struct { func (x *ClearChatAction) Reset() { *x = ClearChatAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[44] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3612,7 +3732,7 @@ func (x *ClearChatAction) String() string { func (*ClearChatAction) ProtoMessage() {} func (x *ClearChatAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[44] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3625,7 +3745,7 @@ func (x *ClearChatAction) ProtoReflect() protoreflect.Message { // Deprecated: Use ClearChatAction.ProtoReflect.Descriptor instead. func (*ClearChatAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{44} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{45} } func (x *ClearChatAction) GetMessageRange() *SyncActionMessageRange { @@ -3645,7 +3765,7 @@ type MarkChatAsReadAction struct { func (x *MarkChatAsReadAction) Reset() { *x = MarkChatAsReadAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[45] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3657,7 +3777,7 @@ func (x *MarkChatAsReadAction) String() string { func (*MarkChatAsReadAction) ProtoMessage() {} func (x *MarkChatAsReadAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[45] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3670,7 +3790,7 @@ func (x *MarkChatAsReadAction) ProtoReflect() protoreflect.Message { // Deprecated: Use MarkChatAsReadAction.ProtoReflect.Descriptor instead. func (*MarkChatAsReadAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{45} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{46} } func (x *MarkChatAsReadAction) GetRead() bool { @@ -3697,7 +3817,7 @@ type DeleteMessageForMeAction struct { func (x *DeleteMessageForMeAction) Reset() { *x = DeleteMessageForMeAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[46] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3709,7 +3829,7 @@ func (x *DeleteMessageForMeAction) String() string { func (*DeleteMessageForMeAction) ProtoMessage() {} func (x *DeleteMessageForMeAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[46] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3722,7 +3842,7 @@ func (x *DeleteMessageForMeAction) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteMessageForMeAction.ProtoReflect.Descriptor instead. func (*DeleteMessageForMeAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{46} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{47} } func (x *DeleteMessageForMeAction) GetDeleteMedia() bool { @@ -3749,7 +3869,7 @@ type ArchiveChatAction struct { func (x *ArchiveChatAction) Reset() { *x = ArchiveChatAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[47] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3761,7 +3881,7 @@ func (x *ArchiveChatAction) String() string { func (*ArchiveChatAction) ProtoMessage() {} func (x *ArchiveChatAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[47] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3774,7 +3894,7 @@ func (x *ArchiveChatAction) ProtoReflect() protoreflect.Message { // Deprecated: Use ArchiveChatAction.ProtoReflect.Descriptor instead. func (*ArchiveChatAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{47} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{48} } func (x *ArchiveChatAction) GetArchived() bool { @@ -3800,7 +3920,7 @@ type RecentEmojiWeightsAction struct { func (x *RecentEmojiWeightsAction) Reset() { *x = RecentEmojiWeightsAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[48] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3812,7 +3932,7 @@ func (x *RecentEmojiWeightsAction) String() string { func (*RecentEmojiWeightsAction) ProtoMessage() {} func (x *RecentEmojiWeightsAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[48] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3825,7 +3945,7 @@ func (x *RecentEmojiWeightsAction) ProtoReflect() protoreflect.Message { // Deprecated: Use RecentEmojiWeightsAction.ProtoReflect.Descriptor instead. func (*RecentEmojiWeightsAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{48} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{49} } func (x *RecentEmojiWeightsAction) GetWeights() []*RecentEmojiWeight { @@ -3844,7 +3964,7 @@ type LabelAssociationAction struct { func (x *LabelAssociationAction) Reset() { *x = LabelAssociationAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[49] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3856,7 +3976,7 @@ func (x *LabelAssociationAction) String() string { func (*LabelAssociationAction) ProtoMessage() {} func (x *LabelAssociationAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[49] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3869,7 +3989,7 @@ func (x *LabelAssociationAction) ProtoReflect() protoreflect.Message { // Deprecated: Use LabelAssociationAction.ProtoReflect.Descriptor instead. func (*LabelAssociationAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{49} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{50} } func (x *LabelAssociationAction) GetLabeled() bool { @@ -3892,7 +4012,7 @@ type QuickReplyAction struct { func (x *QuickReplyAction) Reset() { *x = QuickReplyAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[50] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3904,7 +4024,7 @@ func (x *QuickReplyAction) String() string { func (*QuickReplyAction) ProtoMessage() {} func (x *QuickReplyAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[50] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3917,7 +4037,7 @@ func (x *QuickReplyAction) ProtoReflect() protoreflect.Message { // Deprecated: Use QuickReplyAction.ProtoReflect.Descriptor instead. func (*QuickReplyAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{50} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{51} } func (x *QuickReplyAction) GetShortcut() string { @@ -3964,7 +4084,7 @@ type LocaleSetting struct { func (x *LocaleSetting) Reset() { *x = LocaleSetting{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[51] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3976,7 +4096,7 @@ func (x *LocaleSetting) String() string { func (*LocaleSetting) ProtoMessage() {} func (x *LocaleSetting) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[51] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3989,7 +4109,7 @@ func (x *LocaleSetting) ProtoReflect() protoreflect.Message { // Deprecated: Use LocaleSetting.ProtoReflect.Descriptor instead. func (*LocaleSetting) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{51} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{52} } func (x *LocaleSetting) GetLocale() string { @@ -4008,7 +4128,7 @@ type PushNameSetting struct { func (x *PushNameSetting) Reset() { *x = PushNameSetting{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[52] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4020,7 +4140,7 @@ func (x *PushNameSetting) String() string { func (*PushNameSetting) ProtoMessage() {} func (x *PushNameSetting) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[52] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4033,7 +4153,7 @@ func (x *PushNameSetting) ProtoReflect() protoreflect.Message { // Deprecated: Use PushNameSetting.ProtoReflect.Descriptor instead. func (*PushNameSetting) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{52} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{53} } func (x *PushNameSetting) GetName() string { @@ -4052,7 +4172,7 @@ type SecurityNotificationSetting struct { func (x *SecurityNotificationSetting) Reset() { *x = SecurityNotificationSetting{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[53] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4064,7 +4184,7 @@ func (x *SecurityNotificationSetting) String() string { func (*SecurityNotificationSetting) ProtoMessage() {} func (x *SecurityNotificationSetting) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[53] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4077,7 +4197,7 @@ func (x *SecurityNotificationSetting) ProtoReflect() protoreflect.Message { // Deprecated: Use SecurityNotificationSetting.ProtoReflect.Descriptor instead. func (*SecurityNotificationSetting) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{53} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{54} } func (x *SecurityNotificationSetting) GetShowNotification() bool { @@ -4096,7 +4216,7 @@ type PinAction struct { func (x *PinAction) Reset() { *x = PinAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[54] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4108,7 +4228,7 @@ func (x *PinAction) String() string { func (*PinAction) ProtoMessage() {} func (x *PinAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[54] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4121,7 +4241,7 @@ func (x *PinAction) ProtoReflect() protoreflect.Message { // Deprecated: Use PinAction.ProtoReflect.Descriptor instead. func (*PinAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{54} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{55} } func (x *PinAction) GetPinned() bool { @@ -4142,7 +4262,7 @@ type MuteAction struct { func (x *MuteAction) Reset() { *x = MuteAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[55] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4154,7 +4274,7 @@ func (x *MuteAction) String() string { func (*MuteAction) ProtoMessage() {} func (x *MuteAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[55] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4167,7 +4287,7 @@ func (x *MuteAction) ProtoReflect() protoreflect.Message { // Deprecated: Use MuteAction.ProtoReflect.Descriptor instead. func (*MuteAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{55} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{56} } func (x *MuteAction) GetMuted() bool { @@ -4203,7 +4323,7 @@ type ContactAction struct { func (x *ContactAction) Reset() { *x = ContactAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[56] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4215,7 +4335,7 @@ func (x *ContactAction) String() string { func (*ContactAction) ProtoMessage() {} func (x *ContactAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[56] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4228,7 +4348,7 @@ func (x *ContactAction) ProtoReflect() protoreflect.Message { // Deprecated: Use ContactAction.ProtoReflect.Descriptor instead. func (*ContactAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{56} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{57} } func (x *ContactAction) GetFullName() string { @@ -4268,7 +4388,7 @@ type StarAction struct { func (x *StarAction) Reset() { *x = StarAction{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[57] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4280,7 +4400,7 @@ func (x *StarAction) String() string { func (*StarAction) ProtoMessage() {} func (x *StarAction) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[57] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4293,7 +4413,7 @@ func (x *StarAction) ProtoReflect() protoreflect.Message { // Deprecated: Use StarAction.ProtoReflect.Descriptor instead. func (*StarAction) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{57} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{58} } func (x *StarAction) GetStarred() bool { @@ -4315,7 +4435,7 @@ type SyncActionData struct { func (x *SyncActionData) Reset() { *x = SyncActionData{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[58] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4327,7 +4447,7 @@ func (x *SyncActionData) String() string { func (*SyncActionData) ProtoMessage() {} func (x *SyncActionData) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[58] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4340,7 +4460,7 @@ func (x *SyncActionData) ProtoReflect() protoreflect.Message { // Deprecated: Use SyncActionData.ProtoReflect.Descriptor instead. func (*SyncActionData) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{58} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{59} } func (x *SyncActionData) GetIndex() []byte { @@ -4381,7 +4501,7 @@ type CallLogRecord_ParticipantInfo struct { func (x *CallLogRecord_ParticipantInfo) Reset() { *x = CallLogRecord_ParticipantInfo{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[59] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4393,7 +4513,7 @@ func (x *CallLogRecord_ParticipantInfo) String() string { func (*CallLogRecord_ParticipantInfo) ProtoMessage() {} func (x *CallLogRecord_ParticipantInfo) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[59] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4432,7 +4552,7 @@ type FavoritesAction_Favorite struct { func (x *FavoritesAction_Favorite) Reset() { *x = FavoritesAction_Favorite{} - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[60] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4444,7 +4564,7 @@ func (x *FavoritesAction_Favorite) String() string { func (*FavoritesAction_Favorite) ProtoMessage() {} func (x *FavoritesAction_Favorite) ProtoReflect() protoreflect.Message { - mi := &file_waSyncAction_WASyncAction_proto_msgTypes[60] + mi := &file_waSyncAction_WASyncAction_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4457,7 +4577,7 @@ func (x *FavoritesAction_Favorite) ProtoReflect() protoreflect.Message { // Deprecated: Use FavoritesAction_Favorite.ProtoReflect.Descriptor instead. func (*FavoritesAction_Favorite) Descriptor() ([]byte, []int) { - return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{11, 0} + return file_waSyncAction_WASyncAction_proto_rawDescGZIP(), []int{12, 0} } func (x *FavoritesAction_Favorite) GetID() string { @@ -4484,168 +4604,172 @@ func file_waSyncAction_WASyncAction_proto_rawDescGZIP() []byte { return file_waSyncAction_WASyncAction_proto_rawDescData } -var file_waSyncAction_WASyncAction_proto_enumTypes = make([]protoimpl.EnumInfo, 11) -var file_waSyncAction_WASyncAction_proto_msgTypes = make([]protoimpl.MessageInfo, 61) +var file_waSyncAction_WASyncAction_proto_enumTypes = make([]protoimpl.EnumInfo, 12) +var file_waSyncAction_WASyncAction_proto_msgTypes = make([]protoimpl.MessageInfo, 62) var file_waSyncAction_WASyncAction_proto_goTypes = []any{ - (CallLogRecord_CallType)(0), // 0: WASyncAction.CallLogRecord.CallType - (CallLogRecord_SilenceReason)(0), // 1: WASyncAction.CallLogRecord.SilenceReason - (CallLogRecord_CallResult)(0), // 2: WASyncAction.CallLogRecord.CallResult - (WaffleAccountLinkStateAction_AccountLinkState)(0), // 3: WASyncAction.WaffleAccountLinkStateAction.AccountLinkState - (MerchantPaymentPartnerAction_Status)(0), // 4: WASyncAction.MerchantPaymentPartnerAction.Status - (NoteEditAction_NoteType)(0), // 5: WASyncAction.NoteEditAction.NoteType - (StatusPrivacyAction_StatusDistributionMode)(0), // 6: WASyncAction.StatusPrivacyAction.StatusDistributionMode - (MarketingMessageAction_MarketingMessagePrototypeType)(0), // 7: WASyncAction.MarketingMessageAction.MarketingMessagePrototypeType - (UsernameChatStartModeAction_ChatStartMode)(0), // 8: WASyncAction.UsernameChatStartModeAction.ChatStartMode - (LabelEditAction_ListType)(0), // 9: WASyncAction.LabelEditAction.ListType - (PatchDebugData_Platform)(0), // 10: WASyncAction.PatchDebugData.Platform - (*CallLogRecord)(nil), // 11: WASyncAction.CallLogRecord - (*WaffleAccountLinkStateAction)(nil), // 12: WASyncAction.WaffleAccountLinkStateAction - (*MerchantPaymentPartnerAction)(nil), // 13: WASyncAction.MerchantPaymentPartnerAction - (*NoteEditAction)(nil), // 14: WASyncAction.NoteEditAction - (*StatusPrivacyAction)(nil), // 15: WASyncAction.StatusPrivacyAction - (*MarketingMessageAction)(nil), // 16: WASyncAction.MarketingMessageAction - (*UsernameChatStartModeAction)(nil), // 17: WASyncAction.UsernameChatStartModeAction - (*LabelEditAction)(nil), // 18: WASyncAction.LabelEditAction - (*PatchDebugData)(nil), // 19: WASyncAction.PatchDebugData - (*RecentEmojiWeight)(nil), // 20: WASyncAction.RecentEmojiWeight - (*SyncActionValue)(nil), // 21: WASyncAction.SyncActionValue - (*FavoritesAction)(nil), // 22: WASyncAction.FavoritesAction - (*PrivacySettingDisableLinkPreviewsAction)(nil), // 23: WASyncAction.PrivacySettingDisableLinkPreviewsAction - (*WamoUserIdentifierAction)(nil), // 24: WASyncAction.WamoUserIdentifierAction - (*LockChatAction)(nil), // 25: WASyncAction.LockChatAction - (*CustomPaymentMethodsAction)(nil), // 26: WASyncAction.CustomPaymentMethodsAction - (*CustomPaymentMethod)(nil), // 27: WASyncAction.CustomPaymentMethod - (*CustomPaymentMethodMetadata)(nil), // 28: WASyncAction.CustomPaymentMethodMetadata - (*PaymentInfoAction)(nil), // 29: WASyncAction.PaymentInfoAction - (*LabelReorderingAction)(nil), // 30: WASyncAction.LabelReorderingAction - (*DeleteIndividualCallLogAction)(nil), // 31: WASyncAction.DeleteIndividualCallLogAction - (*BotWelcomeRequestAction)(nil), // 32: WASyncAction.BotWelcomeRequestAction - (*CallLogAction)(nil), // 33: WASyncAction.CallLogAction - (*PrivacySettingRelayAllCalls)(nil), // 34: WASyncAction.PrivacySettingRelayAllCalls - (*ExternalWebBetaAction)(nil), // 35: WASyncAction.ExternalWebBetaAction - (*MarketingMessageBroadcastAction)(nil), // 36: WASyncAction.MarketingMessageBroadcastAction - (*PnForLidChatAction)(nil), // 37: WASyncAction.PnForLidChatAction - (*ChatAssignmentOpenedStatusAction)(nil), // 38: WASyncAction.ChatAssignmentOpenedStatusAction - (*ChatAssignmentAction)(nil), // 39: WASyncAction.ChatAssignmentAction - (*StickerAction)(nil), // 40: WASyncAction.StickerAction - (*RemoveRecentStickerAction)(nil), // 41: WASyncAction.RemoveRecentStickerAction - (*PrimaryVersionAction)(nil), // 42: WASyncAction.PrimaryVersionAction - (*NuxAction)(nil), // 43: WASyncAction.NuxAction - (*TimeFormatAction)(nil), // 44: WASyncAction.TimeFormatAction - (*UserStatusMuteAction)(nil), // 45: WASyncAction.UserStatusMuteAction - (*SubscriptionAction)(nil), // 46: WASyncAction.SubscriptionAction - (*AgentAction)(nil), // 47: WASyncAction.AgentAction - (*AndroidUnsupportedActions)(nil), // 48: WASyncAction.AndroidUnsupportedActions - (*PrimaryFeature)(nil), // 49: WASyncAction.PrimaryFeature - (*KeyExpiration)(nil), // 50: WASyncAction.KeyExpiration - (*SyncActionMessage)(nil), // 51: WASyncAction.SyncActionMessage - (*SyncActionMessageRange)(nil), // 52: WASyncAction.SyncActionMessageRange - (*UnarchiveChatsSetting)(nil), // 53: WASyncAction.UnarchiveChatsSetting - (*DeleteChatAction)(nil), // 54: WASyncAction.DeleteChatAction - (*ClearChatAction)(nil), // 55: WASyncAction.ClearChatAction - (*MarkChatAsReadAction)(nil), // 56: WASyncAction.MarkChatAsReadAction - (*DeleteMessageForMeAction)(nil), // 57: WASyncAction.DeleteMessageForMeAction - (*ArchiveChatAction)(nil), // 58: WASyncAction.ArchiveChatAction - (*RecentEmojiWeightsAction)(nil), // 59: WASyncAction.RecentEmojiWeightsAction - (*LabelAssociationAction)(nil), // 60: WASyncAction.LabelAssociationAction - (*QuickReplyAction)(nil), // 61: WASyncAction.QuickReplyAction - (*LocaleSetting)(nil), // 62: WASyncAction.LocaleSetting - (*PushNameSetting)(nil), // 63: WASyncAction.PushNameSetting - (*SecurityNotificationSetting)(nil), // 64: WASyncAction.SecurityNotificationSetting - (*PinAction)(nil), // 65: WASyncAction.PinAction - (*MuteAction)(nil), // 66: WASyncAction.MuteAction - (*ContactAction)(nil), // 67: WASyncAction.ContactAction - (*StarAction)(nil), // 68: WASyncAction.StarAction - (*SyncActionData)(nil), // 69: WASyncAction.SyncActionData - (*CallLogRecord_ParticipantInfo)(nil), // 70: WASyncAction.CallLogRecord.ParticipantInfo - (*FavoritesAction_Favorite)(nil), // 71: WASyncAction.FavoritesAction.Favorite - (*waChatLockSettings.ChatLockSettings)(nil), // 72: WAProtobufsChatLockSettings.ChatLockSettings - (*waDeviceCapabilities.DeviceCapabilities)(nil), // 73: WAProtobufsDeviceCapabilities.DeviceCapabilities - (*waCommon.MessageKey)(nil), // 74: WACommon.MessageKey + (CallLogRecord_CallType)(0), // 0: WASyncAction.CallLogRecord.CallType + (CallLogRecord_SilenceReason)(0), // 1: WASyncAction.CallLogRecord.SilenceReason + (CallLogRecord_CallResult)(0), // 2: WASyncAction.CallLogRecord.CallResult + (NotificationActivitySettingAction_NotificationActivitySetting)(0), // 3: WASyncAction.NotificationActivitySettingAction.NotificationActivitySetting + (WaffleAccountLinkStateAction_AccountLinkState)(0), // 4: WASyncAction.WaffleAccountLinkStateAction.AccountLinkState + (MerchantPaymentPartnerAction_Status)(0), // 5: WASyncAction.MerchantPaymentPartnerAction.Status + (NoteEditAction_NoteType)(0), // 6: WASyncAction.NoteEditAction.NoteType + (StatusPrivacyAction_StatusDistributionMode)(0), // 7: WASyncAction.StatusPrivacyAction.StatusDistributionMode + (MarketingMessageAction_MarketingMessagePrototypeType)(0), // 8: WASyncAction.MarketingMessageAction.MarketingMessagePrototypeType + (UsernameChatStartModeAction_ChatStartMode)(0), // 9: WASyncAction.UsernameChatStartModeAction.ChatStartMode + (LabelEditAction_ListType)(0), // 10: WASyncAction.LabelEditAction.ListType + (PatchDebugData_Platform)(0), // 11: WASyncAction.PatchDebugData.Platform + (*CallLogRecord)(nil), // 12: WASyncAction.CallLogRecord + (*NotificationActivitySettingAction)(nil), // 13: WASyncAction.NotificationActivitySettingAction + (*WaffleAccountLinkStateAction)(nil), // 14: WASyncAction.WaffleAccountLinkStateAction + (*MerchantPaymentPartnerAction)(nil), // 15: WASyncAction.MerchantPaymentPartnerAction + (*NoteEditAction)(nil), // 16: WASyncAction.NoteEditAction + (*StatusPrivacyAction)(nil), // 17: WASyncAction.StatusPrivacyAction + (*MarketingMessageAction)(nil), // 18: WASyncAction.MarketingMessageAction + (*UsernameChatStartModeAction)(nil), // 19: WASyncAction.UsernameChatStartModeAction + (*LabelEditAction)(nil), // 20: WASyncAction.LabelEditAction + (*PatchDebugData)(nil), // 21: WASyncAction.PatchDebugData + (*RecentEmojiWeight)(nil), // 22: WASyncAction.RecentEmojiWeight + (*SyncActionValue)(nil), // 23: WASyncAction.SyncActionValue + (*FavoritesAction)(nil), // 24: WASyncAction.FavoritesAction + (*PrivacySettingDisableLinkPreviewsAction)(nil), // 25: WASyncAction.PrivacySettingDisableLinkPreviewsAction + (*WamoUserIdentifierAction)(nil), // 26: WASyncAction.WamoUserIdentifierAction + (*LockChatAction)(nil), // 27: WASyncAction.LockChatAction + (*CustomPaymentMethodsAction)(nil), // 28: WASyncAction.CustomPaymentMethodsAction + (*CustomPaymentMethod)(nil), // 29: WASyncAction.CustomPaymentMethod + (*CustomPaymentMethodMetadata)(nil), // 30: WASyncAction.CustomPaymentMethodMetadata + (*PaymentInfoAction)(nil), // 31: WASyncAction.PaymentInfoAction + (*LabelReorderingAction)(nil), // 32: WASyncAction.LabelReorderingAction + (*DeleteIndividualCallLogAction)(nil), // 33: WASyncAction.DeleteIndividualCallLogAction + (*BotWelcomeRequestAction)(nil), // 34: WASyncAction.BotWelcomeRequestAction + (*CallLogAction)(nil), // 35: WASyncAction.CallLogAction + (*PrivacySettingRelayAllCalls)(nil), // 36: WASyncAction.PrivacySettingRelayAllCalls + (*ExternalWebBetaAction)(nil), // 37: WASyncAction.ExternalWebBetaAction + (*MarketingMessageBroadcastAction)(nil), // 38: WASyncAction.MarketingMessageBroadcastAction + (*PnForLidChatAction)(nil), // 39: WASyncAction.PnForLidChatAction + (*ChatAssignmentOpenedStatusAction)(nil), // 40: WASyncAction.ChatAssignmentOpenedStatusAction + (*ChatAssignmentAction)(nil), // 41: WASyncAction.ChatAssignmentAction + (*StickerAction)(nil), // 42: WASyncAction.StickerAction + (*RemoveRecentStickerAction)(nil), // 43: WASyncAction.RemoveRecentStickerAction + (*PrimaryVersionAction)(nil), // 44: WASyncAction.PrimaryVersionAction + (*NuxAction)(nil), // 45: WASyncAction.NuxAction + (*TimeFormatAction)(nil), // 46: WASyncAction.TimeFormatAction + (*UserStatusMuteAction)(nil), // 47: WASyncAction.UserStatusMuteAction + (*SubscriptionAction)(nil), // 48: WASyncAction.SubscriptionAction + (*AgentAction)(nil), // 49: WASyncAction.AgentAction + (*AndroidUnsupportedActions)(nil), // 50: WASyncAction.AndroidUnsupportedActions + (*PrimaryFeature)(nil), // 51: WASyncAction.PrimaryFeature + (*KeyExpiration)(nil), // 52: WASyncAction.KeyExpiration + (*SyncActionMessage)(nil), // 53: WASyncAction.SyncActionMessage + (*SyncActionMessageRange)(nil), // 54: WASyncAction.SyncActionMessageRange + (*UnarchiveChatsSetting)(nil), // 55: WASyncAction.UnarchiveChatsSetting + (*DeleteChatAction)(nil), // 56: WASyncAction.DeleteChatAction + (*ClearChatAction)(nil), // 57: WASyncAction.ClearChatAction + (*MarkChatAsReadAction)(nil), // 58: WASyncAction.MarkChatAsReadAction + (*DeleteMessageForMeAction)(nil), // 59: WASyncAction.DeleteMessageForMeAction + (*ArchiveChatAction)(nil), // 60: WASyncAction.ArchiveChatAction + (*RecentEmojiWeightsAction)(nil), // 61: WASyncAction.RecentEmojiWeightsAction + (*LabelAssociationAction)(nil), // 62: WASyncAction.LabelAssociationAction + (*QuickReplyAction)(nil), // 63: WASyncAction.QuickReplyAction + (*LocaleSetting)(nil), // 64: WASyncAction.LocaleSetting + (*PushNameSetting)(nil), // 65: WASyncAction.PushNameSetting + (*SecurityNotificationSetting)(nil), // 66: WASyncAction.SecurityNotificationSetting + (*PinAction)(nil), // 67: WASyncAction.PinAction + (*MuteAction)(nil), // 68: WASyncAction.MuteAction + (*ContactAction)(nil), // 69: WASyncAction.ContactAction + (*StarAction)(nil), // 70: WASyncAction.StarAction + (*SyncActionData)(nil), // 71: WASyncAction.SyncActionData + (*CallLogRecord_ParticipantInfo)(nil), // 72: WASyncAction.CallLogRecord.ParticipantInfo + (*FavoritesAction_Favorite)(nil), // 73: WASyncAction.FavoritesAction.Favorite + (*waChatLockSettings.ChatLockSettings)(nil), // 74: WAProtobufsChatLockSettings.ChatLockSettings + (*waDeviceCapabilities.DeviceCapabilities)(nil), // 75: WAProtobufsDeviceCapabilities.DeviceCapabilities + (*waCommon.MessageKey)(nil), // 76: WACommon.MessageKey } var file_waSyncAction_WASyncAction_proto_depIdxs = []int32{ 2, // 0: WASyncAction.CallLogRecord.callResult:type_name -> WASyncAction.CallLogRecord.CallResult 1, // 1: WASyncAction.CallLogRecord.silenceReason:type_name -> WASyncAction.CallLogRecord.SilenceReason - 70, // 2: WASyncAction.CallLogRecord.participants:type_name -> WASyncAction.CallLogRecord.ParticipantInfo + 72, // 2: WASyncAction.CallLogRecord.participants:type_name -> WASyncAction.CallLogRecord.ParticipantInfo 0, // 3: WASyncAction.CallLogRecord.callType:type_name -> WASyncAction.CallLogRecord.CallType - 3, // 4: WASyncAction.WaffleAccountLinkStateAction.linkState:type_name -> WASyncAction.WaffleAccountLinkStateAction.AccountLinkState - 4, // 5: WASyncAction.MerchantPaymentPartnerAction.status:type_name -> WASyncAction.MerchantPaymentPartnerAction.Status - 5, // 6: WASyncAction.NoteEditAction.type:type_name -> WASyncAction.NoteEditAction.NoteType - 6, // 7: WASyncAction.StatusPrivacyAction.mode:type_name -> WASyncAction.StatusPrivacyAction.StatusDistributionMode - 7, // 8: WASyncAction.MarketingMessageAction.type:type_name -> WASyncAction.MarketingMessageAction.MarketingMessagePrototypeType - 8, // 9: WASyncAction.UsernameChatStartModeAction.chatStartMode:type_name -> WASyncAction.UsernameChatStartModeAction.ChatStartMode - 9, // 10: WASyncAction.LabelEditAction.type:type_name -> WASyncAction.LabelEditAction.ListType - 10, // 11: WASyncAction.PatchDebugData.senderPlatform:type_name -> WASyncAction.PatchDebugData.Platform - 68, // 12: WASyncAction.SyncActionValue.starAction:type_name -> WASyncAction.StarAction - 67, // 13: WASyncAction.SyncActionValue.contactAction:type_name -> WASyncAction.ContactAction - 66, // 14: WASyncAction.SyncActionValue.muteAction:type_name -> WASyncAction.MuteAction - 65, // 15: WASyncAction.SyncActionValue.pinAction:type_name -> WASyncAction.PinAction - 64, // 16: WASyncAction.SyncActionValue.securityNotificationSetting:type_name -> WASyncAction.SecurityNotificationSetting - 63, // 17: WASyncAction.SyncActionValue.pushNameSetting:type_name -> WASyncAction.PushNameSetting - 61, // 18: WASyncAction.SyncActionValue.quickReplyAction:type_name -> WASyncAction.QuickReplyAction - 59, // 19: WASyncAction.SyncActionValue.recentEmojiWeightsAction:type_name -> WASyncAction.RecentEmojiWeightsAction - 18, // 20: WASyncAction.SyncActionValue.labelEditAction:type_name -> WASyncAction.LabelEditAction - 60, // 21: WASyncAction.SyncActionValue.labelAssociationAction:type_name -> WASyncAction.LabelAssociationAction - 62, // 22: WASyncAction.SyncActionValue.localeSetting:type_name -> WASyncAction.LocaleSetting - 58, // 23: WASyncAction.SyncActionValue.archiveChatAction:type_name -> WASyncAction.ArchiveChatAction - 57, // 24: WASyncAction.SyncActionValue.deleteMessageForMeAction:type_name -> WASyncAction.DeleteMessageForMeAction - 50, // 25: WASyncAction.SyncActionValue.keyExpiration:type_name -> WASyncAction.KeyExpiration - 56, // 26: WASyncAction.SyncActionValue.markChatAsReadAction:type_name -> WASyncAction.MarkChatAsReadAction - 55, // 27: WASyncAction.SyncActionValue.clearChatAction:type_name -> WASyncAction.ClearChatAction - 54, // 28: WASyncAction.SyncActionValue.deleteChatAction:type_name -> WASyncAction.DeleteChatAction - 53, // 29: WASyncAction.SyncActionValue.unarchiveChatsSetting:type_name -> WASyncAction.UnarchiveChatsSetting - 49, // 30: WASyncAction.SyncActionValue.primaryFeature:type_name -> WASyncAction.PrimaryFeature - 48, // 31: WASyncAction.SyncActionValue.androidUnsupportedActions:type_name -> WASyncAction.AndroidUnsupportedActions - 47, // 32: WASyncAction.SyncActionValue.agentAction:type_name -> WASyncAction.AgentAction - 46, // 33: WASyncAction.SyncActionValue.subscriptionAction:type_name -> WASyncAction.SubscriptionAction - 45, // 34: WASyncAction.SyncActionValue.userStatusMuteAction:type_name -> WASyncAction.UserStatusMuteAction - 44, // 35: WASyncAction.SyncActionValue.timeFormatAction:type_name -> WASyncAction.TimeFormatAction - 43, // 36: WASyncAction.SyncActionValue.nuxAction:type_name -> WASyncAction.NuxAction - 42, // 37: WASyncAction.SyncActionValue.primaryVersionAction:type_name -> WASyncAction.PrimaryVersionAction - 40, // 38: WASyncAction.SyncActionValue.stickerAction:type_name -> WASyncAction.StickerAction - 41, // 39: WASyncAction.SyncActionValue.removeRecentStickerAction:type_name -> WASyncAction.RemoveRecentStickerAction - 39, // 40: WASyncAction.SyncActionValue.chatAssignment:type_name -> WASyncAction.ChatAssignmentAction - 38, // 41: WASyncAction.SyncActionValue.chatAssignmentOpenedStatus:type_name -> WASyncAction.ChatAssignmentOpenedStatusAction - 37, // 42: WASyncAction.SyncActionValue.pnForLidChatAction:type_name -> WASyncAction.PnForLidChatAction - 16, // 43: WASyncAction.SyncActionValue.marketingMessageAction:type_name -> WASyncAction.MarketingMessageAction - 36, // 44: WASyncAction.SyncActionValue.marketingMessageBroadcastAction:type_name -> WASyncAction.MarketingMessageBroadcastAction - 35, // 45: WASyncAction.SyncActionValue.externalWebBetaAction:type_name -> WASyncAction.ExternalWebBetaAction - 34, // 46: WASyncAction.SyncActionValue.privacySettingRelayAllCalls:type_name -> WASyncAction.PrivacySettingRelayAllCalls - 33, // 47: WASyncAction.SyncActionValue.callLogAction:type_name -> WASyncAction.CallLogAction - 15, // 48: WASyncAction.SyncActionValue.statusPrivacy:type_name -> WASyncAction.StatusPrivacyAction - 32, // 49: WASyncAction.SyncActionValue.botWelcomeRequestAction:type_name -> WASyncAction.BotWelcomeRequestAction - 31, // 50: WASyncAction.SyncActionValue.deleteIndividualCallLog:type_name -> WASyncAction.DeleteIndividualCallLogAction - 30, // 51: WASyncAction.SyncActionValue.labelReorderingAction:type_name -> WASyncAction.LabelReorderingAction - 29, // 52: WASyncAction.SyncActionValue.paymentInfoAction:type_name -> WASyncAction.PaymentInfoAction - 26, // 53: WASyncAction.SyncActionValue.customPaymentMethodsAction:type_name -> WASyncAction.CustomPaymentMethodsAction - 25, // 54: WASyncAction.SyncActionValue.lockChatAction:type_name -> WASyncAction.LockChatAction - 72, // 55: WASyncAction.SyncActionValue.chatLockSettings:type_name -> WAProtobufsChatLockSettings.ChatLockSettings - 24, // 56: WASyncAction.SyncActionValue.wamoUserIdentifierAction:type_name -> WASyncAction.WamoUserIdentifierAction - 23, // 57: WASyncAction.SyncActionValue.privacySettingDisableLinkPreviewsAction:type_name -> WASyncAction.PrivacySettingDisableLinkPreviewsAction - 73, // 58: WASyncAction.SyncActionValue.deviceCapabilities:type_name -> WAProtobufsDeviceCapabilities.DeviceCapabilities - 14, // 59: WASyncAction.SyncActionValue.noteEditAction:type_name -> WASyncAction.NoteEditAction - 22, // 60: WASyncAction.SyncActionValue.favoritesAction:type_name -> WASyncAction.FavoritesAction - 13, // 61: WASyncAction.SyncActionValue.merchantPaymentPartnerAction:type_name -> WASyncAction.MerchantPaymentPartnerAction - 12, // 62: WASyncAction.SyncActionValue.waffleAccountLinkStateAction:type_name -> WASyncAction.WaffleAccountLinkStateAction - 17, // 63: WASyncAction.SyncActionValue.usernameChatStartMode:type_name -> WASyncAction.UsernameChatStartModeAction - 71, // 64: WASyncAction.FavoritesAction.favorites:type_name -> WASyncAction.FavoritesAction.Favorite - 27, // 65: WASyncAction.CustomPaymentMethodsAction.customPaymentMethods:type_name -> WASyncAction.CustomPaymentMethod - 28, // 66: WASyncAction.CustomPaymentMethod.metadata:type_name -> WASyncAction.CustomPaymentMethodMetadata - 11, // 67: WASyncAction.CallLogAction.callLogRecord:type_name -> WASyncAction.CallLogRecord - 74, // 68: WASyncAction.SyncActionMessage.key:type_name -> WACommon.MessageKey - 51, // 69: WASyncAction.SyncActionMessageRange.messages:type_name -> WASyncAction.SyncActionMessage - 52, // 70: WASyncAction.DeleteChatAction.messageRange:type_name -> WASyncAction.SyncActionMessageRange - 52, // 71: WASyncAction.ClearChatAction.messageRange:type_name -> WASyncAction.SyncActionMessageRange - 52, // 72: WASyncAction.MarkChatAsReadAction.messageRange:type_name -> WASyncAction.SyncActionMessageRange - 52, // 73: WASyncAction.ArchiveChatAction.messageRange:type_name -> WASyncAction.SyncActionMessageRange - 20, // 74: WASyncAction.RecentEmojiWeightsAction.weights:type_name -> WASyncAction.RecentEmojiWeight - 21, // 75: WASyncAction.SyncActionData.value:type_name -> WASyncAction.SyncActionValue - 2, // 76: WASyncAction.CallLogRecord.ParticipantInfo.callResult:type_name -> WASyncAction.CallLogRecord.CallResult - 77, // [77:77] is the sub-list for method output_type - 77, // [77:77] is the sub-list for method input_type - 77, // [77:77] is the sub-list for extension type_name - 77, // [77:77] is the sub-list for extension extendee - 0, // [0:77] is the sub-list for field type_name + 3, // 4: WASyncAction.NotificationActivitySettingAction.notificationActivitySetting:type_name -> WASyncAction.NotificationActivitySettingAction.NotificationActivitySetting + 4, // 5: WASyncAction.WaffleAccountLinkStateAction.linkState:type_name -> WASyncAction.WaffleAccountLinkStateAction.AccountLinkState + 5, // 6: WASyncAction.MerchantPaymentPartnerAction.status:type_name -> WASyncAction.MerchantPaymentPartnerAction.Status + 6, // 7: WASyncAction.NoteEditAction.type:type_name -> WASyncAction.NoteEditAction.NoteType + 7, // 8: WASyncAction.StatusPrivacyAction.mode:type_name -> WASyncAction.StatusPrivacyAction.StatusDistributionMode + 8, // 9: WASyncAction.MarketingMessageAction.type:type_name -> WASyncAction.MarketingMessageAction.MarketingMessagePrototypeType + 9, // 10: WASyncAction.UsernameChatStartModeAction.chatStartMode:type_name -> WASyncAction.UsernameChatStartModeAction.ChatStartMode + 10, // 11: WASyncAction.LabelEditAction.type:type_name -> WASyncAction.LabelEditAction.ListType + 11, // 12: WASyncAction.PatchDebugData.senderPlatform:type_name -> WASyncAction.PatchDebugData.Platform + 70, // 13: WASyncAction.SyncActionValue.starAction:type_name -> WASyncAction.StarAction + 69, // 14: WASyncAction.SyncActionValue.contactAction:type_name -> WASyncAction.ContactAction + 68, // 15: WASyncAction.SyncActionValue.muteAction:type_name -> WASyncAction.MuteAction + 67, // 16: WASyncAction.SyncActionValue.pinAction:type_name -> WASyncAction.PinAction + 66, // 17: WASyncAction.SyncActionValue.securityNotificationSetting:type_name -> WASyncAction.SecurityNotificationSetting + 65, // 18: WASyncAction.SyncActionValue.pushNameSetting:type_name -> WASyncAction.PushNameSetting + 63, // 19: WASyncAction.SyncActionValue.quickReplyAction:type_name -> WASyncAction.QuickReplyAction + 61, // 20: WASyncAction.SyncActionValue.recentEmojiWeightsAction:type_name -> WASyncAction.RecentEmojiWeightsAction + 20, // 21: WASyncAction.SyncActionValue.labelEditAction:type_name -> WASyncAction.LabelEditAction + 62, // 22: WASyncAction.SyncActionValue.labelAssociationAction:type_name -> WASyncAction.LabelAssociationAction + 64, // 23: WASyncAction.SyncActionValue.localeSetting:type_name -> WASyncAction.LocaleSetting + 60, // 24: WASyncAction.SyncActionValue.archiveChatAction:type_name -> WASyncAction.ArchiveChatAction + 59, // 25: WASyncAction.SyncActionValue.deleteMessageForMeAction:type_name -> WASyncAction.DeleteMessageForMeAction + 52, // 26: WASyncAction.SyncActionValue.keyExpiration:type_name -> WASyncAction.KeyExpiration + 58, // 27: WASyncAction.SyncActionValue.markChatAsReadAction:type_name -> WASyncAction.MarkChatAsReadAction + 57, // 28: WASyncAction.SyncActionValue.clearChatAction:type_name -> WASyncAction.ClearChatAction + 56, // 29: WASyncAction.SyncActionValue.deleteChatAction:type_name -> WASyncAction.DeleteChatAction + 55, // 30: WASyncAction.SyncActionValue.unarchiveChatsSetting:type_name -> WASyncAction.UnarchiveChatsSetting + 51, // 31: WASyncAction.SyncActionValue.primaryFeature:type_name -> WASyncAction.PrimaryFeature + 50, // 32: WASyncAction.SyncActionValue.androidUnsupportedActions:type_name -> WASyncAction.AndroidUnsupportedActions + 49, // 33: WASyncAction.SyncActionValue.agentAction:type_name -> WASyncAction.AgentAction + 48, // 34: WASyncAction.SyncActionValue.subscriptionAction:type_name -> WASyncAction.SubscriptionAction + 47, // 35: WASyncAction.SyncActionValue.userStatusMuteAction:type_name -> WASyncAction.UserStatusMuteAction + 46, // 36: WASyncAction.SyncActionValue.timeFormatAction:type_name -> WASyncAction.TimeFormatAction + 45, // 37: WASyncAction.SyncActionValue.nuxAction:type_name -> WASyncAction.NuxAction + 44, // 38: WASyncAction.SyncActionValue.primaryVersionAction:type_name -> WASyncAction.PrimaryVersionAction + 42, // 39: WASyncAction.SyncActionValue.stickerAction:type_name -> WASyncAction.StickerAction + 43, // 40: WASyncAction.SyncActionValue.removeRecentStickerAction:type_name -> WASyncAction.RemoveRecentStickerAction + 41, // 41: WASyncAction.SyncActionValue.chatAssignment:type_name -> WASyncAction.ChatAssignmentAction + 40, // 42: WASyncAction.SyncActionValue.chatAssignmentOpenedStatus:type_name -> WASyncAction.ChatAssignmentOpenedStatusAction + 39, // 43: WASyncAction.SyncActionValue.pnForLidChatAction:type_name -> WASyncAction.PnForLidChatAction + 18, // 44: WASyncAction.SyncActionValue.marketingMessageAction:type_name -> WASyncAction.MarketingMessageAction + 38, // 45: WASyncAction.SyncActionValue.marketingMessageBroadcastAction:type_name -> WASyncAction.MarketingMessageBroadcastAction + 37, // 46: WASyncAction.SyncActionValue.externalWebBetaAction:type_name -> WASyncAction.ExternalWebBetaAction + 36, // 47: WASyncAction.SyncActionValue.privacySettingRelayAllCalls:type_name -> WASyncAction.PrivacySettingRelayAllCalls + 35, // 48: WASyncAction.SyncActionValue.callLogAction:type_name -> WASyncAction.CallLogAction + 17, // 49: WASyncAction.SyncActionValue.statusPrivacy:type_name -> WASyncAction.StatusPrivacyAction + 34, // 50: WASyncAction.SyncActionValue.botWelcomeRequestAction:type_name -> WASyncAction.BotWelcomeRequestAction + 33, // 51: WASyncAction.SyncActionValue.deleteIndividualCallLog:type_name -> WASyncAction.DeleteIndividualCallLogAction + 32, // 52: WASyncAction.SyncActionValue.labelReorderingAction:type_name -> WASyncAction.LabelReorderingAction + 31, // 53: WASyncAction.SyncActionValue.paymentInfoAction:type_name -> WASyncAction.PaymentInfoAction + 28, // 54: WASyncAction.SyncActionValue.customPaymentMethodsAction:type_name -> WASyncAction.CustomPaymentMethodsAction + 27, // 55: WASyncAction.SyncActionValue.lockChatAction:type_name -> WASyncAction.LockChatAction + 74, // 56: WASyncAction.SyncActionValue.chatLockSettings:type_name -> WAProtobufsChatLockSettings.ChatLockSettings + 26, // 57: WASyncAction.SyncActionValue.wamoUserIdentifierAction:type_name -> WASyncAction.WamoUserIdentifierAction + 25, // 58: WASyncAction.SyncActionValue.privacySettingDisableLinkPreviewsAction:type_name -> WASyncAction.PrivacySettingDisableLinkPreviewsAction + 75, // 59: WASyncAction.SyncActionValue.deviceCapabilities:type_name -> WAProtobufsDeviceCapabilities.DeviceCapabilities + 16, // 60: WASyncAction.SyncActionValue.noteEditAction:type_name -> WASyncAction.NoteEditAction + 24, // 61: WASyncAction.SyncActionValue.favoritesAction:type_name -> WASyncAction.FavoritesAction + 15, // 62: WASyncAction.SyncActionValue.merchantPaymentPartnerAction:type_name -> WASyncAction.MerchantPaymentPartnerAction + 14, // 63: WASyncAction.SyncActionValue.waffleAccountLinkStateAction:type_name -> WASyncAction.WaffleAccountLinkStateAction + 19, // 64: WASyncAction.SyncActionValue.usernameChatStartMode:type_name -> WASyncAction.UsernameChatStartModeAction + 13, // 65: WASyncAction.SyncActionValue.notificationActivitySettingAction:type_name -> WASyncAction.NotificationActivitySettingAction + 73, // 66: WASyncAction.FavoritesAction.favorites:type_name -> WASyncAction.FavoritesAction.Favorite + 29, // 67: WASyncAction.CustomPaymentMethodsAction.customPaymentMethods:type_name -> WASyncAction.CustomPaymentMethod + 30, // 68: WASyncAction.CustomPaymentMethod.metadata:type_name -> WASyncAction.CustomPaymentMethodMetadata + 12, // 69: WASyncAction.CallLogAction.callLogRecord:type_name -> WASyncAction.CallLogRecord + 76, // 70: WASyncAction.SyncActionMessage.key:type_name -> WACommon.MessageKey + 53, // 71: WASyncAction.SyncActionMessageRange.messages:type_name -> WASyncAction.SyncActionMessage + 54, // 72: WASyncAction.DeleteChatAction.messageRange:type_name -> WASyncAction.SyncActionMessageRange + 54, // 73: WASyncAction.ClearChatAction.messageRange:type_name -> WASyncAction.SyncActionMessageRange + 54, // 74: WASyncAction.MarkChatAsReadAction.messageRange:type_name -> WASyncAction.SyncActionMessageRange + 54, // 75: WASyncAction.ArchiveChatAction.messageRange:type_name -> WASyncAction.SyncActionMessageRange + 22, // 76: WASyncAction.RecentEmojiWeightsAction.weights:type_name -> WASyncAction.RecentEmojiWeight + 23, // 77: WASyncAction.SyncActionData.value:type_name -> WASyncAction.SyncActionValue + 2, // 78: WASyncAction.CallLogRecord.ParticipantInfo.callResult:type_name -> WASyncAction.CallLogRecord.CallResult + 79, // [79:79] is the sub-list for method output_type + 79, // [79:79] is the sub-list for method input_type + 79, // [79:79] is the sub-list for extension type_name + 79, // [79:79] is the sub-list for extension extendee + 0, // [0:79] is the sub-list for field type_name } func init() { file_waSyncAction_WASyncAction_proto_init() } @@ -4658,8 +4782,8 @@ func file_waSyncAction_WASyncAction_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_waSyncAction_WASyncAction_proto_rawDesc, - NumEnums: 11, - NumMessages: 61, + NumEnums: 12, + NumMessages: 62, NumExtensions: 0, NumServices: 0, }, diff --git a/proto/waSyncAction/WASyncAction.pb.raw b/proto/waSyncAction/WASyncAction.pb.raw index 4cbc0aec469f74eaaa935a0e9e9fdea0bc499618..f0384debc32ceb4ba80cee5594cf58178ed1b943 100644 GIT binary patch delta 491 zcmZoqJesnBk+psq6PKc2eo1CpW^!UlW`3Sya!F=cW=UmmYDr0EUOI@IpC{DI$R(YJ zTa^T(0;2|>k+)vBV{m0&GDMReL1Td`>T%i}gwH~yLM~}M#tTVsiMY7BIfnX##5?-< z#QVAi2RpjE1`99<32^Zsi)aZj3h{Aqd3d^e_yBQ8umF>g7?%)CGm<#-Ce|J{#vhw| zxp|owvnS8y4HXmO;9~I%aC8x17vkb#3wL!4@(&i^nEZj)g=vw>W;4FUg7reRT#9%C a4iZulHo)NHHqs|C_<{(Vy!od5IspKE@24LC delta 42 zcmV+_0M-A+WQSp}0R^)v28#v(; WAWebProtobufsWa6.ClientPayload.UserAgent - 13, // 1: WAWebProtobufsWa6.ClientPayload.webInfo:type_name -> WAWebProtobufsWa6.ClientPayload.WebInfo - 2, // 2: WAWebProtobufsWa6.ClientPayload.connectType:type_name -> WAWebProtobufsWa6.ClientPayload.ConnectType - 3, // 3: WAWebProtobufsWa6.ClientPayload.connectReason:type_name -> WAWebProtobufsWa6.ClientPayload.ConnectReason - 12, // 4: WAWebProtobufsWa6.ClientPayload.dnsSource:type_name -> WAWebProtobufsWa6.ClientPayload.DNSSource - 16, // 5: WAWebProtobufsWa6.ClientPayload.devicePairingData:type_name -> WAWebProtobufsWa6.ClientPayload.DevicePairingRegistrationData - 1, // 6: WAWebProtobufsWa6.ClientPayload.product:type_name -> WAWebProtobufsWa6.ClientPayload.Product - 4, // 7: WAWebProtobufsWa6.ClientPayload.iosAppExtension:type_name -> WAWebProtobufsWa6.ClientPayload.IOSAppExtension - 15, // 8: WAWebProtobufsWa6.ClientPayload.interopData:type_name -> WAWebProtobufsWa6.ClientPayload.InteropData + 15, // 0: WAWebProtobufsWa6.ClientPayload.userAgent:type_name -> WAWebProtobufsWa6.ClientPayload.UserAgent + 14, // 1: WAWebProtobufsWa6.ClientPayload.webInfo:type_name -> WAWebProtobufsWa6.ClientPayload.WebInfo + 3, // 2: WAWebProtobufsWa6.ClientPayload.connectType:type_name -> WAWebProtobufsWa6.ClientPayload.ConnectType + 4, // 3: WAWebProtobufsWa6.ClientPayload.connectReason:type_name -> WAWebProtobufsWa6.ClientPayload.ConnectReason + 13, // 4: WAWebProtobufsWa6.ClientPayload.dnsSource:type_name -> WAWebProtobufsWa6.ClientPayload.DNSSource + 17, // 5: WAWebProtobufsWa6.ClientPayload.devicePairingData:type_name -> WAWebProtobufsWa6.ClientPayload.DevicePairingRegistrationData + 2, // 6: WAWebProtobufsWa6.ClientPayload.product:type_name -> WAWebProtobufsWa6.ClientPayload.Product + 5, // 7: WAWebProtobufsWa6.ClientPayload.iosAppExtension:type_name -> WAWebProtobufsWa6.ClientPayload.IOSAppExtension + 16, // 8: WAWebProtobufsWa6.ClientPayload.interopData:type_name -> WAWebProtobufsWa6.ClientPayload.InteropData 0, // 9: WAWebProtobufsWa6.ClientPayload.trafficAnonymization:type_name -> WAWebProtobufsWa6.ClientPayload.TrafficAnonymization - 21, // 10: WAWebProtobufsWa6.HandshakeMessage.clientHello:type_name -> WAWebProtobufsWa6.HandshakeMessage.ClientHello - 20, // 11: WAWebProtobufsWa6.HandshakeMessage.serverHello:type_name -> WAWebProtobufsWa6.HandshakeMessage.ServerHello - 19, // 12: WAWebProtobufsWa6.HandshakeMessage.clientFinish:type_name -> WAWebProtobufsWa6.HandshakeMessage.ClientFinish - 5, // 13: WAWebProtobufsWa6.ClientPayload.DNSSource.dnsMethod:type_name -> WAWebProtobufsWa6.ClientPayload.DNSSource.DNSResolutionMethod - 17, // 14: WAWebProtobufsWa6.ClientPayload.WebInfo.webdPayload:type_name -> WAWebProtobufsWa6.ClientPayload.WebInfo.WebdPayload - 6, // 15: WAWebProtobufsWa6.ClientPayload.WebInfo.webSubPlatform:type_name -> WAWebProtobufsWa6.ClientPayload.WebInfo.WebSubPlatform - 9, // 16: WAWebProtobufsWa6.ClientPayload.UserAgent.platform:type_name -> WAWebProtobufsWa6.ClientPayload.UserAgent.Platform - 18, // 17: WAWebProtobufsWa6.ClientPayload.UserAgent.appVersion:type_name -> WAWebProtobufsWa6.ClientPayload.UserAgent.AppVersion - 8, // 18: WAWebProtobufsWa6.ClientPayload.UserAgent.releaseChannel:type_name -> WAWebProtobufsWa6.ClientPayload.UserAgent.ReleaseChannel - 7, // 19: WAWebProtobufsWa6.ClientPayload.UserAgent.deviceType:type_name -> WAWebProtobufsWa6.ClientPayload.UserAgent.DeviceType - 20, // [20:20] is the sub-list for method output_type - 20, // [20:20] is the sub-list for method input_type - 20, // [20:20] is the sub-list for extension type_name - 20, // [20:20] is the sub-list for extension extendee - 0, // [0:20] is the sub-list for field type_name + 1, // 10: WAWebProtobufsWa6.ClientPayload.accountType:type_name -> WAWebProtobufsWa6.ClientPayload.AccountType + 22, // 11: WAWebProtobufsWa6.HandshakeMessage.clientHello:type_name -> WAWebProtobufsWa6.HandshakeMessage.ClientHello + 21, // 12: WAWebProtobufsWa6.HandshakeMessage.serverHello:type_name -> WAWebProtobufsWa6.HandshakeMessage.ServerHello + 20, // 13: WAWebProtobufsWa6.HandshakeMessage.clientFinish:type_name -> WAWebProtobufsWa6.HandshakeMessage.ClientFinish + 6, // 14: WAWebProtobufsWa6.ClientPayload.DNSSource.dnsMethod:type_name -> WAWebProtobufsWa6.ClientPayload.DNSSource.DNSResolutionMethod + 18, // 15: WAWebProtobufsWa6.ClientPayload.WebInfo.webdPayload:type_name -> WAWebProtobufsWa6.ClientPayload.WebInfo.WebdPayload + 7, // 16: WAWebProtobufsWa6.ClientPayload.WebInfo.webSubPlatform:type_name -> WAWebProtobufsWa6.ClientPayload.WebInfo.WebSubPlatform + 10, // 17: WAWebProtobufsWa6.ClientPayload.UserAgent.platform:type_name -> WAWebProtobufsWa6.ClientPayload.UserAgent.Platform + 19, // 18: WAWebProtobufsWa6.ClientPayload.UserAgent.appVersion:type_name -> WAWebProtobufsWa6.ClientPayload.UserAgent.AppVersion + 9, // 19: WAWebProtobufsWa6.ClientPayload.UserAgent.releaseChannel:type_name -> WAWebProtobufsWa6.ClientPayload.UserAgent.ReleaseChannel + 8, // 20: WAWebProtobufsWa6.ClientPayload.UserAgent.deviceType:type_name -> WAWebProtobufsWa6.ClientPayload.UserAgent.DeviceType + 21, // [21:21] is the sub-list for method output_type + 21, // [21:21] is the sub-list for method input_type + 21, // [21:21] is the sub-list for extension type_name + 21, // [21:21] is the sub-list for extension extendee + 0, // [0:21] is the sub-list for field type_name } func init() { file_waWa6_WAWebProtobufsWa6_proto_init() } @@ -2004,7 +2081,7 @@ func file_waWa6_WAWebProtobufsWa6_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_waWa6_WAWebProtobufsWa6_proto_rawDesc, - NumEnums: 10, + NumEnums: 11, NumMessages: 12, NumExtensions: 0, NumServices: 0, diff --git a/proto/waWa6/WAWebProtobufsWa6.pb.raw b/proto/waWa6/WAWebProtobufsWa6.pb.raw index a14bbca794e9ba7ede9f212ea4f2ee7f2ea8f779..e4ad8a4ab41223aa17d49c3f1a35a0809d78b2a1 100644 GIT binary patch delta 176 zcmcbs)1x=Rm}#-*M$-URYatab-ki)7mn7fJ^rFO))D#I#1x5{yAXGsiKQ8XXa4Dpc=l(_gR!B91)^H$VxW1vik67sB&>5DG=i3Vs~+Ma}4zf5nvGF 1 { diff --git a/retry.go b/retry.go index cf173abb..5f87c174 100644 --- a/retry.go +++ b/retry.go @@ -147,16 +147,11 @@ func (cli *Client) handleRetryReceipt(receipt *events.Receipt, node *waBinary.No return nil } - ownID := cli.getOwnID() - if ownID.IsEmpty() { - return ErrNotLoggedIn - } - var fbSKDM *waMsgTransport.MessageTransport_Protocol_Ancillary_SenderKeyDistributionMessage var fbDSM *waMsgTransport.MessageTransport_Protocol_Integral_DeviceSentMessage if receipt.IsGroup { builder := groups.NewGroupSessionBuilder(cli.Store, pbSerializer) - senderKeyName := protocol.NewSenderKeyName(receipt.Chat.String(), ownID.SignalAddress()) + senderKeyName := protocol.NewSenderKeyName(receipt.Chat.String(), cli.getOwnLID().SignalAddress()) signalSKDMessage, err := builder.Create(senderKeyName) if err != nil { cli.Log.Warnf("Failed to create sender key distribution message to include in retry of %s in %s to %s: %v", messageID, receipt.Chat, receipt.Sender, err) @@ -245,7 +240,17 @@ func (cli *Client) handleRetryReceipt(receipt *events.Receipt, node *waBinary.No var encrypted *waBinary.Node var includeDeviceIdentity bool if msg.wa != nil { - encrypted, includeDeviceIdentity, err = cli.encryptMessageForDevice(plaintext, receipt.Sender, bundle, encAttrs) + encryptionIdentity := receipt.Sender + if receipt.Sender.Server == types.DefaultUserServer { + lidForPN, err := cli.Store.LIDs.GetLIDForPN(context.TODO(), receipt.Sender) + if err != nil { + cli.Log.Warnf("Failed to get LID for %s: %v", receipt.Sender, err) + } else if !lidForPN.IsEmpty() { + cli.migrateSessionStore(receipt.Sender, lidForPN) + encryptionIdentity = lidForPN + } + } + encrypted, includeDeviceIdentity, err = cli.encryptMessageForDevice(plaintext, encryptionIdentity, bundle, encAttrs) } else { encrypted, err = cli.encryptMessageForDeviceV3(&waMsgTransport.MessageTransport_Payload{ ApplicationPayload: &waCommon.SubProtocol{ @@ -280,7 +285,9 @@ func (cli *Client) handleRetryReceipt(receipt *events.Receipt, node *waBinary.No } var content []waBinary.Node if msg.wa != nil { - content = cli.getMessageContent(*encrypted, msg.wa, attrs, includeDeviceIdentity, nil) + content = cli.getMessageContent( + *encrypted, msg.wa, attrs, includeDeviceIdentity, nodeExtraParams{}, + ) } else { content = []waBinary.Node{ *encrypted, diff --git a/send.go b/send.go index 9c45c3f4..967f20d7 100644 --- a/send.go +++ b/send.go @@ -25,6 +25,7 @@ import ( "go.mau.fi/libsignal/protocol" "go.mau.fi/libsignal/session" "go.mau.fi/libsignal/signalerror" + "go.mau.fi/util/ptr" "go.mau.fi/util/random" "google.golang.org/protobuf/proto" @@ -114,6 +115,10 @@ type SendResponse struct { // Message handling duration, used for debugging DebugTimings MessageDebugTimings + + // The identity the message was sent with (LID or PN) + // This is currently not reliable in all cases. + Sender types.JID } // SendRequestExtra contains the optional parameters for SendMessage. @@ -140,6 +145,8 @@ type SendRequestExtra struct { Timeout time.Duration // When sending media to newsletters, the Handle field returned by the file upload. MediaHandle string + + Meta *types.MsgMetaInfo } // SendMessage sends the given message. @@ -215,17 +222,19 @@ func (cli *Client) SendMessage(ctx context.Context, to types.JID, message *waE2E } isBotMode := isInlineBotMode || to.IsBot() - var botNode *waBinary.Node + needsMessageSecret := isBotMode + var extraParams nodeExtraParams - if isBotMode { + if needsMessageSecret { if message.MessageContextInfo == nil { message.MessageContextInfo = &waE2E.MessageContextInfo{} } - if message.MessageContextInfo.MessageSecret == nil { message.MessageContextInfo.MessageSecret = random.Bytes(32) } + } + if isBotMode { if message.MessageContextInfo.BotMetadata == nil { message.MessageContextInfo.BotMetadata = &waE2E.BotMetadata{ PersonaID: proto.String("867051314767696$760019659443059"), @@ -261,8 +270,8 @@ func (cli *Client) SendMessage(ctx context.Context, to types.JID, message *waE2E return } - participantNodes, _ := cli.encryptMessageForDevices(ctx, []types.JID{req.InlineBotJID}, ownID, resp.ID, messagePlaintext, nil, waBinary.Attrs{}) - botNode = &waBinary.Node{ + participantNodes, _ := cli.encryptMessageForDevices(ctx, []types.JID{req.InlineBotJID}, resp.ID, messagePlaintext, nil, waBinary.Attrs{}) + extraParams.botNode = &waBinary.Node{ Tag: "bot", Attrs: nil, Content: participantNodes, @@ -270,6 +279,63 @@ func (cli *Client) SendMessage(ctx context.Context, to types.JID, message *waE2E } } + var groupParticipants []types.JID + if to.Server == types.GroupServer || to.Server == types.BroadcastServer { + start := time.Now() + if to.Server == types.GroupServer { + var cachedData *groupMetaCache + cachedData, err = cli.getCachedGroupData(ctx, to) + if err != nil { + err = fmt.Errorf("failed to get group members: %w", err) + return + } + groupParticipants = cachedData.Members + // TODO this is fairly hacky, is there a proper way to determine which identity the message is sent with? + if cachedData.AddressingMode == types.AddressingModeLID { + ownID = cli.getOwnLID() + extraParams.addressingMode = types.AddressingModeLID + if req.Meta == nil { + req.Meta = &types.MsgMetaInfo{} + } + req.Meta.DeprecatedLIDSession = ptr.Ptr(false) + } else if cachedData.CommunityAnnouncementGroup && req.Meta != nil { + ownID = cli.getOwnLID() + // Why is this set to PN? + extraParams.addressingMode = types.AddressingModePN + } + } else { + // TODO use context + groupParticipants, err = cli.getBroadcastListParticipants(to) + if err != nil { + err = fmt.Errorf("failed to get broadcast list members: %w", err) + return + } + } + resp.DebugTimings.GetParticipants = time.Since(start) + } else if to.Server == types.HiddenUserServer { + ownID = cli.getOwnLID() + extraParams.addressingMode = types.AddressingModeLID + // if req.Meta == nil { + // req.Meta = &types.MsgMetaInfo{} + // } + // req.Meta.DeprecatedLIDSession = ptr.Ptr(false) + } + if req.Meta != nil { + extraParams.metaNode = &waBinary.Node{ + Tag: "meta", + Attrs: waBinary.Attrs{}, + } + if req.Meta.DeprecatedLIDSession != nil { + extraParams.metaNode.Attrs["deprecated_lid_session"] = *req.Meta.DeprecatedLIDSession + } + if req.Meta.ThreadMessageID != "" { + extraParams.metaNode.Attrs["thread_msg_id"] = req.Meta.ThreadMessageID + extraParams.metaNode.Attrs["thread_msg_sender_jid"] = req.Meta.ThreadMessageSenderJID + } + } + + resp.Sender = ownID + start := time.Now() // Sending multiple messages at a time can cause weird issues and makes it harder to retry safely cli.messageSendLock.Lock() @@ -294,12 +360,12 @@ func (cli *Client) SendMessage(ctx context.Context, to types.JID, message *waE2E var data []byte switch to.Server { case types.GroupServer, types.BroadcastServer: - phash, data, err = cli.sendGroup(ctx, to, ownID, req.ID, message, &resp.DebugTimings, botNode) - case types.DefaultUserServer: + phash, data, err = cli.sendGroup(ctx, to, groupParticipants, req.ID, message, &resp.DebugTimings, extraParams) + case types.DefaultUserServer, types.BotServer: if req.Peer { data, err = cli.sendPeerMessage(to, req.ID, message, &resp.DebugTimings) } else { - data, err = cli.sendDM(ctx, to, ownID, req.ID, message, &resp.DebugTimings, botNode) + data, err = cli.sendDM(ctx, ownID, to, req.ID, message, &resp.DebugTimings, extraParams) } case types.NewsletterServer: data, err = cli.sendNewsletter(to, req.ID, message, req.MediaHandle, &resp.DebugTimings) @@ -348,9 +414,9 @@ func (cli *Client) SendMessage(ctx context.Context, to types.JID, message *waE2E if len(expectedPHash) > 0 && phash != expectedPHash { cli.Log.Warnf("Server returned different participant list hash when sending to %s. Some devices may not have received the message.", to) // TODO also invalidate device list caches - cli.groupParticipantsCacheLock.Lock() - delete(cli.groupParticipantsCache, to) - cli.groupParticipantsCacheLock.Unlock() + cli.groupCacheLock.Lock() + delete(cli.groupCache, to) + cli.groupCacheLock.Unlock() } return } @@ -373,9 +439,9 @@ func (cli *Client) BuildMessageKey(chat, sender types.JID, id types.MessageID) * ID: proto.String(id), RemoteJID: proto.String(chat.String()), } - if !sender.IsEmpty() && sender.User != cli.getOwnID().User { + if !sender.IsEmpty() && sender.User != cli.getOwnID().User && sender.User != cli.getOwnLID().User { key.FromMe = proto.Bool(false) - if chat.Server != types.DefaultUserServer && chat.Server != types.MessengerServer { + if chat.Server != types.DefaultUserServer && chat.Server != types.HiddenUserServer && chat.Server != types.MessengerServer { key.Participant = proto.String(sender.ToNonAD().String()) } } @@ -561,7 +627,13 @@ func participantListHashV2(participants []types.JID) string { return fmt.Sprintf("2:%s", base64.RawStdEncoding.EncodeToString(hash[:6])) } -func (cli *Client) sendNewsletter(to types.JID, id types.MessageID, message *waE2E.Message, mediaID string, timings *MessageDebugTimings) ([]byte, error) { +func (cli *Client) sendNewsletter( + to types.JID, + id types.MessageID, + message *waE2E.Message, + mediaID string, + timings *MessageDebugTimings, +) ([]byte, error) { attrs := waBinary.Attrs{ "to": to, "id": id, @@ -588,8 +660,10 @@ func (cli *Client) sendNewsletter(to types.JID, id types.MessageID, message *waE Content: plaintext, Attrs: waBinary.Attrs{}, } - if mediaType := getMediaTypeFromMessage(message); mediaType != "" { - plaintextNode.Attrs["mediatype"] = mediaType + if message != nil { + if mediaType := getMediaTypeFromMessage(message); mediaType != "" { + plaintextNode.Attrs["mediatype"] = mediaType + } } node := waBinary.Node{ Tag: "message", @@ -605,25 +679,22 @@ func (cli *Client) sendNewsletter(to types.JID, id types.MessageID, message *waE return data, nil } -func (cli *Client) sendGroup(ctx context.Context, to, ownID types.JID, id types.MessageID, message *waE2E.Message, timings *MessageDebugTimings, botNode *waBinary.Node) (string, []byte, error) { - var participants []types.JID - var err error +type nodeExtraParams struct { + botNode *waBinary.Node + metaNode *waBinary.Node + addressingMode types.AddressingMode +} + +func (cli *Client) sendGroup( + ctx context.Context, + to types.JID, + participants []types.JID, + id types.MessageID, + message *waE2E.Message, + timings *MessageDebugTimings, + extraParams nodeExtraParams, +) (string, []byte, error) { start := time.Now() - if to.Server == types.GroupServer { - // participants, err = cli.getGroupMembers(ctx, to) - // if err != nil { - // return "", nil, fmt.Errorf("failed to get group members: %w", err) - // } - participants = []types.JID{ownID} - } else { - // TODO use context - participants, err = cli.getBroadcastListParticipants(to) - if err != nil { - return "", nil, fmt.Errorf("failed to get broadcast list members: %w", err) - } - } - timings.GetParticipants = time.Since(start) - start = time.Now() plaintext, _, err := marshalMessage(to, message) timings.Marshal = time.Since(start) if err != nil { @@ -632,7 +703,7 @@ func (cli *Client) sendGroup(ctx context.Context, to, ownID types.JID, id types. start = time.Now() builder := groups.NewGroupSessionBuilder(cli.Store, pbSerializer) - senderKeyName := protocol.NewSenderKeyName(to.String(), ownID.SignalAddress()) + senderKeyName := protocol.NewSenderKeyName(to.String(), cli.getOwnLID().SignalAddress()) signalSKDMessage, err := builder.Create(senderKeyName) if err != nil { return "", nil, fmt.Errorf("failed to create sender key distribution message to send %s to %s: %w", id, to, err) @@ -656,7 +727,9 @@ func (cli *Client) sendGroup(ctx context.Context, to, ownID types.JID, id types. ciphertext := encrypted.SignedSerialize() timings.GroupEncrypt = time.Since(start) - node, allDevices, err := cli.prepareMessageNode(ctx, to, ownID, id, message, participants, skdPlaintext, nil, timings, botNode) + node, allDevices, err := cli.prepareMessageNode( + ctx, to, id, message, participants, skdPlaintext, nil, timings, extraParams, + ) if err != nil { return "", nil, err } @@ -668,14 +741,8 @@ func (cli *Client) sendGroup(ctx context.Context, to, ownID types.JID, id types. Content: ciphertext, Attrs: waBinary.Attrs{"v": "2", "type": "skmsg"}, } - // if mediaType := getMediaTypeFromMessage(message); mediaType != "" { - // skMsg.Attrs["mediatype"] = mediaType - // } - //revoke newsletter https://github.com/tulir/whatsmeow/pull/762 - if message != nil { - if mediaType := getMediaTypeFromMessage(message); mediaType != "" { - skMsg.Attrs["mediatype"] = mediaType - } + if mediaType := getMediaTypeFromMessage(message); mediaType != "" { + skMsg.Attrs["mediatype"] = mediaType } node.Content = append(node.GetChildren(), skMsg) @@ -702,7 +769,15 @@ func (cli *Client) sendPeerMessage(to types.JID, id types.MessageID, message *wa return data, nil } -func (cli *Client) sendDM(ctx context.Context, to, ownID types.JID, id types.MessageID, message *waE2E.Message, timings *MessageDebugTimings, botNode *waBinary.Node) ([]byte, error) { +func (cli *Client) sendDM( + ctx context.Context, + ownID, + to types.JID, + id types.MessageID, + message *waE2E.Message, + timings *MessageDebugTimings, + extraParams nodeExtraParams, +) ([]byte, error) { start := time.Now() messagePlaintext, deviceSentMessagePlaintext, err := marshalMessage(to, message) timings.Marshal = time.Since(start) @@ -710,7 +785,10 @@ func (cli *Client) sendDM(ctx context.Context, to, ownID types.JID, id types.Mes return nil, err } - node, _, err := cli.prepareMessageNode(ctx, to, ownID, id, message, []types.JID{to, ownID.ToNonAD()}, messagePlaintext, deviceSentMessagePlaintext, timings, botNode) + node, _, err := cli.prepareMessageNode( + ctx, to, id, message, []types.JID{to, ownID.ToNonAD()}, + messagePlaintext, deviceSentMessagePlaintext, timings, extraParams, + ) if err != nil { return nil, err } @@ -737,7 +815,7 @@ func getTypeFromMessage(msg *waE2E.Message) string { return getTypeFromMessage(msg.EphemeralMessage.Message) case msg.DocumentWithCaptionMessage != nil: return getTypeFromMessage(msg.DocumentWithCaptionMessage.Message) - case msg.ReactionMessage != nil: + case msg.ReactionMessage != nil, msg.EncReactionMessage != nil: return "reaction" case msg.PollCreationMessage != nil, msg.PollUpdateMessage != nil: return "poll" @@ -909,7 +987,13 @@ func (cli *Client) preparePeerMessageNode(to types.JID, id types.MessageID, mess }, nil } -func (cli *Client) getMessageContent(baseNode waBinary.Node, message *waE2E.Message, msgAttrs waBinary.Attrs, includeIdentity bool, botNode *waBinary.Node) []waBinary.Node { +func (cli *Client) getMessageContent( + baseNode waBinary.Node, + message *waE2E.Message, + msgAttrs waBinary.Attrs, + includeIdentity bool, + extraParams nodeExtraParams, +) []waBinary.Node { content := []waBinary.Node{baseNode} if includeIdentity { content = append(content, cli.makeDeviceIdentityNode()) @@ -927,8 +1011,11 @@ func (cli *Client) getMessageContent(baseNode waBinary.Node, message *waE2E.Mess }) } - if botNode != nil { - content = append(content, *botNode) + if extraParams.botNode != nil { + content = append(content, *extraParams.botNode) + } + if extraParams.metaNode != nil { + content = append(content, *extraParams.metaNode) } if buttonType := getButtonTypeFromMessage(message); buttonType != "" { @@ -943,7 +1030,16 @@ func (cli *Client) getMessageContent(baseNode waBinary.Node, message *waE2E.Mess return content } -func (cli *Client) prepareMessageNode(ctx context.Context, to, ownID types.JID, id types.MessageID, message *waE2E.Message, participants []types.JID, plaintext, dsmPlaintext []byte, timings *MessageDebugTimings, botNode *waBinary.Node) (*waBinary.Node, []types.JID, error) { +func (cli *Client) prepareMessageNode( + ctx context.Context, + to types.JID, + id types.MessageID, + message *waE2E.Message, + participants []types.JID, + plaintext, dsmPlaintext []byte, + timings *MessageDebugTimings, + extraParams nodeExtraParams, +) (*waBinary.Node, []types.JID, error) { start := time.Now() allDevices, err := cli.GetUserDevicesContext(ctx, participants) timings.GetDevices = time.Since(start) @@ -962,6 +1058,10 @@ func (cli *Client) prepareMessageNode(ctx context.Context, to, ownID types.JID, "type": msgType, "to": to, } + // TODO this is a very hacky hack for announcement group messages, why is it pn anyway? + if extraParams.addressingMode != "" { + attrs["addressing_mode"] = string(extraParams.addressingMode) + } if editAttr := getEditAttribute(message); editAttr != "" { attrs["edit"] = string(editAttr) encAttrs["decrypt-fail"] = string(events.DecryptFailHide) @@ -971,16 +1071,20 @@ func (cli *Client) prepareMessageNode(ctx context.Context, to, ownID types.JID, } start = time.Now() - participantNodes, includeIdentity := cli.encryptMessageForDevices(ctx, allDevices, ownID, id, plaintext, dsmPlaintext, encAttrs) + participantNodes, includeIdentity := cli.encryptMessageForDevices( + ctx, allDevices, id, plaintext, dsmPlaintext, encAttrs, + ) timings.PeerEncrypt = time.Since(start) participantNode := waBinary.Node{ Tag: "participants", Content: participantNodes, } return &waBinary.Node{ - Tag: "message", - Attrs: attrs, - Content: cli.getMessageContent(participantNode, message, attrs, includeIdentity, botNode), + Tag: "message", + Attrs: attrs, + Content: cli.getMessageContent( + participantNode, message, attrs, includeIdentity, extraParams, + ), }, allDevices, nil } @@ -1000,6 +1104,7 @@ func marshalMessage(to types.JID, message *waE2E.Message) (plaintext, dsmPlainte DestinationJID: proto.String(to.String()), Message: message, }, + MessageContextInfo: message.MessageContextInfo, }) if err != nil { err = fmt.Errorf("failed to marshal message (for own devices): %w", err) @@ -1021,21 +1126,43 @@ func (cli *Client) makeDeviceIdentityNode() waBinary.Node { } } -func (cli *Client) encryptMessageForDevices(ctx context.Context, allDevices []types.JID, ownID types.JID, id string, msgPlaintext, dsmPlaintext []byte, encAttrs waBinary.Attrs) ([]waBinary.Node, bool) { +func (cli *Client) encryptMessageForDevices( + ctx context.Context, + allDevices []types.JID, + id string, + msgPlaintext, dsmPlaintext []byte, + encAttrs waBinary.Attrs, +) ([]waBinary.Node, bool) { + ownJID := cli.getOwnID() + ownLID := cli.getOwnLID() includeIdentity := false participantNodes := make([]waBinary.Node, 0, len(allDevices)) - var retryDevices []types.JID + var retryDevices, retryEncryptionIdentities []types.JID for _, jid := range allDevices { plaintext := msgPlaintext - if jid.User == ownID.User && dsmPlaintext != nil { - if jid == ownID { + if (jid.User == ownJID.User || jid.User == ownLID.User) && dsmPlaintext != nil { + if jid == ownJID { continue } plaintext = dsmPlaintext } - encrypted, isPreKey, err := cli.encryptMessageForDeviceAndWrap(plaintext, jid, nil, encAttrs) + encryptionIdentity := jid + if jid.Server == types.DefaultUserServer { + lidForPN, err := cli.Store.LIDs.GetLIDForPN(ctx, jid) + if err != nil { + cli.Log.Warnf("Failed to get LID for %s: %v", jid, err) + } else if !lidForPN.IsEmpty() { + cli.migrateSessionStore(jid, lidForPN) + encryptionIdentity = lidForPN + } + } + + encrypted, isPreKey, err := cli.encryptMessageForDeviceAndWrap( + plaintext, jid, encryptionIdentity, nil, encAttrs, + ) if errors.Is(err, ErrNoSession) { retryDevices = append(retryDevices, jid) + retryEncryptionIdentities = append(retryEncryptionIdentities, encryptionIdentity) continue } else if err != nil { cli.Log.Warnf("Failed to encrypt %s for %s: %v", id, jid, err) @@ -1052,17 +1179,19 @@ func (cli *Client) encryptMessageForDevices(ctx context.Context, allDevices []ty if err != nil { cli.Log.Warnf("Failed to fetch prekeys for %v to retry encryption: %v", retryDevices, err) } else { - for _, jid := range retryDevices { + for i, jid := range retryDevices { resp := bundles[jid] if resp.err != nil { cli.Log.Warnf("Failed to fetch prekey for %s: %v", jid, resp.err) continue } plaintext := msgPlaintext - if jid.User == ownID.User && dsmPlaintext != nil { + if (jid.User == ownJID.User || jid.User == ownLID.User) && dsmPlaintext != nil { plaintext = dsmPlaintext } - encrypted, isPreKey, err := cli.encryptMessageForDeviceAndWrap(plaintext, jid, resp.bundle, encAttrs) + encrypted, isPreKey, err := cli.encryptMessageForDeviceAndWrap( + plaintext, jid, retryEncryptionIdentities[i], resp.bundle, encAttrs, + ) if err != nil { cli.Log.Warnf("Failed to encrypt %s for %s (retry): %v", id, jid, err) continue @@ -1077,14 +1206,22 @@ func (cli *Client) encryptMessageForDevices(ctx context.Context, allDevices []ty return participantNodes, includeIdentity } -func (cli *Client) encryptMessageForDeviceAndWrap(plaintext []byte, to types.JID, bundle *prekey.Bundle, encAttrs waBinary.Attrs) (*waBinary.Node, bool, error) { - node, includeDeviceIdentity, err := cli.encryptMessageForDevice(plaintext, to, bundle, encAttrs) +func (cli *Client) encryptMessageForDeviceAndWrap( + plaintext []byte, + wireIdentity, + encryptionIdentity types.JID, + bundle *prekey.Bundle, + encAttrs waBinary.Attrs, +) (*waBinary.Node, bool, error) { + node, includeDeviceIdentity, err := cli.encryptMessageForDevice( + plaintext, encryptionIdentity, bundle, encAttrs, + ) if err != nil { return nil, false, err } return &waBinary.Node{ Tag: "to", - Attrs: waBinary.Attrs{"jid": to}, + Attrs: waBinary.Attrs{"jid": wireIdentity}, Content: []waBinary.Node{*node}, }, includeDeviceIdentity, nil } @@ -1095,7 +1232,12 @@ func copyAttrs(from, to waBinary.Attrs) { } } -func (cli *Client) encryptMessageForDevice(plaintext []byte, to types.JID, bundle *prekey.Bundle, extraAttrs waBinary.Attrs) (*waBinary.Node, bool, error) { +func (cli *Client) encryptMessageForDevice( + plaintext []byte, + to types.JID, + bundle *prekey.Bundle, + extraAttrs waBinary.Attrs, +) (*waBinary.Node, bool, error) { builder := session.NewBuilderFromSignal(cli.Store, to.SignalAddress(), pbSerializer) if bundle != nil { cli.Log.Debugf("Processing prekey bundle for %s", to) diff --git a/sendfb.go b/sendfb.go index 7e5e1bc5..e29dbd2b 100644 --- a/sendfb.go +++ b/sendfb.go @@ -197,9 +197,9 @@ func (cli *Client) SendFBMessage( if len(expectedPHash) > 0 && phash != expectedPHash { cli.Log.Warnf("Server returned different participant list hash when sending to %s. Some devices may not have received the message.", to) // TODO also invalidate device list caches - cli.groupParticipantsCacheLock.Lock() - delete(cli.groupParticipantsCache, to) - cli.groupParticipantsCacheLock.Unlock() + cli.groupCacheLock.Lock() + delete(cli.groupCache, to) + cli.groupCacheLock.Unlock() } return } @@ -214,11 +214,11 @@ func (cli *Client) sendGroupV3( frankingTag []byte, timings *MessageDebugTimings, ) (string, []byte, error) { - var participants []types.JID + var groupMeta *groupMetaCache var err error start := time.Now() if to.Server == types.GroupServer { - participants, err = cli.getGroupMembers(ctx, to) + groupMeta, err = cli.getCachedGroupData(ctx, to) if err != nil { return "", nil, fmt.Errorf("failed to get group members: %w", err) } @@ -272,7 +272,9 @@ func (cli *Client) sendGroupV3( ciphertext := encrypted.SignedSerialize() timings.GroupEncrypt = time.Since(start) - node, allDevices, err := cli.prepareMessageNodeV3(ctx, to, ownID, id, nil, skdm, msgAttrs, frankingTag, participants, timings) + node, allDevices, err := cli.prepareMessageNodeV3( + ctx, to, ownID, id, nil, skdm, msgAttrs, frankingTag, groupMeta.Members, timings, + ) if err != nil { return "", nil, err } diff --git a/store/clientpayload.go b/store/clientpayload.go index f8408531..f94a8108 100644 --- a/store/clientpayload.go +++ b/store/clientpayload.go @@ -76,7 +76,7 @@ func (vc WAVersionContainer) ProtoAppVersion() *waWa6.ClientPayload_UserAgent_Ap } // waVersion is the WhatsApp web client version -var waVersion = WAVersionContainer{2, 3000, 1020776899} +var waVersion = WAVersionContainer{2, 3000, 1021636778} // waVersionHash is the md5 hash of a dot-separated waVersion var waVersionHash [16]byte diff --git a/store/noop.go b/store/noop.go index 4a4c2d63..80929a59 100644 --- a/store/noop.go +++ b/store/noop.go @@ -7,6 +7,7 @@ package store import ( + "context" "errors" "time" @@ -77,6 +78,10 @@ func (n *NoopStore) DeleteSession(address string) error { return n.Error } +func (n *NoopStore) MigratePNToLID(ctx context.Context, pn, lid types.JID) error { + return n.Error +} + func (n *NoopStore) GetOrGenPreKeys(count uint32) ([]*keys.PreKey, error) { return nil, n.Error } @@ -213,11 +218,18 @@ func (n *NoopStore) DeleteDevice(store *Device) error { return n.Error } -// Add missing implement https://github.com/tulir/whatsmeow/pull/771 -func (n *NoopStore) GetRepliedAndTimestamp(jid string) (*bool, *int64, error) { - return nil, nil, n.Error +func (n *NoopStore) GetLIDForPN(ctx context.Context, pn types.JID) (types.JID, error) { + return types.JID{}, n.Error } -func (n *NoopStore) SetRepliedIfNot(jid string) (bool, error) { - return false, n.Error +func (n *NoopStore) GetPNForLID(ctx context.Context, lid types.JID) (types.JID, error) { + return types.JID{}, n.Error +} + +func (n *NoopStore) PutManyLIDMappings(ctx context.Context, mappings []LIDMapping) error { + return n.Error +} + +func (n *NoopStore) PutLIDMapping(ctx context.Context, lid types.JID, jid types.JID) error { + return n.Error } diff --git a/store/signal.go b/store/signal.go index 04cbd3f7..dbee709b 100644 --- a/store/signal.go +++ b/store/signal.go @@ -125,7 +125,7 @@ func (device *Device) StoreSession(address *protocol.SignalAddress, record *reco func (device *Device) ContainsSession(remoteAddress *protocol.SignalAddress) bool { for i := 0; ; i++ { hasSession, err := device.Sessions.HasSession(remoteAddress.String()) - if err == nil || !device.handleDatabaseError(i, err, "store has session for %s", remoteAddress.String()) { + if err == nil || !device.handleDatabaseError(i, err, "check if store has session for %s", remoteAddress.String()) { return hasSession } } diff --git a/store/sqlstore/container.go b/store/sqlstore/container.go index 90cda3f4..009abe82 100644 --- a/store/sqlstore/container.go +++ b/store/sqlstore/container.go @@ -7,16 +7,19 @@ package sqlstore import ( + "context" "database/sql" "errors" "fmt" - mathRand "math/rand" + mathRand "math/rand/v2" "github.com/google/uuid" + "go.mau.fi/util/dbutil" "go.mau.fi/util/random" "github.com/techwiz37/waSocket/proto/waAdv" "github.com/techwiz37/waSocket/store" + "github.com/techwiz37/waSocket/store/sqlstore/upgrades" "github.com/techwiz37/waSocket/types" "github.com/techwiz37/waSocket/util/keys" waLog "github.com/techwiz37/waSocket/util/log" @@ -24,9 +27,9 @@ import ( // Container is a wrapper for a SQL database that can contain multiple waSocket sessions. type Container struct { - db *sql.DB - dialect string - log waLog.Logger + db *dbutil.Database + log waLog.Logger + LIDMap *CachedLIDMap DatabaseErrorHandler func(device *store.Device, action string, attemptIndex int, err error) (retry bool) } @@ -74,18 +77,44 @@ func New(dialect, address string, log waLog.Logger) (*Container, error) { // container := sqlstore.NewWithDB(...) // err := container.Upgrade() func NewWithDB(db *sql.DB, dialect string, log waLog.Logger) *Container { + wrapped, err := dbutil.NewWithDB(db, dialect) + if err != nil { + // This will only panic if the dialect is invalid + panic(err) + } + wrapped.UpgradeTable = upgrades.Table + wrapped.VersionTable = "waSocket_version" + return NewWithWrappedDB(wrapped, log) +} + +func NewWithWrappedDB(wrapped *dbutil.Database, log waLog.Logger) *Container { if log == nil { log = waLog.Noop } return &Container{ - db: db, - dialect: dialect, - log: log, + db: wrapped, + log: log, + LIDMap: NewCachedLIDMap(wrapped), + } +} + +// Upgrade upgrades the database from the current to the latest version available. +func (c *Container) Upgrade() error { + if c.db.Dialect == dbutil.SQLite { + var foreignKeysEnabled bool + err := c.db.QueryRow(context.TODO(), "PRAGMA foreign_keys").Scan(&foreignKeysEnabled) + if err != nil { + return fmt.Errorf("failed to check if foreign keys are enabled: %w", err) + } else if !foreignKeysEnabled { + return fmt.Errorf("foreign keys are not enabled") + } } + + return c.db.Upgrade(context.TODO()) } const getAllDevicesQuery = ` -SELECT jid, registration_id, noise_key, identity_key, +SELECT jid, lid, registration_id, noise_key, identity_key, signed_pre_key, signed_pre_key_id, signed_pre_key_sig, adv_key, adv_details, adv_account_sig, adv_account_sig_key, adv_device_sig, platform, business_name, push_name, facebook_uuid @@ -94,11 +123,7 @@ FROM waSocket_device const getDeviceQuery = getAllDevicesQuery + " WHERE jid=$1" -type scannable interface { - Scan(dest ...interface{}) error -} - -func (c *Container) scanDevice(row scannable) (*store.Device, error) { +func (c *Container) scanDevice(row dbutil.Scannable) (*store.Device, error) { var device store.Device device.DatabaseErrorHandler = c.DatabaseErrorHandler device.Log = c.log @@ -108,7 +133,7 @@ func (c *Container) scanDevice(row scannable) (*store.Device, error) { var fbUUID uuid.NullUUID err := row.Scan( - &device.ID, &device.RegistrationID, &noisePriv, &identityPriv, + &device.ID, &device.LID, &device.RegistrationID, &noisePriv, &identityPriv, &preKeyPriv, &device.SignedPreKey.KeyID, &preKeySig, &device.AdvSecretKey, &account.Details, &account.AccountSignature, &account.AccountSignatureKey, &account.DeviceSignature, &device.Platform, &device.BusinessName, &device.PushName, &fbUUID) @@ -125,26 +150,14 @@ func (c *Container) scanDevice(row scannable) (*store.Device, error) { device.Account = &account device.FacebookUUID = fbUUID.UUID - innerStore := NewSQLStore(c, *device.ID) - device.Identities = innerStore - device.Sessions = innerStore - device.PreKeys = innerStore - device.SenderKeys = innerStore - device.AppStateKeys = innerStore - device.AppState = innerStore - device.Contacts = innerStore - device.ChatSettings = innerStore - device.MsgSecrets = innerStore - device.PrivacyTokens = innerStore - device.Container = c - device.Initialized = true + c.initializeDevice(&device) return &device, nil } // GetAllDevices finds all the devices in the database. func (c *Container) GetAllDevices() ([]*store.Device, error) { - res, err := c.db.Query(getAllDevicesQuery) + res, err := c.db.Query(context.TODO(), getAllDevicesQuery) if err != nil { return nil, fmt.Errorf("failed to query sessions: %w", err) } @@ -180,7 +193,7 @@ func (c *Container) GetFirstDevice() (*store.Device, error) { // // Note that the parameter usually must be an AD-JID. func (c *Container) GetDevice(jid types.JID) (*store.Device, error) { - sess, err := c.scanDevice(c.db.QueryRow(getDeviceQuery, jid)) + sess, err := c.scanDevice(c.db.QueryRow(context.TODO(), getDeviceQuery, jid)) if errors.Is(err, sql.ErrNoRows) { return nil, nil } @@ -189,13 +202,16 @@ func (c *Container) GetDevice(jid types.JID) (*store.Device, error) { const ( insertDeviceQuery = ` - INSERT INTO waSocket_device (jid, registration_id, noise_key, identity_key, + INSERT INTO waSocket_device (jid, lid, registration_id, noise_key, identity_key, signed_pre_key, signed_pre_key_id, signed_pre_key_sig, adv_key, adv_details, adv_account_sig, adv_account_sig_key, adv_device_sig, platform, business_name, push_name, facebook_uuid) - VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16) + VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17) ON CONFLICT (jid) DO UPDATE - SET platform=excluded.platform, business_name=excluded.business_name, push_name=excluded.push_name + SET lid=excluded.lid, + platform=excluded.platform, + business_name=excluded.business_name, + push_name=excluded.push_name ` deleteDeviceQuery = `DELETE FROM waSocket_device WHERE jid=$1` ) @@ -237,34 +253,40 @@ func (c *Container) PutDevice(device *store.Device) error { if device.ID == nil { return ErrDeviceIDMustBeSet } - _, err := c.db.Exec(insertDeviceQuery, - device.ID.String(), device.RegistrationID, device.NoiseKey.Priv[:], device.IdentityKey.Priv[:], + _, err := c.db.Exec(context.TODO(), insertDeviceQuery, + device.ID, device.LID, device.RegistrationID, device.NoiseKey.Priv[:], device.IdentityKey.Priv[:], device.SignedPreKey.Priv[:], device.SignedPreKey.KeyID, device.SignedPreKey.Signature[:], device.AdvSecretKey, device.Account.Details, device.Account.AccountSignature, device.Account.AccountSignatureKey, device.Account.DeviceSignature, device.Platform, device.BusinessName, device.PushName, uuid.NullUUID{UUID: device.FacebookUUID, Valid: device.FacebookUUID != uuid.Nil}) if !device.Initialized { - innerStore := NewSQLStore(c, *device.ID) - device.Identities = innerStore - device.Sessions = innerStore - device.PreKeys = innerStore - device.SenderKeys = innerStore - device.AppStateKeys = innerStore - device.AppState = innerStore - device.Contacts = innerStore - device.ChatSettings = innerStore - device.MsgSecrets = innerStore - device.PrivacyTokens = innerStore - device.Initialized = true + c.initializeDevice(device) } return err } +func (c *Container) initializeDevice(device *store.Device) { + innerStore := NewSQLStore(c, *device.ID) + device.Identities = innerStore + device.Sessions = innerStore + device.PreKeys = innerStore + device.SenderKeys = innerStore + device.AppStateKeys = innerStore + device.AppState = innerStore + device.Contacts = innerStore + device.ChatSettings = innerStore + device.MsgSecrets = innerStore + device.PrivacyTokens = innerStore + device.LIDs = c.LIDMap + device.Container = c + device.Initialized = true +} + // DeleteDevice deletes the given device from this database. This should be called through Device.Delete() func (c *Container) DeleteDevice(store *store.Device) error { if store.ID == nil { return ErrDeviceIDMustBeSet } - _, err := c.db.Exec(deleteDeviceQuery, store.ID.String()) + _, err := c.db.Exec(context.TODO(), deleteDeviceQuery, store.ID) return err } diff --git a/store/sqlstore/lidmap.go b/store/sqlstore/lidmap.go new file mode 100644 index 00000000..6992805f --- /dev/null +++ b/store/sqlstore/lidmap.go @@ -0,0 +1,165 @@ +// Copyright (c) 2025 Tulir Asokan +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at http://mozilla.org/MPL/2.0/. + +// Package sqlstore contains an SQL-backed implementation of the interfaces in the store package. +package sqlstore + +import ( + "context" + "database/sql" + "errors" + "slices" + "sync" + + "go.mau.fi/util/dbutil" + + "github.com/techwiz37/waSocket/store" + "github.com/techwiz37/waSocket/types" +) + +type CachedLIDMap struct { + db *dbutil.Database + + pnToLIDCache map[string]string + lidToPNCache map[string]string + cacheFilled bool + lidCacheLock sync.RWMutex +} + +var _ store.LIDStore = (*CachedLIDMap)(nil) + +func NewCachedLIDMap(db *dbutil.Database) *CachedLIDMap { + return &CachedLIDMap{ + db: db, + + pnToLIDCache: make(map[string]string), + lidToPNCache: make(map[string]string), + } +} + +const ( + deleteExistingLIDMappingQuery = `DELETE FROM waSocket_lid_map WHERE (lid<>$1 AND pn=$2)` + putLIDMappingQuery = ` + INSERT INTO waSocket_lid_map (lid, pn) + VALUES ($1, $2) + ON CONFLICT (lid) DO UPDATE SET pn=excluded.pn WHERE waSocket_lid_map.pn<>excluded.pn + ` + getLIDForPNQuery = `SELECT lid FROM waSocket_lid_map WHERE pn=$1` + getPNForLIDQuery = `SELECT pn FROM waSocket_lid_map WHERE lid=$1` + getAllLIDMappingsQuery = `SELECT lid, pn FROM waSocket_lid_map` +) + +func (s *CachedLIDMap) FillCache(ctx context.Context) error { + s.lidCacheLock.Lock() + defer s.lidCacheLock.Unlock() + rows, err := s.db.Query(ctx, getAllLIDMappingsQuery) + if err != nil { + return err + } + defer rows.Close() + for rows.Next() { + var lid, pn string + err = rows.Scan(&lid, &pn) + if err != nil { + return err + } + s.pnToLIDCache[pn] = lid + s.lidToPNCache[lid] = pn + } + s.cacheFilled = true + return nil +} + +func (s *CachedLIDMap) getLIDMapping(ctx context.Context, source types.JID, targetServer, query string, sourceToTarget, targetToSource map[string]string) (types.JID, error) { + s.lidCacheLock.RLock() + targetUser, ok := sourceToTarget[source.User] + cacheFilled := s.cacheFilled + s.lidCacheLock.RUnlock() + if ok || cacheFilled { + if targetUser == "" { + return types.JID{}, nil + } + return types.JID{User: targetUser, Device: source.Device, Server: targetServer}, nil + } + s.lidCacheLock.Lock() + defer s.lidCacheLock.Unlock() + err := s.db.QueryRow(ctx, query, source.User).Scan(&targetServer) + if errors.Is(err, sql.ErrNoRows) { + // continue with empty result + } else if err != nil { + return types.JID{}, err + } + sourceToTarget[source.User] = targetServer + if targetServer != "" { + targetToSource[targetServer] = source.User + return types.JID{User: targetServer, Device: source.Device, Server: targetServer}, nil + } + return types.JID{}, nil +} + +func (s *CachedLIDMap) GetLIDForPN(ctx context.Context, pn types.JID) (types.JID, error) { + return s.getLIDMapping( + ctx, pn, types.HiddenUserServer, getLIDForPNQuery, + s.pnToLIDCache, s.lidToPNCache, + ) +} + +func (s *CachedLIDMap) GetPNForLID(ctx context.Context, lid types.JID) (types.JID, error) { + return s.getLIDMapping( + ctx, lid, types.DefaultUserServer, getPNForLIDQuery, + s.lidToPNCache, s.pnToLIDCache, + ) +} + +func (s *CachedLIDMap) PutLIDMapping(ctx context.Context, lid, pn types.JID) error { + s.lidCacheLock.Lock() + defer s.lidCacheLock.Unlock() + cachedLID, ok := s.pnToLIDCache[pn.User] + if ok && cachedLID == lid.User { + return nil + } + return s.db.DoTxn(ctx, nil, func(ctx context.Context) error { + return s.unlockedPutLIDMapping(ctx, lid, pn) + }) +} + +func (s *CachedLIDMap) PutManyLIDMappings(ctx context.Context, mappings []store.LIDMapping) error { + s.lidCacheLock.Lock() + defer s.lidCacheLock.Unlock() + mappings = slices.DeleteFunc(mappings, func(mapping store.LIDMapping) bool { + cachedLID, ok := s.pnToLIDCache[mapping.PN.User] + if ok && cachedLID == mapping.LID.User { + return true + } + return false + }) + if len(mappings) == 0 { + return nil + } + return s.db.DoTxn(ctx, nil, func(ctx context.Context) error { + for _, mapping := range mappings { + err := s.unlockedPutLIDMapping(ctx, mapping.LID, mapping.PN) + if err != nil { + return err + } + } + return nil + }) +} + +func (s *CachedLIDMap) unlockedPutLIDMapping(ctx context.Context, lid, pn types.JID) error { + _, err := s.db.Exec(ctx, deleteExistingLIDMappingQuery, lid.User, pn.User) + if err != nil { + return err + } + _, err = s.db.Exec(ctx, putLIDMappingQuery, lid.User, pn.User) + if err != nil { + return err + } + s.pnToLIDCache[pn.User] = lid.User + s.lidToPNCache[lid.User] = pn.User + return nil +} diff --git a/store/sqlstore/store.go b/store/sqlstore/store.go index d7f75204..c7b64e51 100644 --- a/store/sqlstore/store.go +++ b/store/sqlstore/store.go @@ -1,4 +1,4 @@ -// Copyright (c) 2022 Tulir Asokan +// Copyright (c) 2025 Tulir Asokan // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -8,14 +8,19 @@ package sqlstore import ( + "context" "database/sql" "database/sql/driver" "errors" "fmt" + "slices" "strings" "sync" "time" + "go.mau.fi/util/dbutil" + "go.mau.fi/util/exsync" + "github.com/techwiz37/waSocket/store" "github.com/techwiz37/waSocket/types" "github.com/techwiz37/waSocket/util/keys" @@ -30,7 +35,7 @@ var ErrInvalidLength = errors.New("database returned byte array with illegal len // When using github.com/lib/pq, you should set // // waSocket.PostgresArrayWrapper = pq.Array -var PostgresArrayWrapper func(interface{}) interface { +var PostgresArrayWrapper func(any) interface { driver.Valuer sql.Scanner } @@ -43,6 +48,8 @@ type SQLStore struct { contactCache map[types.JID]*types.ContactInfo contactCacheLock sync.Mutex + + migratedPNSessionsCache *exsync.Set[string] } // NewSQLStore creates a new SQLStore with the given database container and user JID. @@ -54,10 +61,12 @@ func NewSQLStore(c *Container, jid types.JID) *SQLStore { Container: c, JID: jid.String(), contactCache: make(map[types.JID]*types.ContactInfo), + + migratedPNSessionsCache: exsync.NewSet[string](), } } -var _ store.AllStores = (*SQLStore)(nil) +var _ store.AllSessionSpecificStores = (*SQLStore)(nil) const ( putIdentityQuery = ` @@ -70,23 +79,23 @@ const ( ) func (s *SQLStore) PutIdentity(address string, key [32]byte) error { - _, err := s.db.Exec(putIdentityQuery, s.JID, address, key[:]) + _, err := s.db.Exec(context.TODO(), putIdentityQuery, s.JID, address, key[:]) return err } func (s *SQLStore) DeleteAllIdentities(phone string) error { - _, err := s.db.Exec(deleteAllIdentitiesQuery, s.JID, phone+":%") + _, err := s.db.Exec(context.TODO(), deleteAllIdentitiesQuery, s.JID, phone+":%") return err } func (s *SQLStore) DeleteIdentity(address string) error { - _, err := s.db.Exec(deleteAllIdentitiesQuery, s.JID, address) + _, err := s.db.Exec(context.TODO(), deleteAllIdentitiesQuery, s.JID, address) return err } func (s *SQLStore) IsTrustedIdentity(address string, key [32]byte) (bool, error) { var existingIdentity []byte - err := s.db.QueryRow(getIdentityQuery, s.JID, address).Scan(&existingIdentity) + err := s.db.QueryRow(context.TODO(), getIdentityQuery, s.JID, address).Scan(&existingIdentity) if errors.Is(err, sql.ErrNoRows) { // Trust if not known, it'll be saved automatically later return true, nil @@ -107,10 +116,26 @@ const ( ` deleteAllSessionsQuery = `DELETE FROM waSocket_sessions WHERE our_jid=$1 AND their_id LIKE $2` deleteSessionQuery = `DELETE FROM waSocket_sessions WHERE our_jid=$1 AND their_id=$2` + + migratePNToLIDSessionsQuery = ` + INSERT INTO waSocket_sessions (our_jid, their_id, session) + SELECT $1, replace(their_id, $2, $3), session + FROM waSocket_sessions + WHERE our_jid=$1 AND their_id LIKE $2 || ':%' + ON CONFLICT (our_jid, their_id) DO UPDATE SET session=excluded.session + ` + deleteAllSenderKeysQuery = `DELETE FROM waSocket_sender_keys WHERE our_jid=$1 AND sender_id LIKE $2` + migratePNToLIDSenderKeysQuery = ` + INSERT INTO waSocket_sender_keys (our_jid, chat_id, sender_id, sender_key) + SELECT $1, chat_id, replace(sender_id, $2, $3), sender_key + FROM waSocket_sender_keys + WHERE our_jid=$1 AND sender_id LIKE $2 || ':%' + ON CONFLICT (our_jid, chat_id, sender_id) DO UPDATE SET sender_key=excluded.sender_key + ` ) func (s *SQLStore) GetSession(address string) (session []byte, err error) { - err = s.db.QueryRow(getSessionQuery, s.JID, address).Scan(&session) + err = s.db.QueryRow(context.TODO(), getSessionQuery, s.JID, address).Scan(&session) if errors.Is(err, sql.ErrNoRows) { err = nil } @@ -118,7 +143,7 @@ func (s *SQLStore) GetSession(address string) (session []byte, err error) { } func (s *SQLStore) HasSession(address string) (has bool, err error) { - err = s.db.QueryRow(hasSessionQuery, s.JID, address).Scan(&has) + err = s.db.QueryRow(context.TODO(), hasSessionQuery, s.JID, address).Scan(&has) if errors.Is(err, sql.ErrNoRows) { err = nil } @@ -126,20 +151,74 @@ func (s *SQLStore) HasSession(address string) (has bool, err error) { } func (s *SQLStore) PutSession(address string, session []byte) error { - _, err := s.db.Exec(putSessionQuery, s.JID, address, session) + _, err := s.db.Exec(context.TODO(), putSessionQuery, s.JID, address, session) return err } func (s *SQLStore) DeleteAllSessions(phone string) error { - _, err := s.db.Exec(deleteAllSessionsQuery, s.JID, phone+":%") + return s.deleteAllSessions(context.TODO(), phone) +} + +func (s *SQLStore) deleteAllSessions(ctx context.Context, phone string) error { + _, err := s.db.Exec(ctx, deleteAllSessionsQuery, s.JID, phone+":%") + return err +} + +func (s *SQLStore) deleteAllSenderKeys(ctx context.Context, phone string) error { + _, err := s.db.Exec(ctx, deleteAllSenderKeysQuery, s.JID, phone+":%") return err } func (s *SQLStore) DeleteSession(address string) error { - _, err := s.db.Exec(deleteSessionQuery, s.JID, address) + _, err := s.db.Exec(context.TODO(), deleteSessionQuery, s.JID, address) return err } +func (s *SQLStore) MigratePNToLID(ctx context.Context, pn, lid types.JID) error { + pnSignal := pn.SignalAddressUser() + if !s.migratedPNSessionsCache.Add(pnSignal) { + return nil + } + var sessionsUpdated, senderKeysUpdated int64 + lidSignal := lid.SignalAddressUser() + err := s.db.DoTxn(ctx, nil, func(ctx context.Context) error { + res, err := s.db.Exec(ctx, migratePNToLIDSessionsQuery, s.JID, pnSignal, lidSignal) + if err != nil { + return fmt.Errorf("failed to migrate sessions: %w", err) + } + sessionsUpdated, err = res.RowsAffected() + if err != nil { + return fmt.Errorf("failed to get rows affected for sessions: %w", err) + } + err = s.deleteAllSessions(ctx, pnSignal) + if err != nil { + return fmt.Errorf("failed to delete extra sessions: %w", err) + } + res, err = s.db.Exec(ctx, migratePNToLIDSenderKeysQuery, s.JID, pnSignal, lidSignal) + if err != nil { + return fmt.Errorf("failed to migrate sender keys: %w", err) + } + senderKeysUpdated, err = res.RowsAffected() + if err != nil { + return fmt.Errorf("failed to get rows affected for sender keys: %w", err) + } + err = s.deleteAllSenderKeys(ctx, pnSignal) + if err != nil { + return fmt.Errorf("failed to delete extra sender keys: %w", err) + } + return nil + }) + if err != nil { + return err + } + if sessionsUpdated > 0 || senderKeysUpdated > 0 { + s.log.Infof("Migrated %d sessions and %d sender keys from %s to %s", sessionsUpdated, senderKeysUpdated, pnSignal, lidSignal) + } else { + s.log.Debugf("No sessions or sender keys found to migrate from %s to %s", pnSignal, lidSignal) + } + return nil +} + const ( getLastPreKeyIDQuery = `SELECT MAX(key_id) FROM waSocket_pre_keys WHERE jid=$1` insertPreKeyQuery = `INSERT INTO waSocket_pre_keys (jid, key_id, key, uploaded) VALUES ($1, $2, $3, $4)` @@ -152,13 +231,13 @@ const ( func (s *SQLStore) genOnePreKey(id uint32, markUploaded bool) (*keys.PreKey, error) { key := keys.NewPreKey(id) - _, err := s.db.Exec(insertPreKeyQuery, s.JID, key.KeyID, key.Priv[:], markUploaded) + _, err := s.db.Exec(context.TODO(), insertPreKeyQuery, s.JID, key.KeyID, key.Priv[:], markUploaded) return key, err } func (s *SQLStore) getNextPreKeyID() (uint32, error) { var lastKeyID sql.NullInt32 - err := s.db.QueryRow(getLastPreKeyIDQuery, s.JID).Scan(&lastKeyID) + err := s.db.QueryRow(context.TODO(), getLastPreKeyIDQuery, s.JID).Scan(&lastKeyID) if err != nil { return 0, fmt.Errorf("failed to query next prekey ID: %w", err) } @@ -179,7 +258,7 @@ func (s *SQLStore) GetOrGenPreKeys(count uint32) ([]*keys.PreKey, error) { s.preKeyLock.Lock() defer s.preKeyLock.Unlock() - res, err := s.db.Query(getUnuploadedPreKeysQuery, s.JID, count) + res, err := s.db.Query(context.TODO(), getUnuploadedPreKeysQuery, s.JID, count) if err != nil { return nil, fmt.Errorf("failed to query existing prekeys: %w", err) } @@ -214,7 +293,7 @@ func (s *SQLStore) GetOrGenPreKeys(count uint32) ([]*keys.PreKey, error) { return newKeys, nil } -func scanPreKey(row scannable) (*keys.PreKey, error) { +func scanPreKey(row dbutil.Scannable) (*keys.PreKey, error) { var priv []byte var id uint32 err := row.Scan(&id, &priv) @@ -232,21 +311,21 @@ func scanPreKey(row scannable) (*keys.PreKey, error) { } func (s *SQLStore) GetPreKey(id uint32) (*keys.PreKey, error) { - return scanPreKey(s.db.QueryRow(getPreKeyQuery, s.JID, id)) + return scanPreKey(s.db.QueryRow(context.TODO(), getPreKeyQuery, s.JID, id)) } func (s *SQLStore) RemovePreKey(id uint32) error { - _, err := s.db.Exec(deletePreKeyQuery, s.JID, id) + _, err := s.db.Exec(context.TODO(), deletePreKeyQuery, s.JID, id) return err } func (s *SQLStore) MarkPreKeysAsUploaded(upToID uint32) error { - _, err := s.db.Exec(markPreKeysAsUploadedQuery, s.JID, upToID) + _, err := s.db.Exec(context.TODO(), markPreKeysAsUploadedQuery, s.JID, upToID) return err } func (s *SQLStore) UploadedPreKeyCount() (count int, err error) { - err = s.db.QueryRow(getUploadedPreKeyCountQuery, s.JID).Scan(&count) + err = s.db.QueryRow(context.TODO(), getUploadedPreKeyCountQuery, s.JID).Scan(&count) return } @@ -259,12 +338,12 @@ const ( ) func (s *SQLStore) PutSenderKey(group, user string, session []byte) error { - _, err := s.db.Exec(putSenderKeyQuery, s.JID, group, user, session) + _, err := s.db.Exec(context.TODO(), putSenderKeyQuery, s.JID, group, user, session) return err } func (s *SQLStore) GetSenderKey(group, user string) (key []byte, err error) { - err = s.db.QueryRow(getSenderKeyQuery, s.JID, group, user).Scan(&key) + err = s.db.QueryRow(context.TODO(), getSenderKeyQuery, s.JID, group, user).Scan(&key) if errors.Is(err, sql.ErrNoRows) { err = nil } @@ -283,13 +362,13 @@ const ( ) func (s *SQLStore) PutAppStateSyncKey(id []byte, key store.AppStateSyncKey) error { - _, err := s.db.Exec(putAppStateSyncKeyQuery, s.JID, id, key.Data, key.Timestamp, key.Fingerprint) + _, err := s.db.Exec(context.TODO(), putAppStateSyncKeyQuery, s.JID, id, key.Data, key.Timestamp, key.Fingerprint) return err } func (s *SQLStore) GetAppStateSyncKey(id []byte) (*store.AppStateSyncKey, error) { var key store.AppStateSyncKey - err := s.db.QueryRow(getAppStateSyncKeyQuery, s.JID, id).Scan(&key.Data, &key.Timestamp, &key.Fingerprint) + err := s.db.QueryRow(context.TODO(), getAppStateSyncKeyQuery, s.JID, id).Scan(&key.Data, &key.Timestamp, &key.Fingerprint) if errors.Is(err, sql.ErrNoRows) { return nil, nil } @@ -298,7 +377,7 @@ func (s *SQLStore) GetAppStateSyncKey(id []byte) (*store.AppStateSyncKey, error) func (s *SQLStore) GetLatestAppStateSyncKeyID() ([]byte, error) { var keyID []byte - err := s.db.QueryRow(getLatestAppStateSyncKeyIDQuery, s.JID).Scan(&keyID) + err := s.db.QueryRow(context.TODO(), getLatestAppStateSyncKeyIDQuery, s.JID).Scan(&keyID) if errors.Is(err, sql.ErrNoRows) { return nil, nil } @@ -319,13 +398,13 @@ const ( ) func (s *SQLStore) PutAppStateVersion(name string, version uint64, hash [128]byte) error { - _, err := s.db.Exec(putAppStateVersionQuery, s.JID, name, version, hash[:]) + _, err := s.db.Exec(context.TODO(), putAppStateVersionQuery, s.JID, name, version, hash[:]) return err } func (s *SQLStore) GetAppStateVersion(name string) (version uint64, hash [128]byte, err error) { var uncheckedHash []byte - err = s.db.QueryRow(getAppStateVersionQuery, s.JID, name).Scan(&version, &uncheckedHash) + err = s.db.QueryRow(context.TODO(), getAppStateVersionQuery, s.JID, name).Scan(&version, &uncheckedHash) if errors.Is(err, sql.ErrNoRows) { // version will be 0 and hash will be an empty array, which is the correct initial state err = nil @@ -342,22 +421,18 @@ func (s *SQLStore) GetAppStateVersion(name string) (version uint64, hash [128]by } func (s *SQLStore) DeleteAppStateVersion(name string) error { - _, err := s.db.Exec(deleteAppStateVersionQuery, s.JID, name) + _, err := s.db.Exec(context.TODO(), deleteAppStateVersionQuery, s.JID, name) return err } -type execable interface { - Exec(query string, args ...interface{}) (sql.Result, error) -} - -func (s *SQLStore) putAppStateMutationMACs(tx execable, name string, version uint64, mutations []store.AppStateMutationMAC) error { - values := make([]interface{}, 3+len(mutations)*2) +func (s *SQLStore) putAppStateMutationMACs(ctx context.Context, name string, version uint64, mutations []store.AppStateMutationMAC) error { + values := make([]any, 3+len(mutations)*2) queryParts := make([]string, len(mutations)) values[0] = s.JID values[1] = name values[2] = version placeholderSyntax := "($1, $2, $3, $%d, $%d)" - if s.dialect == "sqlite3" { + if s.db.Dialect == dbutil.SQLite { placeholderSyntax = "(?1, ?2, ?3, ?%d, ?%d)" } for i, mutation := range mutations { @@ -366,50 +441,35 @@ func (s *SQLStore) putAppStateMutationMACs(tx execable, name string, version uin values[baseIndex+1] = mutation.ValueMAC queryParts[i] = fmt.Sprintf(placeholderSyntax, baseIndex+1, baseIndex+2) } - _, err := tx.Exec(putAppStateMutationMACsQuery+strings.Join(queryParts, ","), values...) + _, err := s.db.Exec(ctx, putAppStateMutationMACsQuery+strings.Join(queryParts, ","), values...) return err } const mutationBatchSize = 400 func (s *SQLStore) PutAppStateMutationMACs(name string, version uint64, mutations []store.AppStateMutationMAC) error { - if len(mutations) > mutationBatchSize { - tx, err := s.db.Begin() - if err != nil { - return fmt.Errorf("failed to start transaction: %w", err) - } - for i := 0; i < len(mutations); i += mutationBatchSize { - var mutationSlice []store.AppStateMutationMAC - if len(mutations) > i+mutationBatchSize { - mutationSlice = mutations[i : i+mutationBatchSize] - } else { - mutationSlice = mutations[i:] - } - err = s.putAppStateMutationMACs(tx, name, version, mutationSlice) + if len(mutations) == 0 { + return nil + } + return s.db.DoTxn(context.TODO(), nil, func(ctx context.Context) error { + for slice := range slices.Chunk(mutations, mutationBatchSize) { + err := s.putAppStateMutationMACs(ctx, name, version, slice) if err != nil { - _ = tx.Rollback() return err } } - err = tx.Commit() - if err != nil { - return fmt.Errorf("failed to commit transaction: %w", err) - } return nil - } else if len(mutations) > 0 { - return s.putAppStateMutationMACs(s.db, name, version, mutations) - } - return nil + }) } func (s *SQLStore) DeleteAppStateMutationMACs(name string, indexMACs [][]byte) (err error) { if len(indexMACs) == 0 { return } - if s.dialect == "postgres" && PostgresArrayWrapper != nil { - _, err = s.db.Exec(deleteAppStateMutationMACsQueryPostgres, s.JID, name, PostgresArrayWrapper(indexMACs)) + if s.db.Dialect == dbutil.Postgres && PostgresArrayWrapper != nil { + _, err = s.db.Exec(context.TODO(), deleteAppStateMutationMACsQueryPostgres, s.JID, name, PostgresArrayWrapper(indexMACs)) } else { - args := make([]interface{}, 2+len(indexMACs)) + args := make([]any, 2+len(indexMACs)) args[0] = s.JID args[1] = name queryParts := make([]string, len(indexMACs)) @@ -417,13 +477,13 @@ func (s *SQLStore) DeleteAppStateMutationMACs(name string, indexMACs [][]byte) ( args[2+i] = item queryParts[i] = fmt.Sprintf("$%d", i+3) } - _, err = s.db.Exec(deleteAppStateMutationMACsQueryGeneric+"("+strings.Join(queryParts, ",")+")", args...) + _, err = s.db.Exec(context.TODO(), deleteAppStateMutationMACsQueryGeneric+"("+strings.Join(queryParts, ",")+")", args...) } return } func (s *SQLStore) GetAppStateMutationMAC(name string, indexMAC []byte) (valueMAC []byte, err error) { - err = s.db.QueryRow(getAppStateMutationMACQuery, s.JID, name, indexMAC).Scan(&valueMAC) + err = s.db.QueryRow(context.TODO(), getAppStateMutationMACQuery, s.JID, name, indexMAC).Scan(&valueMAC) if errors.Is(err, sql.ErrNoRows) { err = nil } @@ -465,7 +525,7 @@ func (s *SQLStore) PutPushName(user types.JID, pushName string) (bool, string, e return false, "", err } if cached.PushName != pushName { - _, err = s.db.Exec(putPushNameQuery, s.JID, user, pushName) + _, err = s.db.Exec(context.TODO(), putPushNameQuery, s.JID, user, pushName) if err != nil { return false, "", err } @@ -486,7 +546,7 @@ func (s *SQLStore) PutBusinessName(user types.JID, businessName string) (bool, s return false, "", err } if cached.BusinessName != businessName { - _, err = s.db.Exec(putBusinessNameQuery, s.JID, user, businessName) + _, err = s.db.Exec(context.TODO(), putBusinessNameQuery, s.JID, user, businessName) if err != nil { return false, "", err } @@ -507,7 +567,7 @@ func (s *SQLStore) PutContactName(user types.JID, firstName, fullName string) er return err } if cached.FirstName != firstName || cached.FullName != fullName { - _, err = s.db.Exec(putContactNameQuery, s.JID, user, firstName, fullName) + _, err = s.db.Exec(context.TODO(), putContactNameQuery, s.JID, user, firstName, fullName) if err != nil { return err } @@ -520,12 +580,12 @@ func (s *SQLStore) PutContactName(user types.JID, firstName, fullName string) er const contactBatchSize = 300 -func (s *SQLStore) putContactNamesBatch(tx execable, contacts []store.ContactEntry) error { - values := make([]interface{}, 1, 1+len(contacts)*3) +func (s *SQLStore) putContactNamesBatch(ctx context.Context, contacts []store.ContactEntry) error { + values := make([]any, 1, 1+len(contacts)*3) queryParts := make([]string, 0, len(contacts)) values[0] = s.JID placeholderSyntax := "($1, $%d, $%d, $%d)" - if s.dialect == "sqlite3" { + if s.db.Dialect == dbutil.SQLite { placeholderSyntax = "(?1, ?%d, ?%d, ?%d)" } i := 0 @@ -547,40 +607,25 @@ func (s *SQLStore) putContactNamesBatch(tx execable, contacts []store.ContactEnt queryParts = append(queryParts, fmt.Sprintf(placeholderSyntax, baseIndex+1, baseIndex+2, baseIndex+3)) i++ } - _, err := tx.Exec(fmt.Sprintf(putManyContactNamesQuery, strings.Join(queryParts, ",")), values...) + _, err := s.db.Exec(ctx, fmt.Sprintf(putManyContactNamesQuery, strings.Join(queryParts, ",")), values...) return err } func (s *SQLStore) PutAllContactNames(contacts []store.ContactEntry) error { - if len(contacts) > contactBatchSize { - tx, err := s.db.Begin() - if err != nil { - return fmt.Errorf("failed to start transaction: %w", err) - } - for i := 0; i < len(contacts); i += contactBatchSize { - var contactSlice []store.ContactEntry - if len(contacts) > i+contactBatchSize { - contactSlice = contacts[i : i+contactBatchSize] - } else { - contactSlice = contacts[i:] - } - err = s.putContactNamesBatch(tx, contactSlice) + if len(contacts) == 0 { + return nil + } + err := s.db.DoTxn(context.TODO(), nil, func(ctx context.Context) error { + for slice := range slices.Chunk(contacts, contactBatchSize) { + err := s.putContactNamesBatch(ctx, slice) if err != nil { - _ = tx.Rollback() return err } } - err = tx.Commit() - if err != nil { - return fmt.Errorf("failed to commit transaction: %w", err) - } - } else if len(contacts) > 0 { - err := s.putContactNamesBatch(s.db, contacts) - if err != nil { - return err - } - } else { return nil + }) + if err != nil { + return err } s.contactCacheLock.Lock() // Just clear the cache, fetching pushnames and business names would be too much effort @@ -596,7 +641,7 @@ func (s *SQLStore) getContact(user types.JID) (*types.ContactInfo, error) { } var first, full, push, business sql.NullString - err := s.db.QueryRow(getContactQuery, s.JID, user).Scan(&first, &full, &push, &business) + err := s.db.QueryRow(context.TODO(), getContactQuery, s.JID, user).Scan(&first, &full, &push, &business) if err != nil && !errors.Is(err, sql.ErrNoRows) { return nil, err } @@ -624,7 +669,7 @@ func (s *SQLStore) GetContact(user types.JID) (types.ContactInfo, error) { func (s *SQLStore) GetAllContacts() (map[types.JID]types.ContactInfo, error) { s.contactCacheLock.Lock() defer s.contactCacheLock.Unlock() - rows, err := s.db.Query(getAllContactsQuery, s.JID) + rows, err := s.db.Query(context.TODO(), getAllContactsQuery, s.JID) if err != nil { return nil, err } @@ -664,23 +709,23 @@ func (s *SQLStore) PutMutedUntil(chat types.JID, mutedUntil time.Time) error { if !mutedUntil.IsZero() { val = mutedUntil.Unix() } - _, err := s.db.Exec(fmt.Sprintf(putChatSettingQuery, "muted_until"), s.JID, chat, val) + _, err := s.db.Exec(context.TODO(), fmt.Sprintf(putChatSettingQuery, "muted_until"), s.JID, chat, val) return err } func (s *SQLStore) PutPinned(chat types.JID, pinned bool) error { - _, err := s.db.Exec(fmt.Sprintf(putChatSettingQuery, "pinned"), s.JID, chat, pinned) + _, err := s.db.Exec(context.TODO(), fmt.Sprintf(putChatSettingQuery, "pinned"), s.JID, chat, pinned) return err } func (s *SQLStore) PutArchived(chat types.JID, archived bool) error { - _, err := s.db.Exec(fmt.Sprintf(putChatSettingQuery, "archived"), s.JID, chat, archived) + _, err := s.db.Exec(context.TODO(), fmt.Sprintf(putChatSettingQuery, "archived"), s.JID, chat, archived) return err } func (s *SQLStore) GetChatSettings(chat types.JID) (settings types.LocalChatSettings, err error) { var mutedUntil int64 - err = s.db.QueryRow(getChatSettingsQuery, s.JID, chat).Scan(&mutedUntil, &settings.Pinned, &settings.Archived) + err = s.db.QueryRow(context.TODO(), getChatSettingsQuery, s.JID, chat).Scan(&mutedUntil, &settings.Pinned, &settings.Archived) if errors.Is(err, sql.ErrNoRows) { err = nil } else if err != nil { @@ -706,27 +751,27 @@ const ( ) func (s *SQLStore) PutMessageSecrets(inserts []store.MessageSecretInsert) (err error) { - tx, err := s.db.Begin() - if err != nil { - return fmt.Errorf("failed to begin transaction: %w", err) - } - for _, insert := range inserts { - _, err = tx.Exec(putMsgSecret, s.JID, insert.Chat.ToNonAD(), insert.Sender.ToNonAD(), insert.ID, insert.Secret) - } - err = tx.Commit() - if err != nil { - return fmt.Errorf("failed to commit transaction: %w", err) + if len(inserts) == 0 { + return nil } - return + return s.db.DoTxn(context.TODO(), nil, func(ctx context.Context) error { + for _, insert := range inserts { + _, err = s.db.Exec(ctx, putMsgSecret, s.JID, insert.Chat.ToNonAD(), insert.Sender.ToNonAD(), insert.ID, insert.Secret) + if err != nil { + return err + } + } + return nil + }) } func (s *SQLStore) PutMessageSecret(chat, sender types.JID, id types.MessageID, secret []byte) (err error) { - _, err = s.db.Exec(putMsgSecret, s.JID, chat.ToNonAD(), sender.ToNonAD(), id, secret) + _, err = s.db.Exec(context.TODO(), putMsgSecret, s.JID, chat.ToNonAD(), sender.ToNonAD(), id, secret) return } func (s *SQLStore) GetMessageSecret(chat, sender types.JID, id types.MessageID) (secret []byte, err error) { - err = s.db.QueryRow(getMsgSecret, s.JID, chat.ToNonAD(), sender.ToNonAD(), id).Scan(&secret) + err = s.db.QueryRow(context.TODO(), getMsgSecret, s.JID, chat.ToNonAD(), sender.ToNonAD(), id).Scan(&secret) if errors.Is(err, sql.ErrNoRows) { err = nil } @@ -753,7 +798,7 @@ func (s *SQLStore) PutPrivacyTokens(tokens ...store.PrivacyToken) error { placeholders[i] = fmt.Sprintf("($1, $%d, $%d, $%d)", i*3+2, i*3+3, i*3+4) } query := strings.ReplaceAll(putPrivacyTokens, "($1, $2, $3, $4)", strings.Join(placeholders, ",")) - _, err := s.db.Exec(query, args...) + _, err := s.db.Exec(context.TODO(), query, args...) return err } @@ -761,7 +806,7 @@ func (s *SQLStore) GetPrivacyToken(user types.JID) (*store.PrivacyToken, error) var token store.PrivacyToken token.User = user.ToNonAD() var ts int64 - err := s.db.QueryRow(getPrivacyToken, s.JID, token.User).Scan(&token.Token, &ts) + err := s.db.QueryRow(context.TODO(), getPrivacyToken, s.JID, token.User).Scan(&token.Token, &ts) if errors.Is(err, sql.ErrNoRows) { return nil, nil } else if err != nil { diff --git a/store/sqlstore/upgrade.go b/store/sqlstore/upgrade.go deleted file mode 100644 index acff9c0d..00000000 --- a/store/sqlstore/upgrade.go +++ /dev/null @@ -1,296 +0,0 @@ -// Copyright (c) 2021 Tulir Asokan -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. - -package sqlstore - -import ( - "database/sql" - "fmt" - "strings" -) - -type upgradeFunc func(*sql.Tx, *Container) error - -// Upgrades is a list of functions that will upgrade a database to the latest version. -// -// This may be of use if you want to manage the database fully manually, but in most cases you -// should just call Container.Upgrade to let the library handle everything. -var Upgrades = [...]upgradeFunc{upgradeV1, upgradeV2, upgradeV3, upgradeV4, upgradeV5, upgradeV6} - -func (c *Container) getVersion() (int, error) { - _, err := c.db.Exec("CREATE TABLE IF NOT EXISTS waSocket_version (version INTEGER)") - if err != nil { - return -1, err - } - - version := 0 - row := c.db.QueryRow("SELECT version FROM waSocket_version LIMIT 1") - if row != nil { - _ = row.Scan(&version) - } - return version, nil -} - -func (c *Container) setVersion(tx *sql.Tx, version int) error { - _, err := tx.Exec("DELETE FROM waSocket_version") - if err != nil { - return err - } - _, err = tx.Exec("INSERT INTO waSocket_version (version) VALUES ($1)", version) - return err -} - -// Upgrade upgrades the database from the current to the latest version available. -func (c *Container) Upgrade() error { - if c.dialect == "sqlite" { - var foreignKeysEnabled bool - err := c.db.QueryRow("PRAGMA foreign_keys").Scan(&foreignKeysEnabled) - if err != nil { - return fmt.Errorf("failed to check if foreign keys are enabled: %w", err) - } else if !foreignKeysEnabled { - return fmt.Errorf("foreign keys are not enabled") - } - } - - version, err := c.getVersion() - if err != nil { - return err - } - - for ; version < len(Upgrades); version++ { - var tx *sql.Tx - tx, err = c.db.Begin() - if err != nil { - return err - } - - migrateFunc := Upgrades[version] - c.log.Infof("Upgrading database to v%d", version+1) - err = migrateFunc(tx, c) - if err != nil { - _ = tx.Rollback() - return err - } - - if err = c.setVersion(tx, version+1); err != nil { - return err - } - - if err = tx.Commit(); err != nil { - return err - } - } - - return nil -} - -func upgradeV1(tx *sql.Tx, _ *Container) error { - _, err := tx.Exec(`CREATE TABLE waSocket_device ( - jid TEXT PRIMARY KEY, - - registration_id BIGINT NOT NULL CHECK ( registration_id >= 0 AND registration_id < 4294967296 ), - - noise_key bytea NOT NULL CHECK ( length(noise_key) = 32 ), - identity_key bytea NOT NULL CHECK ( length(identity_key) = 32 ), - - signed_pre_key bytea NOT NULL CHECK ( length(signed_pre_key) = 32 ), - signed_pre_key_id INTEGER NOT NULL CHECK ( signed_pre_key_id >= 0 AND signed_pre_key_id < 16777216 ), - signed_pre_key_sig bytea NOT NULL CHECK ( length(signed_pre_key_sig) = 64 ), - - adv_key bytea NOT NULL, - adv_details bytea NOT NULL, - adv_account_sig bytea NOT NULL CHECK ( length(adv_account_sig) = 64 ), - adv_device_sig bytea NOT NULL CHECK ( length(adv_device_sig) = 64 ), - - platform TEXT NOT NULL DEFAULT '', - business_name TEXT NOT NULL DEFAULT '', - push_name TEXT NOT NULL DEFAULT '' - )`) - if err != nil { - return err - } - _, err = tx.Exec(`CREATE TABLE waSocket_identity_keys ( - our_jid TEXT, - their_id TEXT, - identity bytea NOT NULL CHECK ( length(identity) = 32 ), - - PRIMARY KEY (our_jid, their_id), - FOREIGN KEY (our_jid) REFERENCES waSocket_device(jid) ON DELETE CASCADE ON UPDATE CASCADE - )`) - if err != nil { - return err - } - _, err = tx.Exec(`CREATE TABLE waSocket_pre_keys ( - jid TEXT, - key_id INTEGER CHECK ( key_id >= 0 AND key_id < 16777216 ), - key bytea NOT NULL CHECK ( length(key) = 32 ), - uploaded BOOLEAN NOT NULL, - - PRIMARY KEY (jid, key_id), - FOREIGN KEY (jid) REFERENCES waSocket_device(jid) ON DELETE CASCADE ON UPDATE CASCADE - )`) - if err != nil { - return err - } - _, err = tx.Exec(`CREATE TABLE waSocket_sessions ( - our_jid TEXT, - their_id TEXT, - session bytea, - - PRIMARY KEY (our_jid, their_id), - FOREIGN KEY (our_jid) REFERENCES waSocket_device(jid) ON DELETE CASCADE ON UPDATE CASCADE - )`) - if err != nil { - return err - } - _, err = tx.Exec(`CREATE TABLE waSocket_sender_keys ( - our_jid TEXT, - chat_id TEXT, - sender_id TEXT, - sender_key bytea NOT NULL, - - PRIMARY KEY (our_jid, chat_id, sender_id), - FOREIGN KEY (our_jid) REFERENCES waSocket_device(jid) ON DELETE CASCADE ON UPDATE CASCADE - )`) - if err != nil { - return err - } - _, err = tx.Exec(`CREATE TABLE waSocket_app_state_sync_keys ( - jid TEXT, - key_id bytea, - key_data bytea NOT NULL, - timestamp BIGINT NOT NULL, - fingerprint bytea NOT NULL, - - PRIMARY KEY (jid, key_id), - FOREIGN KEY (jid) REFERENCES waSocket_device(jid) ON DELETE CASCADE ON UPDATE CASCADE - )`) - if err != nil { - return err - } - _, err = tx.Exec(`CREATE TABLE waSocket_app_state_version ( - jid TEXT, - name TEXT, - version BIGINT NOT NULL, - hash bytea NOT NULL CHECK ( length(hash) = 128 ), - - PRIMARY KEY (jid, name), - FOREIGN KEY (jid) REFERENCES waSocket_device(jid) ON DELETE CASCADE ON UPDATE CASCADE - )`) - if err != nil { - return err - } - _, err = tx.Exec(`CREATE TABLE waSocket_app_state_mutation_macs ( - jid TEXT, - name TEXT, - version BIGINT, - index_mac bytea CHECK ( length(index_mac) = 32 ), - value_mac bytea NOT NULL CHECK ( length(value_mac) = 32 ), - - PRIMARY KEY (jid, name, version, index_mac), - FOREIGN KEY (jid, name) REFERENCES waSocket_app_state_version(jid, name) ON DELETE CASCADE ON UPDATE CASCADE - )`) - if err != nil { - return err - } - _, err = tx.Exec(`CREATE TABLE waSocket_contacts ( - our_jid TEXT, - their_jid TEXT, - first_name TEXT, - full_name TEXT, - push_name TEXT, - business_name TEXT, - - PRIMARY KEY (our_jid, their_jid), - FOREIGN KEY (our_jid) REFERENCES waSocket_device(jid) ON DELETE CASCADE ON UPDATE CASCADE - )`) - if err != nil { - return err - } - _, err = tx.Exec(`CREATE TABLE waSocket_chat_settings ( - our_jid TEXT, - chat_jid TEXT, - muted_until BIGINT NOT NULL DEFAULT 0, - pinned BOOLEAN NOT NULL DEFAULT false, - archived BOOLEAN NOT NULL DEFAULT false, - - PRIMARY KEY (our_jid, chat_jid), - FOREIGN KEY (our_jid) REFERENCES waSocket_device(jid) ON DELETE CASCADE ON UPDATE CASCADE - )`) - if err != nil { - return err - } - return nil -} - -const fillSigKeyPostgres = ` -UPDATE waSocket_device SET adv_account_sig_key=( - SELECT identity - FROM waSocket_identity_keys - WHERE our_jid=waSocket_device.jid - AND their_id=concat(split_part(waSocket_device.jid, '.', 1), ':0') -); -DELETE FROM waSocket_device WHERE adv_account_sig_key IS NULL; -ALTER TABLE waSocket_device ALTER COLUMN adv_account_sig_key SET NOT NULL; -` - -const fillSigKeySQLite = ` -UPDATE waSocket_device SET adv_account_sig_key=( - SELECT identity - FROM waSocket_identity_keys - WHERE our_jid=waSocket_device.jid - AND their_id=substr(waSocket_device.jid, 0, instr(waSocket_device.jid, '.')) || ':0' -) -` - -func upgradeV2(tx *sql.Tx, container *Container) error { - _, err := tx.Exec("ALTER TABLE waSocket_device ADD COLUMN adv_account_sig_key bytea CHECK ( length(adv_account_sig_key) = 32 )") - if err != nil { - return err - } - - if strings.Contains(container.dialect, "postgres") || container.dialect == "pgx" { - _, err = tx.Exec(fillSigKeyPostgres) - } else { - _, err = tx.Exec(fillSigKeySQLite) - } - return err -} - -func upgradeV3(tx *sql.Tx, container *Container) error { - _, err := tx.Exec(`CREATE TABLE waSocket_message_secrets ( - our_jid TEXT, - chat_jid TEXT, - sender_jid TEXT, - message_id TEXT, - key bytea NOT NULL, - - PRIMARY KEY (our_jid, chat_jid, sender_jid, message_id), - FOREIGN KEY (our_jid) REFERENCES waSocket_device(jid) ON DELETE CASCADE ON UPDATE CASCADE - )`) - return err -} - -func upgradeV4(tx *sql.Tx, container *Container) error { - _, err := tx.Exec(`CREATE TABLE waSocket_privacy_tokens ( - our_jid TEXT, - their_jid TEXT, - token bytea NOT NULL, - timestamp BIGINT NOT NULL, - PRIMARY KEY (our_jid, their_jid) - )`) - return err -} - -func upgradeV5(tx *sql.Tx, container *Container) error { - _, err := tx.Exec("UPDATE waSocket_device SET jid=REPLACE(jid, '.0', '')") - return err -} - -func upgradeV6(tx *sql.Tx, container *Container) error { - _, err := tx.Exec("ALTER TABLE waSocket_device ADD COLUMN facebook_uuid uuid") - return err -} diff --git a/store/sqlstore/upgrades/00-latest-schema.sql b/store/sqlstore/upgrades/00-latest-schema.sql new file mode 100644 index 00000000..3a0f5f3b --- /dev/null +++ b/store/sqlstore/upgrades/00-latest-schema.sql @@ -0,0 +1,143 @@ +-- v0 -> v8 (compatible with v8+): Latest schema +CREATE TABLE waSocket_device ( + jid TEXT PRIMARY KEY, + lid TEXT, + + facebook_uuid uuid, + + registration_id BIGINT NOT NULL CHECK ( registration_id >= 0 AND registration_id < 4294967296 ), + + noise_key bytea NOT NULL CHECK ( length(noise_key) = 32 ), + identity_key bytea NOT NULL CHECK ( length(identity_key) = 32 ), + + signed_pre_key bytea NOT NULL CHECK ( length(signed_pre_key) = 32 ), + signed_pre_key_id INTEGER NOT NULL CHECK ( signed_pre_key_id >= 0 AND signed_pre_key_id < 16777216 ), + signed_pre_key_sig bytea NOT NULL CHECK ( length(signed_pre_key_sig) = 64 ), + + adv_key bytea NOT NULL, + adv_details bytea NOT NULL, + adv_account_sig bytea NOT NULL CHECK ( length(adv_account_sig) = 64 ), + adv_account_sig_key bytea NOT NULL CHECK ( length(adv_account_sig_key) = 32 ), + adv_device_sig bytea NOT NULL CHECK ( length(adv_device_sig) = 64 ), + + platform TEXT NOT NULL DEFAULT '', + business_name TEXT NOT NULL DEFAULT '', + push_name TEXT NOT NULL DEFAULT '' +); + +CREATE TABLE waSocket_identity_keys ( + our_jid TEXT, + their_id TEXT, + identity bytea NOT NULL CHECK ( length(identity) = 32 ), + + PRIMARY KEY (our_jid, their_id), + FOREIGN KEY (our_jid) REFERENCES waSocket_device(jid) ON DELETE CASCADE ON UPDATE CASCADE +); + +CREATE TABLE waSocket_pre_keys ( + jid TEXT, + key_id INTEGER CHECK ( key_id >= 0 AND key_id < 16777216 ), + key bytea NOT NULL CHECK ( length(key) = 32 ), + uploaded BOOLEAN NOT NULL, + + PRIMARY KEY (jid, key_id), + FOREIGN KEY (jid) REFERENCES waSocket_device(jid) ON DELETE CASCADE ON UPDATE CASCADE +); + +CREATE TABLE waSocket_sessions ( + our_jid TEXT, + their_id TEXT, + session bytea, + + PRIMARY KEY (our_jid, their_id), + FOREIGN KEY (our_jid) REFERENCES waSocket_device(jid) ON DELETE CASCADE ON UPDATE CASCADE +); + +CREATE TABLE waSocket_sender_keys ( + our_jid TEXT, + chat_id TEXT, + sender_id TEXT, + sender_key bytea NOT NULL, + + PRIMARY KEY (our_jid, chat_id, sender_id), + FOREIGN KEY (our_jid) REFERENCES waSocket_device(jid) ON DELETE CASCADE ON UPDATE CASCADE +); + +CREATE TABLE waSocket_app_state_sync_keys ( + jid TEXT, + key_id bytea, + key_data bytea NOT NULL, + timestamp BIGINT NOT NULL, + fingerprint bytea NOT NULL, + + PRIMARY KEY (jid, key_id), + FOREIGN KEY (jid) REFERENCES waSocket_device(jid) ON DELETE CASCADE ON UPDATE CASCADE +); + +CREATE TABLE waSocket_app_state_version ( + jid TEXT, + name TEXT, + version BIGINT NOT NULL, + hash bytea NOT NULL CHECK ( length(hash) = 128 ), + + PRIMARY KEY (jid, name), + FOREIGN KEY (jid) REFERENCES waSocket_device(jid) ON DELETE CASCADE ON UPDATE CASCADE +); + +CREATE TABLE waSocket_app_state_mutation_macs ( + jid TEXT, + name TEXT, + version BIGINT, + index_mac bytea CHECK ( length(index_mac) = 32 ), + value_mac bytea NOT NULL CHECK ( length(value_mac) = 32 ), + + PRIMARY KEY (jid, name, version, index_mac), + FOREIGN KEY (jid, name) REFERENCES waSocket_app_state_version(jid, name) ON DELETE CASCADE ON UPDATE CASCADE +); + +CREATE TABLE waSocket_contacts ( + our_jid TEXT, + their_jid TEXT, + first_name TEXT, + full_name TEXT, + push_name TEXT, + business_name TEXT, + + PRIMARY KEY (our_jid, their_jid), + FOREIGN KEY (our_jid) REFERENCES waSocket_device(jid) ON DELETE CASCADE ON UPDATE CASCADE +); + +CREATE TABLE waSocket_chat_settings ( + our_jid TEXT, + chat_jid TEXT, + muted_until BIGINT NOT NULL DEFAULT 0, + pinned BOOLEAN NOT NULL DEFAULT false, + archived BOOLEAN NOT NULL DEFAULT false, + + PRIMARY KEY (our_jid, chat_jid), + FOREIGN KEY (our_jid) REFERENCES waSocket_device(jid) ON DELETE CASCADE ON UPDATE CASCADE +); + +CREATE TABLE waSocket_message_secrets ( + our_jid TEXT, + chat_jid TEXT, + sender_jid TEXT, + message_id TEXT, + key bytea NOT NULL, + + PRIMARY KEY (our_jid, chat_jid, sender_jid, message_id), + FOREIGN KEY (our_jid) REFERENCES waSocket_device(jid) ON DELETE CASCADE ON UPDATE CASCADE +); + +CREATE TABLE waSocket_privacy_tokens ( + our_jid TEXT, + their_jid TEXT, + token bytea NOT NULL, + timestamp BIGINT NOT NULL, + PRIMARY KEY (our_jid, their_jid) +); + +CREATE TABLE waSocket_lid_map ( + lid TEXT PRIMARY KEY, + pn TEXT UNIQUE NOT NULL +); diff --git a/store/sqlstore/upgrades/03-message-secrets.sql b/store/sqlstore/upgrades/03-message-secrets.sql new file mode 100644 index 00000000..eaf5ee99 --- /dev/null +++ b/store/sqlstore/upgrades/03-message-secrets.sql @@ -0,0 +1,11 @@ +-- v3: Add message secrets table +CREATE TABLE waSocket_message_secrets ( + our_jid TEXT, + chat_jid TEXT, + sender_jid TEXT, + message_id TEXT, + key bytea NOT NULL, + + PRIMARY KEY (our_jid, chat_jid, sender_jid, message_id), + FOREIGN KEY (our_jid) REFERENCES waSocket_device(jid) ON DELETE CASCADE ON UPDATE CASCADE +); diff --git a/store/sqlstore/upgrades/04-privacy-tokens.sql b/store/sqlstore/upgrades/04-privacy-tokens.sql new file mode 100644 index 00000000..81da6856 --- /dev/null +++ b/store/sqlstore/upgrades/04-privacy-tokens.sql @@ -0,0 +1,8 @@ +-- v4: Add privacy tokens table +CREATE TABLE waSocket_privacy_tokens ( + our_jid TEXT, + their_jid TEXT, + token bytea NOT NULL, + timestamp BIGINT NOT NULL, + PRIMARY KEY (our_jid, their_jid) +); diff --git a/store/sqlstore/upgrades/05-account-jid-format.sql b/store/sqlstore/upgrades/05-account-jid-format.sql new file mode 100644 index 00000000..d084ab59 --- /dev/null +++ b/store/sqlstore/upgrades/05-account-jid-format.sql @@ -0,0 +1,2 @@ +-- v5: Update account JID format +UPDATE waSocket_device SET jid=REPLACE(jid, '.0', ''); diff --git a/store/sqlstore/upgrades/06-facebook-uuid.sql b/store/sqlstore/upgrades/06-facebook-uuid.sql new file mode 100644 index 00000000..5fb532bb --- /dev/null +++ b/store/sqlstore/upgrades/06-facebook-uuid.sql @@ -0,0 +1,2 @@ +-- v6: Add facebook_uuid column to device table +ALTER TABLE waSocket_device ADD COLUMN facebook_uuid uuid; diff --git a/store/sqlstore/upgrades/07-account-lid.sql b/store/sqlstore/upgrades/07-account-lid.sql new file mode 100644 index 00000000..f2f8b35a --- /dev/null +++ b/store/sqlstore/upgrades/07-account-lid.sql @@ -0,0 +1,2 @@ +-- v7 (compatible with v6+): Add lid column to device table +ALTER TABLE waSocket_device ADD COLUMN lid TEXT; diff --git a/store/sqlstore/upgrades/08-lid-mapping.sql b/store/sqlstore/upgrades/08-lid-mapping.sql new file mode 100644 index 00000000..d528538b --- /dev/null +++ b/store/sqlstore/upgrades/08-lid-mapping.sql @@ -0,0 +1,5 @@ +-- v8 (compatible with v8+): Add tables for LID<->JID mapping +CREATE TABLE waSocket_lid_map ( + lid TEXT PRIMARY KEY, + pn TEXT UNIQUE NOT NULL +); diff --git a/store/sqlstore/upgrades/upgrades.go b/store/sqlstore/upgrades/upgrades.go new file mode 100644 index 00000000..2576e3c7 --- /dev/null +++ b/store/sqlstore/upgrades/upgrades.go @@ -0,0 +1,22 @@ +// Copyright (c) 2025 Tulir Asokan +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at http://mozilla.org/MPL/2.0/. + +package upgrades + +import ( + "embed" + + "go.mau.fi/util/dbutil" +) + +var Table dbutil.UpgradeTable + +//go:embed *.sql +var upgrades embed.FS + +func init() { + Table.RegisterFS(upgrades) +} diff --git a/store/store.go b/store/store.go index 6fdf065f..a130e619 100644 --- a/store/store.go +++ b/store/store.go @@ -8,6 +8,7 @@ package store import ( + "context" "fmt" "time" @@ -32,6 +33,7 @@ type SessionStore interface { PutSession(address string, session []byte) error DeleteAllSessions(phone string) error DeleteSession(address string) error + MigratePNToLID(ctx context.Context, pn, lid types.JID) error } type PreKeyStore interface { @@ -126,7 +128,19 @@ type PrivacyTokenStore interface { GetPrivacyToken(user types.JID) (*PrivacyToken, error) } -type AllStores interface { +type LIDMapping struct { + LID types.JID + PN types.JID +} + +type LIDStore interface { + PutManyLIDMappings(ctx context.Context, mappings []LIDMapping) error + PutLIDMapping(ctx context.Context, lid, jid types.JID) error + GetPNForLID(ctx context.Context, lid types.JID) (types.JID, error) + GetLIDForPN(ctx context.Context, pn types.JID) (types.JID, error) +} + +type AllSessionSpecificStores interface { IdentityStore SessionStore PreKeyStore @@ -139,6 +153,15 @@ type AllStores interface { PrivacyTokenStore } +type AllGlobalStores interface { + LIDStore +} + +type AllStores interface { + AllSessionSpecificStores + AllGlobalStores +} + type Device struct { Log waLog.Logger @@ -149,6 +172,7 @@ type Device struct { AdvSecretKey []byte ID *types.JID + LID types.JID Account *waAdv.ADVSignedDeviceIdentity Platform string BusinessName string @@ -167,6 +191,7 @@ type Device struct { ChatSettings ChatSettingsStore MsgSecrets MsgSecretStore PrivacyTokens PrivacyTokenStore + LIDs LIDStore Container DeviceContainer DatabaseErrorHandler func(device *Device, action string, attemptIndex int, err error) (retry bool) @@ -180,6 +205,24 @@ func (device *Device) handleDatabaseError(attemptIndex int, err error, action st return false } +func (device *Device) GetJID() types.JID { + if device == nil { + return types.EmptyJID + } + id := device.ID + if id == nil { + return types.EmptyJID + } + return *id +} + +func (device *Device) GetLID() types.JID { + if device == nil { + return types.EmptyJID + } + return device.LID +} + func (device *Device) Save() error { return device.Container.PutDevice(device) } @@ -190,5 +233,6 @@ func (device *Device) Delete() error { return err } device.ID = nil + device.LID = types.EmptyJID return nil } diff --git a/types/botmap.go b/types/botmap.go new file mode 100644 index 00000000..b0e9937d --- /dev/null +++ b/types/botmap.go @@ -0,0 +1,210 @@ +package types + +var BotJIDMap = map[JID]JID{ + NewJID("867051314767696", BotServer): NewJID("13135550002", DefaultUserServer), + NewJID("1061492271844689", BotServer): NewJID("13135550005", DefaultUserServer), + NewJID("245886058483988", BotServer): NewJID("13135550009", DefaultUserServer), + NewJID("3509905702656130", BotServer): NewJID("13135550012", DefaultUserServer), + NewJID("1059680132034576", BotServer): NewJID("13135550013", DefaultUserServer), + NewJID("715681030623646", BotServer): NewJID("13135550014", DefaultUserServer), + NewJID("1644971366323052", BotServer): NewJID("13135550015", DefaultUserServer), + NewJID("582497970646566", BotServer): NewJID("13135550019", DefaultUserServer), + NewJID("645459357769306", BotServer): NewJID("13135550022", DefaultUserServer), + NewJID("294997126699143", BotServer): NewJID("13135550023", DefaultUserServer), + NewJID("1522631578502677", BotServer): NewJID("13135550027", DefaultUserServer), + NewJID("719421926276396", BotServer): NewJID("13135550030", DefaultUserServer), + NewJID("1788488635002167", BotServer): NewJID("13135550031", DefaultUserServer), + NewJID("24232338603080193", BotServer): NewJID("13135550033", DefaultUserServer), + NewJID("689289903143209", BotServer): NewJID("13135550035", DefaultUserServer), + NewJID("871626054177096", BotServer): NewJID("13135550039", DefaultUserServer), + NewJID("362351902849370", BotServer): NewJID("13135550042", DefaultUserServer), + NewJID("1744617646041527", BotServer): NewJID("13135550043", DefaultUserServer), + NewJID("893887762270570", BotServer): NewJID("13135550046", DefaultUserServer), + NewJID("1155032702135830", BotServer): NewJID("13135550047", DefaultUserServer), + NewJID("333931965993883", BotServer): NewJID("13135550048", DefaultUserServer), + NewJID("853748013058752", BotServer): NewJID("13135550049", DefaultUserServer), + NewJID("1559068611564819", BotServer): NewJID("13135550053", DefaultUserServer), + NewJID("890487432705716", BotServer): NewJID("13135550054", DefaultUserServer), + NewJID("240254602395494", BotServer): NewJID("13135550055", DefaultUserServer), + NewJID("1578420349663261", BotServer): NewJID("13135550062", DefaultUserServer), + NewJID("322908887140421", BotServer): NewJID("13135550065", DefaultUserServer), + NewJID("3713961535514771", BotServer): NewJID("13135550067", DefaultUserServer), + NewJID("997884654811738", BotServer): NewJID("13135550070", DefaultUserServer), + NewJID("403157239387035", BotServer): NewJID("13135550081", DefaultUserServer), + NewJID("535242369074963", BotServer): NewJID("13135550082", DefaultUserServer), + NewJID("946293427247659", BotServer): NewJID("13135550083", DefaultUserServer), + NewJID("3664707673802291", BotServer): NewJID("13135550084", DefaultUserServer), + NewJID("1821827464894892", BotServer): NewJID("13135550085", DefaultUserServer), + NewJID("1760312477828757", BotServer): NewJID("13135550086", DefaultUserServer), + NewJID("439480398712216", BotServer): NewJID("13135550087", DefaultUserServer), + NewJID("1876735582800984", BotServer): NewJID("13135550088", DefaultUserServer), + NewJID("984025089825661", BotServer): NewJID("13135550089", DefaultUserServer), + NewJID("1001336351558186", BotServer): NewJID("13135550090", DefaultUserServer), + NewJID("3739346336347061", BotServer): NewJID("13135550091", DefaultUserServer), + NewJID("3632749426974980", BotServer): NewJID("13135550092", DefaultUserServer), + NewJID("427864203481615", BotServer): NewJID("13135550093", DefaultUserServer), + NewJID("1434734570493055", BotServer): NewJID("13135550094", DefaultUserServer), + NewJID("992873449225921", BotServer): NewJID("13135550095", DefaultUserServer), + NewJID("813087747426445", BotServer): NewJID("13135550096", DefaultUserServer), + NewJID("806369104931434", BotServer): NewJID("13135550098", DefaultUserServer), + NewJID("1220982902403148", BotServer): NewJID("13135550099", DefaultUserServer), + NewJID("1365893374104393", BotServer): NewJID("13135550100", DefaultUserServer), + NewJID("686482033622048", BotServer): NewJID("13135550200", DefaultUserServer), + NewJID("1454999838411253", BotServer): NewJID("13135550201", DefaultUserServer), + NewJID("718584497008509", BotServer): NewJID("13135550202", DefaultUserServer), + NewJID("743520384213443", BotServer): NewJID("13135550301", DefaultUserServer), + NewJID("1147715789823789", BotServer): NewJID("13135550302", DefaultUserServer), + NewJID("1173034540372201", BotServer): NewJID("13135550303", DefaultUserServer), + NewJID("974785541030953", BotServer): NewJID("13135550304", DefaultUserServer), + NewJID("1122200255531507", BotServer): NewJID("13135550305", DefaultUserServer), + NewJID("899669714813162", BotServer): NewJID("13135550306", DefaultUserServer), + NewJID("631880108970650", BotServer): NewJID("13135550307", DefaultUserServer), + NewJID("435816149330026", BotServer): NewJID("13135550308", DefaultUserServer), + NewJID("1368717161184556", BotServer): NewJID("13135550309", DefaultUserServer), + NewJID("7849963461784891", BotServer): NewJID("13135550310", DefaultUserServer), + NewJID("3609617065968984", BotServer): NewJID("13135550312", DefaultUserServer), + NewJID("356273980574602", BotServer): NewJID("13135550313", DefaultUserServer), + NewJID("1043447920539760", BotServer): NewJID("13135550314", DefaultUserServer), + NewJID("1052764336525346", BotServer): NewJID("13135550315", DefaultUserServer), + NewJID("2631118843732685", BotServer): NewJID("13135550316", DefaultUserServer), + NewJID("510505411332176", BotServer): NewJID("13135550317", DefaultUserServer), + NewJID("1945664239227513", BotServer): NewJID("13135550318", DefaultUserServer), + NewJID("1518594378764656", BotServer): NewJID("13135550319", DefaultUserServer), + NewJID("1378821579456138", BotServer): NewJID("13135550320", DefaultUserServer), + NewJID("490214716896013", BotServer): NewJID("13135550321", DefaultUserServer), + NewJID("1028577858870699", BotServer): NewJID("13135550322", DefaultUserServer), + NewJID("308915665545959", BotServer): NewJID("13135550323", DefaultUserServer), + NewJID("845884253678900", BotServer): NewJID("13135550324", DefaultUserServer), + NewJID("995031308616442", BotServer): NewJID("13135550325", DefaultUserServer), + NewJID("2787365464763437", BotServer): NewJID("13135550326", DefaultUserServer), + NewJID("1532790990671645", BotServer): NewJID("13135550327", DefaultUserServer), + NewJID("302617036180485", BotServer): NewJID("13135550328", DefaultUserServer), + NewJID("723376723197227", BotServer): NewJID("13135550329", DefaultUserServer), + NewJID("8393570407377966", BotServer): NewJID("13135550330", DefaultUserServer), + NewJID("1931159970680725", BotServer): NewJID("13135550331", DefaultUserServer), + NewJID("401073885688605", BotServer): NewJID("13135550332", DefaultUserServer), + NewJID("2234478453565422", BotServer): NewJID("13135550334", DefaultUserServer), + NewJID("814748673882312", BotServer): NewJID("13135550335", DefaultUserServer), + NewJID("26133635056281592", BotServer): NewJID("13135550336", DefaultUserServer), + NewJID("1439804456676119", BotServer): NewJID("13135550337", DefaultUserServer), + NewJID("889851503172161", BotServer): NewJID("13135550338", DefaultUserServer), + NewJID("1018283232836879", BotServer): NewJID("13135550339", DefaultUserServer), + NewJID("1012781386779537", BotServer): NewJID("13135559000", DefaultUserServer), + NewJID("823280953239532", BotServer): NewJID("13135559001", DefaultUserServer), + NewJID("1597090934573334", BotServer): NewJID("13135559002", DefaultUserServer), + NewJID("485965054020343", BotServer): NewJID("13135559003", DefaultUserServer), + NewJID("1033381648363446", BotServer): NewJID("13135559004", DefaultUserServer), + NewJID("491802010206446", BotServer): NewJID("13135559005", DefaultUserServer), + NewJID("1017139033184870", BotServer): NewJID("13135559006", DefaultUserServer), + NewJID("499638325922174", BotServer): NewJID("13135559008", DefaultUserServer), + NewJID("468946335863664", BotServer): NewJID("13135559009", DefaultUserServer), + NewJID("1570389776875816", BotServer): NewJID("13135559010", DefaultUserServer), + NewJID("1004342694328995", BotServer): NewJID("13135559011", DefaultUserServer), + NewJID("1012240323971229", BotServer): NewJID("13135559012", DefaultUserServer), + NewJID("392171787222419", BotServer): NewJID("13135559013", DefaultUserServer), + NewJID("952081212945019", BotServer): NewJID("13135559016", DefaultUserServer), + NewJID("444507875070178", BotServer): NewJID("13135559017", DefaultUserServer), + NewJID("1274819440594668", BotServer): NewJID("13135559018", DefaultUserServer), + NewJID("1397041101147050", BotServer): NewJID("13135559019", DefaultUserServer), + NewJID("425657699872640", BotServer): NewJID("13135559020", DefaultUserServer), + NewJID("532292852562549", BotServer): NewJID("13135559021", DefaultUserServer), + NewJID("705863241720292", BotServer): NewJID("13135559022", DefaultUserServer), + NewJID("476449815183959", BotServer): NewJID("13135559023", DefaultUserServer), + NewJID("488071553854222", BotServer): NewJID("13135559024", DefaultUserServer), + NewJID("468693832665397", BotServer): NewJID("13135559025", DefaultUserServer), + NewJID("517422564037340", BotServer): NewJID("13135559026", DefaultUserServer), + NewJID("819805466613825", BotServer): NewJID("13135559027", DefaultUserServer), + NewJID("1847708235641382", BotServer): NewJID("13135559028", DefaultUserServer), + NewJID("716282970644228", BotServer): NewJID("13135559029", DefaultUserServer), + NewJID("521655380527741", BotServer): NewJID("13135559030", DefaultUserServer), + NewJID("476193631941905", BotServer): NewJID("13135559031", DefaultUserServer), + NewJID("485600497445562", BotServer): NewJID("13135559032", DefaultUserServer), + NewJID("440217235683910", BotServer): NewJID("13135559033", DefaultUserServer), + NewJID("523342446758478", BotServer): NewJID("13135559034", DefaultUserServer), + NewJID("514784864360240", BotServer): NewJID("13135559035", DefaultUserServer), + NewJID("505790121814530", BotServer): NewJID("13135559036", DefaultUserServer), + NewJID("420008964419580", BotServer): NewJID("13135559037", DefaultUserServer), + NewJID("492141680204555", BotServer): NewJID("13135559038", DefaultUserServer), + NewJID("388462787271952", BotServer): NewJID("13135559039", DefaultUserServer), + NewJID("423473920752072", BotServer): NewJID("13135559040", DefaultUserServer), + NewJID("489574180468229", BotServer): NewJID("13135559041", DefaultUserServer), + NewJID("432360635854105", BotServer): NewJID("13135559042", DefaultUserServer), + NewJID("477878201669248", BotServer): NewJID("13135559043", DefaultUserServer), + NewJID("351656951234045", BotServer): NewJID("13135559044", DefaultUserServer), + NewJID("430178036732582", BotServer): NewJID("13135559045", DefaultUserServer), + NewJID("434537312944552", BotServer): NewJID("13135559046", DefaultUserServer), + NewJID("1240614300631808", BotServer): NewJID("13135559047", DefaultUserServer), + NewJID("473135945605128", BotServer): NewJID("13135559048", DefaultUserServer), + NewJID("423669800729310", BotServer): NewJID("13135559049", DefaultUserServer), + NewJID("3685666705015792", BotServer): NewJID("13135559050", DefaultUserServer), + NewJID("504196509016638", BotServer): NewJID("13135559051", DefaultUserServer), + NewJID("346844785189449", BotServer): NewJID("13135559052", DefaultUserServer), + NewJID("504823088911074", BotServer): NewJID("13135559053", DefaultUserServer), + NewJID("402669415797083", BotServer): NewJID("13135559054", DefaultUserServer), + NewJID("490939640234431", BotServer): NewJID("13135559055", DefaultUserServer), + NewJID("875124128063715", BotServer): NewJID("13135559056", DefaultUserServer), + NewJID("468788962654605", BotServer): NewJID("13135559057", DefaultUserServer), + NewJID("562386196354570", BotServer): NewJID("13135559058", DefaultUserServer), + NewJID("372159285928791", BotServer): NewJID("13135559059", DefaultUserServer), + NewJID("531017479591050", BotServer): NewJID("13135559060", DefaultUserServer), + NewJID("1328873881401826", BotServer): NewJID("13135559061", DefaultUserServer), + NewJID("1608363646390484", BotServer): NewJID("13135559062", DefaultUserServer), + NewJID("1229628561554232", BotServer): NewJID("13135559063", DefaultUserServer), + NewJID("348802211530364", BotServer): NewJID("13135559064", DefaultUserServer), + NewJID("3708535859420184", BotServer): NewJID("13135559065", DefaultUserServer), + NewJID("415517767742187", BotServer): NewJID("13135559066", DefaultUserServer), + NewJID("479330341612638", BotServer): NewJID("13135559067", DefaultUserServer), + NewJID("480785414723083", BotServer): NewJID("13135559068", DefaultUserServer), + NewJID("387299107507991", BotServer): NewJID("13135559069", DefaultUserServer), + NewJID("333389813188944", BotServer): NewJID("13135559070", DefaultUserServer), + NewJID("391794130316996", BotServer): NewJID("13135559071", DefaultUserServer), + NewJID("457893470576314", BotServer): NewJID("13135559072", DefaultUserServer), + NewJID("435550496166469", BotServer): NewJID("13135559073", DefaultUserServer), + NewJID("1620162702100689", BotServer): NewJID("13135559074", DefaultUserServer), + NewJID("867491058616043", BotServer): NewJID("13135559075", DefaultUserServer), + NewJID("816224117357759", BotServer): NewJID("13135559076", DefaultUserServer), + NewJID("334065176362830", BotServer): NewJID("13135559077", DefaultUserServer), + NewJID("489973170554709", BotServer): NewJID("13135559078", DefaultUserServer), + NewJID("473060669049665", BotServer): NewJID("13135559079", DefaultUserServer), + NewJID("1221505815643060", BotServer): NewJID("13135559080", DefaultUserServer), + NewJID("889000703096359", BotServer): NewJID("13135559081", DefaultUserServer), + NewJID("475235961979883", BotServer): NewJID("13135559082", DefaultUserServer), + NewJID("3434445653519934", BotServer): NewJID("13135559084", DefaultUserServer), + NewJID("524503026827421", BotServer): NewJID("13135559085", DefaultUserServer), + NewJID("1179639046403856", BotServer): NewJID("13135559086", DefaultUserServer), + NewJID("471563305859144", BotServer): NewJID("13135559087", DefaultUserServer), + NewJID("533896609192881", BotServer): NewJID("13135559088", DefaultUserServer), + NewJID("365443583168041", BotServer): NewJID("13135559089", DefaultUserServer), + NewJID("836082305329393", BotServer): NewJID("13135559090", DefaultUserServer), + NewJID("1056787705969916", BotServer): NewJID("13135559091", DefaultUserServer), + NewJID("503312598958357", BotServer): NewJID("13135559092", DefaultUserServer), + NewJID("3718606738453460", BotServer): NewJID("13135559093", DefaultUserServer), + NewJID("826066052850902", BotServer): NewJID("13135559094", DefaultUserServer), + NewJID("1033611345091888", BotServer): NewJID("13135559095", DefaultUserServer), + NewJID("3868390816783240", BotServer): NewJID("13135559096", DefaultUserServer), + NewJID("7462677740498860", BotServer): NewJID("13135559097", DefaultUserServer), + NewJID("436288576108573", BotServer): NewJID("13135559098", DefaultUserServer), + NewJID("1047559746718900", BotServer): NewJID("13135559099", DefaultUserServer), + NewJID("1099299455255491", BotServer): NewJID("13135559100", DefaultUserServer), + NewJID("1202037301040633", BotServer): NewJID("13135559101", DefaultUserServer), + NewJID("1720619402074074", BotServer): NewJID("13135559102", DefaultUserServer), + NewJID("1030422235101467", BotServer): NewJID("13135559103", DefaultUserServer), + NewJID("827238979523502", BotServer): NewJID("13135559104", DefaultUserServer), + NewJID("1516443722284921", BotServer): NewJID("13135559105", DefaultUserServer), + NewJID("1174442747196709", BotServer): NewJID("13135559106", DefaultUserServer), + NewJID("1653165225503842", BotServer): NewJID("13135559107", DefaultUserServer), + NewJID("1037648777635013", BotServer): NewJID("13135559108", DefaultUserServer), + NewJID("551617757299900", BotServer): NewJID("13135559109", DefaultUserServer), + NewJID("1158813558718726", BotServer): NewJID("13135559110", DefaultUserServer), + NewJID("2463236450542262", BotServer): NewJID("13135559111", DefaultUserServer), + NewJID("1550393252501466", BotServer): NewJID("13135559112", DefaultUserServer), + NewJID("2057065188042796", BotServer): NewJID("13135559113", DefaultUserServer), + NewJID("506163028760735", BotServer): NewJID("13135559114", DefaultUserServer), + NewJID("2065249100538481", BotServer): NewJID("13135559115", DefaultUserServer), + NewJID("1041382867195858", BotServer): NewJID("13135559116", DefaultUserServer), + NewJID("886500209499603", BotServer): NewJID("13135559117", DefaultUserServer), + NewJID("1491615624892655", BotServer): NewJID("13135559118", DefaultUserServer), + NewJID("486563697299617", BotServer): NewJID("13135559119", DefaultUserServer), + NewJID("1175736513679463", BotServer): NewJID("13135559120", DefaultUserServer), + NewJID("491811473512352", BotServer): NewJID("13165550064", DefaultUserServer), +} diff --git a/types/events/events.go b/types/events/events.go index 272130b0..a552e126 100644 --- a/types/events/events.go +++ b/types/events/events.go @@ -42,6 +42,7 @@ type QR struct { // wait for the Connected before trying to send anything. type PairSuccess struct { ID types.JID + LID types.JID BusinessName string Platform string } @@ -49,6 +50,7 @@ type PairSuccess struct { // PairError is emitted when a pair-success event is received from the server, but finishing the pairing locally fails. type PairError struct { ID types.JID + LID types.JID BusinessName string Platform string Error error @@ -436,6 +438,11 @@ type JoinedGroup struct { Reason string // If the event was triggered by you using an invite link, this will be "invite". Type string // "new" if it's a newly created group. CreateKey types.MessageID // If you created the group, this is the same message ID you passed to CreateGroup. + // For type new, the user who created the group and added you to it + Sender *types.JID + SenderPN *types.JID + Notify string + types.GroupInfo } @@ -444,6 +451,7 @@ type GroupInfo struct { JID types.JID // The group ID in question Notify string // Seems like a top-level type for the invite Sender *types.JID // The user who made the change. Doesn't seem to be present when notify=invite + SenderPN *types.JID // The phone number of the user who made the change, if Sender is a LID. Timestamp time.Time // The time when the change occurred Name *types.GroupName // Group name change diff --git a/types/group.go b/types/group.go index 36db877d..44aec0de 100644 --- a/types/group.go +++ b/types/group.go @@ -21,6 +21,7 @@ const ( type GroupInfo struct { JID JID OwnerJID JID + OwnerPN JID GroupName GroupTopic @@ -34,7 +35,9 @@ type GroupInfo struct { GroupIsDefaultSub GroupMembershipApprovalMode - GroupCreated time.Time + AddressingMode AddressingMode + GroupCreated time.Time + CreatorCountryCode string ParticipantVersionID string Participants []GroupParticipant @@ -61,9 +64,10 @@ type GroupIsDefaultSub struct { // GroupName contains the name of a group along with metadata of who set it and when. type GroupName struct { - Name string - NameSetAt time.Time - NameSetBy JID + Name string + NameSetAt time.Time + NameSetBy JID + NameSetByPN JID } // GroupTopic contains the topic (description) of a group along with metadata of who set it and when. @@ -72,6 +76,7 @@ type GroupTopic struct { TopicID string TopicSetAt time.Time TopicSetBy JID + TopicSetByPN JID TopicDeleted bool } @@ -92,8 +97,12 @@ type GroupIncognito struct { // GroupParticipant contains info about a participant of a WhatsApp group chat. type GroupParticipant struct { - JID JID - LID JID + // The primary JID that should be used to send messages to this participant. + // Always equals either the LID or phone number. + JID JID + PhoneNumber JID + LID JID + IsAdmin bool IsSuperAdmin bool diff --git a/types/jid.go b/types/jid.go index ff96dd15..4571d6d3 100644 --- a/types/jid.go +++ b/types/jid.go @@ -42,6 +42,7 @@ var ( PSAJID = NewJID("0", LegacyUserServer) OfficialBusinessJID = NewJID("16505361212", LegacyUserServer) MetaAIJID = NewJID("13135550002", DefaultUserServer) + NewMetaAIJID = NewJID("867051314767696", BotServer) ) // MessageID is the internal ID of a WhatsApp message. @@ -91,18 +92,16 @@ func (jid JID) ToNonAD() JID { // SignalAddress returns the Signal protocol address for the user. func (jid JID) SignalAddress() *signalProtocol.SignalAddress { + return signalProtocol.NewSignalAddress(jid.SignalAddressUser(), uint32(jid.Device)) +} + +func (jid JID) SignalAddressUser() string { user := jid.User agent := jid.ActualAgent() if agent != 0 { user = fmt.Sprintf("%s_%d", jid.User, agent) } - return signalProtocol.NewSignalAddress(user, uint32(jid.Device)) - // TODO use @lid suffix instead of agent? - //suffix := "" - //if jid.Server == HiddenUserServer { - // suffix = "@lid" - //} - //return signalProtocol.NewSignalAddress(user, uint32(jid.Device), suffix) + return user } // IsBroadcastList returns true if the JID is a broadcast list, but not the status broadcast. @@ -113,7 +112,7 @@ func (jid JID) IsBroadcastList() bool { var botUserRegex = regexp.MustCompile(`^1313555\d{4}$|^131655500\d{2}$`) func (jid JID) IsBot() bool { - return jid.Server == DefaultUserServer && botUserRegex.MatchString(jid.User) && jid.Device == 0 + return (jid.Server == DefaultUserServer && botUserRegex.MatchString(jid.User) && jid.Device == 0) || jid.Server == BotServer } // NewADJID creates a new AD JID. diff --git a/types/message.go b/types/message.go index ff13f79c..83dc0721 100644 --- a/types/message.go +++ b/types/message.go @@ -11,6 +11,13 @@ import ( "time" ) +type AddressingMode string + +const ( + AddressingModePN AddressingMode = "pn" + AddressingModeLID AddressingMode = "lid" +) + // MessageSource contains basic sender and chat information about a message. type MessageSource struct { Chat JID // The chat where the message was sent. @@ -18,6 +25,10 @@ type MessageSource struct { IsFromMe bool // Whether the message was sent by the current user instead of someone else. IsGroup bool // Whether the chat is a group chat or broadcast list. + AddressingMode AddressingMode // The addressing mode of the message (phone number or LID) + SenderAlt JID // The alternative address of the user who sent the message + RecipientAlt JID // The alternative address of the recipient of the message for DMs. + // When sending a read receipt to a broadcast list message, the Chat is the broadcast list // and Sender is you, so this field contains the recipient of the read receipt. BroadcastListOwner JID @@ -64,8 +75,14 @@ type MsgBotInfo struct { // MsgMetaInfo targets type MsgMetaInfo struct { + // Bot things TargetID MessageID TargetSender JID + + DeprecatedLIDSession *bool + + ThreadMessageID MessageID + ThreadMessageSenderJID JID } // MessageInfo contains metadata about an incoming message. diff --git a/user.go b/user.go index 2a230762..d64d073e 100644 --- a/user.go +++ b/user.go @@ -10,6 +10,7 @@ import ( "context" "errors" "fmt" + "slices" "strings" "google.golang.org/protobuf/proto" @@ -221,7 +222,7 @@ func (cli *Client) GetUserInfo(jids []types.JID) (map[types.JID]types.UserInfo, status, _ := child.GetChildByTag("status").Content.([]byte) info.Status = string(status) info.PictureID, _ = child.GetChildByTag("picture").Attrs["id"].(string) - info.Devices = parseDeviceList(jid.User, child.GetChildByTag("devices")) + info.Devices = parseDeviceList(jid, child.GetChildByTag("devices")) if verifiedName != nil { cli.updateBusinessName(jid, nil, verifiedName.Details.GetVerifiedName()) } @@ -457,26 +458,18 @@ func (cli *Client) GetUserDevicesContext(ctx context.Context, jids []types.JID) if user.Tag != "user" || !jidOK { continue } - userDevices := parseDeviceList(jid.User, user.GetChildByTag("devices")) + userDevices := parseDeviceList(jid, user.GetChildByTag("devices")) cli.userDevicesCache[jid] = deviceCache{devices: userDevices, dhash: participantListHashV2(userDevices)} devices = append(devices, userDevices...) } } if len(fbJIDsToSync) > 0 { - list, err := cli.getFBIDDevices(ctx, fbJIDsToSync) + userDevices, err := cli.getFBIDDevices(ctx, fbJIDsToSync) if err != nil { return nil, err } - for _, user := range list.GetChildren() { - jid, jidOK := user.Attrs["jid"].(types.JID) - if user.Tag != "user" || !jidOK { - continue - } - userDevices := parseFBDeviceList(jid, user.GetChildByTag("devices")) - cli.userDevicesCache[jid] = userDevices - devices = append(devices, userDevices.devices...) - } + devices = append(devices, userDevices...) } return devices, nil @@ -667,7 +660,7 @@ func parseVerifiedNameContent(verifiedNameNode waBinary.Node) (*types.VerifiedNa }, nil } -func parseDeviceList(user string, deviceNode waBinary.Node) []types.JID { +func parseDeviceList(user types.JID, deviceNode waBinary.Node) []types.JID { deviceList := deviceNode.GetChildByTag("device-list") if deviceNode.Tag != "devices" || deviceList.Tag != "device-list" { return nil @@ -679,7 +672,8 @@ func parseDeviceList(user string, deviceNode waBinary.Node) []types.JID { if device.Tag != "device" || !ok { continue } - devices = append(devices, types.NewADJID(user, 0, byte(deviceID))) + user.Device = uint16(deviceID) + devices = append(devices, user) } return devices } @@ -703,7 +697,7 @@ func parseFBDeviceList(user types.JID, deviceList waBinary.Node) deviceCache { } } -func (cli *Client) getFBIDDevices(ctx context.Context, jids []types.JID) (*waBinary.Node, error) { +func (cli *Client) getFBIDDevicesInternal(ctx context.Context, jids []types.JID) (*waBinary.Node, error) { users := make([]waBinary.Node, len(jids)) for i, jid := range jids { users[i].Tag = "user" @@ -729,6 +723,26 @@ func (cli *Client) getFBIDDevices(ctx context.Context, jids []types.JID) (*waBin } } +func (cli *Client) getFBIDDevices(ctx context.Context, jids []types.JID) ([]types.JID, error) { + var devices []types.JID + for chunk := range slices.Chunk(jids, 15) { + list, err := cli.getFBIDDevicesInternal(ctx, chunk) + if err != nil { + return nil, err + } + for _, user := range list.GetChildren() { + jid, jidOK := user.Attrs["jid"].(types.JID) + if user.Tag != "user" || !jidOK { + continue + } + userDevices := parseFBDeviceList(jid, user.GetChildByTag("devices")) + cli.userDevicesCache[jid] = userDevices + devices = append(devices, userDevices.devices...) + } + } + return devices, nil +} + type UsyncQueryExtras struct { BotListInfo []types.BotListInfo } @@ -755,20 +769,20 @@ func (cli *Client) usync(ctx context.Context, jids []types.JID, mode, context st Tag: "contact", Content: jid.String(), }} - case types.DefaultUserServer: + case types.DefaultUserServer, types.HiddenUserServer: userList[i].Attrs = waBinary.Attrs{"jid": jid} if jid.IsBot() { - var personaId string + var personaID string for _, bot := range extras.BotListInfo { if bot.BotJID.User == jid.User { - personaId = bot.PersonaID + personaID = bot.PersonaID } } userList[i].Content = []waBinary.Node{{ Tag: "bot", Content: []waBinary.Node{{ Tag: "profile", - Attrs: waBinary.Attrs{"persona_id": personaId}, + Attrs: waBinary.Attrs{"persona_id": personaID}, }}, }} }