slidge-whatsapp 0.2.5__cp311-cp311-manylinux_2_36_aarch64.whl → 0.3.0b0__cp311-cp311-manylinux_2_36_aarch64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of slidge-whatsapp might be problematic. Click here for more details.
- slidge_whatsapp/config.py +3 -0
- slidge_whatsapp/contact.py +13 -3
- slidge_whatsapp/event.go +135 -60
- slidge_whatsapp/gateway.go +16 -68
- slidge_whatsapp/gateway.py +4 -5
- slidge_whatsapp/generated/_whatsapp.cpython-311-aarch64-linux-gnu.h +198 -181
- slidge_whatsapp/generated/_whatsapp.cpython-311-aarch64-linux-gnu.so +0 -0
- slidge_whatsapp/generated/build.py +166 -152
- slidge_whatsapp/generated/whatsapp.c +1804 -1532
- slidge_whatsapp/generated/whatsapp.go +1150 -1039
- slidge_whatsapp/generated/whatsapp.py +1243 -1118
- slidge_whatsapp/generated/whatsapp_go.h +198 -181
- slidge_whatsapp/go.mod +21 -15
- slidge_whatsapp/go.sum +49 -31
- slidge_whatsapp/group.py +34 -30
- slidge_whatsapp/media/media.go +22 -12
- slidge_whatsapp/session.go +105 -81
- slidge_whatsapp/session.py +46 -14
- slidge_whatsapp/vendor/github.com/beeper/argo-go/LICENSE +9 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/block/blockreader.go +329 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/block/blockwriter.go +417 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/codec/decoder.go +652 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/codec/encoder.go +985 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/header/header.go +135 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/internal/util/util.go +133 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/label/label.go +384 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/label/wiremarkers.go +37 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/pkg/bitset/bitset.go +197 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/pkg/buf/buf.go +420 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/pkg/varint/varint.go +246 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/wire/wire.go +614 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/wirecodec/decode.go +341 -0
- slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn.go +4 -4
- slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_darwin.go +0 -5
- slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_libinit.go +3 -0
- slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols.go +40 -20
- slidge_whatsapp/vendor/github.com/elliotchance/orderedmap/v3/LICENSE +21 -0
- slidge_whatsapp/vendor/github.com/elliotchance/orderedmap/v3/list.go +95 -0
- slidge_whatsapp/vendor/github.com/elliotchance/orderedmap/v3/orderedmap.go +187 -0
- slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz.go +1 -0
- slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_cgo.go +3 -0
- slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_nocgo.go +4 -5
- slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_darwin.go +11 -1
- slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_linux.go +10 -0
- slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_windows.go +12 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/.gitignore +0 -2
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/CHANGELOG.md +44 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/COPYRIGHT.txt +6 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/README.md +14 -17
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi.go +1 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi2.go +7 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/LICENSE +21 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/darwin_amd64/libffi.8.dylib +0 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/darwin_arm64/libffi.8.dylib +0 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/windows_amd64/libffi-8.dll +0 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/cif.go +15 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/cif_arm64.go +16 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed.go +49 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed_darwin_amd64.go +10 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed_darwin_arm64.go +10 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed_windows_amd64.go +10 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/ffi.go +53 -15
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/fun.go +10 -2
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/init.go +22 -9
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib.go +1 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib_unix.go +1 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib_windows.go +1 -1
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/README.md +4 -7
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/callback.go +2 -1
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.c +11545 -6680
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h +527 -273
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3.go +57 -23
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_unlock_notify.c +4 -0
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_unlock_notify.go +4 -0
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_userauth.go +13 -140
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3ext.h +4 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/.gitignore +4 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/LICENSE +202 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/README.md +4 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid.go +35 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_gccgo.go +26 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.3.c +23 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.3.go +22 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.4.go +35 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.4.s +18 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.5.go +28 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.5.s +44 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_slow.go +24 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_gccgo_go1.8.go +17 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.23.go +38 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.25.go +37 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.5.go +57 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.6.go +43 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.9.go +37 -0
- slidge_whatsapp/vendor/github.com/rs/zerolog/CONTRIBUTING.md +43 -0
- slidge_whatsapp/vendor/github.com/rs/zerolog/README.md +31 -0
- slidge_whatsapp/vendor/github.com/rs/zerolog/console.go +20 -5
- slidge_whatsapp/vendor/github.com/rs/zerolog/log/log.go +131 -0
- slidge_whatsapp/vendor/github.com/rs/zerolog/log.go +1 -1
- slidge_whatsapp/vendor/github.com/rs/zerolog/sampler.go +4 -1
- slidge_whatsapp/vendor/github.com/rs/zerolog/writer.go +9 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/LICENSE +19 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/argmap.go +37 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/collections.go +148 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/comment.go +31 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/decode.go +216 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/definition.go +110 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/directive.go +43 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/document.go +89 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/dumper.go +159 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/fragment.go +41 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/operation.go +32 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/path.go +72 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/selection.go +41 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/source.go +19 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/type.go +68 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/value.go +122 -0
- slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/GroupCipher.go +17 -6
- slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/GroupSessionBuilder.go +17 -7
- slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/store/SenderKeyStore.go +4 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/chain/ChainKey.go +1 -0
- slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/identity/IdentityKey.go +1 -0
- slidge_whatsapp/vendor/go.mau.fi/libsignal/logger/DefaultLogger.go +2 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/FingerprintProtocol.pb.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/LocalStorageProtocol.pb.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/WhisperTextProtocol.pb.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/session/Session.go +41 -17
- slidge_whatsapp/vendor/go.mau.fi/libsignal/session/SessionCipher.go +64 -30
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/IdentityKeyStore.go +5 -3
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/MessageKeyStore.go +6 -4
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/PreKeyStore.go +6 -4
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SessionStore.go +8 -6
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SignedPreKeyStore.go +7 -5
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/connlog.go +257 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/database.go +309 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/iter.go +233 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/json.go +47 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/log.go +129 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/massinsert.go +164 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/queryhelper.go +137 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/reflectscan.go +30 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/transaction.go +180 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/upgrades.go +250 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/upgradetable.go +331 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exerrors/dualerror.go +33 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exerrors/must.go +23 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/cors.go +32 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/handleerrors.go +98 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/json.go +36 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/middleware.go +30 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/networkerror.go +38 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exstrings/stringutil.go +104 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/event.go +104 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/returnonce.go +25 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/ringbuffer.go +139 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncmap.go +94 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncset.go +136 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/callermarshal.go +28 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/defaults.go +32 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/generics.go +45 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/writer.go +81 -0
- slidge_whatsapp/vendor/go.mau.fi/util/ptr/ptr.go +43 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/.pre-commit-config.yaml +3 -3
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/decode.go +27 -26
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/encode.go +4 -3
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/hash.go +1 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/keys.go +5 -4
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate.go +32 -26
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/argo/argo-wire-type-store.argo +63 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/argo/argo.go +62 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/argo/name-to-queryids.json +306 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/armadillomessage.go +42 -8
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/encoder.go +1 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/broadcast.go +5 -4
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/call.go +2 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/client.go +134 -55
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/connectionevents.go +34 -11
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download-to-file.go +63 -30
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download.go +78 -34
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/errors.go +4 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/group.go +157 -55
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/internals.go +202 -154
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/keepalive.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaconn.go +5 -3
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaretry.go +2 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/message.go +448 -138
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/msgsecret.go +106 -31
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/newsletter.go +83 -7
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/notification.go +83 -43
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair-code.go +9 -6
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair.go +42 -18
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/prekeys.go +9 -5
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/presence.go +17 -7
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/privacysettings.go +10 -11
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/extra.go +7 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/InstamadilloAddMessage.pb.go +983 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/InstamadilloAddMessage.proto +85 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/extra.go +3 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.pb.go +197 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.proto +13 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.pb.go +279 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.proto +21 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.pb.go +137 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.proto +10 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink.pb.go +313 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink.proto +27 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.pb.go +1299 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto +112 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText.pb.go +514 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText.proto +47 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage.pb.go +123 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage.proto +7 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/extra.go +3 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage.pb.go +720 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage.proto +59 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/extra.go +3 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloTransportPayload/InstamadilloTransportPayload.pb.go +365 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloTransportPayload/InstamadilloTransportPayload.proto +33 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef.pb.go +1238 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef.proto +105 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.pb.go +39 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.pb.go +354 -175
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.proto +5 -5
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.pb.go +170 -15
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.proto +4 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waBotMetadata/WABotMetadata.pb.go +5156 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waBotMetadata/WABotMetadata.proto +516 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.pb.go +29 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.pb.go +13 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.pb.go +344 -31
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.proto +26 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/{WAWebProtobufsCompanionReg.pb.go → WACompanionReg.pb.go} +211 -89
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/{WAWebProtobufsCompanionReg.proto → WACompanionReg.proto} +5 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.pb.go +173 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.go +78 -16
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto +5 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.go +7463 -5180
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.proto +366 -343
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.go +485 -135
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.proto +17 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.pb.go +198 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.proto +14 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.pb.go +162 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.proto +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.pb.go +32 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.proto +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.pb.go +192 -52
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.proto +8 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.pb.go +60 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/extra.go +7 -6
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.pb.go +39 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.pb.go +61 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.pb.go +952 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.proto +88 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.go +1802 -453
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.proto +92 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.pb.go +27 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.pb.go +59 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.go +435 -109
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.proto +11 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.go +563 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.proto +4 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/receipt.go +32 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/reportingfields.json +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/reportingtoken.go +176 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/retry.go +39 -21
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/send.go +267 -79
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/sendfb.go +28 -16
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/clientpayload.go +3 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/noop.go +87 -44
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/signal.go +75 -88
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/container.go +86 -65
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/lidmap.go +186 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/store.go +314 -170
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/00-latest-schema.sql +155 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/03-message-secrets.sql +11 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/04-privacy-tokens.sql +8 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/05-account-jid-format.sql +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/06-facebook-uuid.sql +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/07-account-lid.sql +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/08-lid-mapping.sql +5 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/09-decryption-buffer.sql +10 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/10-chat-db-lid-migration-ts.sql +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/upgrades.go +22 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/store.go +109 -56
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/botmap.go +210 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/call.go +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/events.go +21 -2
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/group.go +15 -6
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/jid.go +9 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/message.go +18 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/user.go +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/update.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/upload.go +1 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/user.go +59 -37
- slidge_whatsapp/vendor/golang.org/x/crypto/curve25519/curve25519.go +1 -1
- slidge_whatsapp/vendor/golang.org/x/exp/LICENSE +27 -0
- slidge_whatsapp/vendor/golang.org/x/exp/PATENTS +22 -0
- slidge_whatsapp/vendor/golang.org/x/exp/constraints/constraints.go +54 -0
- slidge_whatsapp/vendor/golang.org/x/net/http/httpguts/guts.go +50 -0
- slidge_whatsapp/vendor/golang.org/x/net/http/httpguts/httplex.go +347 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/.gitignore +2 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/ascii.go +53 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/ciphers.go +641 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/client_conn_pool.go +311 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/config.go +164 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/databuffer.go +149 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/errors.go +145 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/flow.go +120 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/frame.go +1702 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/gotrack.go +181 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/encode.go +245 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/hpack.go +523 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/huffman.go +226 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/static_table.go +188 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/tables.go +403 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/http2.go +410 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/pipe.go +184 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/server.go +3332 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/transport.go +3233 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/unencrypted.go +32 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/write.go +381 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched.go +251 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_priority.go +451 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_random.go +77 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_roundrobin.go +119 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/go118.go +13 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/idna10.0.0.go +769 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/idna9.0.0.go +717 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/pre_go118.go +11 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/punycode.go +217 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables10.0.0.go +4559 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables11.0.0.go +4653 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables12.0.0.go +4733 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables13.0.0.go +4959 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables15.0.0.go +5144 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables9.0.0.go +4486 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/trie.go +51 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/trie12.0.0.go +30 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/trie13.0.0.go +30 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/trieval.go +119 -0
- slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/ascii.go +53 -0
- slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/headermap.go +115 -0
- slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/request.go +467 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/affinity_linux.go +1 -3
- slidge_whatsapp/vendor/golang.org/x/sys/unix/mkerrors.sh +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin.go +93 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux.go +16 -26
- slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_solaris.go +1 -1
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux.go +47 -16
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +84 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +20 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +84 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +20 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +4 -4
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux.go +168 -12
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +17 -1
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +18 -2
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +17 -1
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +17 -1
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +18 -2
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/windows/security_windows.go +44 -5
- slidge_whatsapp/vendor/golang.org/x/sys/windows/syscall_windows.go +4 -2
- slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows.go +245 -0
- slidge_whatsapp/vendor/golang.org/x/sys/windows/zsyscall_windows.go +491 -482
- slidge_whatsapp/vendor/golang.org/x/text/LICENSE +27 -0
- slidge_whatsapp/vendor/golang.org/x/text/PATENTS +22 -0
- slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule.go +336 -0
- slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go +11 -0
- slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go +14 -0
- slidge_whatsapp/vendor/golang.org/x/text/transform/transform.go +709 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/bidi.go +359 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/bracket.go +335 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/core.go +1071 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/prop.go +206 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go +1815 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go +1887 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go +1923 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go +1955 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go +2042 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go +1781 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/trieval.go +48 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/composition.go +512 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/forminfo.go +279 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/input.go +109 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/iter.go +458 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/normalize.go +610 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/readwriter.go +125 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go +7657 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go +7693 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go +7710 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go +7760 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go +7907 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go +7637 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/transform.go +88 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/trie.go +54 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/encoding/protowire/wire.go +25 -1
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb +0 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/editions.go +13 -5
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/presence.go +33 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/api_gen.go +6 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +81 -19
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_message_opaque.go +2 -1
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_opaque.go +8 -37
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/presence.go +0 -3
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/{strings_unsafe_go121.go → strings_unsafe.go} +0 -2
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/version/version.go +1 -1
- slidge_whatsapp/vendor/google.golang.org/protobuf/proto/merge.go +6 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +10 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/{value_unsafe_go121.go → value_unsafe.go} +0 -2
- slidge_whatsapp/vendor/modules.txt +80 -21
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0b0.dist-info}/METADATA +2 -2
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0b0.dist-info}/RECORD +456 -263
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0b0.dist-info}/WHEEL +1 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi_amd64.go +0 -7
- slidge_whatsapp/vendor/github.com/rs/zerolog/CNAME +0 -1
- slidge_whatsapp/vendor/github.com/rs/zerolog/_config.yml +0 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.pb.raw +0 -23
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.pb.raw +0 -7
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/WAWebProtobufsCompanionReg.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrade.go +0 -296
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go120.go +0 -94
- slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go120.go +0 -98
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0b0.dist-info}/LICENSE +0 -0
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0b0.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
// Copyright (c) 2023 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 exzerolog
|
|
8
|
+
|
|
9
|
+
import (
|
|
10
|
+
"bytes"
|
|
11
|
+
"sync"
|
|
12
|
+
|
|
13
|
+
"github.com/rs/zerolog"
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
// LogWriter wraps a zerolog.Logger and provides an io.Writer with buffering so each written line is logged separately.
|
|
17
|
+
type LogWriter struct {
|
|
18
|
+
log zerolog.Logger
|
|
19
|
+
level zerolog.Level
|
|
20
|
+
field string
|
|
21
|
+
mu sync.Mutex
|
|
22
|
+
buf bytes.Buffer
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
func NewLogWriter(log zerolog.Logger) *LogWriter {
|
|
26
|
+
zerolog.Nop()
|
|
27
|
+
return &LogWriter{
|
|
28
|
+
log: log,
|
|
29
|
+
level: zerolog.DebugLevel,
|
|
30
|
+
field: zerolog.MessageFieldName,
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
func (lw *LogWriter) WithLevel(level zerolog.Level) *LogWriter {
|
|
35
|
+
return &LogWriter{
|
|
36
|
+
log: lw.log,
|
|
37
|
+
level: level,
|
|
38
|
+
field: lw.field,
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
func (lw *LogWriter) WithField(field string) *LogWriter {
|
|
43
|
+
return &LogWriter{
|
|
44
|
+
log: lw.log,
|
|
45
|
+
level: lw.level,
|
|
46
|
+
field: field,
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
func (lw *LogWriter) writeLine(data []byte) {
|
|
51
|
+
if len(data) == 0 {
|
|
52
|
+
return
|
|
53
|
+
}
|
|
54
|
+
if data[len(data)-1] == '\n' {
|
|
55
|
+
data = data[:len(data)-1]
|
|
56
|
+
}
|
|
57
|
+
if lw.buf.Len() > 0 {
|
|
58
|
+
lw.buf.Write(data)
|
|
59
|
+
data = lw.buf.Bytes()
|
|
60
|
+
lw.buf.Reset()
|
|
61
|
+
}
|
|
62
|
+
lw.log.WithLevel(lw.level).Bytes(lw.field, data).Send()
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
func (lw *LogWriter) Write(data []byte) (n int, err error) {
|
|
66
|
+
lw.mu.Lock()
|
|
67
|
+
defer lw.mu.Unlock()
|
|
68
|
+
newline := bytes.IndexByte(data, '\n')
|
|
69
|
+
if newline == len(data)-1 {
|
|
70
|
+
lw.writeLine(data)
|
|
71
|
+
} else if newline < 0 {
|
|
72
|
+
lw.buf.Write(data)
|
|
73
|
+
} else {
|
|
74
|
+
lines := bytes.Split(data, []byte{'\n'})
|
|
75
|
+
for _, line := range lines[:len(lines)-1] {
|
|
76
|
+
lw.writeLine(line)
|
|
77
|
+
}
|
|
78
|
+
lw.buf.Write(lines[len(lines)-1])
|
|
79
|
+
}
|
|
80
|
+
return len(data), nil
|
|
81
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// Copyright (c) 2024 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 ptr
|
|
8
|
+
|
|
9
|
+
// Clone creates a shallow copy of the given pointer.
|
|
10
|
+
func Clone[T any](val *T) *T {
|
|
11
|
+
if val == nil {
|
|
12
|
+
return nil
|
|
13
|
+
}
|
|
14
|
+
valCopy := *val
|
|
15
|
+
return &valCopy
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// Ptr returns a pointer to the given value.
|
|
19
|
+
func Ptr[T any](val T) *T {
|
|
20
|
+
return &val
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// NonZero returns a pointer to the given comparable value, unless the value is the type's zero value.
|
|
24
|
+
func NonZero[T comparable](val T) *T {
|
|
25
|
+
var zero T
|
|
26
|
+
return NonDefault(val, zero)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// NonDefault returns a pointer to the first parameter, unless it is equal to the second parameter.
|
|
30
|
+
func NonDefault[T comparable](val, def T) *T {
|
|
31
|
+
if val == def {
|
|
32
|
+
return nil
|
|
33
|
+
}
|
|
34
|
+
return &val
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Val returns the value of the given pointer, or the zero value of the type if the pointer is nil.
|
|
38
|
+
func Val[T any](ptr *T) (val T) {
|
|
39
|
+
if ptr != nil {
|
|
40
|
+
val = *ptr
|
|
41
|
+
}
|
|
42
|
+
return
|
|
43
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
repos:
|
|
2
2
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
3
|
-
rev:
|
|
3
|
+
rev: v6.0.0
|
|
4
4
|
hooks:
|
|
5
5
|
- id: trailing-whitespace
|
|
6
6
|
exclude_types: [markdown]
|
|
@@ -11,7 +11,7 @@ repos:
|
|
|
11
11
|
- id: check-added-large-files
|
|
12
12
|
|
|
13
13
|
- repo: https://github.com/tekwizely/pre-commit-golang
|
|
14
|
-
rev: v1.0.0-rc.
|
|
14
|
+
rev: v1.0.0-rc.2
|
|
15
15
|
hooks:
|
|
16
16
|
- id: go-imports-repo
|
|
17
17
|
args:
|
|
@@ -24,7 +24,7 @@ repos:
|
|
|
24
24
|
- id: go-mod-tidy
|
|
25
25
|
|
|
26
26
|
- repo: https://github.com/beeper/pre-commit-go
|
|
27
|
-
rev: v0.
|
|
27
|
+
rev: v0.4.2
|
|
28
28
|
hooks:
|
|
29
29
|
# TODO enable this
|
|
30
30
|
#- id: zerolog-ban-msgf
|
|
@@ -8,6 +8,7 @@ package appstate
|
|
|
8
8
|
|
|
9
9
|
import (
|
|
10
10
|
"bytes"
|
|
11
|
+
"context"
|
|
11
12
|
"crypto/sha256"
|
|
12
13
|
"encoding/json"
|
|
13
14
|
"fmt"
|
|
@@ -30,9 +31,9 @@ type PatchList struct {
|
|
|
30
31
|
}
|
|
31
32
|
|
|
32
33
|
// DownloadExternalFunc is a function that can download a blob of external app state patches.
|
|
33
|
-
type DownloadExternalFunc func(*waServerSync.ExternalBlobReference) ([]byte, error)
|
|
34
|
+
type DownloadExternalFunc func(context.Context, *waServerSync.ExternalBlobReference) ([]byte, error)
|
|
34
35
|
|
|
35
|
-
func parseSnapshotInternal(collection *waBinary.Node, downloadExternal DownloadExternalFunc) (*waServerSync.SyncdSnapshot, error) {
|
|
36
|
+
func parseSnapshotInternal(ctx context.Context, collection *waBinary.Node, downloadExternal DownloadExternalFunc) (*waServerSync.SyncdSnapshot, error) {
|
|
36
37
|
snapshotNode := collection.GetChildByTag("snapshot")
|
|
37
38
|
rawSnapshot, ok := snapshotNode.Content.([]byte)
|
|
38
39
|
if snapshotNode.Tag != "snapshot" || !ok {
|
|
@@ -44,7 +45,7 @@ func parseSnapshotInternal(collection *waBinary.Node, downloadExternal DownloadE
|
|
|
44
45
|
return nil, fmt.Errorf("failed to unmarshal snapshot: %w", err)
|
|
45
46
|
}
|
|
46
47
|
var rawData []byte
|
|
47
|
-
rawData, err = downloadExternal(&snapshot)
|
|
48
|
+
rawData, err = downloadExternal(ctx, &snapshot)
|
|
48
49
|
if err != nil {
|
|
49
50
|
return nil, fmt.Errorf("failed to download external mutations: %w", err)
|
|
50
51
|
}
|
|
@@ -56,7 +57,7 @@ func parseSnapshotInternal(collection *waBinary.Node, downloadExternal DownloadE
|
|
|
56
57
|
return &downloaded, nil
|
|
57
58
|
}
|
|
58
59
|
|
|
59
|
-
func parsePatchListInternal(collection *waBinary.Node, downloadExternal DownloadExternalFunc) ([]*waServerSync.SyncdPatch, error) {
|
|
60
|
+
func parsePatchListInternal(ctx context.Context, collection *waBinary.Node, downloadExternal DownloadExternalFunc) ([]*waServerSync.SyncdPatch, error) {
|
|
60
61
|
patchesNode := collection.GetChildByTag("patches")
|
|
61
62
|
patchNodes := patchesNode.GetChildren()
|
|
62
63
|
patches := make([]*waServerSync.SyncdPatch, 0, len(patchNodes))
|
|
@@ -72,7 +73,7 @@ func parsePatchListInternal(collection *waBinary.Node, downloadExternal Download
|
|
|
72
73
|
}
|
|
73
74
|
if patch.GetExternalMutations() != nil && downloadExternal != nil {
|
|
74
75
|
var rawData []byte
|
|
75
|
-
rawData, err = downloadExternal(patch.GetExternalMutations())
|
|
76
|
+
rawData, err = downloadExternal(ctx, patch.GetExternalMutations())
|
|
76
77
|
if err != nil {
|
|
77
78
|
return nil, fmt.Errorf("failed to download external mutations: %w", err)
|
|
78
79
|
}
|
|
@@ -91,14 +92,14 @@ func parsePatchListInternal(collection *waBinary.Node, downloadExternal Download
|
|
|
91
92
|
}
|
|
92
93
|
|
|
93
94
|
// ParsePatchList will decode an XML node containing app state patches, including downloading any external blobs.
|
|
94
|
-
func ParsePatchList(node *waBinary.Node, downloadExternal DownloadExternalFunc) (*PatchList, error) {
|
|
95
|
+
func ParsePatchList(ctx context.Context, node *waBinary.Node, downloadExternal DownloadExternalFunc) (*PatchList, error) {
|
|
95
96
|
collection := node.GetChildByTag("sync", "collection")
|
|
96
97
|
ag := collection.AttrGetter()
|
|
97
|
-
snapshot, err := parseSnapshotInternal(&collection, downloadExternal)
|
|
98
|
+
snapshot, err := parseSnapshotInternal(ctx, &collection, downloadExternal)
|
|
98
99
|
if err != nil {
|
|
99
100
|
return nil, err
|
|
100
101
|
}
|
|
101
|
-
patches, err := parsePatchListInternal(&collection, downloadExternal)
|
|
102
|
+
patches, err := parsePatchListInternal(ctx, &collection, downloadExternal)
|
|
102
103
|
if err != nil {
|
|
103
104
|
return nil, err
|
|
104
105
|
}
|
|
@@ -117,10 +118,10 @@ type patchOutput struct {
|
|
|
117
118
|
Mutations []Mutation
|
|
118
119
|
}
|
|
119
120
|
|
|
120
|
-
func (proc *Processor) decodeMutations(mutations []*waServerSync.SyncdMutation, out *patchOutput, validateMACs bool) error {
|
|
121
|
+
func (proc *Processor) decodeMutations(ctx context.Context, mutations []*waServerSync.SyncdMutation, out *patchOutput, validateMACs bool) error {
|
|
121
122
|
for i, mutation := range mutations {
|
|
122
123
|
keyID := mutation.GetRecord().GetKeyID().GetID()
|
|
123
|
-
keys, err := proc.getAppStateKey(keyID)
|
|
124
|
+
keys, err := proc.getAppStateKey(ctx, keyID)
|
|
124
125
|
if err != nil {
|
|
125
126
|
return fmt.Errorf("failed to get key %X to decode mutation: %w", keyID, err)
|
|
126
127
|
}
|
|
@@ -173,23 +174,23 @@ func (proc *Processor) decodeMutations(mutations []*waServerSync.SyncdMutation,
|
|
|
173
174
|
return nil
|
|
174
175
|
}
|
|
175
176
|
|
|
176
|
-
func (proc *Processor) storeMACs(name WAPatchName, currentState HashState, out *patchOutput) {
|
|
177
|
-
err := proc.Store.AppState.PutAppStateVersion(string(name), currentState.Version, currentState.Hash)
|
|
177
|
+
func (proc *Processor) storeMACs(ctx context.Context, name WAPatchName, currentState HashState, out *patchOutput) {
|
|
178
|
+
err := proc.Store.AppState.PutAppStateVersion(ctx, string(name), currentState.Version, currentState.Hash)
|
|
178
179
|
if err != nil {
|
|
179
180
|
proc.Log.Errorf("Failed to update app state version in the database: %v", err)
|
|
180
181
|
}
|
|
181
|
-
err = proc.Store.AppState.DeleteAppStateMutationMACs(string(name), out.RemovedMACs)
|
|
182
|
+
err = proc.Store.AppState.DeleteAppStateMutationMACs(ctx, string(name), out.RemovedMACs)
|
|
182
183
|
if err != nil {
|
|
183
184
|
proc.Log.Errorf("Failed to remove deleted mutation MACs from the database: %v", err)
|
|
184
185
|
}
|
|
185
|
-
err = proc.Store.AppState.PutAppStateMutationMACs(string(name), currentState.Version, out.AddedMACs)
|
|
186
|
+
err = proc.Store.AppState.PutAppStateMutationMACs(ctx, string(name), currentState.Version, out.AddedMACs)
|
|
186
187
|
if err != nil {
|
|
187
188
|
proc.Log.Errorf("Failed to insert added mutation MACs to the database: %v", err)
|
|
188
189
|
}
|
|
189
190
|
}
|
|
190
191
|
|
|
191
|
-
func (proc *Processor) validateSnapshotMAC(name WAPatchName, currentState HashState, keyID, expectedSnapshotMAC []byte) (keys ExpandedAppStateKeys, err error) {
|
|
192
|
-
keys, err = proc.getAppStateKey(keyID)
|
|
192
|
+
func (proc *Processor) validateSnapshotMAC(ctx context.Context, name WAPatchName, currentState HashState, keyID, expectedSnapshotMAC []byte) (keys ExpandedAppStateKeys, err error) {
|
|
193
|
+
keys, err = proc.getAppStateKey(ctx, keyID)
|
|
193
194
|
if err != nil {
|
|
194
195
|
err = fmt.Errorf("failed to get key %X to verify patch v%d MACs: %w", keyID, currentState.Version, err)
|
|
195
196
|
return
|
|
@@ -201,7 +202,7 @@ func (proc *Processor) validateSnapshotMAC(name WAPatchName, currentState HashSt
|
|
|
201
202
|
return
|
|
202
203
|
}
|
|
203
204
|
|
|
204
|
-
func (proc *Processor) decodeSnapshot(name WAPatchName, ss *waServerSync.SyncdSnapshot, initialState HashState, validateMACs bool, newMutationsInput []Mutation) (newMutations []Mutation, currentState HashState, err error) {
|
|
205
|
+
func (proc *Processor) decodeSnapshot(ctx context.Context, name WAPatchName, ss *waServerSync.SyncdSnapshot, initialState HashState, validateMACs bool, newMutationsInput []Mutation) (newMutations []Mutation, currentState HashState, err error) {
|
|
205
206
|
currentState = initialState
|
|
206
207
|
currentState.Version = ss.GetVersion().GetVersion()
|
|
207
208
|
|
|
@@ -226,7 +227,7 @@ func (proc *Processor) decodeSnapshot(name WAPatchName, ss *waServerSync.SyncdSn
|
|
|
226
227
|
}
|
|
227
228
|
|
|
228
229
|
if validateMACs {
|
|
229
|
-
_, err = proc.validateSnapshotMAC(name, currentState, ss.GetKeyID().GetID(), ss.GetMac())
|
|
230
|
+
_, err = proc.validateSnapshotMAC(ctx, name, currentState, ss.GetKeyID().GetID(), ss.GetMac())
|
|
230
231
|
if err != nil {
|
|
231
232
|
return
|
|
232
233
|
}
|
|
@@ -234,18 +235,18 @@ func (proc *Processor) decodeSnapshot(name WAPatchName, ss *waServerSync.SyncdSn
|
|
|
234
235
|
|
|
235
236
|
var out patchOutput
|
|
236
237
|
out.Mutations = newMutationsInput
|
|
237
|
-
err = proc.decodeMutations(encryptedMutations, &out, validateMACs)
|
|
238
|
+
err = proc.decodeMutations(ctx, encryptedMutations, &out, validateMACs)
|
|
238
239
|
if err != nil {
|
|
239
240
|
err = fmt.Errorf("failed to decode snapshot of v%d: %w", currentState.Version, err)
|
|
240
241
|
return
|
|
241
242
|
}
|
|
242
|
-
proc.storeMACs(name, currentState, &out)
|
|
243
|
+
proc.storeMACs(ctx, name, currentState, &out)
|
|
243
244
|
newMutations = out.Mutations
|
|
244
245
|
return
|
|
245
246
|
}
|
|
246
247
|
|
|
247
248
|
// DecodePatches will decode all the patches in a PatchList into a list of app state mutations.
|
|
248
|
-
func (proc *Processor) DecodePatches(list *PatchList, initialState HashState, validateMACs bool) (newMutations []Mutation, currentState HashState, err error) {
|
|
249
|
+
func (proc *Processor) DecodePatches(ctx context.Context, list *PatchList, initialState HashState, validateMACs bool) (newMutations []Mutation, currentState HashState, err error) {
|
|
249
250
|
currentState = initialState
|
|
250
251
|
var expectedLength int
|
|
251
252
|
if list.Snapshot != nil {
|
|
@@ -257,7 +258,7 @@ func (proc *Processor) DecodePatches(list *PatchList, initialState HashState, va
|
|
|
257
258
|
newMutations = make([]Mutation, 0, expectedLength)
|
|
258
259
|
|
|
259
260
|
if list.Snapshot != nil {
|
|
260
|
-
newMutations, currentState, err = proc.decodeSnapshot(list.Name, list.Snapshot, currentState, validateMACs, newMutations)
|
|
261
|
+
newMutations, currentState, err = proc.decodeSnapshot(ctx, list.Name, list.Snapshot, currentState, validateMACs, newMutations)
|
|
261
262
|
if err != nil {
|
|
262
263
|
return
|
|
263
264
|
}
|
|
@@ -275,7 +276,7 @@ func (proc *Processor) DecodePatches(list *PatchList, initialState HashState, va
|
|
|
275
276
|
}
|
|
276
277
|
}
|
|
277
278
|
// Previous value not found in current patch, look in the database
|
|
278
|
-
return proc.Store.AppState.GetAppStateMutationMAC(string(list.Name), indexMAC)
|
|
279
|
+
return proc.Store.AppState.GetAppStateMutationMAC(ctx, string(list.Name), indexMAC)
|
|
279
280
|
})
|
|
280
281
|
if len(warn) > 0 {
|
|
281
282
|
proc.Log.Warnf("Warnings while updating hash for %s: %+v", list.Name, warn)
|
|
@@ -287,7 +288,7 @@ func (proc *Processor) DecodePatches(list *PatchList, initialState HashState, va
|
|
|
287
288
|
|
|
288
289
|
if validateMACs {
|
|
289
290
|
var keys ExpandedAppStateKeys
|
|
290
|
-
keys, err = proc.validateSnapshotMAC(list.Name, currentState, patch.GetKeyID().GetID(), patch.
|
|
291
|
+
keys, err = proc.validateSnapshotMAC(ctx, list.Name, currentState, patch.GetKeyID().GetID(), patch.GetSnapshotMAC())
|
|
291
292
|
if err != nil {
|
|
292
293
|
return
|
|
293
294
|
}
|
|
@@ -300,11 +301,11 @@ func (proc *Processor) DecodePatches(list *PatchList, initialState HashState, va
|
|
|
300
301
|
|
|
301
302
|
var out patchOutput
|
|
302
303
|
out.Mutations = newMutations
|
|
303
|
-
err = proc.decodeMutations(patch.GetMutations(), &out, validateMACs)
|
|
304
|
+
err = proc.decodeMutations(ctx, patch.GetMutations(), &out, validateMACs)
|
|
304
305
|
if err != nil {
|
|
305
306
|
return
|
|
306
307
|
}
|
|
307
|
-
proc.storeMACs(list.Name, currentState, &out)
|
|
308
|
+
proc.storeMACs(ctx, list.Name, currentState, &out)
|
|
308
309
|
newMutations = out.Mutations
|
|
309
310
|
}
|
|
310
311
|
return
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
package appstate
|
|
2
2
|
|
|
3
3
|
import (
|
|
4
|
+
"context"
|
|
4
5
|
"crypto/sha256"
|
|
5
6
|
"encoding/json"
|
|
6
7
|
"fmt"
|
|
@@ -245,8 +246,8 @@ func BuildStar(target, sender types.JID, messageID types.MessageID, fromMe, star
|
|
|
245
246
|
}
|
|
246
247
|
}
|
|
247
248
|
|
|
248
|
-
func (proc *Processor) EncodePatch(keyID []byte, state HashState, patchInfo PatchInfo) ([]byte, error) {
|
|
249
|
-
keys, err := proc.getAppStateKey(keyID)
|
|
249
|
+
func (proc *Processor) EncodePatch(ctx context.Context, keyID []byte, state HashState, patchInfo PatchInfo) ([]byte, error) {
|
|
250
|
+
keys, err := proc.getAppStateKey(ctx, keyID)
|
|
250
251
|
if err != nil {
|
|
251
252
|
return nil, fmt.Errorf("failed to get app state key details with key ID %x: %w", keyID, err)
|
|
252
253
|
}
|
|
@@ -295,7 +296,7 @@ func (proc *Processor) EncodePatch(keyID []byte, state HashState, patchInfo Patc
|
|
|
295
296
|
}
|
|
296
297
|
|
|
297
298
|
warn, err := state.updateHash(mutations, func(indexMAC []byte, _ int) ([]byte, error) {
|
|
298
|
-
return proc.Store.AppState.GetAppStateMutationMAC(string(patchInfo.Type), indexMAC)
|
|
299
|
+
return proc.Store.AppState.GetAppStateMutationMAC(ctx, string(patchInfo.Type), indexMAC)
|
|
299
300
|
})
|
|
300
301
|
if len(warn) > 0 {
|
|
301
302
|
proc.Log.Warnf("Warnings while updating hash for %s (sending new app state): %+v", patchInfo.Type, warn)
|
|
@@ -80,7 +80,7 @@ func (hs *HashState) generateSnapshotMAC(name WAPatchName, key []byte) []byte {
|
|
|
80
80
|
|
|
81
81
|
func generatePatchMAC(patch *waServerSync.SyncdPatch, name WAPatchName, key []byte, version uint64) []byte {
|
|
82
82
|
dataToHash := make([][]byte, len(patch.GetMutations())+3)
|
|
83
|
-
dataToHash[0] = patch.
|
|
83
|
+
dataToHash[0] = patch.GetSnapshotMAC()
|
|
84
84
|
for i, mutation := range patch.Mutations {
|
|
85
85
|
val := mutation.GetRecord().GetValue().GetBlob()
|
|
86
86
|
dataToHash[i+1] = val[len(val)-32:]
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
package appstate
|
|
9
9
|
|
|
10
10
|
import (
|
|
11
|
+
"context"
|
|
11
12
|
"encoding/base64"
|
|
12
13
|
"sync"
|
|
13
14
|
|
|
@@ -82,7 +83,7 @@ func expandAppStateKeys(keyData []byte) (keys ExpandedAppStateKeys) {
|
|
|
82
83
|
return ExpandedAppStateKeys{appStateKeyExpanded[0:32], appStateKeyExpanded[32:64], appStateKeyExpanded[64:96], appStateKeyExpanded[96:128], appStateKeyExpanded[128:160]}
|
|
83
84
|
}
|
|
84
85
|
|
|
85
|
-
func (proc *Processor) getAppStateKey(keyID []byte) (keys ExpandedAppStateKeys, err error) {
|
|
86
|
+
func (proc *Processor) getAppStateKey(ctx context.Context, keyID []byte) (keys ExpandedAppStateKeys, err error) {
|
|
86
87
|
keyCacheID := base64.RawStdEncoding.EncodeToString(keyID)
|
|
87
88
|
var ok bool
|
|
88
89
|
|
|
@@ -92,7 +93,7 @@ func (proc *Processor) getAppStateKey(keyID []byte) (keys ExpandedAppStateKeys,
|
|
|
92
93
|
keys, ok = proc.keyCache[keyCacheID]
|
|
93
94
|
if !ok {
|
|
94
95
|
var keyData *store.AppStateSyncKey
|
|
95
|
-
keyData, err = proc.Store.AppStateKeys.GetAppStateSyncKey(keyID)
|
|
96
|
+
keyData, err = proc.Store.AppStateKeys.GetAppStateSyncKey(ctx, keyID)
|
|
96
97
|
if keyData != nil {
|
|
97
98
|
keys = expandAppStateKeys(keyData.Data)
|
|
98
99
|
proc.keyCache[keyCacheID] = keys
|
|
@@ -103,7 +104,7 @@ func (proc *Processor) getAppStateKey(keyID []byte) (keys ExpandedAppStateKeys,
|
|
|
103
104
|
return
|
|
104
105
|
}
|
|
105
106
|
|
|
106
|
-
func (proc *Processor) GetMissingKeyIDs(pl *PatchList) [][]byte {
|
|
107
|
+
func (proc *Processor) GetMissingKeyIDs(ctx context.Context, pl *PatchList) [][]byte {
|
|
107
108
|
cache := make(map[string]bool)
|
|
108
109
|
var missingKeys [][]byte
|
|
109
110
|
checkMissing := func(keyID []byte) {
|
|
@@ -113,7 +114,7 @@ func (proc *Processor) GetMissingKeyIDs(pl *PatchList) [][]byte {
|
|
|
113
114
|
stringKeyID := base64.RawStdEncoding.EncodeToString(keyID)
|
|
114
115
|
_, alreadyAdded := cache[stringKeyID]
|
|
115
116
|
if !alreadyAdded {
|
|
116
|
-
keyData, err := proc.Store.AppStateKeys.GetAppStateSyncKey(keyID)
|
|
117
|
+
keyData, err := proc.Store.AppStateKeys.GetAppStateSyncKey(ctx, keyID)
|
|
117
118
|
if err != nil {
|
|
118
119
|
proc.Log.Warnf("Error fetching key %X while checking if it's missing: %v", keyID, err)
|
|
119
120
|
}
|
|
@@ -24,19 +24,19 @@ import (
|
|
|
24
24
|
|
|
25
25
|
// FetchAppState fetches updates to the given type of app state. If fullSync is true, the current
|
|
26
26
|
// cached state will be removed and all app state patches will be re-fetched from the server.
|
|
27
|
-
func (cli *Client) FetchAppState(name appstate.WAPatchName, fullSync, onlyIfNotSynced bool) error {
|
|
27
|
+
func (cli *Client) FetchAppState(ctx context.Context, name appstate.WAPatchName, fullSync, onlyIfNotSynced bool) error {
|
|
28
28
|
if cli == nil {
|
|
29
29
|
return ErrClientIsNil
|
|
30
30
|
}
|
|
31
31
|
cli.appStateSyncLock.Lock()
|
|
32
32
|
defer cli.appStateSyncLock.Unlock()
|
|
33
33
|
if fullSync {
|
|
34
|
-
err := cli.Store.AppState.DeleteAppStateVersion(string(name))
|
|
34
|
+
err := cli.Store.AppState.DeleteAppStateVersion(ctx, string(name))
|
|
35
35
|
if err != nil {
|
|
36
36
|
return fmt.Errorf("failed to reset app state %s version: %w", name, err)
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
version, hash, err := cli.Store.AppState.GetAppStateVersion(string(name))
|
|
39
|
+
version, hash, err := cli.Store.AppState.GetAppStateVersion(ctx, string(name))
|
|
40
40
|
if err != nil {
|
|
41
41
|
return fmt.Errorf("failed to get app state %s version: %w", name, err)
|
|
42
42
|
}
|
|
@@ -51,17 +51,17 @@ func (cli *Client) FetchAppState(name appstate.WAPatchName, fullSync, onlyIfNotS
|
|
|
51
51
|
hasMore := true
|
|
52
52
|
wantSnapshot := fullSync
|
|
53
53
|
for hasMore {
|
|
54
|
-
patches, err := cli.fetchAppStatePatches(name, state.Version, wantSnapshot)
|
|
54
|
+
patches, err := cli.fetchAppStatePatches(ctx, name, state.Version, wantSnapshot)
|
|
55
55
|
wantSnapshot = false
|
|
56
56
|
if err != nil {
|
|
57
57
|
return fmt.Errorf("failed to fetch app state %s patches: %w", name, err)
|
|
58
58
|
}
|
|
59
59
|
hasMore = patches.HasMorePatches
|
|
60
60
|
|
|
61
|
-
mutations, newState, err := cli.appStateProc.DecodePatches(patches, state, true)
|
|
61
|
+
mutations, newState, err := cli.appStateProc.DecodePatches(ctx, patches, state, true)
|
|
62
62
|
if err != nil {
|
|
63
63
|
if errors.Is(err, appstate.ErrKeyNotFound) {
|
|
64
|
-
go cli.requestMissingAppStateKeys(context.
|
|
64
|
+
go cli.requestMissingAppStateKeys(context.WithoutCancel(ctx), patches)
|
|
65
65
|
}
|
|
66
66
|
return fmt.Errorf("failed to decode app state %s patches: %w", name, err)
|
|
67
67
|
}
|
|
@@ -71,14 +71,14 @@ func (cli *Client) FetchAppState(name appstate.WAPatchName, fullSync, onlyIfNotS
|
|
|
71
71
|
var contacts []store.ContactEntry
|
|
72
72
|
mutations, contacts = cli.filterContacts(mutations)
|
|
73
73
|
cli.Log.Debugf("Mass inserting app state snapshot with %d contacts into the store", len(contacts))
|
|
74
|
-
err = cli.Store.Contacts.PutAllContactNames(contacts)
|
|
74
|
+
err = cli.Store.Contacts.PutAllContactNames(ctx, contacts)
|
|
75
75
|
if err != nil {
|
|
76
76
|
// This is a fairly serious failure, so just abort the whole thing
|
|
77
77
|
return fmt.Errorf("failed to update contact store with data from snapshot: %v", err)
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
for _, mutation := range mutations {
|
|
81
|
-
cli.dispatchAppState(mutation, fullSync, cli.EmitAppStateEventsOnFullSync)
|
|
81
|
+
cli.dispatchAppState(ctx, mutation, fullSync, cli.EmitAppStateEventsOnFullSync)
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
if fullSync {
|
|
@@ -109,7 +109,7 @@ func (cli *Client) filterContacts(mutations []appstate.Mutation) ([]appstate.Mut
|
|
|
109
109
|
return filteredMutations, contacts
|
|
110
110
|
}
|
|
111
111
|
|
|
112
|
-
func (cli *Client) dispatchAppState(mutation appstate.Mutation, fullSync bool, emitOnFullSync bool) {
|
|
112
|
+
func (cli *Client) dispatchAppState(ctx context.Context, mutation appstate.Mutation, fullSync bool, emitOnFullSync bool) {
|
|
113
113
|
dispatchEvts := !fullSync || emitOnFullSync
|
|
114
114
|
|
|
115
115
|
if mutation.Operation != waServerSync.SyncdMutation_SET {
|
|
@@ -134,28 +134,32 @@ func (cli *Client) dispatchAppState(mutation appstate.Mutation, fullSync bool, e
|
|
|
134
134
|
eventToDispatch = &events.Mute{JID: jid, Timestamp: ts, Action: act, FromFullSync: fullSync}
|
|
135
135
|
var mutedUntil time.Time
|
|
136
136
|
if act.GetMuted() {
|
|
137
|
-
|
|
137
|
+
if act.GetMuteEndTimestamp() < 0 {
|
|
138
|
+
mutedUntil = store.MutedForever
|
|
139
|
+
} else {
|
|
140
|
+
mutedUntil = time.UnixMilli(act.GetMuteEndTimestamp())
|
|
141
|
+
}
|
|
138
142
|
}
|
|
139
143
|
if cli.Store.ChatSettings != nil {
|
|
140
|
-
storeUpdateError = cli.Store.ChatSettings.PutMutedUntil(jid, mutedUntil)
|
|
144
|
+
storeUpdateError = cli.Store.ChatSettings.PutMutedUntil(ctx, jid, mutedUntil)
|
|
141
145
|
}
|
|
142
146
|
case appstate.IndexPin:
|
|
143
147
|
act := mutation.Action.GetPinAction()
|
|
144
148
|
eventToDispatch = &events.Pin{JID: jid, Timestamp: ts, Action: act, FromFullSync: fullSync}
|
|
145
149
|
if cli.Store.ChatSettings != nil {
|
|
146
|
-
storeUpdateError = cli.Store.ChatSettings.PutPinned(jid, act.GetPinned())
|
|
150
|
+
storeUpdateError = cli.Store.ChatSettings.PutPinned(ctx, jid, act.GetPinned())
|
|
147
151
|
}
|
|
148
152
|
case appstate.IndexArchive:
|
|
149
153
|
act := mutation.Action.GetArchiveChatAction()
|
|
150
154
|
eventToDispatch = &events.Archive{JID: jid, Timestamp: ts, Action: act, FromFullSync: fullSync}
|
|
151
155
|
if cli.Store.ChatSettings != nil {
|
|
152
|
-
storeUpdateError = cli.Store.ChatSettings.PutArchived(jid, act.GetArchived())
|
|
156
|
+
storeUpdateError = cli.Store.ChatSettings.PutArchived(ctx, jid, act.GetArchived())
|
|
153
157
|
}
|
|
154
158
|
case appstate.IndexContact:
|
|
155
159
|
act := mutation.Action.GetContactAction()
|
|
156
160
|
eventToDispatch = &events.Contact{JID: jid, Timestamp: ts, Action: act, FromFullSync: fullSync}
|
|
157
161
|
if cli.Store.Contacts != nil {
|
|
158
|
-
storeUpdateError = cli.Store.Contacts.PutContactName(jid, act.GetFirstName(), act.GetFullName())
|
|
162
|
+
storeUpdateError = cli.Store.Contacts.PutContactName(ctx, jid, act.GetFirstName(), act.GetFullName())
|
|
159
163
|
}
|
|
160
164
|
case appstate.IndexClearChat:
|
|
161
165
|
act := mutation.Action.GetClearChatAction()
|
|
@@ -209,7 +213,7 @@ func (cli *Client) dispatchAppState(mutation appstate.Mutation, fullSync bool, e
|
|
|
209
213
|
FromFullSync: fullSync,
|
|
210
214
|
}
|
|
211
215
|
cli.Store.PushName = mutation.Action.GetPushNameSetting().GetName()
|
|
212
|
-
err := cli.Store.Save()
|
|
216
|
+
err := cli.Store.Save(ctx)
|
|
213
217
|
if err != nil {
|
|
214
218
|
cli.Log.Errorf("Failed to save device store after updating push name: %v", err)
|
|
215
219
|
}
|
|
@@ -270,11 +274,11 @@ func (cli *Client) dispatchAppState(mutation appstate.Mutation, fullSync bool, e
|
|
|
270
274
|
}
|
|
271
275
|
}
|
|
272
276
|
|
|
273
|
-
func (cli *Client) downloadExternalAppStateBlob(ref *waServerSync.ExternalBlobReference) ([]byte, error) {
|
|
274
|
-
return cli.Download(ref)
|
|
277
|
+
func (cli *Client) downloadExternalAppStateBlob(ctx context.Context, ref *waServerSync.ExternalBlobReference) ([]byte, error) {
|
|
278
|
+
return cli.Download(ctx, ref)
|
|
275
279
|
}
|
|
276
280
|
|
|
277
|
-
func (cli *Client) fetchAppStatePatches(name appstate.WAPatchName, fromVersion uint64, snapshot bool) (*appstate.PatchList, error) {
|
|
281
|
+
func (cli *Client) fetchAppStatePatches(ctx context.Context, name appstate.WAPatchName, fromVersion uint64, snapshot bool) (*appstate.PatchList, error) {
|
|
278
282
|
attrs := waBinary.Attrs{
|
|
279
283
|
"name": string(name),
|
|
280
284
|
"return_snapshot": snapshot,
|
|
@@ -283,6 +287,7 @@ func (cli *Client) fetchAppStatePatches(name appstate.WAPatchName, fromVersion u
|
|
|
283
287
|
attrs["version"] = fromVersion
|
|
284
288
|
}
|
|
285
289
|
resp, err := cli.sendIQ(infoQuery{
|
|
290
|
+
Context: ctx,
|
|
286
291
|
Namespace: "w:sync:app:state",
|
|
287
292
|
Type: "set",
|
|
288
293
|
To: types.ServerJID,
|
|
@@ -297,12 +302,12 @@ func (cli *Client) fetchAppStatePatches(name appstate.WAPatchName, fromVersion u
|
|
|
297
302
|
if err != nil {
|
|
298
303
|
return nil, err
|
|
299
304
|
}
|
|
300
|
-
return appstate.ParsePatchList(resp, cli.downloadExternalAppStateBlob)
|
|
305
|
+
return appstate.ParsePatchList(ctx, resp, cli.downloadExternalAppStateBlob)
|
|
301
306
|
}
|
|
302
307
|
|
|
303
308
|
func (cli *Client) requestMissingAppStateKeys(ctx context.Context, patches *appstate.PatchList) {
|
|
304
309
|
cli.appStateKeyRequestsLock.Lock()
|
|
305
|
-
rawKeyIDs := cli.appStateProc.GetMissingKeyIDs(patches)
|
|
310
|
+
rawKeyIDs := cli.appStateProc.GetMissingKeyIDs(ctx, patches)
|
|
306
311
|
filteredKeyIDs := make([][]byte, 0, len(rawKeyIDs))
|
|
307
312
|
now := time.Now()
|
|
308
313
|
for _, keyID := range rawKeyIDs {
|
|
@@ -348,17 +353,17 @@ func (cli *Client) requestAppStateKeys(ctx context.Context, rawKeyIDs [][]byte)
|
|
|
348
353
|
//
|
|
349
354
|
// You can use the Build methods in the appstate package to build the parameter for this method, e.g.
|
|
350
355
|
//
|
|
351
|
-
// cli.SendAppState(appstate.BuildMute(targetJID, true, 24 * time.Hour))
|
|
352
|
-
func (cli *Client) SendAppState(patch appstate.PatchInfo) error {
|
|
356
|
+
// cli.SendAppState(ctx, appstate.BuildMute(targetJID, true, 24 * time.Hour))
|
|
357
|
+
func (cli *Client) SendAppState(ctx context.Context, patch appstate.PatchInfo) error {
|
|
353
358
|
if cli == nil {
|
|
354
359
|
return ErrClientIsNil
|
|
355
360
|
}
|
|
356
|
-
version, hash, err := cli.Store.AppState.GetAppStateVersion(string(patch.Type))
|
|
361
|
+
version, hash, err := cli.Store.AppState.GetAppStateVersion(ctx, string(patch.Type))
|
|
357
362
|
if err != nil {
|
|
358
363
|
return err
|
|
359
364
|
}
|
|
360
365
|
// TODO create new key instead of reusing the primary client's keys
|
|
361
|
-
latestKeyID, err := cli.Store.AppStateKeys.GetLatestAppStateSyncKeyID()
|
|
366
|
+
latestKeyID, err := cli.Store.AppStateKeys.GetLatestAppStateSyncKeyID(ctx)
|
|
362
367
|
if err != nil {
|
|
363
368
|
return fmt.Errorf("failed to get latest app state key ID: %w", err)
|
|
364
369
|
} else if latestKeyID == nil {
|
|
@@ -367,12 +372,13 @@ func (cli *Client) SendAppState(patch appstate.PatchInfo) error {
|
|
|
367
372
|
|
|
368
373
|
state := appstate.HashState{Version: version, Hash: hash}
|
|
369
374
|
|
|
370
|
-
encodedPatch, err := cli.appStateProc.EncodePatch(latestKeyID, state, patch)
|
|
375
|
+
encodedPatch, err := cli.appStateProc.EncodePatch(ctx, latestKeyID, state, patch)
|
|
371
376
|
if err != nil {
|
|
372
377
|
return err
|
|
373
378
|
}
|
|
374
379
|
|
|
375
380
|
resp, err := cli.sendIQ(infoQuery{
|
|
381
|
+
Context: ctx,
|
|
376
382
|
Namespace: "w:sync:app:state",
|
|
377
383
|
Type: iqSet,
|
|
378
384
|
To: types.ServerJID,
|
|
@@ -403,5 +409,5 @@ func (cli *Client) SendAppState(patch appstate.PatchInfo) error {
|
|
|
403
409
|
return fmt.Errorf("%w: %s", ErrAppStateUpdate, respCollection.XMLString())
|
|
404
410
|
}
|
|
405
411
|
|
|
406
|
-
return cli.FetchAppState(patch.Type, false, false)
|
|
412
|
+
return cli.FetchAppState(ctx, patch.Type, false, false)
|
|
407
413
|
}
|