slidge-whatsapp 0.2.5__cp313-cp313-manylinux_2_36_aarch64.whl → 0.2.7__cp313-cp313-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 (357) hide show
  1. slidge_whatsapp/config.py +3 -0
  2. slidge_whatsapp/event.go +31 -26
  3. slidge_whatsapp/gateway.go +13 -9
  4. slidge_whatsapp/gateway.py +2 -2
  5. slidge_whatsapp/generated/_whatsapp.cpython-313-aarch64-linux-gnu.h +135 -135
  6. slidge_whatsapp/generated/_whatsapp.cpython-313-aarch64-linux-gnu.so +0 -0
  7. slidge_whatsapp/generated/build.py +108 -108
  8. slidge_whatsapp/generated/whatsapp.c +954 -954
  9. slidge_whatsapp/generated/whatsapp.go +602 -602
  10. slidge_whatsapp/generated/whatsapp.py +783 -783
  11. slidge_whatsapp/generated/whatsapp_go.h +135 -135
  12. slidge_whatsapp/go.mod +15 -12
  13. slidge_whatsapp/go.sum +35 -29
  14. slidge_whatsapp/media/media.go +21 -11
  15. slidge_whatsapp/session.go +73 -66
  16. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn.go +4 -4
  17. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_darwin.go +0 -5
  18. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_libinit.go +3 -0
  19. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols.go +40 -20
  20. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/CHANGELOG.md +14 -1
  21. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/ffi.go +2 -2
  22. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/fun.go +10 -2
  23. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib.go +1 -1
  24. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib_unix.go +1 -1
  25. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib_windows.go +1 -1
  26. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/README.md +2 -7
  27. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/callback.go +2 -1
  28. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.c +8510 -5090
  29. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h +344 -150
  30. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3.go +57 -23
  31. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_unlock_notify.c +4 -0
  32. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_unlock_notify.go +4 -0
  33. slidge_whatsapp/vendor/github.com/petermattis/goid/.gitignore +4 -0
  34. slidge_whatsapp/vendor/github.com/petermattis/goid/LICENSE +202 -0
  35. slidge_whatsapp/vendor/github.com/petermattis/goid/README.md +4 -0
  36. slidge_whatsapp/vendor/github.com/petermattis/goid/goid.go +35 -0
  37. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_gccgo.go +26 -0
  38. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.3.c +23 -0
  39. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.3.go +22 -0
  40. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.4.go +35 -0
  41. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.4.s +18 -0
  42. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.5.go +28 -0
  43. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.5.s +44 -0
  44. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_slow.go +24 -0
  45. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_gccgo_go1.8.go +17 -0
  46. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.23.go +38 -0
  47. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.5.go +57 -0
  48. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.6.go +43 -0
  49. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.9.go +37 -0
  50. slidge_whatsapp/vendor/github.com/rs/zerolog/CONTRIBUTING.md +43 -0
  51. slidge_whatsapp/vendor/github.com/rs/zerolog/README.md +31 -0
  52. slidge_whatsapp/vendor/github.com/rs/zerolog/console.go +20 -5
  53. slidge_whatsapp/vendor/github.com/rs/zerolog/log/log.go +131 -0
  54. slidge_whatsapp/vendor/github.com/rs/zerolog/log.go +1 -1
  55. slidge_whatsapp/vendor/github.com/rs/zerolog/sampler.go +4 -1
  56. slidge_whatsapp/vendor/github.com/rs/zerolog/writer.go +9 -0
  57. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/GroupCipher.go +17 -6
  58. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/GroupSessionBuilder.go +17 -7
  59. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/store/SenderKeyStore.go +4 -2
  60. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/chain/ChainKey.go +1 -0
  61. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/identity/IdentityKey.go +1 -0
  62. slidge_whatsapp/vendor/go.mau.fi/libsignal/logger/DefaultLogger.go +2 -2
  63. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/FingerprintProtocol.pb.go +3 -2
  64. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/LocalStorageProtocol.pb.go +3 -2
  65. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/WhisperTextProtocol.pb.go +3 -2
  66. slidge_whatsapp/vendor/go.mau.fi/libsignal/session/Session.go +41 -17
  67. slidge_whatsapp/vendor/go.mau.fi/libsignal/session/SessionCipher.go +64 -30
  68. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/IdentityKeyStore.go +5 -3
  69. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/MessageKeyStore.go +6 -4
  70. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/PreKeyStore.go +6 -4
  71. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SessionStore.go +8 -6
  72. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SignedPreKeyStore.go +7 -5
  73. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/connlog.go +257 -0
  74. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/database.go +309 -0
  75. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/iter.go +233 -0
  76. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/json.go +47 -0
  77. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/log.go +129 -0
  78. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/massinsert.go +164 -0
  79. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/queryhelper.go +137 -0
  80. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/reflectscan.go +30 -0
  81. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/transaction.go +180 -0
  82. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/upgrades.go +250 -0
  83. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/upgradetable.go +331 -0
  84. slidge_whatsapp/vendor/go.mau.fi/util/exerrors/dualerror.go +33 -0
  85. slidge_whatsapp/vendor/go.mau.fi/util/exerrors/must.go +23 -0
  86. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/cors.go +32 -0
  87. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/handleerrors.go +64 -0
  88. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/json.go +36 -0
  89. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/middleware.go +30 -0
  90. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/networkerror.go +37 -0
  91. slidge_whatsapp/vendor/go.mau.fi/util/exstrings/stringutil.go +76 -0
  92. slidge_whatsapp/vendor/go.mau.fi/util/exsync/event.go +88 -0
  93. slidge_whatsapp/vendor/go.mau.fi/util/exsync/returnonce.go +25 -0
  94. slidge_whatsapp/vendor/go.mau.fi/util/exsync/ringbuffer.go +139 -0
  95. slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncmap.go +94 -0
  96. slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncset.go +136 -0
  97. slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/callermarshal.go +28 -0
  98. slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/defaults.go +32 -0
  99. slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/generics.go +45 -0
  100. slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/writer.go +81 -0
  101. slidge_whatsapp/vendor/go.mau.fi/util/ptr/ptr.go +43 -0
  102. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/decode.go +27 -26
  103. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/encode.go +4 -3
  104. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/keys.go +5 -4
  105. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate.go +27 -25
  106. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/armadillomessage.go +40 -7
  107. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/encoder.go +1 -1
  108. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/broadcast.go +5 -4
  109. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/call.go +1 -1
  110. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/client.go +119 -37
  111. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/connectionevents.go +29 -11
  112. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download-to-file.go +63 -30
  113. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download.go +74 -34
  114. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/errors.go +1 -0
  115. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/group.go +61 -31
  116. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/internals.go +188 -152
  117. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/keepalive.go +3 -2
  118. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaconn.go +5 -3
  119. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaretry.go +2 -1
  120. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/message.go +444 -135
  121. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/msgsecret.go +118 -31
  122. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/notification.go +78 -42
  123. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair-code.go +7 -4
  124. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair.go +42 -18
  125. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/prekeys.go +9 -5
  126. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/presence.go +2 -1
  127. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/privacysettings.go +10 -11
  128. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/extra.go +7 -0
  129. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/InstamadilloAddMessage.pb.go +983 -0
  130. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/InstamadilloAddMessage.proto +85 -0
  131. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/extra.go +3 -0
  132. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.pb.go +197 -0
  133. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.proto +13 -0
  134. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.pb.go +279 -0
  135. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.proto +21 -0
  136. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.pb.go +137 -0
  137. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.proto +10 -0
  138. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink.pb.go +313 -0
  139. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink.proto +27 -0
  140. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.pb.go +1299 -0
  141. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto +112 -0
  142. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText.pb.go +514 -0
  143. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText.proto +47 -0
  144. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage.pb.go +123 -0
  145. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage.proto +7 -0
  146. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/extra.go +3 -0
  147. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage.pb.go +720 -0
  148. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage.proto +59 -0
  149. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/extra.go +3 -0
  150. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloTransportPayload/InstamadilloTransportPayload.pb.go +365 -0
  151. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloTransportPayload/InstamadilloTransportPayload.proto +33 -0
  152. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef.pb.go +1238 -0
  153. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef.proto +105 -0
  154. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.pb.go +39 -9
  155. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.pb.go +354 -175
  156. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.proto +5 -5
  157. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.pb.go +170 -15
  158. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.proto +4 -0
  159. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.pb.go +29 -9
  160. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.pb.go +13 -9
  161. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.pb.go +344 -31
  162. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.proto +26 -0
  163. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/{WAWebProtobufsCompanionReg.pb.go → WACompanionReg.pb.go} +184 -89
  164. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/{WAWebProtobufsCompanionReg.proto → WACompanionReg.proto} +2 -1
  165. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.pb.go +173 -9
  166. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.go +78 -16
  167. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto +5 -0
  168. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.go +7428 -2151
  169. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.proto +373 -44
  170. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.go +456 -135
  171. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.proto +14 -0
  172. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.pb.go +198 -0
  173. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.proto +14 -0
  174. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.pb.go +162 -9
  175. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.proto +1 -0
  176. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.pb.go +32 -9
  177. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.proto +1 -0
  178. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.pb.go +192 -52
  179. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.proto +8 -0
  180. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.pb.go +60 -9
  181. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/extra.go +7 -6
  182. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.pb.go +39 -9
  183. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.pb.go +61 -9
  184. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.pb.go +800 -0
  185. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.proto +72 -0
  186. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.go +1344 -438
  187. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.proto +52 -0
  188. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.pb.go +27 -9
  189. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.pb.go +59 -9
  190. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.go +382 -78
  191. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.proto +8 -0
  192. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.go +563 -9
  193. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.proto +4 -0
  194. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/receipt.go +25 -9
  195. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/reportingfields.json +1 -0
  196. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/reportingtoken.go +176 -0
  197. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/retry.go +39 -21
  198. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/send.go +261 -75
  199. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/sendfb.go +28 -16
  200. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/clientpayload.go +3 -1
  201. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/noop.go +85 -43
  202. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/signal.go +75 -88
  203. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/container.go +86 -65
  204. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/lidmap.go +186 -0
  205. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/store.go +291 -167
  206. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/00-latest-schema.sql +155 -0
  207. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/03-message-secrets.sql +11 -0
  208. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/04-privacy-tokens.sql +8 -0
  209. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/05-account-jid-format.sql +2 -0
  210. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/06-facebook-uuid.sql +2 -0
  211. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/07-account-lid.sql +2 -0
  212. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/08-lid-mapping.sql +5 -0
  213. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/09-decryption-buffer.sql +10 -0
  214. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/10-chat-db-lid-migration-ts.sql +2 -0
  215. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/upgrades.go +22 -0
  216. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/store.go +107 -56
  217. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/botmap.go +210 -0
  218. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/events.go +13 -2
  219. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/group.go +15 -6
  220. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/jid.go +7 -8
  221. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/message.go +18 -0
  222. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/update.go +3 -2
  223. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/upload.go +1 -1
  224. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/user.go +47 -29
  225. slidge_whatsapp/vendor/golang.org/x/exp/LICENSE +27 -0
  226. slidge_whatsapp/vendor/golang.org/x/exp/PATENTS +22 -0
  227. slidge_whatsapp/vendor/golang.org/x/exp/constraints/constraints.go +54 -0
  228. slidge_whatsapp/vendor/golang.org/x/net/http/httpguts/guts.go +50 -0
  229. slidge_whatsapp/vendor/golang.org/x/net/http/httpguts/httplex.go +347 -0
  230. slidge_whatsapp/vendor/golang.org/x/net/http2/.gitignore +2 -0
  231. slidge_whatsapp/vendor/golang.org/x/net/http2/ascii.go +53 -0
  232. slidge_whatsapp/vendor/golang.org/x/net/http2/ciphers.go +641 -0
  233. slidge_whatsapp/vendor/golang.org/x/net/http2/client_conn_pool.go +311 -0
  234. slidge_whatsapp/vendor/golang.org/x/net/http2/config.go +122 -0
  235. slidge_whatsapp/vendor/golang.org/x/net/http2/config_go124.go +61 -0
  236. slidge_whatsapp/vendor/golang.org/x/net/http2/config_pre_go124.go +16 -0
  237. slidge_whatsapp/vendor/golang.org/x/net/http2/databuffer.go +149 -0
  238. slidge_whatsapp/vendor/golang.org/x/net/http2/errors.go +145 -0
  239. slidge_whatsapp/vendor/golang.org/x/net/http2/flow.go +120 -0
  240. slidge_whatsapp/vendor/golang.org/x/net/http2/frame.go +1702 -0
  241. slidge_whatsapp/vendor/golang.org/x/net/http2/gotrack.go +170 -0
  242. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/encode.go +245 -0
  243. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/hpack.go +523 -0
  244. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/huffman.go +226 -0
  245. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/static_table.go +188 -0
  246. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/tables.go +403 -0
  247. slidge_whatsapp/vendor/golang.org/x/net/http2/http2.go +432 -0
  248. slidge_whatsapp/vendor/golang.org/x/net/http2/pipe.go +184 -0
  249. slidge_whatsapp/vendor/golang.org/x/net/http2/server.go +3350 -0
  250. slidge_whatsapp/vendor/golang.org/x/net/http2/timer.go +20 -0
  251. slidge_whatsapp/vendor/golang.org/x/net/http2/transport.go +3287 -0
  252. slidge_whatsapp/vendor/golang.org/x/net/http2/unencrypted.go +32 -0
  253. slidge_whatsapp/vendor/golang.org/x/net/http2/write.go +381 -0
  254. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched.go +251 -0
  255. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_priority.go +451 -0
  256. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_random.go +77 -0
  257. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_roundrobin.go +119 -0
  258. slidge_whatsapp/vendor/golang.org/x/net/idna/go118.go +13 -0
  259. slidge_whatsapp/vendor/golang.org/x/net/idna/idna10.0.0.go +769 -0
  260. slidge_whatsapp/vendor/golang.org/x/net/idna/idna9.0.0.go +717 -0
  261. slidge_whatsapp/vendor/golang.org/x/net/idna/pre_go118.go +11 -0
  262. slidge_whatsapp/vendor/golang.org/x/net/idna/punycode.go +217 -0
  263. slidge_whatsapp/vendor/golang.org/x/net/idna/tables10.0.0.go +4559 -0
  264. slidge_whatsapp/vendor/golang.org/x/net/idna/tables11.0.0.go +4653 -0
  265. slidge_whatsapp/vendor/golang.org/x/net/idna/tables12.0.0.go +4733 -0
  266. slidge_whatsapp/vendor/golang.org/x/net/idna/tables13.0.0.go +4959 -0
  267. slidge_whatsapp/vendor/golang.org/x/net/idna/tables15.0.0.go +5144 -0
  268. slidge_whatsapp/vendor/golang.org/x/net/idna/tables9.0.0.go +4486 -0
  269. slidge_whatsapp/vendor/golang.org/x/net/idna/trie.go +51 -0
  270. slidge_whatsapp/vendor/golang.org/x/net/idna/trie12.0.0.go +30 -0
  271. slidge_whatsapp/vendor/golang.org/x/net/idna/trie13.0.0.go +30 -0
  272. slidge_whatsapp/vendor/golang.org/x/net/idna/trieval.go +119 -0
  273. slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/ascii.go +53 -0
  274. slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/headermap.go +115 -0
  275. slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/request.go +467 -0
  276. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin.go +148 -1
  277. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux.go +16 -26
  278. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +84 -0
  279. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +20 -0
  280. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +84 -0
  281. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +20 -0
  282. slidge_whatsapp/vendor/golang.org/x/sys/windows/security_windows.go +44 -5
  283. slidge_whatsapp/vendor/golang.org/x/sys/windows/syscall_windows.go +4 -2
  284. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows.go +239 -0
  285. slidge_whatsapp/vendor/golang.org/x/sys/windows/zsyscall_windows.go +9 -0
  286. slidge_whatsapp/vendor/golang.org/x/text/LICENSE +27 -0
  287. slidge_whatsapp/vendor/golang.org/x/text/PATENTS +22 -0
  288. slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule.go +336 -0
  289. slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go +11 -0
  290. slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go +14 -0
  291. slidge_whatsapp/vendor/golang.org/x/text/transform/transform.go +709 -0
  292. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/bidi.go +359 -0
  293. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/bracket.go +335 -0
  294. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/core.go +1071 -0
  295. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/prop.go +206 -0
  296. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go +1815 -0
  297. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go +1887 -0
  298. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go +1923 -0
  299. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go +1955 -0
  300. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go +2042 -0
  301. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go +1781 -0
  302. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/trieval.go +48 -0
  303. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/composition.go +512 -0
  304. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/forminfo.go +279 -0
  305. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/input.go +109 -0
  306. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/iter.go +458 -0
  307. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/normalize.go +610 -0
  308. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/readwriter.go +125 -0
  309. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go +7657 -0
  310. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go +7693 -0
  311. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go +7710 -0
  312. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go +7760 -0
  313. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go +7907 -0
  314. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go +7637 -0
  315. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/transform.go +88 -0
  316. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/trie.go +54 -0
  317. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb +0 -0
  318. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/editions.go +3 -0
  319. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +16 -0
  320. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/{strings_unsafe_go121.go → strings_unsafe.go} +0 -2
  321. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/version/version.go +1 -1
  322. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/merge.go +6 -0
  323. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +2 -0
  324. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/{value_unsafe_go121.go → value_unsafe.go} +0 -2
  325. slidge_whatsapp/vendor/modules.txt +52 -13
  326. {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.7.dist-info}/METADATA +1 -1
  327. {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.7.dist-info}/RECORD +330 -184
  328. {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.7.dist-info}/WHEEL +1 -1
  329. slidge_whatsapp/vendor/github.com/rs/zerolog/CNAME +0 -1
  330. slidge_whatsapp/vendor/github.com/rs/zerolog/_config.yml +0 -1
  331. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.pb.raw +0 -0
  332. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.pb.raw +0 -0
  333. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.pb.raw +0 -0
  334. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.pb.raw +0 -23
  335. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.pb.raw +0 -7
  336. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.pb.raw +0 -0
  337. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/WAWebProtobufsCompanionReg.pb.raw +0 -0
  338. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.pb.raw +0 -0
  339. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.raw +0 -0
  340. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.raw +0 -0
  341. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.raw +0 -0
  342. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.pb.raw +0 -0
  343. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.pb.raw +0 -0
  344. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.pb.raw +0 -0
  345. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.pb.raw +0 -0
  346. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.pb.raw +0 -0
  347. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.pb.raw +0 -0
  348. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.raw +0 -0
  349. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.pb.raw +0 -0
  350. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.pb.raw +0 -0
  351. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.raw +0 -0
  352. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.raw +0 -0
  353. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrade.go +0 -296
  354. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go120.go +0 -94
  355. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go120.go +0 -98
  356. {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.7.dist-info}/LICENSE +0 -0
  357. {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.7.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,155 @@
1
+ -- v0 -> v10 (compatible with v8+): Latest schema
2
+ CREATE TABLE whatsmeow_device (
3
+ jid TEXT PRIMARY KEY,
4
+ lid TEXT,
5
+
6
+ facebook_uuid uuid,
7
+
8
+ registration_id BIGINT NOT NULL CHECK ( registration_id >= 0 AND registration_id < 4294967296 ),
9
+
10
+ noise_key bytea NOT NULL CHECK ( length(noise_key) = 32 ),
11
+ identity_key bytea NOT NULL CHECK ( length(identity_key) = 32 ),
12
+
13
+ signed_pre_key bytea NOT NULL CHECK ( length(signed_pre_key) = 32 ),
14
+ signed_pre_key_id INTEGER NOT NULL CHECK ( signed_pre_key_id >= 0 AND signed_pre_key_id < 16777216 ),
15
+ signed_pre_key_sig bytea NOT NULL CHECK ( length(signed_pre_key_sig) = 64 ),
16
+
17
+ adv_key bytea NOT NULL,
18
+ adv_details bytea NOT NULL,
19
+ adv_account_sig bytea NOT NULL CHECK ( length(adv_account_sig) = 64 ),
20
+ adv_account_sig_key bytea NOT NULL CHECK ( length(adv_account_sig_key) = 32 ),
21
+ adv_device_sig bytea NOT NULL CHECK ( length(adv_device_sig) = 64 ),
22
+
23
+ platform TEXT NOT NULL DEFAULT '',
24
+ business_name TEXT NOT NULL DEFAULT '',
25
+ push_name TEXT NOT NULL DEFAULT '',
26
+
27
+ lid_migration_ts BIGINT NOT NULL DEFAULT 0
28
+ );
29
+
30
+ CREATE TABLE whatsmeow_identity_keys (
31
+ our_jid TEXT,
32
+ their_id TEXT,
33
+ identity bytea NOT NULL CHECK ( length(identity) = 32 ),
34
+
35
+ PRIMARY KEY (our_jid, their_id),
36
+ FOREIGN KEY (our_jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
37
+ );
38
+
39
+ CREATE TABLE whatsmeow_pre_keys (
40
+ jid TEXT,
41
+ key_id INTEGER CHECK ( key_id >= 0 AND key_id < 16777216 ),
42
+ key bytea NOT NULL CHECK ( length(key) = 32 ),
43
+ uploaded BOOLEAN NOT NULL,
44
+
45
+ PRIMARY KEY (jid, key_id),
46
+ FOREIGN KEY (jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
47
+ );
48
+
49
+ CREATE TABLE whatsmeow_sessions (
50
+ our_jid TEXT,
51
+ their_id TEXT,
52
+ session bytea,
53
+
54
+ PRIMARY KEY (our_jid, their_id),
55
+ FOREIGN KEY (our_jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
56
+ );
57
+
58
+ CREATE TABLE whatsmeow_sender_keys (
59
+ our_jid TEXT,
60
+ chat_id TEXT,
61
+ sender_id TEXT,
62
+ sender_key bytea NOT NULL,
63
+
64
+ PRIMARY KEY (our_jid, chat_id, sender_id),
65
+ FOREIGN KEY (our_jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
66
+ );
67
+
68
+ CREATE TABLE whatsmeow_app_state_sync_keys (
69
+ jid TEXT,
70
+ key_id bytea,
71
+ key_data bytea NOT NULL,
72
+ timestamp BIGINT NOT NULL,
73
+ fingerprint bytea NOT NULL,
74
+
75
+ PRIMARY KEY (jid, key_id),
76
+ FOREIGN KEY (jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
77
+ );
78
+
79
+ CREATE TABLE whatsmeow_app_state_version (
80
+ jid TEXT,
81
+ name TEXT,
82
+ version BIGINT NOT NULL,
83
+ hash bytea NOT NULL CHECK ( length(hash) = 128 ),
84
+
85
+ PRIMARY KEY (jid, name),
86
+ FOREIGN KEY (jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
87
+ );
88
+
89
+ CREATE TABLE whatsmeow_app_state_mutation_macs (
90
+ jid TEXT,
91
+ name TEXT,
92
+ version BIGINT,
93
+ index_mac bytea CHECK ( length(index_mac) = 32 ),
94
+ value_mac bytea NOT NULL CHECK ( length(value_mac) = 32 ),
95
+
96
+ PRIMARY KEY (jid, name, version, index_mac),
97
+ FOREIGN KEY (jid, name) REFERENCES whatsmeow_app_state_version(jid, name) ON DELETE CASCADE ON UPDATE CASCADE
98
+ );
99
+
100
+ CREATE TABLE whatsmeow_contacts (
101
+ our_jid TEXT,
102
+ their_jid TEXT,
103
+ first_name TEXT,
104
+ full_name TEXT,
105
+ push_name TEXT,
106
+ business_name TEXT,
107
+
108
+ PRIMARY KEY (our_jid, their_jid),
109
+ FOREIGN KEY (our_jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
110
+ );
111
+
112
+ CREATE TABLE whatsmeow_chat_settings (
113
+ our_jid TEXT,
114
+ chat_jid TEXT,
115
+ muted_until BIGINT NOT NULL DEFAULT 0,
116
+ pinned BOOLEAN NOT NULL DEFAULT false,
117
+ archived BOOLEAN NOT NULL DEFAULT false,
118
+
119
+ PRIMARY KEY (our_jid, chat_jid),
120
+ FOREIGN KEY (our_jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
121
+ );
122
+
123
+ CREATE TABLE whatsmeow_message_secrets (
124
+ our_jid TEXT,
125
+ chat_jid TEXT,
126
+ sender_jid TEXT,
127
+ message_id TEXT,
128
+ key bytea NOT NULL,
129
+
130
+ PRIMARY KEY (our_jid, chat_jid, sender_jid, message_id),
131
+ FOREIGN KEY (our_jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
132
+ );
133
+
134
+ CREATE TABLE whatsmeow_privacy_tokens (
135
+ our_jid TEXT,
136
+ their_jid TEXT,
137
+ token bytea NOT NULL,
138
+ timestamp BIGINT NOT NULL,
139
+ PRIMARY KEY (our_jid, their_jid)
140
+ );
141
+
142
+ CREATE TABLE whatsmeow_lid_map (
143
+ lid TEXT PRIMARY KEY,
144
+ pn TEXT UNIQUE NOT NULL
145
+ );
146
+
147
+ CREATE TABLE whatsmeow_event_buffer (
148
+ our_jid TEXT NOT NULL,
149
+ ciphertext_hash bytea NOT NULL CHECK ( length(ciphertext_hash) = 32 ),
150
+ plaintext bytea,
151
+ server_timestamp BIGINT NOT NULL,
152
+ insert_timestamp BIGINT NOT NULL,
153
+ PRIMARY KEY (our_jid, ciphertext_hash),
154
+ FOREIGN KEY (our_jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
155
+ );
@@ -0,0 +1,11 @@
1
+ -- v3: Add message secrets table
2
+ CREATE TABLE whatsmeow_message_secrets (
3
+ our_jid TEXT,
4
+ chat_jid TEXT,
5
+ sender_jid TEXT,
6
+ message_id TEXT,
7
+ key bytea NOT NULL,
8
+
9
+ PRIMARY KEY (our_jid, chat_jid, sender_jid, message_id),
10
+ FOREIGN KEY (our_jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
11
+ );
@@ -0,0 +1,8 @@
1
+ -- v4: Add privacy tokens table
2
+ CREATE TABLE whatsmeow_privacy_tokens (
3
+ our_jid TEXT,
4
+ their_jid TEXT,
5
+ token bytea NOT NULL,
6
+ timestamp BIGINT NOT NULL,
7
+ PRIMARY KEY (our_jid, their_jid)
8
+ );
@@ -0,0 +1,2 @@
1
+ -- v5: Update account JID format
2
+ UPDATE whatsmeow_device SET jid=REPLACE(jid, '.0', '');
@@ -0,0 +1,2 @@
1
+ -- v6: Add facebook_uuid column to device table
2
+ ALTER TABLE whatsmeow_device ADD COLUMN facebook_uuid uuid;
@@ -0,0 +1,2 @@
1
+ -- v7 (compatible with v6+): Add lid column to device table
2
+ ALTER TABLE whatsmeow_device ADD COLUMN lid TEXT;
@@ -0,0 +1,5 @@
1
+ -- v8 (compatible with v8+): Add tables for LID<->JID mapping
2
+ CREATE TABLE whatsmeow_lid_map (
3
+ lid TEXT PRIMARY KEY,
4
+ pn TEXT UNIQUE NOT NULL
5
+ );
@@ -0,0 +1,10 @@
1
+ -- v9 (compatible with v8+): Add decrypted event buffer
2
+ CREATE TABLE whatsmeow_event_buffer (
3
+ our_jid TEXT NOT NULL,
4
+ ciphertext_hash bytea NOT NULL CHECK ( length(ciphertext_hash) = 32 ),
5
+ plaintext bytea,
6
+ server_timestamp BIGINT NOT NULL,
7
+ insert_timestamp BIGINT NOT NULL,
8
+ PRIMARY KEY (our_jid, ciphertext_hash),
9
+ FOREIGN KEY (our_jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
10
+ );
@@ -0,0 +1,2 @@
1
+ -- v10 (compatible with v8+): Add lid migration timestamp to device table
2
+ ALTER TABLE whatsmeow_device ADD COLUMN lid_migration_ts BIGINT NOT NULL DEFAULT 0;
@@ -0,0 +1,22 @@
1
+ // Copyright (c) 2025 Tulir Asokan
2
+ //
3
+ // This Source Code Form is subject to the terms of the Mozilla Public
4
+ // License, v. 2.0. If a copy of the MPL was not distributed with this
5
+ // file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
+
7
+ package upgrades
8
+
9
+ import (
10
+ "embed"
11
+
12
+ "go.mau.fi/util/dbutil"
13
+ )
14
+
15
+ var Table dbutil.UpgradeTable
16
+
17
+ //go:embed *.sql
18
+ var upgrades embed.FS
19
+
20
+ func init() {
21
+ Table.RegisterFS(upgrades)
22
+ }
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Tulir Asokan
1
+ // Copyright (c) 2025 Tulir Asokan
2
2
  //
3
3
  // This Source Code Form is subject to the terms of the Mozilla Public
4
4
  // License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -8,7 +8,7 @@
8
8
  package store
9
9
 
10
10
  import (
11
- "fmt"
11
+ "context"
12
12
  "time"
13
13
 
14
14
  "github.com/google/uuid"
@@ -20,32 +20,33 @@ import (
20
20
  )
21
21
 
22
22
  type IdentityStore interface {
23
- PutIdentity(address string, key [32]byte) error
24
- DeleteAllIdentities(phone string) error
25
- DeleteIdentity(address string) error
26
- IsTrustedIdentity(address string, key [32]byte) (bool, error)
23
+ PutIdentity(ctx context.Context, address string, key [32]byte) error
24
+ DeleteAllIdentities(ctx context.Context, phone string) error
25
+ DeleteIdentity(ctx context.Context, address string) error
26
+ IsTrustedIdentity(ctx context.Context, address string, key [32]byte) (bool, error)
27
27
  }
28
28
 
29
29
  type SessionStore interface {
30
- GetSession(address string) ([]byte, error)
31
- HasSession(address string) (bool, error)
32
- PutSession(address string, session []byte) error
33
- DeleteAllSessions(phone string) error
34
- DeleteSession(address string) error
30
+ GetSession(ctx context.Context, address string) ([]byte, error)
31
+ HasSession(ctx context.Context, address string) (bool, error)
32
+ PutSession(ctx context.Context, address string, session []byte) error
33
+ DeleteAllSessions(ctx context.Context, phone string) error
34
+ DeleteSession(ctx context.Context, address string) error
35
+ MigratePNToLID(ctx context.Context, pn, lid types.JID) error
35
36
  }
36
37
 
37
38
  type PreKeyStore interface {
38
- GetOrGenPreKeys(count uint32) ([]*keys.PreKey, error)
39
- GenOnePreKey() (*keys.PreKey, error)
40
- GetPreKey(id uint32) (*keys.PreKey, error)
41
- RemovePreKey(id uint32) error
42
- MarkPreKeysAsUploaded(upToID uint32) error
43
- UploadedPreKeyCount() (int, error)
39
+ GetOrGenPreKeys(ctx context.Context, count uint32) ([]*keys.PreKey, error)
40
+ GenOnePreKey(ctx context.Context) (*keys.PreKey, error)
41
+ GetPreKey(ctx context.Context, id uint32) (*keys.PreKey, error)
42
+ RemovePreKey(ctx context.Context, id uint32) error
43
+ MarkPreKeysAsUploaded(ctx context.Context, upToID uint32) error
44
+ UploadedPreKeyCount(ctx context.Context) (int, error)
44
45
  }
45
46
 
46
47
  type SenderKeyStore interface {
47
- PutSenderKey(group, user string, session []byte) error
48
- GetSenderKey(group, user string) ([]byte, error)
48
+ PutSenderKey(ctx context.Context, group, user string, session []byte) error
49
+ GetSenderKey(ctx context.Context, group, user string) ([]byte, error)
49
50
  }
50
51
 
51
52
  type AppStateSyncKey struct {
@@ -55,9 +56,9 @@ type AppStateSyncKey struct {
55
56
  }
56
57
 
57
58
  type AppStateSyncKeyStore interface {
58
- PutAppStateSyncKey(id []byte, key AppStateSyncKey) error
59
- GetAppStateSyncKey(id []byte) (*AppStateSyncKey, error)
60
- GetLatestAppStateSyncKeyID() ([]byte, error)
59
+ PutAppStateSyncKey(ctx context.Context, id []byte, key AppStateSyncKey) error
60
+ GetAppStateSyncKey(ctx context.Context, id []byte) (*AppStateSyncKey, error)
61
+ GetLatestAppStateSyncKeyID(ctx context.Context) ([]byte, error)
61
62
  }
62
63
 
63
64
  type AppStateMutationMAC struct {
@@ -66,13 +67,13 @@ type AppStateMutationMAC struct {
66
67
  }
67
68
 
68
69
  type AppStateStore interface {
69
- PutAppStateVersion(name string, version uint64, hash [128]byte) error
70
- GetAppStateVersion(name string) (uint64, [128]byte, error)
71
- DeleteAppStateVersion(name string) error
70
+ PutAppStateVersion(ctx context.Context, name string, version uint64, hash [128]byte) error
71
+ GetAppStateVersion(ctx context.Context, name string) (uint64, [128]byte, error)
72
+ DeleteAppStateVersion(ctx context.Context, name string) error
72
73
 
73
- PutAppStateMutationMACs(name string, version uint64, mutations []AppStateMutationMAC) error
74
- DeleteAppStateMutationMACs(name string, indexMACs [][]byte) error
75
- GetAppStateMutationMAC(name string, indexMAC []byte) (valueMAC []byte, err error)
74
+ PutAppStateMutationMACs(ctx context.Context, name string, version uint64, mutations []AppStateMutationMAC) error
75
+ DeleteAppStateMutationMACs(ctx context.Context, name string, indexMACs [][]byte) error
76
+ GetAppStateMutationMAC(ctx context.Context, name string, indexMAC []byte) (valueMAC []byte, err error)
76
77
  }
77
78
 
78
79
  type ContactEntry struct {
@@ -82,24 +83,24 @@ type ContactEntry struct {
82
83
  }
83
84
 
84
85
  type ContactStore interface {
85
- PutPushName(user types.JID, pushName string) (bool, string, error)
86
- PutBusinessName(user types.JID, businessName string) (bool, string, error)
87
- PutContactName(user types.JID, fullName, firstName string) error
88
- PutAllContactNames(contacts []ContactEntry) error
89
- GetContact(user types.JID) (types.ContactInfo, error)
90
- GetAllContacts() (map[types.JID]types.ContactInfo, error)
86
+ PutPushName(ctx context.Context, user types.JID, pushName string) (bool, string, error)
87
+ PutBusinessName(ctx context.Context, user types.JID, businessName string) (bool, string, error)
88
+ PutContactName(ctx context.Context, user types.JID, fullName, firstName string) error
89
+ PutAllContactNames(ctx context.Context, contacts []ContactEntry) error
90
+ GetContact(ctx context.Context, user types.JID) (types.ContactInfo, error)
91
+ GetAllContacts(ctx context.Context) (map[types.JID]types.ContactInfo, error)
91
92
  }
92
93
 
93
94
  type ChatSettingsStore interface {
94
- PutMutedUntil(chat types.JID, mutedUntil time.Time) error
95
- PutPinned(chat types.JID, pinned bool) error
96
- PutArchived(chat types.JID, archived bool) error
97
- GetChatSettings(chat types.JID) (types.LocalChatSettings, error)
95
+ PutMutedUntil(ctx context.Context, chat types.JID, mutedUntil time.Time) error
96
+ PutPinned(ctx context.Context, chat types.JID, pinned bool) error
97
+ PutArchived(ctx context.Context, chat types.JID, archived bool) error
98
+ GetChatSettings(ctx context.Context, chat types.JID) (types.LocalChatSettings, error)
98
99
  }
99
100
 
100
101
  type DeviceContainer interface {
101
- PutDevice(store *Device) error
102
- DeleteDevice(store *Device) error
102
+ PutDevice(ctx context.Context, store *Device) error
103
+ DeleteDevice(ctx context.Context, store *Device) error
103
104
  }
104
105
 
105
106
  type MessageSecretInsert struct {
@@ -110,9 +111,9 @@ type MessageSecretInsert struct {
110
111
  }
111
112
 
112
113
  type MsgSecretStore interface {
113
- PutMessageSecrets([]MessageSecretInsert) error
114
- PutMessageSecret(chat, sender types.JID, id types.MessageID, secret []byte) error
115
- GetMessageSecret(chat, sender types.JID, id types.MessageID) ([]byte, error)
114
+ PutMessageSecrets(ctx context.Context, inserts []MessageSecretInsert) error
115
+ PutMessageSecret(ctx context.Context, chat, sender types.JID, id types.MessageID, secret []byte) error
116
+ GetMessageSecret(ctx context.Context, chat, sender types.JID, id types.MessageID) ([]byte, error)
116
117
  }
117
118
 
118
119
  type PrivacyToken struct {
@@ -122,11 +123,37 @@ type PrivacyToken struct {
122
123
  }
123
124
 
124
125
  type PrivacyTokenStore interface {
125
- PutPrivacyTokens(tokens ...PrivacyToken) error
126
- GetPrivacyToken(user types.JID) (*PrivacyToken, error)
126
+ PutPrivacyTokens(ctx context.Context, tokens ...PrivacyToken) error
127
+ GetPrivacyToken(ctx context.Context, user types.JID) (*PrivacyToken, error)
127
128
  }
128
129
 
129
- type AllStores interface {
130
+ type BufferedEvent struct {
131
+ Plaintext []byte
132
+ InsertTime time.Time
133
+ ServerTime time.Time
134
+ }
135
+
136
+ type EventBuffer interface {
137
+ GetBufferedEvent(ctx context.Context, ciphertextHash [32]byte) (*BufferedEvent, error)
138
+ PutBufferedEvent(ctx context.Context, ciphertextHash [32]byte, plaintext []byte, serverTimestamp time.Time) error
139
+ DoDecryptionTxn(ctx context.Context, fn func(context.Context) error) error
140
+ ClearBufferedEventPlaintext(ctx context.Context, ciphertextHash [32]byte) error
141
+ DeleteOldBufferedHashes(ctx context.Context) error
142
+ }
143
+
144
+ type LIDMapping struct {
145
+ LID types.JID
146
+ PN types.JID
147
+ }
148
+
149
+ type LIDStore interface {
150
+ PutManyLIDMappings(ctx context.Context, mappings []LIDMapping) error
151
+ PutLIDMapping(ctx context.Context, lid, jid types.JID) error
152
+ GetPNForLID(ctx context.Context, lid types.JID) (types.JID, error)
153
+ GetLIDForPN(ctx context.Context, pn types.JID) (types.JID, error)
154
+ }
155
+
156
+ type AllSessionSpecificStores interface {
130
157
  IdentityStore
131
158
  SessionStore
132
159
  PreKeyStore
@@ -137,6 +164,16 @@ type AllStores interface {
137
164
  ChatSettingsStore
138
165
  MsgSecretStore
139
166
  PrivacyTokenStore
167
+ EventBuffer
168
+ }
169
+
170
+ type AllGlobalStores interface {
171
+ LIDStore
172
+ }
173
+
174
+ type AllStores interface {
175
+ AllSessionSpecificStores
176
+ AllGlobalStores
140
177
  }
141
178
 
142
179
  type Device struct {
@@ -149,11 +186,14 @@ type Device struct {
149
186
  AdvSecretKey []byte
150
187
 
151
188
  ID *types.JID
189
+ LID types.JID
152
190
  Account *waAdv.ADVSignedDeviceIdentity
153
191
  Platform string
154
192
  BusinessName string
155
193
  PushName string
156
194
 
195
+ LIDMigrationTimestamp int64
196
+
157
197
  FacebookUUID uuid.UUID
158
198
 
159
199
  Initialized bool
@@ -167,28 +207,39 @@ type Device struct {
167
207
  ChatSettings ChatSettingsStore
168
208
  MsgSecrets MsgSecretStore
169
209
  PrivacyTokens PrivacyTokenStore
210
+ EventBuffer EventBuffer
211
+ LIDs LIDStore
170
212
  Container DeviceContainer
213
+ }
171
214
 
172
- DatabaseErrorHandler func(device *Device, action string, attemptIndex int, err error) (retry bool)
215
+ func (device *Device) GetJID() types.JID {
216
+ if device == nil {
217
+ return types.EmptyJID
218
+ }
219
+ id := device.ID
220
+ if id == nil {
221
+ return types.EmptyJID
222
+ }
223
+ return *id
173
224
  }
174
225
 
175
- func (device *Device) handleDatabaseError(attemptIndex int, err error, action string, args ...interface{}) bool {
176
- if device.DatabaseErrorHandler != nil {
177
- return device.DatabaseErrorHandler(device, fmt.Sprintf(action, args...), attemptIndex, err)
226
+ func (device *Device) GetLID() types.JID {
227
+ if device == nil {
228
+ return types.EmptyJID
178
229
  }
179
- device.Log.Errorf("Failed to %s: %v", fmt.Sprintf(action, args...), err)
180
- return false
230
+ return device.LID
181
231
  }
182
232
 
183
- func (device *Device) Save() error {
184
- return device.Container.PutDevice(device)
233
+ func (device *Device) Save(ctx context.Context) error {
234
+ return device.Container.PutDevice(ctx, device)
185
235
  }
186
236
 
187
- func (device *Device) Delete() error {
188
- err := device.Container.DeleteDevice(device)
237
+ func (device *Device) Delete(ctx context.Context) error {
238
+ err := device.Container.DeleteDevice(ctx, device)
189
239
  if err != nil {
190
240
  return err
191
241
  }
192
242
  device.ID = nil
243
+ device.LID = types.EmptyJID
193
244
  return nil
194
245
  }