slidge-whatsapp 0.2.5__cp312-cp312-manylinux_2_36_aarch64.whl → 0.2.6__cp312-cp312-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 (320) hide show
  1. slidge_whatsapp/config.py +3 -0
  2. slidge_whatsapp/event.go +23 -24
  3. slidge_whatsapp/gateway.go +13 -9
  4. slidge_whatsapp/gateway.py +2 -2
  5. slidge_whatsapp/generated/_whatsapp.cpython-312-aarch64-linux-gnu.h +169 -169
  6. slidge_whatsapp/generated/_whatsapp.cpython-312-aarch64-linux-gnu.so +0 -0
  7. slidge_whatsapp/generated/build.py +135 -135
  8. slidge_whatsapp/generated/whatsapp.c +1455 -1455
  9. slidge_whatsapp/generated/whatsapp.go +737 -737
  10. slidge_whatsapp/generated/whatsapp.py +1038 -1038
  11. slidge_whatsapp/generated/whatsapp_go.h +169 -169
  12. slidge_whatsapp/go.mod +15 -12
  13. slidge_whatsapp/go.sum +41 -29
  14. slidge_whatsapp/media/media.go +16 -10
  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 +41 -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/exsync/event.go +88 -0
  92. slidge_whatsapp/vendor/go.mau.fi/util/exsync/returnonce.go +25 -0
  93. slidge_whatsapp/vendor/go.mau.fi/util/exsync/ringbuffer.go +139 -0
  94. slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncmap.go +94 -0
  95. slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncset.go +136 -0
  96. slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/callermarshal.go +28 -0
  97. slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/defaults.go +32 -0
  98. slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/generics.go +45 -0
  99. slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/writer.go +81 -0
  100. slidge_whatsapp/vendor/go.mau.fi/util/ptr/ptr.go +43 -0
  101. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/decode.go +27 -26
  102. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/encode.go +4 -3
  103. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/keys.go +5 -4
  104. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate.go +27 -25
  105. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/armadillomessage.go +3 -2
  106. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/broadcast.go +5 -4
  107. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/client.go +60 -15
  108. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/connectionevents.go +25 -9
  109. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download-to-file.go +45 -19
  110. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download.go +52 -28
  111. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/errors.go +1 -0
  112. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/group.go +59 -29
  113. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/internals.go +166 -146
  114. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/keepalive.go +2 -2
  115. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaconn.go +5 -3
  116. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaretry.go +2 -1
  117. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/message.go +270 -111
  118. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/msgsecret.go +118 -31
  119. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/notification.go +67 -36
  120. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair-code.go +7 -4
  121. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair.go +42 -18
  122. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/prekeys.go +9 -5
  123. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/presence.go +2 -1
  124. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/privacysettings.go +10 -11
  125. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.pb.go +39 -9
  126. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.pb.go +354 -175
  127. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.proto +5 -5
  128. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.pb.go +158 -15
  129. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.proto +1 -0
  130. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.pb.go +29 -9
  131. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.pb.go +13 -9
  132. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.pb.go +344 -31
  133. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.proto +26 -0
  134. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/{WAWebProtobufsCompanionReg.pb.go → WACompanionReg.pb.go} +170 -84
  135. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/{WAWebProtobufsCompanionReg.proto → WACompanionReg.proto} +1 -1
  136. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.pb.go +173 -9
  137. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.go +78 -16
  138. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto +5 -0
  139. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.go +6747 -2230
  140. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.proto +294 -43
  141. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.go +456 -135
  142. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.proto +14 -0
  143. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.pb.go +162 -9
  144. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.proto +1 -0
  145. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.pb.go +32 -9
  146. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.proto +1 -0
  147. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.pb.go +192 -52
  148. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.proto +8 -0
  149. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.pb.go +60 -9
  150. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.pb.go +39 -9
  151. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.pb.go +61 -9
  152. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.go +1051 -382
  153. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.proto +32 -0
  154. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.pb.go +27 -9
  155. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.pb.go +59 -9
  156. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.go +382 -78
  157. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.proto +8 -0
  158. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.go +555 -9
  159. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.proto +2 -0
  160. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/receipt.go +13 -3
  161. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/retry.go +29 -19
  162. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/send.go +244 -73
  163. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/sendfb.go +27 -16
  164. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/clientpayload.go +3 -1
  165. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/noop.go +85 -43
  166. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/signal.go +75 -88
  167. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/container.go +79 -61
  168. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/lidmap.go +186 -0
  169. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/store.go +291 -167
  170. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/00-latest-schema.sql +153 -0
  171. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/03-message-secrets.sql +11 -0
  172. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/04-privacy-tokens.sql +8 -0
  173. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/05-account-jid-format.sql +2 -0
  174. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/06-facebook-uuid.sql +2 -0
  175. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/07-account-lid.sql +2 -0
  176. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/08-lid-mapping.sql +5 -0
  177. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/09-decryption-buffer.sql +10 -0
  178. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/upgrades.go +22 -0
  179. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/store.go +105 -56
  180. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/botmap.go +210 -0
  181. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/events.go +8 -0
  182. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/group.go +15 -6
  183. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/jid.go +7 -8
  184. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/message.go +17 -0
  185. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/update.go +3 -2
  186. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/upload.go +1 -1
  187. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/user.go +45 -29
  188. slidge_whatsapp/vendor/golang.org/x/exp/LICENSE +27 -0
  189. slidge_whatsapp/vendor/golang.org/x/exp/PATENTS +22 -0
  190. slidge_whatsapp/vendor/golang.org/x/exp/constraints/constraints.go +54 -0
  191. slidge_whatsapp/vendor/golang.org/x/net/http/httpguts/guts.go +50 -0
  192. slidge_whatsapp/vendor/golang.org/x/net/http/httpguts/httplex.go +347 -0
  193. slidge_whatsapp/vendor/golang.org/x/net/http2/.gitignore +2 -0
  194. slidge_whatsapp/vendor/golang.org/x/net/http2/ascii.go +53 -0
  195. slidge_whatsapp/vendor/golang.org/x/net/http2/ciphers.go +641 -0
  196. slidge_whatsapp/vendor/golang.org/x/net/http2/client_conn_pool.go +311 -0
  197. slidge_whatsapp/vendor/golang.org/x/net/http2/config.go +122 -0
  198. slidge_whatsapp/vendor/golang.org/x/net/http2/config_go124.go +61 -0
  199. slidge_whatsapp/vendor/golang.org/x/net/http2/config_pre_go124.go +16 -0
  200. slidge_whatsapp/vendor/golang.org/x/net/http2/databuffer.go +149 -0
  201. slidge_whatsapp/vendor/golang.org/x/net/http2/errors.go +145 -0
  202. slidge_whatsapp/vendor/golang.org/x/net/http2/flow.go +120 -0
  203. slidge_whatsapp/vendor/golang.org/x/net/http2/frame.go +1702 -0
  204. slidge_whatsapp/vendor/golang.org/x/net/http2/gotrack.go +170 -0
  205. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/encode.go +245 -0
  206. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/hpack.go +523 -0
  207. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/huffman.go +226 -0
  208. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/static_table.go +188 -0
  209. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/tables.go +403 -0
  210. slidge_whatsapp/vendor/golang.org/x/net/http2/http2.go +432 -0
  211. slidge_whatsapp/vendor/golang.org/x/net/http2/pipe.go +184 -0
  212. slidge_whatsapp/vendor/golang.org/x/net/http2/server.go +3350 -0
  213. slidge_whatsapp/vendor/golang.org/x/net/http2/timer.go +20 -0
  214. slidge_whatsapp/vendor/golang.org/x/net/http2/transport.go +3287 -0
  215. slidge_whatsapp/vendor/golang.org/x/net/http2/unencrypted.go +32 -0
  216. slidge_whatsapp/vendor/golang.org/x/net/http2/write.go +381 -0
  217. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched.go +251 -0
  218. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_priority.go +451 -0
  219. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_random.go +77 -0
  220. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_roundrobin.go +119 -0
  221. slidge_whatsapp/vendor/golang.org/x/net/idna/go118.go +13 -0
  222. slidge_whatsapp/vendor/golang.org/x/net/idna/idna10.0.0.go +769 -0
  223. slidge_whatsapp/vendor/golang.org/x/net/idna/idna9.0.0.go +717 -0
  224. slidge_whatsapp/vendor/golang.org/x/net/idna/pre_go118.go +11 -0
  225. slidge_whatsapp/vendor/golang.org/x/net/idna/punycode.go +217 -0
  226. slidge_whatsapp/vendor/golang.org/x/net/idna/tables10.0.0.go +4559 -0
  227. slidge_whatsapp/vendor/golang.org/x/net/idna/tables11.0.0.go +4653 -0
  228. slidge_whatsapp/vendor/golang.org/x/net/idna/tables12.0.0.go +4733 -0
  229. slidge_whatsapp/vendor/golang.org/x/net/idna/tables13.0.0.go +4959 -0
  230. slidge_whatsapp/vendor/golang.org/x/net/idna/tables15.0.0.go +5144 -0
  231. slidge_whatsapp/vendor/golang.org/x/net/idna/tables9.0.0.go +4486 -0
  232. slidge_whatsapp/vendor/golang.org/x/net/idna/trie.go +51 -0
  233. slidge_whatsapp/vendor/golang.org/x/net/idna/trie12.0.0.go +30 -0
  234. slidge_whatsapp/vendor/golang.org/x/net/idna/trie13.0.0.go +30 -0
  235. slidge_whatsapp/vendor/golang.org/x/net/idna/trieval.go +119 -0
  236. slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/ascii.go +53 -0
  237. slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/headermap.go +115 -0
  238. slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/request.go +467 -0
  239. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin.go +148 -1
  240. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux.go +16 -26
  241. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +84 -0
  242. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +20 -0
  243. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +84 -0
  244. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +20 -0
  245. slidge_whatsapp/vendor/golang.org/x/sys/windows/security_windows.go +44 -5
  246. slidge_whatsapp/vendor/golang.org/x/sys/windows/syscall_windows.go +4 -2
  247. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows.go +239 -0
  248. slidge_whatsapp/vendor/golang.org/x/sys/windows/zsyscall_windows.go +9 -0
  249. slidge_whatsapp/vendor/golang.org/x/text/LICENSE +27 -0
  250. slidge_whatsapp/vendor/golang.org/x/text/PATENTS +22 -0
  251. slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule.go +336 -0
  252. slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go +11 -0
  253. slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go +14 -0
  254. slidge_whatsapp/vendor/golang.org/x/text/transform/transform.go +709 -0
  255. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/bidi.go +359 -0
  256. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/bracket.go +335 -0
  257. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/core.go +1071 -0
  258. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/prop.go +206 -0
  259. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go +1815 -0
  260. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go +1887 -0
  261. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go +1923 -0
  262. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go +1955 -0
  263. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go +2042 -0
  264. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go +1781 -0
  265. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/trieval.go +48 -0
  266. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/composition.go +512 -0
  267. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/forminfo.go +279 -0
  268. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/input.go +109 -0
  269. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/iter.go +458 -0
  270. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/normalize.go +610 -0
  271. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/readwriter.go +125 -0
  272. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go +7657 -0
  273. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go +7693 -0
  274. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go +7710 -0
  275. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go +7760 -0
  276. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go +7907 -0
  277. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go +7637 -0
  278. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/transform.go +88 -0
  279. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/trie.go +54 -0
  280. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb +0 -0
  281. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/editions.go +3 -0
  282. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +16 -0
  283. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/{strings_unsafe_go121.go → strings_unsafe.go} +0 -2
  284. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/version/version.go +1 -1
  285. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/merge.go +6 -0
  286. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +2 -0
  287. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/{value_unsafe_go121.go → value_unsafe.go} +0 -2
  288. slidge_whatsapp/vendor/modules.txt +38 -13
  289. {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.6.dist-info}/METADATA +1 -1
  290. {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.6.dist-info}/RECORD +293 -180
  291. {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.6.dist-info}/WHEEL +1 -1
  292. slidge_whatsapp/vendor/github.com/rs/zerolog/CNAME +0 -1
  293. slidge_whatsapp/vendor/github.com/rs/zerolog/_config.yml +0 -1
  294. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.pb.raw +0 -0
  295. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.pb.raw +0 -0
  296. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.pb.raw +0 -0
  297. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.pb.raw +0 -23
  298. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.pb.raw +0 -7
  299. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.pb.raw +0 -0
  300. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/WAWebProtobufsCompanionReg.pb.raw +0 -0
  301. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.pb.raw +0 -0
  302. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.raw +0 -0
  303. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.raw +0 -0
  304. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.raw +0 -0
  305. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.pb.raw +0 -0
  306. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.pb.raw +0 -0
  307. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.pb.raw +0 -0
  308. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.pb.raw +0 -0
  309. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.pb.raw +0 -0
  310. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.pb.raw +0 -0
  311. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.raw +0 -0
  312. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.pb.raw +0 -0
  313. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.pb.raw +0 -0
  314. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.raw +0 -0
  315. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.raw +0 -0
  316. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrade.go +0 -296
  317. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go120.go +0 -94
  318. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go120.go +0 -98
  319. {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.6.dist-info}/LICENSE +0 -0
  320. {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.6.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,153 @@
1
+ -- v0 -> v9 (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
+
28
+ CREATE TABLE whatsmeow_identity_keys (
29
+ our_jid TEXT,
30
+ their_id TEXT,
31
+ identity bytea NOT NULL CHECK ( length(identity) = 32 ),
32
+
33
+ PRIMARY KEY (our_jid, their_id),
34
+ FOREIGN KEY (our_jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
35
+ );
36
+
37
+ CREATE TABLE whatsmeow_pre_keys (
38
+ jid TEXT,
39
+ key_id INTEGER CHECK ( key_id >= 0 AND key_id < 16777216 ),
40
+ key bytea NOT NULL CHECK ( length(key) = 32 ),
41
+ uploaded BOOLEAN NOT NULL,
42
+
43
+ PRIMARY KEY (jid, key_id),
44
+ FOREIGN KEY (jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
45
+ );
46
+
47
+ CREATE TABLE whatsmeow_sessions (
48
+ our_jid TEXT,
49
+ their_id TEXT,
50
+ session bytea,
51
+
52
+ PRIMARY KEY (our_jid, their_id),
53
+ FOREIGN KEY (our_jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
54
+ );
55
+
56
+ CREATE TABLE whatsmeow_sender_keys (
57
+ our_jid TEXT,
58
+ chat_id TEXT,
59
+ sender_id TEXT,
60
+ sender_key bytea NOT NULL,
61
+
62
+ PRIMARY KEY (our_jid, chat_id, sender_id),
63
+ FOREIGN KEY (our_jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
64
+ );
65
+
66
+ CREATE TABLE whatsmeow_app_state_sync_keys (
67
+ jid TEXT,
68
+ key_id bytea,
69
+ key_data bytea NOT NULL,
70
+ timestamp BIGINT NOT NULL,
71
+ fingerprint bytea NOT NULL,
72
+
73
+ PRIMARY KEY (jid, key_id),
74
+ FOREIGN KEY (jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
75
+ );
76
+
77
+ CREATE TABLE whatsmeow_app_state_version (
78
+ jid TEXT,
79
+ name TEXT,
80
+ version BIGINT NOT NULL,
81
+ hash bytea NOT NULL CHECK ( length(hash) = 128 ),
82
+
83
+ PRIMARY KEY (jid, name),
84
+ FOREIGN KEY (jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
85
+ );
86
+
87
+ CREATE TABLE whatsmeow_app_state_mutation_macs (
88
+ jid TEXT,
89
+ name TEXT,
90
+ version BIGINT,
91
+ index_mac bytea CHECK ( length(index_mac) = 32 ),
92
+ value_mac bytea NOT NULL CHECK ( length(value_mac) = 32 ),
93
+
94
+ PRIMARY KEY (jid, name, version, index_mac),
95
+ FOREIGN KEY (jid, name) REFERENCES whatsmeow_app_state_version(jid, name) ON DELETE CASCADE ON UPDATE CASCADE
96
+ );
97
+
98
+ CREATE TABLE whatsmeow_contacts (
99
+ our_jid TEXT,
100
+ their_jid TEXT,
101
+ first_name TEXT,
102
+ full_name TEXT,
103
+ push_name TEXT,
104
+ business_name TEXT,
105
+
106
+ PRIMARY KEY (our_jid, their_jid),
107
+ FOREIGN KEY (our_jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
108
+ );
109
+
110
+ CREATE TABLE whatsmeow_chat_settings (
111
+ our_jid TEXT,
112
+ chat_jid TEXT,
113
+ muted_until BIGINT NOT NULL DEFAULT 0,
114
+ pinned BOOLEAN NOT NULL DEFAULT false,
115
+ archived BOOLEAN NOT NULL DEFAULT false,
116
+
117
+ PRIMARY KEY (our_jid, chat_jid),
118
+ FOREIGN KEY (our_jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
119
+ );
120
+
121
+ CREATE TABLE whatsmeow_message_secrets (
122
+ our_jid TEXT,
123
+ chat_jid TEXT,
124
+ sender_jid TEXT,
125
+ message_id TEXT,
126
+ key bytea NOT NULL,
127
+
128
+ PRIMARY KEY (our_jid, chat_jid, sender_jid, message_id),
129
+ FOREIGN KEY (our_jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
130
+ );
131
+
132
+ CREATE TABLE whatsmeow_privacy_tokens (
133
+ our_jid TEXT,
134
+ their_jid TEXT,
135
+ token bytea NOT NULL,
136
+ timestamp BIGINT NOT NULL,
137
+ PRIMARY KEY (our_jid, their_jid)
138
+ );
139
+
140
+ CREATE TABLE whatsmeow_lid_map (
141
+ lid TEXT PRIMARY KEY,
142
+ pn TEXT UNIQUE NOT NULL
143
+ );
144
+
145
+ CREATE TABLE whatsmeow_event_buffer (
146
+ our_jid TEXT NOT NULL,
147
+ ciphertext_hash bytea NOT NULL CHECK ( length(ciphertext_hash) = 32 ),
148
+ plaintext bytea,
149
+ server_timestamp BIGINT NOT NULL,
150
+ insert_timestamp BIGINT NOT NULL,
151
+ PRIMARY KEY (our_jid, ciphertext_hash),
152
+ FOREIGN KEY (our_jid) REFERENCES whatsmeow_device(jid) ON DELETE CASCADE ON UPDATE CASCADE
153
+ );
@@ -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,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,6 +186,7 @@ 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
@@ -167,28 +205,39 @@ type Device struct {
167
205
  ChatSettings ChatSettingsStore
168
206
  MsgSecrets MsgSecretStore
169
207
  PrivacyTokens PrivacyTokenStore
208
+ EventBuffer EventBuffer
209
+ LIDs LIDStore
170
210
  Container DeviceContainer
211
+ }
171
212
 
172
- DatabaseErrorHandler func(device *Device, action string, attemptIndex int, err error) (retry bool)
213
+ func (device *Device) GetJID() types.JID {
214
+ if device == nil {
215
+ return types.EmptyJID
216
+ }
217
+ id := device.ID
218
+ if id == nil {
219
+ return types.EmptyJID
220
+ }
221
+ return *id
173
222
  }
174
223
 
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)
224
+ func (device *Device) GetLID() types.JID {
225
+ if device == nil {
226
+ return types.EmptyJID
178
227
  }
179
- device.Log.Errorf("Failed to %s: %v", fmt.Sprintf(action, args...), err)
180
- return false
228
+ return device.LID
181
229
  }
182
230
 
183
- func (device *Device) Save() error {
184
- return device.Container.PutDevice(device)
231
+ func (device *Device) Save(ctx context.Context) error {
232
+ return device.Container.PutDevice(ctx, device)
185
233
  }
186
234
 
187
- func (device *Device) Delete() error {
188
- err := device.Container.DeleteDevice(device)
235
+ func (device *Device) Delete(ctx context.Context) error {
236
+ err := device.Container.DeleteDevice(ctx, device)
189
237
  if err != nil {
190
238
  return err
191
239
  }
192
240
  device.ID = nil
241
+ device.LID = types.EmptyJID
193
242
  return nil
194
243
  }