slidge-whatsapp 0.3.1__cp311-cp311-manylinux_2_36_aarch64.whl → 0.3.4__cp311-cp311-manylinux_2_36_aarch64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of slidge-whatsapp might be problematic. Click here for more details.

Files changed (74) hide show
  1. slidge_whatsapp/generated/_whatsapp.cpython-311-aarch64-linux-gnu.h +178 -178
  2. slidge_whatsapp/generated/_whatsapp.cpython-311-aarch64-linux-gnu.so +0 -0
  3. slidge_whatsapp/generated/build.py +145 -145
  4. slidge_whatsapp/generated/go.py +1 -1
  5. slidge_whatsapp/generated/whatsapp.c +1517 -1517
  6. slidge_whatsapp/generated/whatsapp.go +1151 -1151
  7. slidge_whatsapp/generated/whatsapp.py +1175 -1175
  8. slidge_whatsapp/generated/whatsapp_go.h +178 -178
  9. slidge_whatsapp/go.mod +9 -9
  10. slidge_whatsapp/go.sum +18 -18
  11. slidge_whatsapp/vendor/go.mau.fi/libsignal/session/SessionCipher.go +7 -2
  12. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/module.go +2 -1
  13. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/upgradetable.go +3 -0
  14. slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncmap.go +48 -7
  15. slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncset.go +13 -0
  16. slidge_whatsapp/vendor/go.mau.fi/util/jsontime/helpers.go +16 -5
  17. slidge_whatsapp/vendor/go.mau.fi/util/jsontime/integer.go +27 -12
  18. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/encode.go +39 -28
  19. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate.go +17 -2
  20. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/armadillomessage.go +2 -1
  21. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/internals.go +18 -6
  22. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/message.go +40 -16
  23. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair.go +24 -21
  24. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/prekeys.go +21 -0
  25. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.go +3213 -2851
  26. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.proto +108 -74
  27. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.pb.go +7 -3
  28. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.proto +1 -0
  29. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.go +7 -3
  30. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.proto +1 -0
  31. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.go +35 -23
  32. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.proto +5 -3
  33. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/receipt.go +47 -16
  34. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/retry.go +4 -10
  35. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/send.go +28 -42
  36. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/sendfb.go +33 -32
  37. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/clientpayload.go +1 -1
  38. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/noop.go +5 -1
  39. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sessioncache.go +125 -0
  40. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/signal.go +8 -0
  41. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/store.go +34 -11
  42. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/store.go +5 -3
  43. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/jid.go +24 -9
  44. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/user.go +12 -1
  45. slidge_whatsapp/vendor/golang.org/x/crypto/curve25519/curve25519.go +7 -4
  46. slidge_whatsapp/vendor/golang.org/x/net/http2/config.go +11 -6
  47. slidge_whatsapp/vendor/golang.org/x/net/http2/config_go125.go +15 -0
  48. slidge_whatsapp/vendor/golang.org/x/net/http2/config_go126.go +15 -0
  49. slidge_whatsapp/vendor/golang.org/x/net/http2/frame.go +24 -1
  50. slidge_whatsapp/vendor/golang.org/x/net/http2/http2.go +0 -1
  51. slidge_whatsapp/vendor/golang.org/x/net/http2/server.go +35 -26
  52. slidge_whatsapp/vendor/golang.org/x/net/http2/transport.go +4 -2
  53. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched.go +2 -0
  54. slidge_whatsapp/vendor/golang.org/x/net/http2/{writesched_priority.go → writesched_priority_rfc7540.go} +52 -52
  55. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_priority_rfc9128.go +209 -0
  56. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_roundrobin.go +1 -1
  57. slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/request.go +2 -2
  58. slidge_whatsapp/vendor/golang.org/x/net/internal/socks/socks.go +1 -1
  59. slidge_whatsapp/vendor/golang.org/x/sys/unix/affinity_linux.go +9 -0
  60. slidge_whatsapp/vendor/golang.org/x/sys/unix/fdset.go +1 -3
  61. slidge_whatsapp/vendor/golang.org/x/sys/unix/ifreq_linux.go +1 -3
  62. slidge_whatsapp/vendor/golang.org/x/sys/unix/mkall.sh +1 -0
  63. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux.go +1 -3
  64. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_netbsd.go +17 -0
  65. slidge_whatsapp/vendor/golang.org/x/sys/windows/syscall_windows.go +2 -0
  66. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows.go +16 -0
  67. slidge_whatsapp/vendor/golang.org/x/sys/windows/zsyscall_windows.go +18 -0
  68. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/core.go +2 -9
  69. slidge_whatsapp/vendor/modules.txt +10 -10
  70. {slidge_whatsapp-0.3.1.dist-info → slidge_whatsapp-0.3.4.dist-info}/METADATA +1 -1
  71. {slidge_whatsapp-0.3.1.dist-info → slidge_whatsapp-0.3.4.dist-info}/RECORD +74 -70
  72. {slidge_whatsapp-0.3.1.dist-info → slidge_whatsapp-0.3.4.dist-info}/WHEEL +0 -0
  73. {slidge_whatsapp-0.3.1.dist-info → slidge_whatsapp-0.3.4.dist-info}/entry_points.txt +0 -0
  74. {slidge_whatsapp-0.3.1.dist-info → slidge_whatsapp-0.3.4.dist-info}/licenses/LICENSE +0 -0
@@ -9,6 +9,11 @@ import "waMmsRetry/WAMmsRetry.proto";
9
9
  import "waCommon/WACommon.proto";
10
10
  import "waStatusAttributions/WAStatusAttributions.proto";
11
11
 
12
+ enum PollType {
13
+ POLL = 0;
14
+ QUIZ = 1;
15
+ }
16
+
12
17
  enum PollContentType {
13
18
  UNKNOWN_POLL_CONTENT_TYPE = 0;
14
19
  TEXT = 1;
@@ -27,6 +32,7 @@ enum PeerDataOperationRequestType {
27
32
  COMPANION_SYNCD_SNAPSHOT_FATAL_RECOVERY = 8;
28
33
  COMPANION_CANONICAL_USER_NONCE_FETCH = 9;
29
34
  HISTORY_SYNC_CHUNK_RETRY = 10;
35
+ GALAXY_FLOW_ACTION = 11;
30
36
  }
31
37
 
32
38
  enum HistorySyncType {
@@ -203,27 +209,6 @@ message StatusStickerInteractionMessage {
203
209
  optional StatusStickerType type = 3;
204
210
  }
205
211
 
206
- message PollCreationMessage {
207
- enum PollType {
208
- POLL = 0;
209
- QUIZ = 1;
210
- }
211
-
212
- message Option {
213
- optional string optionName = 1;
214
- optional string optionHash = 2;
215
- }
216
-
217
- optional bytes encKey = 1;
218
- optional string name = 2;
219
- repeated Option options = 3;
220
- optional uint32 selectableOptionsCount = 4;
221
- optional ContextInfo contextInfo = 5;
222
- optional PollContentType pollContentType = 6;
223
- optional PollType pollType = 7;
224
- optional Option correctAnswer = 8;
225
- }
226
-
227
212
  message ButtonsResponseMessage {
228
213
  enum Type {
229
214
  UNKNOWN = 0;
@@ -705,6 +690,67 @@ message PeerDataOperationRequestResponseMessage {
705
690
  repeated PeerDataOperationResult peerDataOperationResult = 3;
706
691
  }
707
692
 
693
+ message PeerDataOperationRequestMessage {
694
+ message GalaxyFlowAction {
695
+ enum GalaxyFlowActionType {
696
+ NOTIFY_LAUNCH = 1;
697
+ }
698
+
699
+ optional GalaxyFlowActionType type = 1;
700
+ optional string flowID = 2;
701
+ optional string stanzaID = 3;
702
+ }
703
+
704
+ message HistorySyncChunkRetryRequest {
705
+ optional HistorySyncType syncType = 1;
706
+ optional uint32 chunkOrder = 2;
707
+ optional string chunkNotificationID = 3;
708
+ optional bool regenerateChunk = 4;
709
+ }
710
+
711
+ message SyncDCollectionFatalRecoveryRequest {
712
+ optional string collectionName = 1;
713
+ optional int64 timestamp = 2;
714
+ }
715
+
716
+ message PlaceholderMessageResendRequest {
717
+ optional WACommon.MessageKey messageKey = 1;
718
+ }
719
+
720
+ message FullHistorySyncOnDemandRequest {
721
+ optional FullHistorySyncOnDemandRequestMetadata requestMetadata = 1;
722
+ optional WACompanionReg.DeviceProps.HistorySyncConfig historySyncConfig = 2;
723
+ }
724
+
725
+ message HistorySyncOnDemandRequest {
726
+ optional string chatJID = 1;
727
+ optional string oldestMsgID = 2;
728
+ optional bool oldestMsgFromMe = 3;
729
+ optional int32 onDemandMsgCount = 4;
730
+ optional int64 oldestMsgTimestampMS = 5;
731
+ optional string accountLid = 6;
732
+ }
733
+
734
+ message RequestUrlPreview {
735
+ optional string URL = 1;
736
+ optional bool includeHqThumbnail = 2;
737
+ }
738
+
739
+ message RequestStickerReupload {
740
+ optional string fileSHA256 = 1;
741
+ }
742
+
743
+ optional PeerDataOperationRequestType peerDataOperationRequestType = 1;
744
+ repeated RequestStickerReupload requestStickerReupload = 2;
745
+ repeated RequestUrlPreview requestURLPreview = 3;
746
+ optional HistorySyncOnDemandRequest historySyncOnDemandRequest = 4;
747
+ repeated PlaceholderMessageResendRequest placeholderMessageResendRequest = 5;
748
+ optional FullHistorySyncOnDemandRequest fullHistorySyncOnDemandRequest = 6;
749
+ optional SyncDCollectionFatalRecoveryRequest syncdCollectionFatalRecoveryRequest = 7;
750
+ optional HistorySyncChunkRetryRequest historySyncChunkRetryRequest = 8;
751
+ optional GalaxyFlowAction galaxyFlowAction = 9;
752
+ }
753
+
708
754
  message RequestWelcomeMessageMetadata {
709
755
  enum LocalChatState {
710
756
  EMPTY = 0;
@@ -895,6 +941,7 @@ message ExtendedTextMessage {
895
941
  repeated VideoEndCard endCardTiles = 36;
896
942
  optional string videoContentURL = 37;
897
943
  optional EmbeddedMusic musicMetadata = 38;
944
+ optional PaymentExtendedMetadata paymentExtendedMetadata = 39;
898
945
  }
899
946
 
900
947
  message LinkPreviewMetadata {
@@ -913,6 +960,9 @@ message LinkPreviewMetadata {
913
960
  optional uint32 linkMediaDuration = 4;
914
961
  optional SocialMediaPostType socialMediaPostType = 5;
915
962
  optional bool linkInlineVideoMuted = 6;
963
+ optional string videoContentURL = 7;
964
+ optional EmbeddedMusic musicMetadata = 8;
965
+ optional string videoContentCaption = 9;
916
966
  }
917
967
 
918
968
  message PaymentLinkMetadata {
@@ -1492,7 +1542,6 @@ message Message {
1492
1542
  optional FutureProofMessage associatedChildMessage = 91;
1493
1543
  optional FutureProofMessage groupStatusMentionMessage = 92;
1494
1544
  optional FutureProofMessage pollCreationMessageV4 = 93;
1495
- optional FutureProofMessage pollCreationMessageV5 = 94;
1496
1545
  optional FutureProofMessage statusAddYours = 95;
1497
1546
  optional FutureProofMessage groupStatusMessage = 96;
1498
1547
  optional AIRichResponseMessage richResponseMessage = 97;
@@ -1506,9 +1555,12 @@ message Message {
1506
1555
  optional StatusQuestionAnswerMessage statusQuestionAnswerMessage = 105;
1507
1556
  optional FutureProofMessage questionReplyMessage = 106;
1508
1557
  optional QuestionResponseMessage questionResponseMessage = 107;
1509
- optional NewsletterFollowerInviteMessage newsletterFollowerInviteMessage = 108;
1510
1558
  optional StatusQuotedMessage statusQuotedMessage = 109;
1511
1559
  optional StatusStickerInteractionMessage statusStickerInteractionMessage = 110;
1560
+ optional PollCreationMessage pollCreationMessageV5 = 111;
1561
+ optional PollResultSnapshotMessage pollResultSnapshotMessageV2 = 112;
1562
+ optional NewsletterFollowerInviteMessage newsletterFollowerInviteMessageV2 = 113;
1563
+ optional RequestContactInfoMessage requestContactInfoMessage = 114;
1512
1564
  }
1513
1565
 
1514
1566
  message AlbumMessage {
@@ -1600,6 +1652,7 @@ message PollResultSnapshotMessage {
1600
1652
  optional string name = 1;
1601
1653
  repeated PollVote pollVotes = 2;
1602
1654
  optional ContextInfo contextInfo = 3;
1655
+ optional PollType pollType = 4;
1603
1656
  }
1604
1657
 
1605
1658
  message PollVoteMessage {
@@ -1621,6 +1674,22 @@ message PollUpdateMessage {
1621
1674
  optional int64 senderTimestampMS = 4;
1622
1675
  }
1623
1676
 
1677
+ message PollCreationMessage {
1678
+ message Option {
1679
+ optional string optionName = 1;
1680
+ optional string optionHash = 2;
1681
+ }
1682
+
1683
+ optional bytes encKey = 1;
1684
+ optional string name = 2;
1685
+ repeated Option options = 3;
1686
+ optional uint32 selectableOptionsCount = 4;
1687
+ optional ContextInfo contextInfo = 5;
1688
+ optional PollContentType pollContentType = 6;
1689
+ optional PollType pollType = 7;
1690
+ optional Option correctAnswer = 8;
1691
+ }
1692
+
1624
1693
  message StickerSyncRMRMessage {
1625
1694
  repeated string filehash = 1;
1626
1695
  optional string rmrSource = 2;
@@ -1644,6 +1713,12 @@ message DeviceSentMessage {
1644
1713
  optional string phash = 3;
1645
1714
  }
1646
1715
 
1716
+ message RequestContactInfoMessage {
1717
+ optional string text = 1;
1718
+ optional string ctaButtonText = 2;
1719
+ optional ContextInfo contextInfo = 3;
1720
+ }
1721
+
1647
1722
  message RequestPhoneNumberMessage {
1648
1723
  optional ContextInfo contextInfo = 1;
1649
1724
  }
@@ -1817,56 +1892,6 @@ message InitialSecurityNotificationSettingSync {
1817
1892
  optional bool securityNotificationEnabled = 1;
1818
1893
  }
1819
1894
 
1820
- message PeerDataOperationRequestMessage {
1821
- message HistorySyncChunkRetryRequest {
1822
- optional HistorySyncType syncType = 1;
1823
- optional uint32 chunkOrder = 2;
1824
- optional string chunkNotificationID = 3;
1825
- optional bool regenerateChunk = 4;
1826
- }
1827
-
1828
- message SyncDCollectionFatalRecoveryRequest {
1829
- optional string collectionName = 1;
1830
- optional int64 timestamp = 2;
1831
- }
1832
-
1833
- message PlaceholderMessageResendRequest {
1834
- optional WACommon.MessageKey messageKey = 1;
1835
- }
1836
-
1837
- message FullHistorySyncOnDemandRequest {
1838
- optional FullHistorySyncOnDemandRequestMetadata requestMetadata = 1;
1839
- optional WACompanionReg.DeviceProps.HistorySyncConfig historySyncConfig = 2;
1840
- }
1841
-
1842
- message HistorySyncOnDemandRequest {
1843
- optional string chatJID = 1;
1844
- optional string oldestMsgID = 2;
1845
- optional bool oldestMsgFromMe = 3;
1846
- optional int32 onDemandMsgCount = 4;
1847
- optional int64 oldestMsgTimestampMS = 5;
1848
- optional string accountLid = 6;
1849
- }
1850
-
1851
- message RequestUrlPreview {
1852
- optional string URL = 1;
1853
- optional bool includeHqThumbnail = 2;
1854
- }
1855
-
1856
- message RequestStickerReupload {
1857
- optional string fileSHA256 = 1;
1858
- }
1859
-
1860
- optional PeerDataOperationRequestType peerDataOperationRequestType = 1;
1861
- repeated RequestStickerReupload requestStickerReupload = 2;
1862
- repeated RequestUrlPreview requestURLPreview = 3;
1863
- optional HistorySyncOnDemandRequest historySyncOnDemandRequest = 4;
1864
- repeated PlaceholderMessageResendRequest placeholderMessageResendRequest = 5;
1865
- optional FullHistorySyncOnDemandRequest fullHistorySyncOnDemandRequest = 6;
1866
- optional SyncDCollectionFatalRecoveryRequest syncdCollectionFatalRecoveryRequest = 7;
1867
- optional HistorySyncChunkRetryRequest historySyncChunkRetryRequest = 8;
1868
- }
1869
-
1870
1895
  message FullHistorySyncOnDemandRequestMetadata {
1871
1896
  optional string requestID = 1;
1872
1897
  }
@@ -1988,6 +2013,12 @@ message URLMetadata {
1988
2013
  optional uint32 fbExperimentID = 1;
1989
2014
  }
1990
2015
 
2016
+ message PaymentExtendedMetadata {
2017
+ optional uint32 type = 1;
2018
+ optional string platform = 2;
2019
+ optional string messageParamsJSON = 3;
2020
+ }
2021
+
1991
2022
  message MMSThumbnailMetadata {
1992
2023
  optional string thumbnailDirectPath = 1;
1993
2024
  optional bytes thumbnailSHA256 = 2;
@@ -2056,10 +2087,13 @@ message EmbeddedMusic {
2056
2087
  optional string artworkDirectPath = 5;
2057
2088
  optional bytes artworkSHA256 = 6;
2058
2089
  optional bytes artworkEncSHA256 = 7;
2059
- optional bytes artworkMediaKey = 11;
2060
2090
  optional string artistAttribution = 8;
2061
2091
  optional bytes countryBlocklist = 9;
2062
2092
  optional bool isExplicit = 10;
2093
+ optional bytes artworkMediaKey = 11;
2094
+ optional int64 musicSongStartTimeInMS = 12;
2095
+ optional int64 derivedContentStartTimeInMS = 13;
2096
+ optional int64 overlapDurationInMS = 14;
2063
2097
  }
2064
2098
 
2065
2099
  message EmbeddedContent {
@@ -33,6 +33,7 @@ const (
33
33
  StatusAttribution_GROUP_STATUS StatusAttribution_Type = 5
34
34
  StatusAttribution_RL_ATTRIBUTION StatusAttribution_Type = 6
35
35
  StatusAttribution_AI_CREATED StatusAttribution_Type = 7
36
+ StatusAttribution_LAYOUTS StatusAttribution_Type = 8
36
37
  )
37
38
 
38
39
  // Enum value maps for StatusAttribution_Type.
@@ -46,6 +47,7 @@ var (
46
47
  5: "GROUP_STATUS",
47
48
  6: "RL_ATTRIBUTION",
48
49
  7: "AI_CREATED",
50
+ 8: "LAYOUTS",
49
51
  }
50
52
  StatusAttribution_Type_value = map[string]int32{
51
53
  "UNKNOWN": 0,
@@ -56,6 +58,7 @@ var (
56
58
  "GROUP_STATUS": 5,
57
59
  "RL_ATTRIBUTION": 6,
58
60
  "AI_CREATED": 7,
61
+ "LAYOUTS": 8,
59
62
  }
60
63
  )
61
64
 
@@ -929,7 +932,7 @@ var File_waStatusAttributions_WAStatusAttributions_proto protoreflect.FileDescri
929
932
 
930
933
  const file_waStatusAttributions_WAStatusAttributions_proto_rawDesc = "" +
931
934
  "\n" +
932
- "/waStatusAttributions/WAStatusAttributions.proto\x12\x14WAStatusAttributions\"\xd1\x11\n" +
935
+ "/waStatusAttributions/WAStatusAttributions.proto\x12\x14WAStatusAttributions\"\xde\x11\n" +
933
936
  "\x11StatusAttribution\x12]\n" +
934
937
  "\rstatusReshare\x18\x03 \x01(\v25.WAStatusAttributions.StatusAttribution.StatusReshareH\x00R\rstatusReshare\x12]\n" +
935
938
  "\rexternalShare\x18\x04 \x01(\v25.WAStatusAttributions.StatusAttribution.ExternalShareH\x00R\rexternalShare\x12E\n" +
@@ -995,7 +998,7 @@ const file_waStatusAttributions_WAStatusAttributions_proto_rawDesc = "" +
995
998
  "\x11artistAttribution\x18\x05 \x01(\tR\x11artistAttribution\x12\x1e\n" +
996
999
  "\n" +
997
1000
  "isExplicit\x18\x06 \x01(\bR\n" +
998
- "isExplicit\"\x89\x01\n" +
1001
+ "isExplicit\"\x96\x01\n" +
999
1002
  "\x04Type\x12\v\n" +
1000
1003
  "\aUNKNOWN\x10\x00\x12\v\n" +
1001
1004
  "\aRESHARE\x10\x01\x12\x12\n" +
@@ -1005,7 +1008,8 @@ const file_waStatusAttributions_WAStatusAttributions_proto_rawDesc = "" +
1005
1008
  "\fGROUP_STATUS\x10\x05\x12\x12\n" +
1006
1009
  "\x0eRL_ATTRIBUTION\x10\x06\x12\x0e\n" +
1007
1010
  "\n" +
1008
- "AI_CREATED\x10\aB\x11\n" +
1011
+ "AI_CREATED\x10\a\x12\v\n" +
1012
+ "\aLAYOUTS\x10\bB\x11\n" +
1009
1013
  "\x0fattributionDataB0Z.go.mau.fi/whatsmeow/proto/waStatusAttributions"
1010
1014
 
1011
1015
  var (
@@ -12,6 +12,7 @@ message StatusAttribution {
12
12
  GROUP_STATUS = 5;
13
13
  RL_ATTRIBUTION = 6;
14
14
  AI_CREATED = 7;
15
+ LAYOUTS = 8;
15
16
  }
16
17
 
17
18
  message AiCreatedAttribution {
@@ -937,6 +937,7 @@ const (
937
937
  PatchDebugData_WEAROS PatchDebugData_Platform = 8
938
938
  PatchDebugData_WASG PatchDebugData_Platform = 9
939
939
  PatchDebugData_WEARM PatchDebugData_Platform = 10
940
+ PatchDebugData_CAPI PatchDebugData_Platform = 11
940
941
  )
941
942
 
942
943
  // Enum value maps for PatchDebugData_Platform.
@@ -953,6 +954,7 @@ var (
953
954
  8: "WEAROS",
954
955
  9: "WASG",
955
956
  10: "WEARM",
957
+ 11: "CAPI",
956
958
  }
957
959
  PatchDebugData_Platform_value = map[string]int32{
958
960
  "ANDROID": 0,
@@ -966,6 +968,7 @@ var (
966
968
  "WEAROS": 8,
967
969
  "WASG": 9,
968
970
  "WEARM": 10,
971
+ "CAPI": 11,
969
972
  }
970
973
  )
971
974
 
@@ -5756,7 +5759,7 @@ const file_waSyncAction_WASyncAction_proto_rawDesc = "" +
5756
5759
  "\n" +
5757
5760
  "\x06CUSTOM\x10\x05\x12\r\n" +
5758
5761
  "\tCOMMUNITY\x10\x06\x12\x13\n" +
5759
- "\x0fSERVER_ASSIGNED\x10\a\"\x8e\x05\n" +
5762
+ "\x0fSERVER_ASSIGNED\x10\a\"\x98\x05\n" +
5760
5763
  "\x0ePatchDebugData\x12$\n" +
5761
5764
  "\rcurrentLthash\x18\x01 \x01(\fR\rcurrentLthash\x12\x1c\n" +
5762
5765
  "\tnewLthash\x18\x02 \x01(\fR\tnewLthash\x12\"\n" +
@@ -5769,7 +5772,7 @@ const file_waSyncAction_WASyncAction_proto_rawDesc = "" +
5769
5772
  "\x0enumberOverride\x18\t \x01(\x05R\x0enumberOverride\x12M\n" +
5770
5773
  "\x0esenderPlatform\x18\n" +
5771
5774
  " \x01(\x0e2%.WASyncAction.PatchDebugData.PlatformR\x0esenderPlatform\x12(\n" +
5772
- "\x0fisSenderPrimary\x18\v \x01(\bR\x0fisSenderPrimary\"\x80\x01\n" +
5775
+ "\x0fisSenderPrimary\x18\v \x01(\bR\x0fisSenderPrimary\"\x8a\x01\n" +
5773
5776
  "\bPlatform\x12\v\n" +
5774
5777
  "\aANDROID\x10\x00\x12\b\n" +
5775
5778
  "\x04SMBA\x10\x01\x12\n" +
@@ -5785,7 +5788,8 @@ const file_waSyncAction_WASyncAction_proto_rawDesc = "" +
5785
5788
  "\x06WEAROS\x10\b\x12\b\n" +
5786
5789
  "\x04WASG\x10\t\x12\t\n" +
5787
5790
  "\x05WEARM\x10\n" +
5788
- "\"A\n" +
5791
+ "\x12\b\n" +
5792
+ "\x04CAPI\x10\v\"A\n" +
5789
5793
  "\x11RecentEmojiWeight\x12\x14\n" +
5790
5794
  "\x05emoji\x18\x01 \x01(\tR\x05emoji\x12\x16\n" +
5791
5795
  "\x06weight\x18\x02 \x01(\x02R\x06weight\"\xd6.\n" +
@@ -207,6 +207,7 @@ message PatchDebugData {
207
207
  WEAROS = 8;
208
208
  WASG = 9;
209
209
  WEARM = 10;
210
+ CAPI = 11;
210
211
  }
211
212
 
212
213
  optional bytes currentLthash = 1;
@@ -1342,22 +1342,25 @@ func (MessageAddOn_MessageAddOnType) EnumDescriptor() ([]byte, []int) {
1342
1342
  type GroupHistoryBundleInfo_ProcessState int32
1343
1343
 
1344
1344
  const (
1345
- GroupHistoryBundleInfo_NOT_DOWNLOADED GroupHistoryBundleInfo_ProcessState = 0
1346
- GroupHistoryBundleInfo_DOWNLOADED GroupHistoryBundleInfo_ProcessState = 1
1347
- GroupHistoryBundleInfo_DOWNLOAD_FAILED GroupHistoryBundleInfo_ProcessState = 2
1345
+ GroupHistoryBundleInfo_NOT_INJECTED GroupHistoryBundleInfo_ProcessState = 0
1346
+ GroupHistoryBundleInfo_INJECTED GroupHistoryBundleInfo_ProcessState = 1
1347
+ GroupHistoryBundleInfo_INJECTED_PARTIAL GroupHistoryBundleInfo_ProcessState = 2
1348
+ GroupHistoryBundleInfo_INJECTION_FAILED GroupHistoryBundleInfo_ProcessState = 3
1348
1349
  )
1349
1350
 
1350
1351
  // Enum value maps for GroupHistoryBundleInfo_ProcessState.
1351
1352
  var (
1352
1353
  GroupHistoryBundleInfo_ProcessState_name = map[int32]string{
1353
- 0: "NOT_DOWNLOADED",
1354
- 1: "DOWNLOADED",
1355
- 2: "DOWNLOAD_FAILED",
1354
+ 0: "NOT_INJECTED",
1355
+ 1: "INJECTED",
1356
+ 2: "INJECTED_PARTIAL",
1357
+ 3: "INJECTION_FAILED",
1356
1358
  }
1357
1359
  GroupHistoryBundleInfo_ProcessState_value = map[string]int32{
1358
- "NOT_DOWNLOADED": 0,
1359
- "DOWNLOADED": 1,
1360
- "DOWNLOAD_FAILED": 2,
1360
+ "NOT_INJECTED": 0,
1361
+ "INJECTED": 1,
1362
+ "INJECTED_PARTIAL": 2,
1363
+ "INJECTION_FAILED": 3,
1361
1364
  }
1362
1365
  )
1363
1366
 
@@ -2715,7 +2718,7 @@ func (x *GroupHistoryBundleInfo) GetProcessState() GroupHistoryBundleInfo_Proces
2715
2718
  if x != nil && x.ProcessState != nil {
2716
2719
  return *x.ProcessState
2717
2720
  }
2718
- return GroupHistoryBundleInfo_NOT_DOWNLOADED
2721
+ return GroupHistoryBundleInfo_NOT_INJECTED
2719
2722
  }
2720
2723
 
2721
2724
  type CommentMetadata struct {
@@ -3887,10 +3890,11 @@ func (x *Citation) GetImageURL() string {
3887
3890
  }
3888
3891
 
3889
3892
  type GroupHistoryIndividualMessageInfo struct {
3890
- state protoimpl.MessageState `protogen:"open.v1"`
3891
- BundleMessageKey *waCommon.MessageKey `protobuf:"bytes,1,opt,name=bundleMessageKey" json:"bundleMessageKey,omitempty"`
3892
- unknownFields protoimpl.UnknownFields
3893
- sizeCache protoimpl.SizeCache
3893
+ state protoimpl.MessageState `protogen:"open.v1"`
3894
+ BundleMessageKey *waCommon.MessageKey `protobuf:"bytes,1,opt,name=bundleMessageKey" json:"bundleMessageKey,omitempty"`
3895
+ EditedAfterReceivedAsHistory *bool `protobuf:"varint,2,opt,name=editedAfterReceivedAsHistory" json:"editedAfterReceivedAsHistory,omitempty"`
3896
+ unknownFields protoimpl.UnknownFields
3897
+ sizeCache protoimpl.SizeCache
3894
3898
  }
3895
3899
 
3896
3900
  func (x *GroupHistoryIndividualMessageInfo) Reset() {
@@ -3930,6 +3934,13 @@ func (x *GroupHistoryIndividualMessageInfo) GetBundleMessageKey() *waCommon.Mess
3930
3934
  return nil
3931
3935
  }
3932
3936
 
3937
+ func (x *GroupHistoryIndividualMessageInfo) GetEditedAfterReceivedAsHistory() bool {
3938
+ if x != nil && x.EditedAfterReceivedAsHistory != nil {
3939
+ return *x.EditedAfterReceivedAsHistory
3940
+ }
3941
+ return false
3942
+ }
3943
+
3933
3944
  var File_waWeb_WAWebProtobufsWeb_proto protoreflect.FileDescriptor
3934
3945
 
3935
3946
  const file_waWeb_WAWebProtobufsWeb_proto_rawDesc = "" +
@@ -4398,15 +4409,15 @@ const file_waWeb_WAWebProtobufsWeb_proto_rawDesc = "" +
4398
4409
  "\bREACTION\x10\x01\x12\x12\n" +
4399
4410
  "\x0eEVENT_RESPONSE\x10\x02\x12\x0f\n" +
4400
4411
  "\vPOLL_UPDATE\x10\x03\x12\x0f\n" +
4401
- "\vPIN_IN_CHAT\x10\x04\"\xae\x02\n" +
4412
+ "\vPIN_IN_CHAT\x10\x04\"\xc1\x02\n" +
4402
4413
  "\x16GroupHistoryBundleInfo\x12o\n" +
4403
4414
  "\x1edeprecatedMessageHistoryBundle\x18\x01 \x01(\v2'.WAWebProtobufsE2E.MessageHistoryBundleR\x1edeprecatedMessageHistoryBundle\x12Z\n" +
4404
- "\fprocessState\x18\x02 \x01(\x0e26.WAWebProtobufsWeb.GroupHistoryBundleInfo.ProcessStateR\fprocessState\"G\n" +
4405
- "\fProcessState\x12\x12\n" +
4406
- "\x0eNOT_DOWNLOADED\x10\x00\x12\x0e\n" +
4407
- "\n" +
4408
- "DOWNLOADED\x10\x01\x12\x13\n" +
4409
- "\x0fDOWNLOAD_FAILED\x10\x02\"s\n" +
4415
+ "\fprocessState\x18\x02 \x01(\x0e26.WAWebProtobufsWeb.GroupHistoryBundleInfo.ProcessStateR\fprocessState\"Z\n" +
4416
+ "\fProcessState\x12\x10\n" +
4417
+ "\fNOT_INJECTED\x10\x00\x12\f\n" +
4418
+ "\bINJECTED\x10\x01\x12\x14\n" +
4419
+ "\x10INJECTED_PARTIAL\x10\x02\x12\x14\n" +
4420
+ "\x10INJECTION_FAILED\x10\x03\"s\n" +
4410
4421
  "\x0fCommentMetadata\x12@\n" +
4411
4422
  "\x10commentParentKey\x18\x01 \x01(\v2\x14.WACommon.MessageKeyR\x10commentParentKey\x12\x1e\n" +
4412
4423
  "\n" +
@@ -4490,9 +4501,10 @@ const file_waWeb_WAWebProtobufsWeb_proto_rawDesc = "" +
4490
4501
  "\x05title\x18\x01 \x02(\tR\x05title\x12\x1a\n" +
4491
4502
  "\bsubtitle\x18\x02 \x02(\tR\bsubtitle\x12\x14\n" +
4492
4503
  "\x05cmsID\x18\x03 \x02(\tR\x05cmsID\x12\x1a\n" +
4493
- "\bimageURL\x18\x04 \x02(\tR\bimageURL\"e\n" +
4504
+ "\bimageURL\x18\x04 \x02(\tR\bimageURL\"\xa9\x01\n" +
4494
4505
  "!GroupHistoryIndividualMessageInfo\x12@\n" +
4495
- "\x10bundleMessageKey\x18\x01 \x01(\v2\x14.WACommon.MessageKeyR\x10bundleMessageKeyB!Z\x1fgo.mau.fi/whatsmeow/proto/waWeb"
4506
+ "\x10bundleMessageKey\x18\x01 \x01(\v2\x14.WACommon.MessageKeyR\x10bundleMessageKey\x12B\n" +
4507
+ "\x1ceditedAfterReceivedAsHistory\x18\x02 \x01(\bR\x1ceditedAfterReceivedAsHistoryB!Z\x1fgo.mau.fi/whatsmeow/proto/waWeb"
4496
4508
 
4497
4509
  var (
4498
4510
  file_waWeb_WAWebProtobufsWeb_proto_rawDescOnce sync.Once
@@ -473,9 +473,10 @@ message MessageAddOn {
473
473
 
474
474
  message GroupHistoryBundleInfo {
475
475
  enum ProcessState {
476
- NOT_DOWNLOADED = 0;
477
- DOWNLOADED = 1;
478
- DOWNLOAD_FAILED = 2;
476
+ NOT_INJECTED = 0;
477
+ INJECTED = 1;
478
+ INJECTED_PARTIAL = 2;
479
+ INJECTION_FAILED = 3;
479
480
  }
480
481
 
481
482
  optional WAWebProtobufsE2E.MessageHistoryBundle deprecatedMessageHistoryBundle = 1;
@@ -600,4 +601,5 @@ message Citation {
600
601
 
601
602
  message GroupHistoryIndividualMessageInfo {
602
603
  optional WACommon.MessageKey bundleMessageKey = 1;
604
+ optional bool editedAfterReceivedAsHistory = 2;
603
605
  }
@@ -101,6 +101,14 @@ func (cli *Client) parseReceipt(node *waBinary.Node) (*events.Receipt, error) {
101
101
  return &receipt, nil
102
102
  }
103
103
 
104
+ func (cli *Client) backgroundIfAsyncAck(fn func()) {
105
+ if cli.SynchronousAck {
106
+ fn()
107
+ } else {
108
+ go fn()
109
+ }
110
+ }
111
+
104
112
  func (cli *Client) maybeDeferredAck(ctx context.Context, node *waBinary.Node) func(cancelled ...*bool) {
105
113
  if cli.SynchronousAck {
106
114
  return func(cancelled ...*bool) {
@@ -113,15 +121,31 @@ func (cli *Client) maybeDeferredAck(ctx context.Context, node *waBinary.Node) fu
113
121
  Msg("Not sending ack for node")
114
122
  return
115
123
  }
116
- cli.sendAck(node)
124
+ cli.sendAck(node, 0)
117
125
  }
118
126
  } else {
119
- go cli.sendAck(node)
127
+ go cli.sendAck(node, 0)
120
128
  return func(...*bool) {}
121
129
  }
122
130
  }
123
131
 
124
- func (cli *Client) sendAck(node *waBinary.Node) {
132
+ const (
133
+ NackParsingError = 487
134
+ NackUnrecognizedStanza = 488
135
+ NackUnrecognizedStanzaClass = 489
136
+ NackUnrecognizedStanzaType = 490
137
+ NackInvalidProtobuf = 491
138
+ NackInvalidHostedCompanionStanza = 493
139
+ NackMissingMessageSecret = 495
140
+ NackSignalErrorOldCounter = 496
141
+ NackMessageDeletedOnPeer = 499
142
+ NackUnhandledError = 500
143
+ NackUnsupportedAdminRevoke = 550
144
+ NackUnsupportedLIDGroup = 551
145
+ NackDBOperationFailed = 552
146
+ )
147
+
148
+ func (cli *Client) sendAck(node *waBinary.Node, error int) {
125
149
  attrs := waBinary.Attrs{
126
150
  "class": node.Tag,
127
151
  "id": node.Attrs["id"],
@@ -145,6 +169,9 @@ func (cli *Client) sendAck(node *waBinary.Node) {
145
169
  if receiptType, ok := node.Attrs["type"]; node.Tag != "message" && ok {
146
170
  attrs["type"] = receiptType
147
171
  }
172
+ if error != 0 {
173
+ attrs["error"] = error
174
+ }
148
175
  err := cli.sendNode(waBinary.Node{
149
176
  Tag: "ack",
150
177
  Attrs: attrs,
@@ -233,26 +260,30 @@ func (cli *Client) SetForceActiveDeliveryReceipts(active bool) {
233
260
  }
234
261
  }
235
262
 
236
- func (cli *Client) sendMessageReceipt(info *types.MessageInfo) {
263
+ func buildBaseReceipt(id string, node *waBinary.Node) waBinary.Attrs {
237
264
  attrs := waBinary.Attrs{
238
- "id": info.ID,
265
+ "id": id,
266
+ "to": node.Attrs["from"],
239
267
  }
268
+ if recipient, ok := node.Attrs["recipient"]; ok {
269
+ attrs["recipient"] = recipient
270
+ }
271
+ if participant, ok := node.Attrs["participant"]; ok {
272
+ attrs["participant"] = participant
273
+ }
274
+ return attrs
275
+ }
276
+
277
+ func (cli *Client) sendMessageReceipt(info *types.MessageInfo, node *waBinary.Node) {
278
+ attrs := buildBaseReceipt(info.ID, node)
240
279
  if info.IsFromMe {
241
280
  attrs["type"] = string(types.ReceiptTypeSender)
242
- } else if info.Type == "peer_msg" {
243
- attrs["type"] = string(types.ReceiptTypePeerMsg)
281
+ if info.Type == "peer_msg" {
282
+ attrs["type"] = string(types.ReceiptTypePeerMsg)
283
+ }
244
284
  } else if cli.sendActiveReceipts.Load() == 0 {
245
285
  attrs["type"] = string(types.ReceiptTypeInactive)
246
286
  }
247
- attrs["to"] = info.Chat
248
- if info.IsGroup {
249
- attrs["participant"] = info.Sender
250
- } else if info.IsFromMe {
251
- attrs["recipient"] = info.Sender
252
- } else {
253
- // Override the to attribute with the JID version with a device number
254
- attrs["to"] = info.Sender
255
- }
256
287
  err := cli.sendNode(waBinary.Node{
257
288
  Tag: "receipt",
258
289
  Attrs: attrs,
@@ -407,16 +407,10 @@ func (cli *Client) sendRetryReceipt(ctx context.Context, node *waBinary.Node, in
407
407
 
408
408
  var registrationIDBytes [4]byte
409
409
  binary.BigEndian.PutUint32(registrationIDBytes[:], cli.Store.RegistrationID)
410
- attrs := waBinary.Attrs{
411
- "id": id,
412
- "type": "retry",
413
- "to": node.Attrs["from"],
414
- }
415
- if recipient, ok := node.Attrs["recipient"]; ok {
416
- attrs["recipient"] = recipient
417
- }
418
- if participant, ok := node.Attrs["participant"]; ok {
419
- attrs["participant"] = participant
410
+ attrs := buildBaseReceipt(info.ID, node)
411
+ attrs["type"] = "retry"
412
+ if info.Type == "peer_msg" && info.IsFromMe {
413
+ attrs["category"] = "peer"
420
414
  }
421
415
  payload := waBinary.Node{
422
416
  Tag: "receipt",