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
|
@@ -29,12 +29,15 @@ import (
|
|
|
29
29
|
"google.golang.org/protobuf/proto"
|
|
30
30
|
|
|
31
31
|
waBinary "go.mau.fi/whatsmeow/binary"
|
|
32
|
+
"go.mau.fi/whatsmeow/proto/waBotMetadata"
|
|
32
33
|
"go.mau.fi/whatsmeow/proto/waCommon"
|
|
33
34
|
"go.mau.fi/whatsmeow/proto/waE2E"
|
|
34
35
|
"go.mau.fi/whatsmeow/types"
|
|
35
36
|
"go.mau.fi/whatsmeow/types/events"
|
|
36
37
|
)
|
|
37
38
|
|
|
39
|
+
const WebMessageIDPrefix = "3EB0"
|
|
40
|
+
|
|
38
41
|
// GenerateMessageID generates a random string that can be used as a message ID on WhatsApp.
|
|
39
42
|
//
|
|
40
43
|
// msgID := cli.GenerateMessageID()
|
|
@@ -52,7 +55,7 @@ func (cli *Client) GenerateMessageID() types.MessageID {
|
|
|
52
55
|
}
|
|
53
56
|
data = append(data, random.Bytes(16)...)
|
|
54
57
|
hash := sha256.Sum256(data)
|
|
55
|
-
return
|
|
58
|
+
return WebMessageIDPrefix + strings.ToUpper(hex.EncodeToString(hash[:9]))
|
|
56
59
|
}
|
|
57
60
|
|
|
58
61
|
func GenerateFacebookMessageID() int64 {
|
|
@@ -67,7 +70,7 @@ func GenerateFacebookMessageID() int64 {
|
|
|
67
70
|
//
|
|
68
71
|
// Deprecated: WhatsApp web has switched to using a hash of the current timestamp, user id and random bytes. Use Client.GenerateMessageID instead.
|
|
69
72
|
func GenerateMessageID() types.MessageID {
|
|
70
|
-
return
|
|
73
|
+
return WebMessageIDPrefix + strings.ToUpper(hex.EncodeToString(random.Bytes(8)))
|
|
71
74
|
}
|
|
72
75
|
|
|
73
76
|
type MessageDebugTimings struct {
|
|
@@ -114,6 +117,10 @@ type SendResponse struct {
|
|
|
114
117
|
|
|
115
118
|
// Message handling duration, used for debugging
|
|
116
119
|
DebugTimings MessageDebugTimings
|
|
120
|
+
|
|
121
|
+
// The identity the message was sent with (LID or PN)
|
|
122
|
+
// This is currently not reliable in all cases.
|
|
123
|
+
Sender types.JID
|
|
117
124
|
}
|
|
118
125
|
|
|
119
126
|
// SendRequestExtra contains the optional parameters for SendMessage.
|
|
@@ -140,6 +147,8 @@ type SendRequestExtra struct {
|
|
|
140
147
|
Timeout time.Duration
|
|
141
148
|
// When sending media to newsletters, the Handle field returned by the file upload.
|
|
142
149
|
MediaHandle string
|
|
150
|
+
|
|
151
|
+
Meta *types.MsgMetaInfo
|
|
143
152
|
}
|
|
144
153
|
|
|
145
154
|
// SendMessage sends the given message.
|
|
@@ -215,19 +224,21 @@ func (cli *Client) SendMessage(ctx context.Context, to types.JID, message *waE2E
|
|
|
215
224
|
}
|
|
216
225
|
|
|
217
226
|
isBotMode := isInlineBotMode || to.IsBot()
|
|
218
|
-
|
|
227
|
+
needsMessageSecret := isBotMode || cli.shouldIncludeReportingToken(message)
|
|
228
|
+
var extraParams nodeExtraParams
|
|
219
229
|
|
|
220
|
-
if
|
|
230
|
+
if needsMessageSecret {
|
|
221
231
|
if message.MessageContextInfo == nil {
|
|
222
232
|
message.MessageContextInfo = &waE2E.MessageContextInfo{}
|
|
223
233
|
}
|
|
224
|
-
|
|
225
234
|
if message.MessageContextInfo.MessageSecret == nil {
|
|
226
235
|
message.MessageContextInfo.MessageSecret = random.Bytes(32)
|
|
227
236
|
}
|
|
237
|
+
}
|
|
228
238
|
|
|
239
|
+
if isBotMode {
|
|
229
240
|
if message.MessageContextInfo.BotMetadata == nil {
|
|
230
|
-
message.MessageContextInfo.BotMetadata = &
|
|
241
|
+
message.MessageContextInfo.BotMetadata = &waBotMetadata.BotMetadata{
|
|
231
242
|
PersonaID: proto.String("867051314767696$760019659443059"),
|
|
232
243
|
}
|
|
233
244
|
}
|
|
@@ -261,8 +272,8 @@ func (cli *Client) SendMessage(ctx context.Context, to types.JID, message *waE2E
|
|
|
261
272
|
return
|
|
262
273
|
}
|
|
263
274
|
|
|
264
|
-
participantNodes, _ := cli.encryptMessageForDevices(ctx, []types.JID{req.InlineBotJID},
|
|
265
|
-
botNode = &waBinary.Node{
|
|
275
|
+
participantNodes, _ := cli.encryptMessageForDevices(ctx, []types.JID{req.InlineBotJID}, resp.ID, messagePlaintext, nil, waBinary.Attrs{})
|
|
276
|
+
extraParams.botNode = &waBinary.Node{
|
|
266
277
|
Tag: "bot",
|
|
267
278
|
Attrs: nil,
|
|
268
279
|
Content: participantNodes,
|
|
@@ -270,6 +281,53 @@ func (cli *Client) SendMessage(ctx context.Context, to types.JID, message *waE2E
|
|
|
270
281
|
}
|
|
271
282
|
}
|
|
272
283
|
|
|
284
|
+
var groupParticipants []types.JID
|
|
285
|
+
if to.Server == types.GroupServer || to.Server == types.BroadcastServer {
|
|
286
|
+
start := time.Now()
|
|
287
|
+
if to.Server == types.GroupServer {
|
|
288
|
+
var cachedData *groupMetaCache
|
|
289
|
+
cachedData, err = cli.getCachedGroupData(ctx, to)
|
|
290
|
+
if err != nil {
|
|
291
|
+
err = fmt.Errorf("failed to get group members: %w", err)
|
|
292
|
+
return
|
|
293
|
+
}
|
|
294
|
+
groupParticipants = cachedData.Members
|
|
295
|
+
// TODO this is fairly hacky, is there a proper way to determine which identity the message is sent with?
|
|
296
|
+
if cachedData.AddressingMode == types.AddressingModeLID {
|
|
297
|
+
ownID = cli.getOwnLID()
|
|
298
|
+
extraParams.addressingMode = types.AddressingModeLID
|
|
299
|
+
} else if cachedData.CommunityAnnouncementGroup && req.Meta != nil {
|
|
300
|
+
ownID = cli.getOwnLID()
|
|
301
|
+
// Why is this set to PN?
|
|
302
|
+
extraParams.addressingMode = types.AddressingModePN
|
|
303
|
+
}
|
|
304
|
+
} else {
|
|
305
|
+
groupParticipants, err = cli.getBroadcastListParticipants(ctx, to)
|
|
306
|
+
if err != nil {
|
|
307
|
+
err = fmt.Errorf("failed to get broadcast list members: %w", err)
|
|
308
|
+
return
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
resp.DebugTimings.GetParticipants = time.Since(start)
|
|
312
|
+
} else if to.Server == types.HiddenUserServer {
|
|
313
|
+
ownID = cli.getOwnLID()
|
|
314
|
+
}
|
|
315
|
+
if req.Meta != nil {
|
|
316
|
+
extraParams.metaNode = &waBinary.Node{
|
|
317
|
+
Tag: "meta",
|
|
318
|
+
Attrs: waBinary.Attrs{},
|
|
319
|
+
}
|
|
320
|
+
if req.Meta.DeprecatedLIDSession != nil {
|
|
321
|
+
extraParams.metaNode.Attrs["deprecated_lid_session"] = *req.Meta.DeprecatedLIDSession
|
|
322
|
+
}
|
|
323
|
+
if req.Meta.ThreadMessageID != "" {
|
|
324
|
+
extraParams.metaNode.Attrs["thread_msg_id"] = req.Meta.ThreadMessageID
|
|
325
|
+
extraParams.metaNode.Attrs["thread_msg_sender_jid"] = req.Meta.ThreadMessageSenderJID
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
resp.Sender = ownID
|
|
330
|
+
|
|
273
331
|
start := time.Now()
|
|
274
332
|
// Sending multiple messages at a time can cause weird issues and makes it harder to retry safely
|
|
275
333
|
cli.messageSendLock.Lock()
|
|
@@ -283,7 +341,7 @@ func (cli *Client) SendMessage(ctx context.Context, to types.JID, message *waE2E
|
|
|
283
341
|
}
|
|
284
342
|
|
|
285
343
|
if message.GetMessageContextInfo().GetMessageSecret() != nil {
|
|
286
|
-
err = cli.Store.MsgSecrets.PutMessageSecret(to, ownID, req.ID, message.GetMessageContextInfo().GetMessageSecret())
|
|
344
|
+
err = cli.Store.MsgSecrets.PutMessageSecret(ctx, to, ownID, req.ID, message.GetMessageContextInfo().GetMessageSecret())
|
|
287
345
|
if err != nil {
|
|
288
346
|
cli.Log.Warnf("Failed to store message secret key for outgoing message %s: %v", req.ID, err)
|
|
289
347
|
} else {
|
|
@@ -294,12 +352,12 @@ func (cli *Client) SendMessage(ctx context.Context, to types.JID, message *waE2E
|
|
|
294
352
|
var data []byte
|
|
295
353
|
switch to.Server {
|
|
296
354
|
case types.GroupServer, types.BroadcastServer:
|
|
297
|
-
phash, data, err = cli.sendGroup(ctx, to,
|
|
298
|
-
case types.DefaultUserServer:
|
|
355
|
+
phash, data, err = cli.sendGroup(ctx, ownID, to, groupParticipants, req.ID, message, &resp.DebugTimings, extraParams)
|
|
356
|
+
case types.DefaultUserServer, types.BotServer, types.HiddenUserServer:
|
|
299
357
|
if req.Peer {
|
|
300
|
-
data, err = cli.sendPeerMessage(to, req.ID, message, &resp.DebugTimings)
|
|
358
|
+
data, err = cli.sendPeerMessage(ctx, to, req.ID, message, &resp.DebugTimings)
|
|
301
359
|
} else {
|
|
302
|
-
data, err = cli.sendDM(ctx,
|
|
360
|
+
data, err = cli.sendDM(ctx, ownID, to, req.ID, message, &resp.DebugTimings, extraParams)
|
|
303
361
|
}
|
|
304
362
|
case types.NewsletterServer:
|
|
305
363
|
data, err = cli.sendNewsletter(to, req.ID, message, req.MediaHandle, &resp.DebugTimings)
|
|
@@ -348,9 +406,9 @@ func (cli *Client) SendMessage(ctx context.Context, to types.JID, message *waE2E
|
|
|
348
406
|
if len(expectedPHash) > 0 && phash != expectedPHash {
|
|
349
407
|
cli.Log.Warnf("Server returned different participant list hash when sending to %s. Some devices may not have received the message.", to)
|
|
350
408
|
// TODO also invalidate device list caches
|
|
351
|
-
cli.
|
|
352
|
-
delete(cli.
|
|
353
|
-
cli.
|
|
409
|
+
cli.groupCacheLock.Lock()
|
|
410
|
+
delete(cli.groupCache, to)
|
|
411
|
+
cli.groupCacheLock.Unlock()
|
|
354
412
|
}
|
|
355
413
|
return
|
|
356
414
|
}
|
|
@@ -373,9 +431,9 @@ func (cli *Client) BuildMessageKey(chat, sender types.JID, id types.MessageID) *
|
|
|
373
431
|
ID: proto.String(id),
|
|
374
432
|
RemoteJID: proto.String(chat.String()),
|
|
375
433
|
}
|
|
376
|
-
if !sender.IsEmpty() && sender.User != cli.getOwnID().User {
|
|
434
|
+
if !sender.IsEmpty() && sender.User != cli.getOwnID().User && sender.User != cli.getOwnLID().User {
|
|
377
435
|
key.FromMe = proto.Bool(false)
|
|
378
|
-
if chat.Server != types.DefaultUserServer && chat.Server != types.MessengerServer {
|
|
436
|
+
if chat.Server != types.DefaultUserServer && chat.Server != types.HiddenUserServer && chat.Server != types.MessengerServer {
|
|
379
437
|
key.Participant = proto.String(sender.ToNonAD().String())
|
|
380
438
|
}
|
|
381
439
|
}
|
|
@@ -521,13 +579,14 @@ func ParseDisappearingTimerString(val string) (time.Duration, bool) {
|
|
|
521
579
|
// and in groups the server will just reject the change. You can use the DisappearingTimer<Duration> constants for convenience.
|
|
522
580
|
//
|
|
523
581
|
// In groups, the server will echo the change as a notification, so it'll show up as a *events.GroupInfo update.
|
|
524
|
-
func (cli *Client) SetDisappearingTimer(chat types.JID, timer time.Duration) (err error) {
|
|
582
|
+
func (cli *Client) SetDisappearingTimer(chat types.JID, timer time.Duration, settingTS time.Time) (err error) {
|
|
525
583
|
switch chat.Server {
|
|
526
|
-
case types.DefaultUserServer:
|
|
584
|
+
case types.DefaultUserServer, types.HiddenUserServer:
|
|
527
585
|
_, err = cli.SendMessage(context.TODO(), chat, &waE2E.Message{
|
|
528
586
|
ProtocolMessage: &waE2E.ProtocolMessage{
|
|
529
|
-
Type:
|
|
530
|
-
EphemeralExpiration:
|
|
587
|
+
Type: waE2E.ProtocolMessage_EPHEMERAL_SETTING.Enum(),
|
|
588
|
+
EphemeralExpiration: proto.Uint32(uint32(timer.Seconds())),
|
|
589
|
+
EphemeralSettingTimestamp: proto.Int64(settingTS.Unix()),
|
|
531
590
|
},
|
|
532
591
|
})
|
|
533
592
|
case types.GroupServer:
|
|
@@ -561,7 +620,13 @@ func participantListHashV2(participants []types.JID) string {
|
|
|
561
620
|
return fmt.Sprintf("2:%s", base64.RawStdEncoding.EncodeToString(hash[:6]))
|
|
562
621
|
}
|
|
563
622
|
|
|
564
|
-
func (cli *Client) sendNewsletter(
|
|
623
|
+
func (cli *Client) sendNewsletter(
|
|
624
|
+
to types.JID,
|
|
625
|
+
id types.MessageID,
|
|
626
|
+
message *waE2E.Message,
|
|
627
|
+
mediaID string,
|
|
628
|
+
timings *MessageDebugTimings,
|
|
629
|
+
) ([]byte, error) {
|
|
565
630
|
attrs := waBinary.Attrs{
|
|
566
631
|
"to": to,
|
|
567
632
|
"id": id,
|
|
@@ -588,8 +653,10 @@ func (cli *Client) sendNewsletter(to types.JID, id types.MessageID, message *waE
|
|
|
588
653
|
Content: plaintext,
|
|
589
654
|
Attrs: waBinary.Attrs{},
|
|
590
655
|
}
|
|
591
|
-
if
|
|
592
|
-
|
|
656
|
+
if message != nil {
|
|
657
|
+
if mediaType := getMediaTypeFromMessage(message); mediaType != "" {
|
|
658
|
+
plaintextNode.Attrs["mediatype"] = mediaType
|
|
659
|
+
}
|
|
593
660
|
}
|
|
594
661
|
node := waBinary.Node{
|
|
595
662
|
Tag: "message",
|
|
@@ -605,24 +672,23 @@ func (cli *Client) sendNewsletter(to types.JID, id types.MessageID, message *waE
|
|
|
605
672
|
return data, nil
|
|
606
673
|
}
|
|
607
674
|
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
675
|
+
type nodeExtraParams struct {
|
|
676
|
+
botNode *waBinary.Node
|
|
677
|
+
metaNode *waBinary.Node
|
|
678
|
+
addressingMode types.AddressingMode
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
func (cli *Client) sendGroup(
|
|
682
|
+
ctx context.Context,
|
|
683
|
+
ownID,
|
|
684
|
+
to types.JID,
|
|
685
|
+
participants []types.JID,
|
|
686
|
+
id types.MessageID,
|
|
687
|
+
message *waE2E.Message,
|
|
688
|
+
timings *MessageDebugTimings,
|
|
689
|
+
extraParams nodeExtraParams,
|
|
690
|
+
) (string, []byte, error) {
|
|
611
691
|
start := time.Now()
|
|
612
|
-
if to.Server == types.GroupServer {
|
|
613
|
-
participants, err = cli.getGroupMembers(ctx, to)
|
|
614
|
-
if err != nil {
|
|
615
|
-
return "", nil, fmt.Errorf("failed to get group members: %w", err)
|
|
616
|
-
}
|
|
617
|
-
} else {
|
|
618
|
-
// TODO use context
|
|
619
|
-
participants, err = cli.getBroadcastListParticipants(to)
|
|
620
|
-
if err != nil {
|
|
621
|
-
return "", nil, fmt.Errorf("failed to get broadcast list members: %w", err)
|
|
622
|
-
}
|
|
623
|
-
}
|
|
624
|
-
timings.GetParticipants = time.Since(start)
|
|
625
|
-
start = time.Now()
|
|
626
692
|
plaintext, _, err := marshalMessage(to, message)
|
|
627
693
|
timings.Marshal = time.Since(start)
|
|
628
694
|
if err != nil {
|
|
@@ -631,8 +697,8 @@ func (cli *Client) sendGroup(ctx context.Context, to, ownID types.JID, id types.
|
|
|
631
697
|
|
|
632
698
|
start = time.Now()
|
|
633
699
|
builder := groups.NewGroupSessionBuilder(cli.Store, pbSerializer)
|
|
634
|
-
senderKeyName := protocol.NewSenderKeyName(to.String(),
|
|
635
|
-
signalSKDMessage, err := builder.Create(senderKeyName)
|
|
700
|
+
senderKeyName := protocol.NewSenderKeyName(to.String(), cli.getOwnLID().SignalAddress())
|
|
701
|
+
signalSKDMessage, err := builder.Create(ctx, senderKeyName)
|
|
636
702
|
if err != nil {
|
|
637
703
|
return "", nil, fmt.Errorf("failed to create sender key distribution message to send %s to %s: %w", id, to, err)
|
|
638
704
|
}
|
|
@@ -648,14 +714,16 @@ func (cli *Client) sendGroup(ctx context.Context, to, ownID types.JID, id types.
|
|
|
648
714
|
}
|
|
649
715
|
|
|
650
716
|
cipher := groups.NewGroupCipher(builder, senderKeyName, cli.Store)
|
|
651
|
-
encrypted, err := cipher.Encrypt(padMessage(plaintext))
|
|
717
|
+
encrypted, err := cipher.Encrypt(ctx, padMessage(plaintext))
|
|
652
718
|
if err != nil {
|
|
653
719
|
return "", nil, fmt.Errorf("failed to encrypt group message to send %s to %s: %w", id, to, err)
|
|
654
720
|
}
|
|
655
721
|
ciphertext := encrypted.SignedSerialize()
|
|
656
722
|
timings.GroupEncrypt = time.Since(start)
|
|
657
723
|
|
|
658
|
-
node, allDevices, err := cli.prepareMessageNode(
|
|
724
|
+
node, allDevices, err := cli.prepareMessageNode(
|
|
725
|
+
ctx, to, id, message, participants, skdPlaintext, nil, timings, extraParams,
|
|
726
|
+
)
|
|
659
727
|
if err != nil {
|
|
660
728
|
return "", nil, err
|
|
661
729
|
}
|
|
@@ -671,6 +739,9 @@ func (cli *Client) sendGroup(ctx context.Context, to, ownID types.JID, id types.
|
|
|
671
739
|
skMsg.Attrs["mediatype"] = mediaType
|
|
672
740
|
}
|
|
673
741
|
node.Content = append(node.GetChildren(), skMsg)
|
|
742
|
+
if cli.shouldIncludeReportingToken(message) && message.GetMessageContextInfo().GetMessageSecret() != nil {
|
|
743
|
+
node.Content = append(node.GetChildren(), cli.getMessageReportingToken(plaintext, message, ownID, to, id))
|
|
744
|
+
}
|
|
674
745
|
|
|
675
746
|
start = time.Now()
|
|
676
747
|
data, err := cli.sendNodeAndGetData(*node)
|
|
@@ -681,8 +752,14 @@ func (cli *Client) sendGroup(ctx context.Context, to, ownID types.JID, id types.
|
|
|
681
752
|
return phash, data, nil
|
|
682
753
|
}
|
|
683
754
|
|
|
684
|
-
func (cli *Client) sendPeerMessage(
|
|
685
|
-
|
|
755
|
+
func (cli *Client) sendPeerMessage(
|
|
756
|
+
ctx context.Context,
|
|
757
|
+
to types.JID,
|
|
758
|
+
id types.MessageID,
|
|
759
|
+
message *waE2E.Message,
|
|
760
|
+
timings *MessageDebugTimings,
|
|
761
|
+
) ([]byte, error) {
|
|
762
|
+
node, err := cli.preparePeerMessageNode(ctx, to, id, message, timings)
|
|
686
763
|
if err != nil {
|
|
687
764
|
return nil, err
|
|
688
765
|
}
|
|
@@ -695,7 +772,15 @@ func (cli *Client) sendPeerMessage(to types.JID, id types.MessageID, message *wa
|
|
|
695
772
|
return data, nil
|
|
696
773
|
}
|
|
697
774
|
|
|
698
|
-
func (cli *Client) sendDM(
|
|
775
|
+
func (cli *Client) sendDM(
|
|
776
|
+
ctx context.Context,
|
|
777
|
+
ownID,
|
|
778
|
+
to types.JID,
|
|
779
|
+
id types.MessageID,
|
|
780
|
+
message *waE2E.Message,
|
|
781
|
+
timings *MessageDebugTimings,
|
|
782
|
+
extraParams nodeExtraParams,
|
|
783
|
+
) ([]byte, error) {
|
|
699
784
|
start := time.Now()
|
|
700
785
|
messagePlaintext, deviceSentMessagePlaintext, err := marshalMessage(to, message)
|
|
701
786
|
timings.Marshal = time.Since(start)
|
|
@@ -703,10 +788,27 @@ func (cli *Client) sendDM(ctx context.Context, to, ownID types.JID, id types.Mes
|
|
|
703
788
|
return nil, err
|
|
704
789
|
}
|
|
705
790
|
|
|
706
|
-
node, _, err := cli.prepareMessageNode(
|
|
791
|
+
node, _, err := cli.prepareMessageNode(
|
|
792
|
+
ctx, to, id, message, []types.JID{to, ownID.ToNonAD()},
|
|
793
|
+
messagePlaintext, deviceSentMessagePlaintext, timings, extraParams,
|
|
794
|
+
)
|
|
707
795
|
if err != nil {
|
|
708
796
|
return nil, err
|
|
709
797
|
}
|
|
798
|
+
|
|
799
|
+
if cli.shouldIncludeReportingToken(message) && message.GetMessageContextInfo().GetMessageSecret() != nil {
|
|
800
|
+
node.Content = append(node.GetChildren(), cli.getMessageReportingToken(messagePlaintext, message, ownID, to, id))
|
|
801
|
+
}
|
|
802
|
+
|
|
803
|
+
if tcToken, err := cli.Store.PrivacyTokens.GetPrivacyToken(ctx, to); err != nil {
|
|
804
|
+
cli.Log.Warnf("Failed to get privacy token for %s: %v", to, err)
|
|
805
|
+
} else if tcToken != nil {
|
|
806
|
+
node.Content = append(node.GetChildren(), waBinary.Node{
|
|
807
|
+
Tag: "tctoken",
|
|
808
|
+
Content: tcToken.Token,
|
|
809
|
+
})
|
|
810
|
+
}
|
|
811
|
+
|
|
710
812
|
start = time.Now()
|
|
711
813
|
data, err := cli.sendNodeAndGetData(*node)
|
|
712
814
|
timings.Send = time.Since(start)
|
|
@@ -730,7 +832,7 @@ func getTypeFromMessage(msg *waE2E.Message) string {
|
|
|
730
832
|
return getTypeFromMessage(msg.EphemeralMessage.Message)
|
|
731
833
|
case msg.DocumentWithCaptionMessage != nil:
|
|
732
834
|
return getTypeFromMessage(msg.DocumentWithCaptionMessage.Message)
|
|
733
|
-
case msg.ReactionMessage != nil:
|
|
835
|
+
case msg.ReactionMessage != nil, msg.EncReactionMessage != nil:
|
|
734
836
|
return "reaction"
|
|
735
837
|
case msg.PollCreationMessage != nil, msg.PollUpdateMessage != nil:
|
|
736
838
|
return "poll"
|
|
@@ -868,7 +970,13 @@ func getEditAttribute(msg *waE2E.Message) types.EditAttribute {
|
|
|
868
970
|
return types.EditAttributeEmpty
|
|
869
971
|
}
|
|
870
972
|
|
|
871
|
-
func (cli *Client) preparePeerMessageNode(
|
|
973
|
+
func (cli *Client) preparePeerMessageNode(
|
|
974
|
+
ctx context.Context,
|
|
975
|
+
to types.JID,
|
|
976
|
+
id types.MessageID,
|
|
977
|
+
message *waE2E.Message,
|
|
978
|
+
timings *MessageDebugTimings,
|
|
979
|
+
) (*waBinary.Node, error) {
|
|
872
980
|
attrs := waBinary.Attrs{
|
|
873
981
|
"id": id,
|
|
874
982
|
"type": "text",
|
|
@@ -885,8 +993,15 @@ func (cli *Client) preparePeerMessageNode(to types.JID, id types.MessageID, mess
|
|
|
885
993
|
err = fmt.Errorf("failed to marshal message: %w", err)
|
|
886
994
|
return nil, err
|
|
887
995
|
}
|
|
996
|
+
encryptionIdentity := to
|
|
997
|
+
if to.Server == types.DefaultUserServer {
|
|
998
|
+
encryptionIdentity, err = cli.Store.LIDs.GetLIDForPN(ctx, to)
|
|
999
|
+
if err != nil {
|
|
1000
|
+
return nil, fmt.Errorf("failed to get LID for PN %s: %w", to, err)
|
|
1001
|
+
}
|
|
1002
|
+
}
|
|
888
1003
|
start = time.Now()
|
|
889
|
-
encrypted, isPreKey, err := cli.encryptMessageForDevice(plaintext,
|
|
1004
|
+
encrypted, isPreKey, err := cli.encryptMessageForDevice(ctx, plaintext, encryptionIdentity, nil, nil)
|
|
890
1005
|
timings.PeerEncrypt = time.Since(start)
|
|
891
1006
|
if err != nil {
|
|
892
1007
|
return nil, fmt.Errorf("failed to encrypt peer message for %s: %v", to, err)
|
|
@@ -902,7 +1017,13 @@ func (cli *Client) preparePeerMessageNode(to types.JID, id types.MessageID, mess
|
|
|
902
1017
|
}, nil
|
|
903
1018
|
}
|
|
904
1019
|
|
|
905
|
-
func (cli *Client) getMessageContent(
|
|
1020
|
+
func (cli *Client) getMessageContent(
|
|
1021
|
+
baseNode waBinary.Node,
|
|
1022
|
+
message *waE2E.Message,
|
|
1023
|
+
msgAttrs waBinary.Attrs,
|
|
1024
|
+
includeIdentity bool,
|
|
1025
|
+
extraParams nodeExtraParams,
|
|
1026
|
+
) []waBinary.Node {
|
|
906
1027
|
content := []waBinary.Node{baseNode}
|
|
907
1028
|
if includeIdentity {
|
|
908
1029
|
content = append(content, cli.makeDeviceIdentityNode())
|
|
@@ -920,8 +1041,11 @@ func (cli *Client) getMessageContent(baseNode waBinary.Node, message *waE2E.Mess
|
|
|
920
1041
|
})
|
|
921
1042
|
}
|
|
922
1043
|
|
|
923
|
-
if botNode != nil {
|
|
924
|
-
content = append(content, *botNode)
|
|
1044
|
+
if extraParams.botNode != nil {
|
|
1045
|
+
content = append(content, *extraParams.botNode)
|
|
1046
|
+
}
|
|
1047
|
+
if extraParams.metaNode != nil {
|
|
1048
|
+
content = append(content, *extraParams.metaNode)
|
|
925
1049
|
}
|
|
926
1050
|
|
|
927
1051
|
if buttonType := getButtonTypeFromMessage(message); buttonType != "" {
|
|
@@ -936,7 +1060,16 @@ func (cli *Client) getMessageContent(baseNode waBinary.Node, message *waE2E.Mess
|
|
|
936
1060
|
return content
|
|
937
1061
|
}
|
|
938
1062
|
|
|
939
|
-
func (cli *Client) prepareMessageNode(
|
|
1063
|
+
func (cli *Client) prepareMessageNode(
|
|
1064
|
+
ctx context.Context,
|
|
1065
|
+
to types.JID,
|
|
1066
|
+
id types.MessageID,
|
|
1067
|
+
message *waE2E.Message,
|
|
1068
|
+
participants []types.JID,
|
|
1069
|
+
plaintext, dsmPlaintext []byte,
|
|
1070
|
+
timings *MessageDebugTimings,
|
|
1071
|
+
extraParams nodeExtraParams,
|
|
1072
|
+
) (*waBinary.Node, []types.JID, error) {
|
|
940
1073
|
start := time.Now()
|
|
941
1074
|
allDevices, err := cli.GetUserDevicesContext(ctx, participants)
|
|
942
1075
|
timings.GetDevices = time.Since(start)
|
|
@@ -955,6 +1088,10 @@ func (cli *Client) prepareMessageNode(ctx context.Context, to, ownID types.JID,
|
|
|
955
1088
|
"type": msgType,
|
|
956
1089
|
"to": to,
|
|
957
1090
|
}
|
|
1091
|
+
// TODO this is a very hacky hack for announcement group messages, why is it pn anyway?
|
|
1092
|
+
if extraParams.addressingMode != "" {
|
|
1093
|
+
attrs["addressing_mode"] = string(extraParams.addressingMode)
|
|
1094
|
+
}
|
|
958
1095
|
if editAttr := getEditAttribute(message); editAttr != "" {
|
|
959
1096
|
attrs["edit"] = string(editAttr)
|
|
960
1097
|
encAttrs["decrypt-fail"] = string(events.DecryptFailHide)
|
|
@@ -964,16 +1101,20 @@ func (cli *Client) prepareMessageNode(ctx context.Context, to, ownID types.JID,
|
|
|
964
1101
|
}
|
|
965
1102
|
|
|
966
1103
|
start = time.Now()
|
|
967
|
-
participantNodes, includeIdentity := cli.encryptMessageForDevices(
|
|
1104
|
+
participantNodes, includeIdentity := cli.encryptMessageForDevices(
|
|
1105
|
+
ctx, allDevices, id, plaintext, dsmPlaintext, encAttrs,
|
|
1106
|
+
)
|
|
968
1107
|
timings.PeerEncrypt = time.Since(start)
|
|
969
1108
|
participantNode := waBinary.Node{
|
|
970
1109
|
Tag: "participants",
|
|
971
1110
|
Content: participantNodes,
|
|
972
1111
|
}
|
|
973
1112
|
return &waBinary.Node{
|
|
974
|
-
Tag:
|
|
975
|
-
Attrs:
|
|
976
|
-
Content: cli.getMessageContent(
|
|
1113
|
+
Tag: "message",
|
|
1114
|
+
Attrs: attrs,
|
|
1115
|
+
Content: cli.getMessageContent(
|
|
1116
|
+
participantNode, message, attrs, includeIdentity, extraParams,
|
|
1117
|
+
),
|
|
977
1118
|
}, allDevices, nil
|
|
978
1119
|
}
|
|
979
1120
|
|
|
@@ -993,6 +1134,7 @@ func marshalMessage(to types.JID, message *waE2E.Message) (plaintext, dsmPlainte
|
|
|
993
1134
|
DestinationJID: proto.String(to.String()),
|
|
994
1135
|
Message: message,
|
|
995
1136
|
},
|
|
1137
|
+
MessageContextInfo: message.MessageContextInfo,
|
|
996
1138
|
})
|
|
997
1139
|
if err != nil {
|
|
998
1140
|
err = fmt.Errorf("failed to marshal message (for own devices): %w", err)
|
|
@@ -1014,23 +1156,46 @@ func (cli *Client) makeDeviceIdentityNode() waBinary.Node {
|
|
|
1014
1156
|
}
|
|
1015
1157
|
}
|
|
1016
1158
|
|
|
1017
|
-
func (cli *Client) encryptMessageForDevices(
|
|
1159
|
+
func (cli *Client) encryptMessageForDevices(
|
|
1160
|
+
ctx context.Context,
|
|
1161
|
+
allDevices []types.JID,
|
|
1162
|
+
id string,
|
|
1163
|
+
msgPlaintext, dsmPlaintext []byte,
|
|
1164
|
+
encAttrs waBinary.Attrs,
|
|
1165
|
+
) ([]waBinary.Node, bool) {
|
|
1166
|
+
ownJID := cli.getOwnID()
|
|
1167
|
+
ownLID := cli.getOwnLID()
|
|
1018
1168
|
includeIdentity := false
|
|
1019
1169
|
participantNodes := make([]waBinary.Node, 0, len(allDevices))
|
|
1020
|
-
var retryDevices []types.JID
|
|
1170
|
+
var retryDevices, retryEncryptionIdentities []types.JID
|
|
1021
1171
|
for _, jid := range allDevices {
|
|
1022
1172
|
plaintext := msgPlaintext
|
|
1023
|
-
if jid.User ==
|
|
1024
|
-
if jid ==
|
|
1173
|
+
if (jid.User == ownJID.User || jid.User == ownLID.User) && dsmPlaintext != nil {
|
|
1174
|
+
if jid == ownJID || jid == ownLID {
|
|
1025
1175
|
continue
|
|
1026
1176
|
}
|
|
1027
1177
|
plaintext = dsmPlaintext
|
|
1028
1178
|
}
|
|
1029
|
-
|
|
1179
|
+
encryptionIdentity := jid
|
|
1180
|
+
if jid.Server == types.DefaultUserServer {
|
|
1181
|
+
lidForPN, err := cli.Store.LIDs.GetLIDForPN(ctx, jid)
|
|
1182
|
+
if err != nil {
|
|
1183
|
+
cli.Log.Warnf("Failed to get LID for %s: %v", jid, err)
|
|
1184
|
+
} else if !lidForPN.IsEmpty() {
|
|
1185
|
+
cli.migrateSessionStore(ctx, jid, lidForPN)
|
|
1186
|
+
encryptionIdentity = lidForPN
|
|
1187
|
+
}
|
|
1188
|
+
}
|
|
1189
|
+
|
|
1190
|
+
encrypted, isPreKey, err := cli.encryptMessageForDeviceAndWrap(
|
|
1191
|
+
ctx, plaintext, jid, encryptionIdentity, nil, encAttrs,
|
|
1192
|
+
)
|
|
1030
1193
|
if errors.Is(err, ErrNoSession) {
|
|
1031
1194
|
retryDevices = append(retryDevices, jid)
|
|
1195
|
+
retryEncryptionIdentities = append(retryEncryptionIdentities, encryptionIdentity)
|
|
1032
1196
|
continue
|
|
1033
1197
|
} else if err != nil {
|
|
1198
|
+
// TODO return these errors if it's a fatal one (like context cancellation or database)
|
|
1034
1199
|
cli.Log.Warnf("Failed to encrypt %s for %s: %v", id, jid, err)
|
|
1035
1200
|
continue
|
|
1036
1201
|
}
|
|
@@ -1045,18 +1210,21 @@ func (cli *Client) encryptMessageForDevices(ctx context.Context, allDevices []ty
|
|
|
1045
1210
|
if err != nil {
|
|
1046
1211
|
cli.Log.Warnf("Failed to fetch prekeys for %v to retry encryption: %v", retryDevices, err)
|
|
1047
1212
|
} else {
|
|
1048
|
-
for
|
|
1213
|
+
for i, jid := range retryDevices {
|
|
1049
1214
|
resp := bundles[jid]
|
|
1050
1215
|
if resp.err != nil {
|
|
1051
1216
|
cli.Log.Warnf("Failed to fetch prekey for %s: %v", jid, resp.err)
|
|
1052
1217
|
continue
|
|
1053
1218
|
}
|
|
1054
1219
|
plaintext := msgPlaintext
|
|
1055
|
-
if jid.User ==
|
|
1220
|
+
if (jid.User == ownJID.User || jid.User == ownLID.User) && dsmPlaintext != nil {
|
|
1056
1221
|
plaintext = dsmPlaintext
|
|
1057
1222
|
}
|
|
1058
|
-
encrypted, isPreKey, err := cli.encryptMessageForDeviceAndWrap(
|
|
1223
|
+
encrypted, isPreKey, err := cli.encryptMessageForDeviceAndWrap(
|
|
1224
|
+
ctx, plaintext, jid, retryEncryptionIdentities[i], resp.bundle, encAttrs,
|
|
1225
|
+
)
|
|
1059
1226
|
if err != nil {
|
|
1227
|
+
// TODO return these errors if it's a fatal one (like context cancellation or database)
|
|
1060
1228
|
cli.Log.Warnf("Failed to encrypt %s for %s (retry): %v", id, jid, err)
|
|
1061
1229
|
continue
|
|
1062
1230
|
}
|
|
@@ -1070,14 +1238,23 @@ func (cli *Client) encryptMessageForDevices(ctx context.Context, allDevices []ty
|
|
|
1070
1238
|
return participantNodes, includeIdentity
|
|
1071
1239
|
}
|
|
1072
1240
|
|
|
1073
|
-
func (cli *Client) encryptMessageForDeviceAndWrap(
|
|
1074
|
-
|
|
1241
|
+
func (cli *Client) encryptMessageForDeviceAndWrap(
|
|
1242
|
+
ctx context.Context,
|
|
1243
|
+
plaintext []byte,
|
|
1244
|
+
wireIdentity,
|
|
1245
|
+
encryptionIdentity types.JID,
|
|
1246
|
+
bundle *prekey.Bundle,
|
|
1247
|
+
encAttrs waBinary.Attrs,
|
|
1248
|
+
) (*waBinary.Node, bool, error) {
|
|
1249
|
+
node, includeDeviceIdentity, err := cli.encryptMessageForDevice(
|
|
1250
|
+
ctx, plaintext, encryptionIdentity, bundle, encAttrs,
|
|
1251
|
+
)
|
|
1075
1252
|
if err != nil {
|
|
1076
1253
|
return nil, false, err
|
|
1077
1254
|
}
|
|
1078
1255
|
return &waBinary.Node{
|
|
1079
1256
|
Tag: "to",
|
|
1080
|
-
Attrs: waBinary.Attrs{"jid":
|
|
1257
|
+
Attrs: waBinary.Attrs{"jid": wireIdentity},
|
|
1081
1258
|
Content: []waBinary.Node{*node},
|
|
1082
1259
|
}, includeDeviceIdentity, nil
|
|
1083
1260
|
}
|
|
@@ -1088,24 +1265,35 @@ func copyAttrs(from, to waBinary.Attrs) {
|
|
|
1088
1265
|
}
|
|
1089
1266
|
}
|
|
1090
1267
|
|
|
1091
|
-
func (cli *Client) encryptMessageForDevice(
|
|
1268
|
+
func (cli *Client) encryptMessageForDevice(
|
|
1269
|
+
ctx context.Context,
|
|
1270
|
+
plaintext []byte,
|
|
1271
|
+
to types.JID,
|
|
1272
|
+
bundle *prekey.Bundle,
|
|
1273
|
+
extraAttrs waBinary.Attrs,
|
|
1274
|
+
) (*waBinary.Node, bool, error) {
|
|
1092
1275
|
builder := session.NewBuilderFromSignal(cli.Store, to.SignalAddress(), pbSerializer)
|
|
1093
1276
|
if bundle != nil {
|
|
1094
1277
|
cli.Log.Debugf("Processing prekey bundle for %s", to)
|
|
1095
|
-
err := builder.ProcessBundle(bundle)
|
|
1278
|
+
err := builder.ProcessBundle(ctx, bundle)
|
|
1096
1279
|
if cli.AutoTrustIdentity && errors.Is(err, signalerror.ErrUntrustedIdentity) {
|
|
1097
1280
|
cli.Log.Warnf("Got %v error while trying to process prekey bundle for %s, clearing stored identity and retrying", err, to)
|
|
1098
|
-
cli.clearUntrustedIdentity(to)
|
|
1099
|
-
err
|
|
1281
|
+
err = cli.clearUntrustedIdentity(ctx, to)
|
|
1282
|
+
if err != nil {
|
|
1283
|
+
return nil, false, fmt.Errorf("failed to clear untrusted identity: %w", err)
|
|
1284
|
+
}
|
|
1285
|
+
err = builder.ProcessBundle(ctx, bundle)
|
|
1100
1286
|
}
|
|
1101
1287
|
if err != nil {
|
|
1102
1288
|
return nil, false, fmt.Errorf("failed to process prekey bundle: %w", err)
|
|
1103
1289
|
}
|
|
1104
|
-
} else if
|
|
1105
|
-
return nil, false,
|
|
1290
|
+
} else if contains, err := cli.Store.ContainsSession(ctx, to.SignalAddress()); err != nil {
|
|
1291
|
+
return nil, false, err
|
|
1292
|
+
} else if !contains {
|
|
1293
|
+
return nil, false, fmt.Errorf("%w with %s", ErrNoSession, to.SignalAddress().String())
|
|
1106
1294
|
}
|
|
1107
1295
|
cipher := session.NewCipher(builder, to.SignalAddress())
|
|
1108
|
-
ciphertext, err := cipher.Encrypt(padMessage(plaintext))
|
|
1296
|
+
ciphertext, err := cipher.Encrypt(ctx, padMessage(plaintext))
|
|
1109
1297
|
if err != nil {
|
|
1110
1298
|
return nil, false, fmt.Errorf("cipher encryption failed: %w", err)
|
|
1111
1299
|
}
|