slidge-whatsapp 0.2.5__cp311-cp311-manylinux_2_36_aarch64.whl → 0.3.0__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 +15 -3
- slidge_whatsapp/event.go +171 -70
- slidge_whatsapp/gateway.go +16 -68
- slidge_whatsapp/gateway.py +4 -5
- slidge_whatsapp/generated/_whatsapp.cpython-311-aarch64-linux-gnu.h +168 -151
- slidge_whatsapp/generated/_whatsapp.cpython-311-aarch64-linux-gnu.so +0 -0
- slidge_whatsapp/generated/build.py +142 -128
- slidge_whatsapp/generated/whatsapp.c +1689 -1417
- slidge_whatsapp/generated/whatsapp.go +1011 -900
- slidge_whatsapp/generated/whatsapp.py +1175 -1050
- slidge_whatsapp/generated/whatsapp_go.h +168 -151
- 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 +106 -82
- 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.0.dist-info}/METADATA +5 -4
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0.dist-info}/RECORD +456 -263
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0.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.0.dist-info}/entry_points.txt +0 -0
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0.dist-info/licenses}/LICENSE +0 -0
slidge_whatsapp/config.py
CHANGED
|
@@ -21,6 +21,9 @@ DB_PATH__DOC = (
|
|
|
21
21
|
"${SLIDGE_HOME_DIR}/whatsapp/whatsapp.db"
|
|
22
22
|
)
|
|
23
23
|
|
|
24
|
+
DB_PARAMS = "?_foreign_keys=true"
|
|
25
|
+
DB_PARAMS__DOC = "Additional parameters to pass to database connection string."
|
|
26
|
+
|
|
24
27
|
ALWAYS_SYNC_ROSTER = False
|
|
25
28
|
ALWAYS_SYNC_ROSTER__DOC = (
|
|
26
29
|
"Whether or not to perform a full sync of the WhatsApp roster on startup."
|
slidge_whatsapp/contact.py
CHANGED
|
@@ -2,6 +2,7 @@ from datetime import datetime, timezone
|
|
|
2
2
|
from typing import TYPE_CHECKING
|
|
3
3
|
|
|
4
4
|
from slidge import LegacyContact, LegacyRoster
|
|
5
|
+
from slidge.util.types import Avatar
|
|
5
6
|
from slixmpp.exceptions import XMPPError
|
|
6
7
|
|
|
7
8
|
from . import config
|
|
@@ -28,6 +29,12 @@ class Contact(LegacyContact[str]):
|
|
|
28
29
|
else:
|
|
29
30
|
self.online(last_seen=last_seen)
|
|
30
31
|
|
|
32
|
+
async def update_info(self) -> None:
|
|
33
|
+
if whatsapp.IsAnonymousJID(self.legacy_id):
|
|
34
|
+
self.log.error(
|
|
35
|
+
"Contact for anonymous participant added: %s", self.legacy_id
|
|
36
|
+
)
|
|
37
|
+
|
|
31
38
|
|
|
32
39
|
class Roster(LegacyRoster[str, Contact]):
|
|
33
40
|
session: "Session"
|
|
@@ -54,9 +61,12 @@ class Roster(LegacyRoster[str, Contact]):
|
|
|
54
61
|
contact.name = data.Name
|
|
55
62
|
contact.is_friend = True
|
|
56
63
|
try:
|
|
57
|
-
|
|
58
|
-
if
|
|
59
|
-
|
|
64
|
+
unique_id = ""
|
|
65
|
+
if contact.avatar is not None:
|
|
66
|
+
unique_id = contact.avatar.unique_id or ""
|
|
67
|
+
avatar = self.session.whatsapp.GetAvatar(data.JID, unique_id)
|
|
68
|
+
if avatar.URL and unique_id != avatar.ID:
|
|
69
|
+
await contact.set_avatar(Avatar(url=avatar.URL, unique_id=avatar.ID))
|
|
60
70
|
elif avatar.URL == "" and avatar.ID == "":
|
|
61
71
|
await contact.set_avatar(None)
|
|
62
72
|
except RuntimeError as err:
|
|
@@ -67,6 +77,8 @@ class Roster(LegacyRoster[str, Contact]):
|
|
|
67
77
|
return contact
|
|
68
78
|
|
|
69
79
|
async def legacy_id_to_jid_username(self, legacy_id: str) -> str:
|
|
80
|
+
if not "@" in legacy_id:
|
|
81
|
+
raise XMPPError("item-not-found", "Invalid contact ID, not a JID")
|
|
70
82
|
return "+" + legacy_id[: legacy_id.find("@")]
|
|
71
83
|
|
|
72
84
|
async def jid_username_to_legacy_id(self, jid_username: str) -> str:
|
slidge_whatsapp/event.go
CHANGED
|
@@ -5,6 +5,7 @@ import (
|
|
|
5
5
|
"context"
|
|
6
6
|
"fmt"
|
|
7
7
|
"mime"
|
|
8
|
+
"slices"
|
|
8
9
|
"strings"
|
|
9
10
|
|
|
10
11
|
// Internal packages.
|
|
@@ -45,6 +46,7 @@ type EventPayload struct {
|
|
|
45
46
|
QRCode string
|
|
46
47
|
PairDeviceID string
|
|
47
48
|
Connect Connect
|
|
49
|
+
LoggedOut LoggedOut
|
|
48
50
|
Contact Contact
|
|
49
51
|
Presence Presence
|
|
50
52
|
Message Message
|
|
@@ -65,6 +67,11 @@ type Connect struct {
|
|
|
65
67
|
Error string // The connection error, if any.
|
|
66
68
|
}
|
|
67
69
|
|
|
70
|
+
// LoggedOut repreents event data related to an explicit or implicit log-out event.
|
|
71
|
+
type LoggedOut struct {
|
|
72
|
+
Reason string // The human-readable reason for logging out, if any.
|
|
73
|
+
}
|
|
74
|
+
|
|
68
75
|
// A Avatar represents a small image set for a Contact or Group.
|
|
69
76
|
type Avatar struct {
|
|
70
77
|
ID string // The unique ID for this avatar, used for persistent caching.
|
|
@@ -81,10 +88,25 @@ type Contact struct {
|
|
|
81
88
|
// NewContactEvent returns event data meant for [Session.propagateEvent] for the contact information
|
|
82
89
|
// given. Unknown or invalid contact information will return an [EventUnknown] event with nil data.
|
|
83
90
|
func newContactEvent(jid types.JID, info types.ContactInfo) (EventKind, *EventPayload) {
|
|
84
|
-
|
|
85
|
-
|
|
91
|
+
contact := newContact(jid, info)
|
|
92
|
+
if contact.JID == "" {
|
|
93
|
+
return EventUnknown, nil
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
return EventContact, &EventPayload{Contact: contact}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// NewContact returns a concrete [Contact] instance for the JID and additional information given.
|
|
100
|
+
// In cases where a valid contact can't be returned, [Contact.JID] will be left empty.
|
|
101
|
+
func newContact(jid types.JID, info types.ContactInfo) Contact {
|
|
102
|
+
// Don't instantiate hidden contacts, as these are better handled as group participants
|
|
103
|
+
if jid.Server == types.HiddenUserServer {
|
|
104
|
+
return Contact{}
|
|
86
105
|
}
|
|
87
106
|
|
|
107
|
+
// Find valid contact name from list of alternatives, or return empty contact if none could
|
|
108
|
+
// be found.
|
|
109
|
+
var contact = Contact{JID: jid.ToNonAD().String()}
|
|
88
110
|
for _, n := range []string{info.FullName, info.FirstName, info.BusinessName, info.PushName} {
|
|
89
111
|
if n != "" {
|
|
90
112
|
contact.Name = n
|
|
@@ -92,12 +114,11 @@ func newContactEvent(jid types.JID, info types.ContactInfo) (EventKind, *EventPa
|
|
|
92
114
|
}
|
|
93
115
|
}
|
|
94
116
|
|
|
95
|
-
// Don't attempt to synchronize contacts with no user-readable name.
|
|
96
117
|
if contact.Name == "" {
|
|
97
|
-
return
|
|
118
|
+
return Contact{}
|
|
98
119
|
}
|
|
99
120
|
|
|
100
|
-
return
|
|
121
|
+
return contact
|
|
101
122
|
}
|
|
102
123
|
|
|
103
124
|
// PresenceKind represents the different kinds of activity states possible in WhatsApp.
|
|
@@ -121,6 +142,10 @@ type Presence struct {
|
|
|
121
142
|
// NewPresenceEvent returns event data meant for [Session.propagateEvent] for the primitive presence
|
|
122
143
|
// event given.
|
|
123
144
|
func newPresenceEvent(evt *events.Presence) (EventKind, *EventPayload) {
|
|
145
|
+
if evt.From.Server == types.HiddenUserServer {
|
|
146
|
+
return EventUnknown, nil
|
|
147
|
+
}
|
|
148
|
+
|
|
124
149
|
var presence = Presence{
|
|
125
150
|
JID: evt.From.ToNonAD().String(),
|
|
126
151
|
Kind: PresenceAvailable,
|
|
@@ -168,9 +193,11 @@ type Message struct {
|
|
|
168
193
|
Location Location // The location metadata for messages, if any.
|
|
169
194
|
Poll Poll // The multiple-choice poll contained in the message, if any.
|
|
170
195
|
Album Album // The image album message, if any.
|
|
196
|
+
GroupInvite Group // Group information for the invite group included in this message, if any.
|
|
171
197
|
MentionJIDs []string // A list of JIDs mentioned in this message, if any.
|
|
172
198
|
Receipts []Receipt // The receipt statuses for the message, typically provided alongside historical messages.
|
|
173
199
|
Reactions []Message // Reactions attached to message, typically provided alongside historical messages.
|
|
200
|
+
IsHistory bool // Whether or not the message is derived from message history.
|
|
174
201
|
}
|
|
175
202
|
|
|
176
203
|
// A Attachment represents additional binary data (e.g. images, videos, documents) provided alongside
|
|
@@ -252,13 +279,13 @@ type Album struct {
|
|
|
252
279
|
|
|
253
280
|
// NewMessageEvent returns event data meant for [Session.propagateEvent] for the primive message
|
|
254
281
|
// event given. Unknown or invalid messages will return an [EventUnknown] event with nil data.
|
|
255
|
-
func newMessageEvent(client *whatsmeow.Client, evt *events.Message) (EventKind, *EventPayload) {
|
|
282
|
+
func newMessageEvent(ctx context.Context, client *whatsmeow.Client, evt *events.Message) (EventKind, *EventPayload) {
|
|
256
283
|
// Set basic data for message, to be potentially amended depending on the concrete version of
|
|
257
284
|
// the underlying message.
|
|
258
285
|
var message = Message{
|
|
259
286
|
Kind: MessagePlain,
|
|
260
287
|
ID: evt.Info.ID,
|
|
261
|
-
JID: evt.Info.Sender.ToNonAD().String(),
|
|
288
|
+
JID: getPreferredJID(ctx, client, evt.Info.Sender, evt.Info.SenderAlt).ToNonAD().String(),
|
|
262
289
|
Body: evt.Message.GetConversation(),
|
|
263
290
|
Timestamp: evt.Info.Timestamp.Unix(),
|
|
264
291
|
IsCarbon: evt.Info.IsFromMe,
|
|
@@ -358,7 +385,7 @@ func newMessageEvent(client *whatsmeow.Client, evt *events.Message) (EventKind,
|
|
|
358
385
|
}
|
|
359
386
|
|
|
360
387
|
// Handle message attachments, if any.
|
|
361
|
-
if attach, context, err := getMessageAttachments(client, evt.Message); err != nil {
|
|
388
|
+
if attach, context, err := getMessageAttachments(ctx, client, evt.Message); err != nil {
|
|
362
389
|
client.Log.Errorf("Failed getting message attachments: %s", err)
|
|
363
390
|
return EventUnknown, nil
|
|
364
391
|
} else if len(attach) > 0 {
|
|
@@ -376,7 +403,18 @@ func newMessageEvent(client *whatsmeow.Client, evt *events.Message) (EventKind,
|
|
|
376
403
|
message.Body = e.GetText()
|
|
377
404
|
}
|
|
378
405
|
|
|
379
|
-
|
|
406
|
+
// Handle group-chat invite link in text message.
|
|
407
|
+
if code, ok := strings.CutPrefix(e.GetMatchedText(), whatsmeow.InviteLinkPrefix); ok {
|
|
408
|
+
if info, err := client.GetGroupInfoFromLink(e.GetMatchedText()); err != nil {
|
|
409
|
+
client.Log.Errorf("Failed getting group info from invite: %s", err)
|
|
410
|
+
} else if _, err := client.JoinGroupWithLink(code); err != nil {
|
|
411
|
+
client.Log.Errorf("Failed joining group with invite: %s", err)
|
|
412
|
+
} else {
|
|
413
|
+
message.GroupInvite = newGroup(ctx, client, info)
|
|
414
|
+
}
|
|
415
|
+
} else {
|
|
416
|
+
message = getMessageWithContext(message, e.GetContextInfo())
|
|
417
|
+
}
|
|
380
418
|
}
|
|
381
419
|
|
|
382
420
|
// Ignore obviously invalid messages.
|
|
@@ -412,7 +450,7 @@ func getMessageWithContext(message Message, info *waE2E.ContextInfo) Message {
|
|
|
412
450
|
|
|
413
451
|
// GetMessageAttachments fetches and decrypts attachments (images, audio, video, or documents) sent
|
|
414
452
|
// via WhatsApp. Any failures in retrieving any attachment will return an error immediately.
|
|
415
|
-
func getMessageAttachments(client *whatsmeow.Client, message *waE2E.Message) ([]Attachment, *waE2E.ContextInfo, error) {
|
|
453
|
+
func getMessageAttachments(ctx context.Context, client *whatsmeow.Client, message *waE2E.Message) ([]Attachment, *waE2E.ContextInfo, error) {
|
|
416
454
|
var result []Attachment
|
|
417
455
|
var info *waE2E.ContextInfo
|
|
418
456
|
var convertSpec *media.Spec
|
|
@@ -422,6 +460,7 @@ func getMessageAttachments(client *whatsmeow.Client, message *waE2E.Message) ([]
|
|
|
422
460
|
message.GetVideoMessage(),
|
|
423
461
|
message.GetDocumentMessage(),
|
|
424
462
|
message.GetStickerMessage(),
|
|
463
|
+
message.GetPtvMessage(),
|
|
425
464
|
}
|
|
426
465
|
|
|
427
466
|
for _, msg := range kinds {
|
|
@@ -450,7 +489,7 @@ func getMessageAttachments(client *whatsmeow.Client, message *waE2E.Message) ([]
|
|
|
450
489
|
}
|
|
451
490
|
|
|
452
491
|
// Attempt to download and decrypt raw attachment data, if any.
|
|
453
|
-
data, err := client.Download(msg)
|
|
492
|
+
data, err := client.Download(ctx, msg)
|
|
454
493
|
if err != nil {
|
|
455
494
|
return nil, nil, err
|
|
456
495
|
}
|
|
@@ -459,8 +498,10 @@ func getMessageAttachments(client *whatsmeow.Client, message *waE2E.Message) ([]
|
|
|
459
498
|
|
|
460
499
|
// Convert incoming data if a specification has been given, ignoring any errors that occur.
|
|
461
500
|
if convertSpec != nil {
|
|
462
|
-
data, err = media.Convert(
|
|
463
|
-
if err
|
|
501
|
+
data, err = media.Convert(ctx, a.Data, convertSpec)
|
|
502
|
+
if err != nil {
|
|
503
|
+
client.Log.Warnf("failed to convert incoming attachment: %s", err)
|
|
504
|
+
} else {
|
|
464
505
|
a.Data, a.MIME = data, string(convertSpec.MIME)
|
|
465
506
|
}
|
|
466
507
|
}
|
|
@@ -557,7 +598,7 @@ var (
|
|
|
557
598
|
//
|
|
558
599
|
// If the input MIME type is unknown, or conversion is impossible, the given attachment is not
|
|
559
600
|
// changed.
|
|
560
|
-
func convertAttachment(attach *Attachment) error {
|
|
601
|
+
func convertAttachment(ctx context.Context, attach *Attachment) error {
|
|
561
602
|
var detectedMIME media.MIMEType
|
|
562
603
|
if t := media.DetectMIMEType(attach.Data); t != media.TypeUnknown {
|
|
563
604
|
detectedMIME = t
|
|
@@ -567,8 +608,6 @@ func convertAttachment(attach *Attachment) error {
|
|
|
567
608
|
}
|
|
568
609
|
|
|
569
610
|
var spec media.Spec
|
|
570
|
-
var ctx = context.Background()
|
|
571
|
-
|
|
572
611
|
switch detectedMIME {
|
|
573
612
|
case media.TypePNG, media.TypeWebP:
|
|
574
613
|
// Convert common image formats to JPEG for inline preview.
|
|
@@ -648,6 +687,10 @@ func convertAttachment(attach *Attachment) error {
|
|
|
648
687
|
}
|
|
649
688
|
|
|
650
689
|
attach.Data, attach.MIME = data, string(spec.MIME)
|
|
690
|
+
if i := strings.LastIndexByte(attach.Filename, '.'); i != -1 {
|
|
691
|
+
attach.Filename = attach.Filename[:i] + extensionByType(attach.MIME)
|
|
692
|
+
}
|
|
693
|
+
|
|
651
694
|
return nil
|
|
652
695
|
}
|
|
653
696
|
|
|
@@ -666,12 +709,10 @@ var knownMediaTypes = map[string]whatsmeow.MediaType{
|
|
|
666
709
|
// type specified within. Attachments are handled as generic file uploads unless they're of a
|
|
667
710
|
// specific format; in addition, certain MIME types may be automatically converted to a
|
|
668
711
|
// well-supported type via FFmpeg (if available).
|
|
669
|
-
func uploadAttachment(client *whatsmeow.Client, attach *Attachment) (*waE2E.Message, error) {
|
|
670
|
-
var ctx = context.Background()
|
|
712
|
+
func uploadAttachment(ctx context.Context, client *whatsmeow.Client, attach *Attachment) (*waE2E.Message, error) {
|
|
671
713
|
var originalMIME = attach.MIME
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
client.Log.Warnf("failed to auto-convert attachment: %s", err)
|
|
714
|
+
if err := convertAttachment(ctx, attach); err != nil {
|
|
715
|
+
client.Log.Warnf("failed to convert outgoing attachment: %s", err)
|
|
675
716
|
}
|
|
676
717
|
|
|
677
718
|
mediaType := knownMediaTypes[getBaseMediaType(attach.MIME)]
|
|
@@ -833,7 +874,7 @@ func getBaseMediaType(typ string) string {
|
|
|
833
874
|
//
|
|
834
875
|
// Typically, this will return [EventMessage] events with appropriate [Message] payloads; unknown or
|
|
835
876
|
// invalid messages will return an [EventUnknown] event with nil data.
|
|
836
|
-
func newEventFromHistory(client *whatsmeow.Client, info *waWeb.WebMessageInfo) (EventKind, *EventPayload) {
|
|
877
|
+
func newEventFromHistory(ctx context.Context, client *whatsmeow.Client, info *waWeb.WebMessageInfo) (EventKind, *EventPayload) {
|
|
837
878
|
// Handle message as group message is remote JID is a group JID in the absence of any other,
|
|
838
879
|
// specific signal, or don't handle at all if no group JID is found.
|
|
839
880
|
var jid = info.GetKey().GetRemoteJID()
|
|
@@ -850,10 +891,15 @@ func newEventFromHistory(client *whatsmeow.Client, info *waWeb.WebMessageInfo) (
|
|
|
850
891
|
Body: info.GetMessage().GetConversation(),
|
|
851
892
|
Timestamp: int64(info.GetMessageTimestamp()),
|
|
852
893
|
IsCarbon: info.GetKey().GetFromMe(),
|
|
894
|
+
IsHistory: true,
|
|
853
895
|
}
|
|
854
896
|
|
|
855
897
|
if info.Participant != nil {
|
|
856
|
-
|
|
898
|
+
jid, err := types.ParseJID(info.GetParticipant())
|
|
899
|
+
if err != nil {
|
|
900
|
+
return EventUnknown, nil
|
|
901
|
+
}
|
|
902
|
+
message.JID = getPreferredJID(ctx, client, jid).ToNonAD().String()
|
|
857
903
|
} else if info.GetKey().GetFromMe() {
|
|
858
904
|
message.JID = client.Store.ID.ToNonAD().String()
|
|
859
905
|
} else {
|
|
@@ -868,9 +914,13 @@ func newEventFromHistory(client *whatsmeow.Client, info *waWeb.WebMessageInfo) (
|
|
|
868
914
|
case waWeb.WebMessageInfo_CIPHERTEXT:
|
|
869
915
|
return EventUnknown, nil
|
|
870
916
|
case waWeb.WebMessageInfo_CALL_MISSED_VOICE, waWeb.WebMessageInfo_CALL_MISSED_VIDEO:
|
|
917
|
+
jid, err := types.ParseJID(info.GetKey().GetParticipant())
|
|
918
|
+
if err != nil {
|
|
919
|
+
return EventUnknown, nil
|
|
920
|
+
}
|
|
871
921
|
return EventCall, &EventPayload{Call: Call{
|
|
872
922
|
State: CallMissed,
|
|
873
|
-
JID:
|
|
923
|
+
JID: getPreferredJID(ctx, client, jid).ToNonAD().String(),
|
|
874
924
|
Timestamp: int64(info.GetMessageTimestamp()),
|
|
875
925
|
}}
|
|
876
926
|
case waWeb.WebMessageInfo_REVOKE:
|
|
@@ -886,10 +936,14 @@ func newEventFromHistory(client *whatsmeow.Client, info *waWeb.WebMessageInfo) (
|
|
|
886
936
|
// Handle emoji reaction to existing message.
|
|
887
937
|
for _, r := range info.GetReactions() {
|
|
888
938
|
if r.GetText() != "" {
|
|
939
|
+
jid, err := types.ParseJID(r.GetKey().GetParticipant())
|
|
940
|
+
if err != nil {
|
|
941
|
+
continue
|
|
942
|
+
}
|
|
889
943
|
message.Reactions = append(message.Reactions, Message{
|
|
890
944
|
Kind: MessageReaction,
|
|
891
945
|
ID: r.GetKey().GetID(),
|
|
892
|
-
JID:
|
|
946
|
+
JID: getPreferredJID(ctx, client, jid).ToNonAD().String(),
|
|
893
947
|
Body: r.GetText(),
|
|
894
948
|
Timestamp: r.GetSenderTimestampMS() / 1000,
|
|
895
949
|
IsCarbon: r.GetKey().GetFromMe(),
|
|
@@ -898,7 +952,7 @@ func newEventFromHistory(client *whatsmeow.Client, info *waWeb.WebMessageInfo) (
|
|
|
898
952
|
}
|
|
899
953
|
|
|
900
954
|
// Handle message attachments, if any.
|
|
901
|
-
if attach, context, err := getMessageAttachments(client, info.GetMessage()); err != nil {
|
|
955
|
+
if attach, context, err := getMessageAttachments(ctx, client, info.GetMessage()); err != nil {
|
|
902
956
|
client.Log.Errorf("Failed getting message attachments: %s", err)
|
|
903
957
|
return EventUnknown, nil
|
|
904
958
|
} else if len(attach) > 0 {
|
|
@@ -915,7 +969,15 @@ func newEventFromHistory(client *whatsmeow.Client, info *waWeb.WebMessageInfo) (
|
|
|
915
969
|
if client.Store.ID.ToNonAD().String() == r.GetUserJID() {
|
|
916
970
|
continue
|
|
917
971
|
}
|
|
918
|
-
|
|
972
|
+
jid, err := types.ParseJID(r.GetUserJID())
|
|
973
|
+
if err != nil {
|
|
974
|
+
continue
|
|
975
|
+
}
|
|
976
|
+
var receipt = Receipt{
|
|
977
|
+
JID: getPreferredJID(ctx, client, jid).ToNonAD().String(),
|
|
978
|
+
GroupJID: message.GroupJID,
|
|
979
|
+
MessageIDs: []string{message.ID},
|
|
980
|
+
}
|
|
919
981
|
switch info.GetStatus() {
|
|
920
982
|
case waWeb.WebMessageInfo_DELIVERY_ACK:
|
|
921
983
|
receipt.Kind = ReceiptDelivered
|
|
@@ -933,7 +995,6 @@ func newEventFromHistory(client *whatsmeow.Client, info *waWeb.WebMessageInfo) (
|
|
|
933
995
|
if message.Body == "" {
|
|
934
996
|
message.Body = e.GetText()
|
|
935
997
|
}
|
|
936
|
-
|
|
937
998
|
message = getMessageWithContext(message, e.GetContextInfo())
|
|
938
999
|
}
|
|
939
1000
|
|
|
@@ -966,10 +1027,12 @@ type ChatState struct {
|
|
|
966
1027
|
|
|
967
1028
|
// NewChatStateEvent returns event data meant for [Session.propagateEvent] for the primitive
|
|
968
1029
|
// chat-state event given.
|
|
969
|
-
func newChatStateEvent(evt *events.ChatPresence) (EventKind, *EventPayload) {
|
|
970
|
-
var state = ChatState{
|
|
971
|
-
|
|
972
|
-
|
|
1030
|
+
func newChatStateEvent(ctx context.Context, client *whatsmeow.Client, evt *events.ChatPresence) (EventKind, *EventPayload) {
|
|
1031
|
+
var state = ChatState{
|
|
1032
|
+
JID: getPreferredJID(ctx, client, evt.Sender, evt.SenderAlt).ToNonAD().String(),
|
|
1033
|
+
}
|
|
1034
|
+
if evt.IsGroup {
|
|
1035
|
+
state.GroupJID = evt.Chat.ToNonAD().String()
|
|
973
1036
|
}
|
|
974
1037
|
switch evt.State {
|
|
975
1038
|
case types.ChatPresenceComposing:
|
|
@@ -1004,24 +1067,24 @@ type Receipt struct {
|
|
|
1004
1067
|
|
|
1005
1068
|
// NewReceiptEvent returns event data meant for [Session.propagateEvent] for the primive receipt
|
|
1006
1069
|
// event given. Unknown or invalid receipts will return an [EventUnknown] event with nil data.
|
|
1007
|
-
func newReceiptEvent(evt *events.Receipt) (EventKind, *EventPayload) {
|
|
1070
|
+
func newReceiptEvent(ctx context.Context, client *whatsmeow.Client, evt *events.Receipt) (EventKind, *EventPayload) {
|
|
1008
1071
|
var receipt = Receipt{
|
|
1009
|
-
MessageIDs:
|
|
1010
|
-
JID: evt.
|
|
1072
|
+
MessageIDs: slices.Clone(evt.MessageIDs),
|
|
1073
|
+
JID: getPreferredJID(ctx, client, evt.Sender, evt.SenderAlt).ToNonAD().String(),
|
|
1011
1074
|
Timestamp: evt.Timestamp.Unix(),
|
|
1012
|
-
IsCarbon: evt.
|
|
1075
|
+
IsCarbon: evt.IsFromMe,
|
|
1013
1076
|
}
|
|
1014
1077
|
|
|
1015
1078
|
if len(receipt.MessageIDs) == 0 {
|
|
1016
1079
|
return EventUnknown, nil
|
|
1017
1080
|
}
|
|
1018
1081
|
|
|
1019
|
-
if evt.
|
|
1020
|
-
receipt.JID = evt.
|
|
1021
|
-
} else if evt.
|
|
1022
|
-
receipt.GroupJID = evt.
|
|
1082
|
+
if evt.Chat.Server == types.BroadcastServer {
|
|
1083
|
+
receipt.JID = evt.BroadcastListOwner.ToNonAD().String()
|
|
1084
|
+
} else if evt.IsGroup {
|
|
1085
|
+
receipt.GroupJID = evt.Chat.ToNonAD().String()
|
|
1023
1086
|
} else if receipt.IsCarbon {
|
|
1024
|
-
receipt.JID = evt.
|
|
1087
|
+
receipt.JID = evt.Chat.ToNonAD().String()
|
|
1025
1088
|
}
|
|
1026
1089
|
|
|
1027
1090
|
switch evt.Type {
|
|
@@ -1054,14 +1117,15 @@ type Group struct {
|
|
|
1054
1117
|
Subject GroupSubject // The longer-form, user-defined description for this group.
|
|
1055
1118
|
Nickname string // Our own nickname in this group-chat.
|
|
1056
1119
|
Participants []GroupParticipant // The list of participant contacts for this group, including ourselves.
|
|
1120
|
+
InviteCode string // The code for inviting members to this group-chat.
|
|
1057
1121
|
}
|
|
1058
1122
|
|
|
1059
1123
|
// A GroupSubject represents the user-defined group description and attached metadata thereof, for a
|
|
1060
1124
|
// given [Group].
|
|
1061
1125
|
type GroupSubject struct {
|
|
1062
|
-
Subject
|
|
1063
|
-
SetAt
|
|
1064
|
-
|
|
1126
|
+
Subject string // The user-defined group description.
|
|
1127
|
+
SetAt int64 // The exact time this group description was set at, as a timestamp.
|
|
1128
|
+
SetBy string // The name of the user that set the subject.
|
|
1065
1129
|
}
|
|
1066
1130
|
|
|
1067
1131
|
// GroupParticipantAction represents the distinct set of actions that can be taken when encountering
|
|
@@ -1091,10 +1155,11 @@ func (a GroupParticipantAction) toParticipantChange() whatsmeow.ParticipantChang
|
|
|
1091
1155
|
}
|
|
1092
1156
|
|
|
1093
1157
|
// A GroupParticipant represents a contact who is currently joined in a given group. Participants in
|
|
1094
|
-
// WhatsApp can
|
|
1158
|
+
// WhatsApp can generally be derived back to their individual [Contact]; there are no anonymous groups
|
|
1095
1159
|
// in WhatsApp.
|
|
1096
1160
|
type GroupParticipant struct {
|
|
1097
1161
|
JID string // The WhatsApp JID for this participant.
|
|
1162
|
+
Nickname string // The user-set name for this participant, typically only set for anonymous participants.
|
|
1098
1163
|
Affiliation GroupAffiliation // The set of priviledges given to this specific participant.
|
|
1099
1164
|
Action GroupParticipantAction // The specific action to take for this participant; typically to add.
|
|
1100
1165
|
}
|
|
@@ -1102,59 +1167,67 @@ type GroupParticipant struct {
|
|
|
1102
1167
|
// NewGroupParticipant returns a [GroupParticipant], filling fields from the internal participant
|
|
1103
1168
|
// type. This is a no-op if [types.GroupParticipant.Error] is non-zero, and other fields may only
|
|
1104
1169
|
// be set optionally.
|
|
1105
|
-
func newGroupParticipant(
|
|
1106
|
-
if
|
|
1170
|
+
func newGroupParticipant(ctx context.Context, client *whatsmeow.Client, participant types.GroupParticipant) GroupParticipant {
|
|
1171
|
+
if participant.Error > 0 {
|
|
1107
1172
|
return GroupParticipant{}
|
|
1108
1173
|
}
|
|
1109
|
-
var
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
}
|
|
1113
|
-
|
|
1174
|
+
var jid = getPreferredJID(ctx, client, participant.JID, participant.PhoneNumber)
|
|
1175
|
+
var p = GroupParticipant{
|
|
1176
|
+
JID: jid.ToNonAD().String(),
|
|
1177
|
+
}
|
|
1178
|
+
if participant.IsSuperAdmin {
|
|
1179
|
+
p.Affiliation = GroupAffiliationOwner
|
|
1180
|
+
} else if participant.IsAdmin {
|
|
1181
|
+
p.Affiliation = GroupAffiliationAdmin
|
|
1114
1182
|
}
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1183
|
+
if IsAnonymousJID(p.JID) {
|
|
1184
|
+
if c, err := client.Store.Contacts.GetContact(ctx, participant.JID); err == nil {
|
|
1185
|
+
p.Nickname = c.PushName
|
|
1186
|
+
}
|
|
1118
1187
|
}
|
|
1188
|
+
return p
|
|
1119
1189
|
}
|
|
1120
1190
|
|
|
1121
1191
|
// NewGroupEvent returns event data meant for [Session.propagateEvent] for the primive group event
|
|
1122
1192
|
// given. Group data returned by this function can be partial, and callers should take care to only
|
|
1123
1193
|
// handle non-empty values.
|
|
1124
|
-
func newGroupEvent(evt *events.GroupInfo) (EventKind, *EventPayload) {
|
|
1194
|
+
func newGroupEvent(ctx context.Context, client *whatsmeow.Client, evt *events.GroupInfo) (EventKind, *EventPayload) {
|
|
1125
1195
|
var group = Group{JID: evt.JID.ToNonAD().String()}
|
|
1126
1196
|
if evt.Name != nil {
|
|
1127
1197
|
group.Name = evt.Name.Name
|
|
1128
1198
|
}
|
|
1129
1199
|
if evt.Topic != nil {
|
|
1200
|
+
topicJID := getPreferredJID(ctx, client, evt.Topic.TopicSetBy, evt.Topic.TopicSetByPN)
|
|
1130
1201
|
group.Subject = GroupSubject{
|
|
1131
|
-
Subject:
|
|
1132
|
-
SetAt:
|
|
1133
|
-
|
|
1202
|
+
Subject: evt.Topic.Topic,
|
|
1203
|
+
SetAt: evt.Topic.TopicSetAt.Unix(),
|
|
1204
|
+
}
|
|
1205
|
+
if c, err := client.Store.Contacts.GetContact(ctx, topicJID); err == nil {
|
|
1206
|
+
group.Subject.SetBy = c.PushName
|
|
1134
1207
|
}
|
|
1135
1208
|
}
|
|
1136
1209
|
for _, p := range evt.Join {
|
|
1137
1210
|
group.Participants = append(group.Participants, GroupParticipant{
|
|
1138
|
-
JID: p.ToNonAD().String(),
|
|
1211
|
+
JID: getPreferredJID(ctx, client, p).ToNonAD().String(),
|
|
1139
1212
|
Action: GroupParticipantActionAdd,
|
|
1140
1213
|
})
|
|
1141
1214
|
}
|
|
1142
1215
|
for _, p := range evt.Leave {
|
|
1143
1216
|
group.Participants = append(group.Participants, GroupParticipant{
|
|
1144
|
-
JID: p.ToNonAD().String(),
|
|
1217
|
+
JID: getPreferredJID(ctx, client, p).ToNonAD().String(),
|
|
1145
1218
|
Action: GroupParticipantActionRemove,
|
|
1146
1219
|
})
|
|
1147
1220
|
}
|
|
1148
1221
|
for _, p := range evt.Promote {
|
|
1149
1222
|
group.Participants = append(group.Participants, GroupParticipant{
|
|
1150
|
-
JID: p.ToNonAD().String(),
|
|
1223
|
+
JID: getPreferredJID(ctx, client, p).ToNonAD().String(),
|
|
1151
1224
|
Action: GroupParticipantActionPromote,
|
|
1152
1225
|
Affiliation: GroupAffiliationAdmin,
|
|
1153
1226
|
})
|
|
1154
1227
|
}
|
|
1155
1228
|
for _, p := range evt.Demote {
|
|
1156
1229
|
group.Participants = append(group.Participants, GroupParticipant{
|
|
1157
|
-
JID: p.ToNonAD().String(),
|
|
1230
|
+
JID: getPreferredJID(ctx, client, p).ToNonAD().String(),
|
|
1158
1231
|
Action: GroupParticipantActionDemote,
|
|
1159
1232
|
Affiliation: GroupAffiliationNone,
|
|
1160
1233
|
})
|
|
@@ -1165,26 +1238,32 @@ func newGroupEvent(evt *events.GroupInfo) (EventKind, *EventPayload) {
|
|
|
1165
1238
|
// NewGroup returns a concrete [Group] for the primitive data given. This function will generally
|
|
1166
1239
|
// populate fields with as much data as is available from the remote, and is therefore should not
|
|
1167
1240
|
// be called when partial data is to be returned.
|
|
1168
|
-
func newGroup(client *whatsmeow.Client, info *types.GroupInfo) Group {
|
|
1241
|
+
func newGroup(ctx context.Context, client *whatsmeow.Client, info *types.GroupInfo) Group {
|
|
1169
1242
|
var participants []GroupParticipant
|
|
1170
1243
|
for i := range info.Participants {
|
|
1171
|
-
p := newGroupParticipant(info.Participants[i])
|
|
1244
|
+
p := newGroupParticipant(ctx, client, info.Participants[i])
|
|
1172
1245
|
if p.JID == "" {
|
|
1173
1246
|
continue
|
|
1174
1247
|
}
|
|
1175
1248
|
participants = append(participants, p)
|
|
1176
1249
|
}
|
|
1177
|
-
|
|
1250
|
+
|
|
1251
|
+
var topicJID = getPreferredJID(ctx, client, info.TopicSetBy, info.TopicSetByPN)
|
|
1252
|
+
var group = Group{
|
|
1178
1253
|
JID: info.JID.ToNonAD().String(),
|
|
1179
|
-
Name: info.
|
|
1254
|
+
Name: info.Name,
|
|
1180
1255
|
Subject: GroupSubject{
|
|
1181
|
-
Subject:
|
|
1182
|
-
SetAt:
|
|
1183
|
-
SetByJID: info.TopicSetBy.ToNonAD().String(),
|
|
1256
|
+
Subject: info.Topic,
|
|
1257
|
+
SetAt: info.TopicSetAt.Unix(),
|
|
1184
1258
|
},
|
|
1185
1259
|
Nickname: client.Store.PushName,
|
|
1186
1260
|
Participants: participants,
|
|
1187
1261
|
}
|
|
1262
|
+
if c, err := client.Store.Contacts.GetContact(ctx, topicJID); err == nil {
|
|
1263
|
+
group.Subject.SetBy = c.PushName
|
|
1264
|
+
}
|
|
1265
|
+
|
|
1266
|
+
return group
|
|
1188
1267
|
}
|
|
1189
1268
|
|
|
1190
1269
|
// CallState represents the state of the call to synchronize with.
|
|
@@ -1229,3 +1308,25 @@ func newCallEvent(state CallState, meta types.BasicCallMeta) (EventKind, *EventP
|
|
|
1229
1308
|
Timestamp: meta.Timestamp.Unix(),
|
|
1230
1309
|
}}
|
|
1231
1310
|
}
|
|
1311
|
+
|
|
1312
|
+
// GetPreferredJID returns one of the [type.JID] values for the given senders, preferring the first
|
|
1313
|
+
// non-empty, non-hidden sender; if none are found, mappings from LID to JID are tried, or otherwise,
|
|
1314
|
+
// the first JID given is returned.
|
|
1315
|
+
func getPreferredJID(ctx context.Context, client *whatsmeow.Client, def types.JID, alt ...types.JID) types.JID {
|
|
1316
|
+
var jids = append([]types.JID{def}, alt...)
|
|
1317
|
+
for _, s := range jids {
|
|
1318
|
+
if !s.IsEmpty() && s.Server != types.HiddenUserServer {
|
|
1319
|
+
return s
|
|
1320
|
+
}
|
|
1321
|
+
}
|
|
1322
|
+
|
|
1323
|
+
for _, s := range jids {
|
|
1324
|
+
if !s.IsEmpty() && s.Server == types.HiddenUserServer {
|
|
1325
|
+
if p, _ := client.Store.LIDs.GetPNForLID(ctx, s); !p.IsEmpty() {
|
|
1326
|
+
return p
|
|
1327
|
+
}
|
|
1328
|
+
}
|
|
1329
|
+
}
|
|
1330
|
+
|
|
1331
|
+
return def
|
|
1332
|
+
}
|