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
|
@@ -20,6 +20,8 @@ import (
|
|
|
20
20
|
"time"
|
|
21
21
|
|
|
22
22
|
"github.com/gorilla/websocket"
|
|
23
|
+
"go.mau.fi/util/exhttp"
|
|
24
|
+
"go.mau.fi/util/exsync"
|
|
23
25
|
"go.mau.fi/util/random"
|
|
24
26
|
"golang.org/x/net/proxy"
|
|
25
27
|
|
|
@@ -38,12 +40,13 @@ import (
|
|
|
38
40
|
|
|
39
41
|
// EventHandler is a function that can handle events from WhatsApp.
|
|
40
42
|
type EventHandler func(evt any)
|
|
43
|
+
type EventHandlerWithSuccessStatus func(evt any) bool
|
|
41
44
|
type nodeHandler func(node *waBinary.Node)
|
|
42
45
|
|
|
43
46
|
var nextHandlerID uint32
|
|
44
47
|
|
|
45
48
|
type wrappedEventHandler struct {
|
|
46
|
-
fn
|
|
49
|
+
fn EventHandlerWithSuccessStatus
|
|
47
50
|
id uint32
|
|
48
51
|
}
|
|
49
52
|
|
|
@@ -65,15 +68,18 @@ type Client struct {
|
|
|
65
68
|
wsDialer *websocket.Dialer
|
|
66
69
|
|
|
67
70
|
isLoggedIn atomic.Bool
|
|
68
|
-
expectedDisconnect
|
|
71
|
+
expectedDisconnect *exsync.Event
|
|
69
72
|
EnableAutoReconnect bool
|
|
73
|
+
InitialAutoReconnect bool
|
|
70
74
|
LastSuccessfulConnect time.Time
|
|
71
75
|
AutoReconnectErrors int
|
|
72
76
|
// AutoReconnectHook is called when auto-reconnection fails. If the function returns false,
|
|
73
77
|
// the client will not attempt to reconnect. The number of retries can be read from AutoReconnectErrors.
|
|
74
78
|
AutoReconnectHook func(error) bool
|
|
75
79
|
// If SynchronousAck is set, acks for messages will only be sent after all event handlers return.
|
|
76
|
-
SynchronousAck
|
|
80
|
+
SynchronousAck bool
|
|
81
|
+
EnableDecryptedEventBuffer bool
|
|
82
|
+
lastDecryptedBufferClear time.Time
|
|
77
83
|
|
|
78
84
|
DisableLoginAutoReconnect bool
|
|
79
85
|
|
|
@@ -92,6 +98,7 @@ type Client struct {
|
|
|
92
98
|
|
|
93
99
|
historySyncNotifications chan *waE2E.HistorySyncNotification
|
|
94
100
|
historySyncHandlerStarted atomic.Bool
|
|
101
|
+
ManualHistorySyncDownload bool
|
|
95
102
|
|
|
96
103
|
uploadPreKeysLock sync.Mutex
|
|
97
104
|
lastPreKeyUpload time.Time
|
|
@@ -120,10 +127,10 @@ type Client struct {
|
|
|
120
127
|
|
|
121
128
|
privacySettingsCache atomic.Value
|
|
122
129
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
userDevicesCache
|
|
126
|
-
userDevicesCacheLock
|
|
130
|
+
groupCache map[types.JID]*groupMetaCache
|
|
131
|
+
groupCacheLock sync.Mutex
|
|
132
|
+
userDevicesCache map[types.JID]deviceCache
|
|
133
|
+
userDevicesCacheLock sync.Mutex
|
|
127
134
|
|
|
128
135
|
recentMessagesMap map[recentMessageKey]RecentMessage
|
|
129
136
|
recentMessagesList [recentMessagesSize]recentMessageKey
|
|
@@ -155,6 +162,10 @@ type Client struct {
|
|
|
155
162
|
// Should SubscribePresence return an error if no privacy token is stored for the user?
|
|
156
163
|
ErrorOnSubscribePresenceWithoutToken bool
|
|
157
164
|
|
|
165
|
+
SendReportingTokens bool
|
|
166
|
+
|
|
167
|
+
BackgroundEventCtx context.Context
|
|
168
|
+
|
|
158
169
|
phoneLinkingCache *phoneLinkingCache
|
|
159
170
|
|
|
160
171
|
uniqueID string
|
|
@@ -171,7 +182,13 @@ type Client struct {
|
|
|
171
182
|
// separate library for all the non-e2ee-related stuff like logging in.
|
|
172
183
|
// The library is currently embedded in mautrix-meta (https://github.com/mautrix/meta), but may be separated later.
|
|
173
184
|
MessengerConfig *MessengerConfig
|
|
174
|
-
RefreshCAT func() error
|
|
185
|
+
RefreshCAT func(context.Context) error
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
type groupMetaCache struct {
|
|
189
|
+
AddressingMode types.AddressingMode
|
|
190
|
+
CommunityAnnouncementGroup bool
|
|
191
|
+
Members []types.JID
|
|
175
192
|
}
|
|
176
193
|
|
|
177
194
|
type MessengerConfig struct {
|
|
@@ -209,25 +226,26 @@ func NewClient(deviceStore *store.Device, log waLog.Logger) *Client {
|
|
|
209
226
|
http: &http.Client{
|
|
210
227
|
Transport: (http.DefaultTransport.(*http.Transport)).Clone(),
|
|
211
228
|
},
|
|
212
|
-
proxy:
|
|
213
|
-
Store:
|
|
214
|
-
Log:
|
|
215
|
-
recvLog:
|
|
216
|
-
sendLog:
|
|
217
|
-
uniqueID:
|
|
218
|
-
responseWaiters:
|
|
219
|
-
eventHandlers:
|
|
220
|
-
messageRetries:
|
|
221
|
-
handlerQueue:
|
|
222
|
-
appStateProc:
|
|
223
|
-
socketWait:
|
|
229
|
+
proxy: http.ProxyFromEnvironment,
|
|
230
|
+
Store: deviceStore,
|
|
231
|
+
Log: log,
|
|
232
|
+
recvLog: log.Sub("Recv"),
|
|
233
|
+
sendLog: log.Sub("Send"),
|
|
234
|
+
uniqueID: fmt.Sprintf("%d.%d-", uniqueIDPrefix[0], uniqueIDPrefix[1]),
|
|
235
|
+
responseWaiters: make(map[string]chan<- *waBinary.Node),
|
|
236
|
+
eventHandlers: make([]wrappedEventHandler, 0, 1),
|
|
237
|
+
messageRetries: make(map[string]int),
|
|
238
|
+
handlerQueue: make(chan *waBinary.Node, handlerQueueSize),
|
|
239
|
+
appStateProc: appstate.NewProcessor(deviceStore, log.Sub("AppState")),
|
|
240
|
+
socketWait: make(chan struct{}),
|
|
241
|
+
expectedDisconnect: exsync.NewEvent(),
|
|
224
242
|
|
|
225
243
|
incomingRetryRequestCounter: make(map[incomingRetryKey]int),
|
|
226
244
|
|
|
227
245
|
historySyncNotifications: make(chan *waE2E.HistorySyncNotification, 32),
|
|
228
246
|
|
|
229
|
-
|
|
230
|
-
userDevicesCache:
|
|
247
|
+
groupCache: make(map[types.JID]*groupMetaCache),
|
|
248
|
+
userDevicesCache: make(map[types.JID]deviceCache),
|
|
231
249
|
|
|
232
250
|
recentMessagesMap: make(map[recentMessageKey]RecentMessage, recentMessagesSize),
|
|
233
251
|
sessionRecreateHistory: make(map[types.JID]time.Time),
|
|
@@ -238,6 +256,8 @@ func NewClient(deviceStore *store.Device, log waLog.Logger) *Client {
|
|
|
238
256
|
|
|
239
257
|
EnableAutoReconnect: true,
|
|
240
258
|
AutoTrustIdentity: true,
|
|
259
|
+
|
|
260
|
+
BackgroundEventCtx: context.Background(),
|
|
241
261
|
}
|
|
242
262
|
cli.nodeHandlers = map[string]nodeHandler{
|
|
243
263
|
"message": cli.handleEncryptedMessage,
|
|
@@ -378,11 +398,14 @@ func (cli *Client) getOwnID() types.JID {
|
|
|
378
398
|
if cli == nil {
|
|
379
399
|
return types.EmptyJID
|
|
380
400
|
}
|
|
381
|
-
|
|
382
|
-
|
|
401
|
+
return cli.Store.GetJID()
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
func (cli *Client) getOwnLID() types.JID {
|
|
405
|
+
if cli == nil {
|
|
383
406
|
return types.EmptyJID
|
|
384
407
|
}
|
|
385
|
-
return
|
|
408
|
+
return cli.Store.GetLID()
|
|
386
409
|
}
|
|
387
410
|
|
|
388
411
|
func (cli *Client) WaitForConnection(timeout time.Duration) bool {
|
|
@@ -398,6 +421,8 @@ func (cli *Client) WaitForConnection(timeout time.Duration) bool {
|
|
|
398
421
|
case <-ch:
|
|
399
422
|
case <-timeoutChan:
|
|
400
423
|
return false
|
|
424
|
+
case <-cli.expectedDisconnect.GetChan():
|
|
425
|
+
return false
|
|
401
426
|
}
|
|
402
427
|
cli.socketLock.RLock()
|
|
403
428
|
}
|
|
@@ -415,8 +440,28 @@ func (cli *Client) Connect() error {
|
|
|
415
440
|
if cli == nil {
|
|
416
441
|
return ErrClientIsNil
|
|
417
442
|
}
|
|
443
|
+
|
|
444
|
+
cli.socketLock.Lock()
|
|
445
|
+
defer cli.socketLock.Unlock()
|
|
446
|
+
|
|
447
|
+
err := cli.unlockedConnect()
|
|
448
|
+
if exhttp.IsNetworkError(err) && cli.InitialAutoReconnect && cli.EnableAutoReconnect {
|
|
449
|
+
cli.Log.Errorf("Initial connection failed but reconnecting in background (%v)", err)
|
|
450
|
+
go cli.dispatchEvent(&events.Disconnected{})
|
|
451
|
+
go cli.autoReconnect()
|
|
452
|
+
return nil
|
|
453
|
+
}
|
|
454
|
+
return err
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
func (cli *Client) connect() error {
|
|
418
458
|
cli.socketLock.Lock()
|
|
419
459
|
defer cli.socketLock.Unlock()
|
|
460
|
+
|
|
461
|
+
return cli.unlockedConnect()
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
func (cli *Client) unlockedConnect() error {
|
|
420
465
|
if cli.socket != nil {
|
|
421
466
|
if !cli.socket.IsConnected() {
|
|
422
467
|
cli.unlockedDisconnect()
|
|
@@ -490,15 +535,15 @@ func (cli *Client) onDisconnect(ns *socket.NoiseSocket, remote bool) {
|
|
|
490
535
|
}
|
|
491
536
|
|
|
492
537
|
func (cli *Client) expectDisconnect() {
|
|
493
|
-
cli.expectedDisconnect.
|
|
538
|
+
cli.expectedDisconnect.Set()
|
|
494
539
|
}
|
|
495
540
|
|
|
496
541
|
func (cli *Client) resetExpectedDisconnect() {
|
|
497
|
-
cli.expectedDisconnect.
|
|
542
|
+
cli.expectedDisconnect.Clear()
|
|
498
543
|
}
|
|
499
544
|
|
|
500
545
|
func (cli *Client) isExpectedDisconnect() bool {
|
|
501
|
-
return cli.expectedDisconnect.
|
|
546
|
+
return cli.expectedDisconnect.IsSet()
|
|
502
547
|
}
|
|
503
548
|
|
|
504
549
|
func (cli *Client) autoReconnect() {
|
|
@@ -509,12 +554,17 @@ func (cli *Client) autoReconnect() {
|
|
|
509
554
|
autoReconnectDelay := time.Duration(cli.AutoReconnectErrors) * 2 * time.Second
|
|
510
555
|
cli.Log.Debugf("Automatically reconnecting after %v", autoReconnectDelay)
|
|
511
556
|
cli.AutoReconnectErrors++
|
|
512
|
-
|
|
513
|
-
|
|
557
|
+
if cli.expectedDisconnect.WaitTimeout(autoReconnectDelay) {
|
|
558
|
+
return
|
|
559
|
+
}
|
|
560
|
+
err := cli.connect()
|
|
514
561
|
if errors.Is(err, ErrAlreadyConnected) {
|
|
515
562
|
cli.Log.Debugf("Connect() said we're already connected after autoreconnect sleep")
|
|
516
563
|
return
|
|
517
564
|
} else if err != nil {
|
|
565
|
+
if cli.expectedDisconnect.IsSet() {
|
|
566
|
+
return
|
|
567
|
+
}
|
|
518
568
|
cli.Log.Errorf("Error reconnecting after autoreconnect sleep: %v", err)
|
|
519
569
|
if cli.AutoReconnectHook != nil && !cli.AutoReconnectHook(err) {
|
|
520
570
|
cli.Log.Debugf("AutoReconnectHook returned false, not reconnecting")
|
|
@@ -543,10 +593,11 @@ func (cli *Client) IsConnected() bool {
|
|
|
543
593
|
// This will not emit any events, the Disconnected event is only used when the
|
|
544
594
|
// connection is closed by the server or a network error.
|
|
545
595
|
func (cli *Client) Disconnect() {
|
|
546
|
-
if cli == nil
|
|
596
|
+
if cli == nil {
|
|
547
597
|
return
|
|
548
598
|
}
|
|
549
599
|
cli.socketLock.Lock()
|
|
600
|
+
cli.expectDisconnect()
|
|
550
601
|
cli.unlockedDisconnect()
|
|
551
602
|
cli.socketLock.Unlock()
|
|
552
603
|
cli.clearDelayedMessageRequests()
|
|
@@ -568,7 +619,7 @@ func (cli *Client) unlockedDisconnect() {
|
|
|
568
619
|
//
|
|
569
620
|
// Note that this will not emit any events. The LoggedOut event is only used for external logouts
|
|
570
621
|
// (triggered by the user from the main device or by WhatsApp servers).
|
|
571
|
-
func (cli *Client) Logout() error {
|
|
622
|
+
func (cli *Client) Logout(ctx context.Context) error {
|
|
572
623
|
if cli == nil {
|
|
573
624
|
return ErrClientIsNil
|
|
574
625
|
} else if cli.MessengerConfig != nil {
|
|
@@ -594,7 +645,7 @@ func (cli *Client) Logout() error {
|
|
|
594
645
|
return fmt.Errorf("error sending logout request: %w", err)
|
|
595
646
|
}
|
|
596
647
|
cli.Disconnect()
|
|
597
|
-
err = cli.Store.Delete()
|
|
648
|
+
err = cli.Store.Delete(ctx)
|
|
598
649
|
if err != nil {
|
|
599
650
|
return fmt.Errorf("error deleting data from store: %w", err)
|
|
600
651
|
}
|
|
@@ -633,6 +684,13 @@ func (cli *Client) Logout() error {
|
|
|
633
684
|
// // Handle event and access mycli.WAClient
|
|
634
685
|
// }
|
|
635
686
|
func (cli *Client) AddEventHandler(handler EventHandler) uint32 {
|
|
687
|
+
return cli.AddEventHandlerWithSuccessStatus(func(evt any) bool {
|
|
688
|
+
handler(evt)
|
|
689
|
+
return true
|
|
690
|
+
})
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
func (cli *Client) AddEventHandlerWithSuccessStatus(handler EventHandlerWithSuccessStatus) uint32 {
|
|
636
694
|
nextID := atomic.AddUint32(&nextHandlerID, 1)
|
|
637
695
|
cli.eventHandlersLock.Lock()
|
|
638
696
|
cli.eventHandlers = append(cli.eventHandlers, wrappedEventHandler{handler, nextID})
|
|
@@ -714,25 +772,17 @@ func (cli *Client) handleFrame(data []byte) {
|
|
|
714
772
|
}
|
|
715
773
|
}
|
|
716
774
|
|
|
717
|
-
func stopAndDrainTimer(timer *time.Timer) {
|
|
718
|
-
if !timer.Stop() {
|
|
719
|
-
select {
|
|
720
|
-
case <-timer.C:
|
|
721
|
-
default:
|
|
722
|
-
}
|
|
723
|
-
}
|
|
724
|
-
}
|
|
725
|
-
|
|
726
775
|
func (cli *Client) handlerQueueLoop(ctx context.Context) {
|
|
727
|
-
|
|
728
|
-
|
|
776
|
+
ticker := time.NewTicker(30 * time.Second)
|
|
777
|
+
ticker.Stop()
|
|
729
778
|
cli.Log.Debugf("Starting handler queue loop")
|
|
779
|
+
Loop:
|
|
730
780
|
for {
|
|
731
781
|
select {
|
|
732
782
|
case node := <-cli.handlerQueue:
|
|
733
783
|
doneChan := make(chan struct{}, 1)
|
|
784
|
+
start := time.Now()
|
|
734
785
|
go func() {
|
|
735
|
-
start := time.Now()
|
|
736
786
|
cli.nodeHandlers[node.Tag](node)
|
|
737
787
|
duration := time.Since(start)
|
|
738
788
|
doneChan <- struct{}{}
|
|
@@ -740,13 +790,18 @@ func (cli *Client) handlerQueueLoop(ctx context.Context) {
|
|
|
740
790
|
cli.Log.Warnf("Node handling took %s for %s", duration, node.XMLString())
|
|
741
791
|
}
|
|
742
792
|
}()
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
793
|
+
ticker.Reset(30 * time.Second)
|
|
794
|
+
for i := 0; i < 10; i++ {
|
|
795
|
+
select {
|
|
796
|
+
case <-doneChan:
|
|
797
|
+
ticker.Stop()
|
|
798
|
+
continue Loop
|
|
799
|
+
case <-ticker.C:
|
|
800
|
+
cli.Log.Warnf("Node handling is taking long for %s (started %s ago)", node.XMLString(), time.Since(start))
|
|
801
|
+
}
|
|
749
802
|
}
|
|
803
|
+
cli.Log.Warnf("Continuing handling of %s in background as it's taking too long", node.XMLString())
|
|
804
|
+
ticker.Stop()
|
|
750
805
|
case <-ctx.Done():
|
|
751
806
|
cli.Log.Debugf("Closing handler queue loop")
|
|
752
807
|
return
|
|
@@ -779,7 +834,7 @@ func (cli *Client) sendNode(node waBinary.Node) error {
|
|
|
779
834
|
return err
|
|
780
835
|
}
|
|
781
836
|
|
|
782
|
-
func (cli *Client) dispatchEvent(evt any) {
|
|
837
|
+
func (cli *Client) dispatchEvent(evt any) (handlerFailed bool) {
|
|
783
838
|
cli.eventHandlersLock.RLock()
|
|
784
839
|
defer func() {
|
|
785
840
|
cli.eventHandlersLock.RUnlock()
|
|
@@ -789,8 +844,11 @@ func (cli *Client) dispatchEvent(evt any) {
|
|
|
789
844
|
}
|
|
790
845
|
}()
|
|
791
846
|
for _, handler := range cli.eventHandlers {
|
|
792
|
-
handler.fn(evt)
|
|
847
|
+
if !handler.fn(evt) {
|
|
848
|
+
return true
|
|
849
|
+
}
|
|
793
850
|
}
|
|
851
|
+
return false
|
|
794
852
|
}
|
|
795
853
|
|
|
796
854
|
// ParseWebMessage parses a WebMessageInfo object into *events.Message to match what real-time messages have.
|
|
@@ -816,7 +874,7 @@ func (cli *Client) ParseWebMessage(chatJID types.JID, webMsg *waWeb.WebMessageIn
|
|
|
816
874
|
IsFromMe: webMsg.GetKey().GetFromMe(),
|
|
817
875
|
IsGroup: chatJID.Server == types.GroupServer,
|
|
818
876
|
},
|
|
819
|
-
ID: webMsg.GetKey().
|
|
877
|
+
ID: webMsg.GetKey().GetID(),
|
|
820
878
|
PushName: webMsg.GetPushName(),
|
|
821
879
|
Timestamp: time.Unix(int64(webMsg.GetMessageTimestamp()), 0),
|
|
822
880
|
}
|
|
@@ -825,7 +883,7 @@ func (cli *Client) ParseWebMessage(chatJID types.JID, webMsg *waWeb.WebMessageIn
|
|
|
825
883
|
if info.Sender.IsEmpty() {
|
|
826
884
|
return nil, ErrNotLoggedIn
|
|
827
885
|
}
|
|
828
|
-
} else if chatJID.Server == types.DefaultUserServer || chatJID.Server == types.NewsletterServer {
|
|
886
|
+
} else if chatJID.Server == types.DefaultUserServer || chatJID.Server == types.HiddenUserServer || chatJID.Server == types.NewsletterServer {
|
|
829
887
|
info.Sender = chatJID
|
|
830
888
|
} else if webMsg.GetParticipant() != "" {
|
|
831
889
|
info.Sender, err = types.ParseJID(webMsg.GetParticipant())
|
|
@@ -837,6 +895,10 @@ func (cli *Client) ParseWebMessage(chatJID types.JID, webMsg *waWeb.WebMessageIn
|
|
|
837
895
|
if err != nil {
|
|
838
896
|
return nil, fmt.Errorf("failed to parse sender of message %s: %v", info.ID, err)
|
|
839
897
|
}
|
|
898
|
+
if pk := webMsg.GetCommentMetadata().GetCommentParentKey(); pk != nil {
|
|
899
|
+
info.MsgMetaInfo.ThreadMessageID = pk.GetID()
|
|
900
|
+
info.MsgMetaInfo.ThreadMessageSenderJID, _ = types.ParseJID(pk.GetParticipant())
|
|
901
|
+
}
|
|
840
902
|
evt := &events.Message{
|
|
841
903
|
RawMessage: webMsg.GetMessage(),
|
|
842
904
|
SourceWebMsg: webMsg,
|
|
@@ -849,3 +911,20 @@ func (cli *Client) ParseWebMessage(chatJID types.JID, webMsg *waWeb.WebMessageIn
|
|
|
849
911
|
}
|
|
850
912
|
return evt, nil
|
|
851
913
|
}
|
|
914
|
+
|
|
915
|
+
func (cli *Client) StoreLIDPNMapping(ctx context.Context, first, second types.JID) {
|
|
916
|
+
var lid, pn types.JID
|
|
917
|
+
if first.Server == types.HiddenUserServer && second.Server == types.DefaultUserServer {
|
|
918
|
+
lid = first
|
|
919
|
+
pn = second
|
|
920
|
+
} else if first.Server == types.DefaultUserServer && second.Server == types.HiddenUserServer {
|
|
921
|
+
lid = second
|
|
922
|
+
pn = first
|
|
923
|
+
} else {
|
|
924
|
+
return
|
|
925
|
+
}
|
|
926
|
+
err := cli.Store.LIDs.PutLIDMapping(ctx, lid, pn)
|
|
927
|
+
if err != nil {
|
|
928
|
+
cli.Log.Errorf("Failed to store LID-PN mapping for %s -> %s: %v", lid, pn, err)
|
|
929
|
+
}
|
|
930
|
+
}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
package whatsmeow
|
|
8
8
|
|
|
9
9
|
import (
|
|
10
|
+
"context"
|
|
10
11
|
"time"
|
|
11
12
|
|
|
12
13
|
waBinary "go.mau.fi/whatsmeow/binary"
|
|
@@ -16,6 +17,7 @@ import (
|
|
|
16
17
|
)
|
|
17
18
|
|
|
18
19
|
func (cli *Client) handleStreamError(node *waBinary.Node) {
|
|
20
|
+
ctx := cli.BackgroundEventCtx
|
|
19
21
|
cli.isLoggedIn.Store(false)
|
|
20
22
|
cli.clearResponseWaiters(node)
|
|
21
23
|
code, _ := node.Attrs["code"].(string)
|
|
@@ -31,7 +33,7 @@ func (cli *Client) handleStreamError(node *waBinary.Node) {
|
|
|
31
33
|
cli.Log.Infof("Got 515 code, reconnecting...")
|
|
32
34
|
go func() {
|
|
33
35
|
cli.Disconnect()
|
|
34
|
-
err := cli.
|
|
36
|
+
err := cli.connect()
|
|
35
37
|
if err != nil {
|
|
36
38
|
cli.Log.Errorf("Failed to reconnect after 515 code: %v", err)
|
|
37
39
|
}
|
|
@@ -40,7 +42,7 @@ func (cli *Client) handleStreamError(node *waBinary.Node) {
|
|
|
40
42
|
cli.expectDisconnect()
|
|
41
43
|
cli.Log.Infof("Got device removed stream error, sending LoggedOut event and deleting session")
|
|
42
44
|
go cli.dispatchEvent(&events.LoggedOut{OnConnect: false, Reason: events.ConnectFailureLoggedOut})
|
|
43
|
-
err := cli.Store.Delete()
|
|
45
|
+
err := cli.Store.Delete(ctx)
|
|
44
46
|
if err != nil {
|
|
45
47
|
cli.Log.Warnf("Failed to delete store after device_removed error: %v", err)
|
|
46
48
|
}
|
|
@@ -56,7 +58,7 @@ func (cli *Client) handleStreamError(node *waBinary.Node) {
|
|
|
56
58
|
cli.Log.Infof("Got %s stream error, refreshing CAT before reconnecting...", code)
|
|
57
59
|
cli.socketLock.RLock()
|
|
58
60
|
defer cli.socketLock.RUnlock()
|
|
59
|
-
err := cli.RefreshCAT()
|
|
61
|
+
err := cli.RefreshCAT(ctx)
|
|
60
62
|
if err != nil {
|
|
61
63
|
cli.Log.Errorf("Failed to refresh CAT: %v", err)
|
|
62
64
|
cli.expectDisconnect()
|
|
@@ -92,6 +94,7 @@ func (cli *Client) handleIB(node *waBinary.Node) {
|
|
|
92
94
|
}
|
|
93
95
|
|
|
94
96
|
func (cli *Client) handleConnectFailure(node *waBinary.Node) {
|
|
97
|
+
ctx := cli.BackgroundEventCtx
|
|
95
98
|
ag := node.AttrGetter()
|
|
96
99
|
reason := events.ConnectFailureReason(ag.Int("reason"))
|
|
97
100
|
message := ag.OptionalString("message")
|
|
@@ -118,7 +121,7 @@ func (cli *Client) handleConnectFailure(node *waBinary.Node) {
|
|
|
118
121
|
if reason.IsLoggedOut() {
|
|
119
122
|
cli.Log.Infof("Got %s connect failure, sending LoggedOut event and deleting session", reason)
|
|
120
123
|
go cli.dispatchEvent(&events.LoggedOut{OnConnect: true, Reason: reason})
|
|
121
|
-
err := cli.Store.Delete()
|
|
124
|
+
err := cli.Store.Delete(ctx)
|
|
122
125
|
if err != nil {
|
|
123
126
|
cli.Log.Warnf("Failed to delete store after %d failure: %v", int(reason), err)
|
|
124
127
|
}
|
|
@@ -133,7 +136,7 @@ func (cli *Client) handleConnectFailure(node *waBinary.Node) {
|
|
|
133
136
|
go cli.dispatchEvent(&events.ClientOutdated{})
|
|
134
137
|
} else if reason == events.ConnectFailureCATInvalid || reason == events.ConnectFailureCATExpired {
|
|
135
138
|
cli.Log.Infof("Got %d/%s connect failure, refreshing CAT before reconnecting...", int(reason), message)
|
|
136
|
-
err := cli.RefreshCAT()
|
|
139
|
+
err := cli.RefreshCAT(ctx)
|
|
137
140
|
if err != nil {
|
|
138
141
|
cli.Log.Errorf("Failed to refresh CAT: %v", err)
|
|
139
142
|
cli.expectDisconnect()
|
|
@@ -148,24 +151,43 @@ func (cli *Client) handleConnectFailure(node *waBinary.Node) {
|
|
|
148
151
|
}
|
|
149
152
|
|
|
150
153
|
func (cli *Client) handleConnectSuccess(node *waBinary.Node) {
|
|
154
|
+
ctx := cli.BackgroundEventCtx
|
|
151
155
|
cli.Log.Infof("Successfully authenticated")
|
|
152
156
|
cli.LastSuccessfulConnect = time.Now()
|
|
153
157
|
cli.AutoReconnectErrors = 0
|
|
154
158
|
cli.isLoggedIn.Store(true)
|
|
159
|
+
nodeLID := node.AttrGetter().JID("lid")
|
|
160
|
+
if !cli.Store.LID.IsEmpty() && !nodeLID.IsEmpty() && cli.Store.LID != nodeLID {
|
|
161
|
+
// This should probably never happen, but check just in case.
|
|
162
|
+
cli.Log.Warnf("Stored LID doesn't match one in connect success: %s != %s", cli.Store.LID, nodeLID)
|
|
163
|
+
cli.Store.LID = types.EmptyJID
|
|
164
|
+
}
|
|
165
|
+
if cli.Store.LID.IsEmpty() && !nodeLID.IsEmpty() {
|
|
166
|
+
cli.Store.LID = nodeLID
|
|
167
|
+
err := cli.Store.Save(ctx)
|
|
168
|
+
if err != nil {
|
|
169
|
+
cli.Log.Warnf("Failed to save device after updating LID: %v", err)
|
|
170
|
+
} else {
|
|
171
|
+
cli.Log.Infof("Updated LID to %s", cli.Store.LID)
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
// Some users are missing their own LID-PN mapping even though it's already in the device table,
|
|
175
|
+
// so do this unconditionally for a few months to ensure everyone gets the row.
|
|
176
|
+
cli.StoreLIDPNMapping(ctx, cli.Store.GetLID(), cli.Store.GetJID())
|
|
155
177
|
go func() {
|
|
156
|
-
if dbCount, err := cli.Store.PreKeys.UploadedPreKeyCount(); err != nil {
|
|
178
|
+
if dbCount, err := cli.Store.PreKeys.UploadedPreKeyCount(ctx); err != nil {
|
|
157
179
|
cli.Log.Errorf("Failed to get number of prekeys in database: %v", err)
|
|
158
|
-
} else if serverCount, err := cli.getServerPreKeyCount(); err != nil {
|
|
180
|
+
} else if serverCount, err := cli.getServerPreKeyCount(ctx); err != nil {
|
|
159
181
|
cli.Log.Warnf("Failed to get number of prekeys on server: %v", err)
|
|
160
182
|
} else {
|
|
161
183
|
cli.Log.Debugf("Database has %d prekeys, server says we have %d", dbCount, serverCount)
|
|
162
184
|
if serverCount < MinPreKeyCount || dbCount < MinPreKeyCount {
|
|
163
|
-
cli.uploadPreKeys()
|
|
164
|
-
sc, _ := cli.getServerPreKeyCount()
|
|
185
|
+
cli.uploadPreKeys(ctx)
|
|
186
|
+
sc, _ := cli.getServerPreKeyCount(ctx)
|
|
165
187
|
cli.Log.Debugf("Prekey count after upload: %d", sc)
|
|
166
188
|
}
|
|
167
189
|
}
|
|
168
|
-
err := cli.SetPassive(false)
|
|
190
|
+
err := cli.SetPassive(ctx, false)
|
|
169
191
|
if err != nil {
|
|
170
192
|
cli.Log.Warnf("Failed to send post-connect passive IQ: %v", err)
|
|
171
193
|
}
|
|
@@ -178,7 +200,7 @@ func (cli *Client) handleConnectSuccess(node *waBinary.Node) {
|
|
|
178
200
|
//
|
|
179
201
|
// This seems to mostly affect whether the device receives certain events.
|
|
180
202
|
// By default, whatsmeow will automatically do SetPassive(false) after connecting.
|
|
181
|
-
func (cli *Client) SetPassive(passive bool) error {
|
|
203
|
+
func (cli *Client) SetPassive(ctx context.Context, passive bool) error {
|
|
182
204
|
tag := "active"
|
|
183
205
|
if passive {
|
|
184
206
|
tag = "passive"
|
|
@@ -187,6 +209,7 @@ func (cli *Client) SetPassive(passive bool) error {
|
|
|
187
209
|
Namespace: "passive",
|
|
188
210
|
Type: "set",
|
|
189
211
|
To: types.ServerJID,
|
|
212
|
+
Context: ctx,
|
|
190
213
|
Content: []waBinary.Node{{Tag: tag}},
|
|
191
214
|
})
|
|
192
215
|
if err != nil {
|