newsletter: add argo decoding support (#898)

This commit is contained in:
Rajeh Taher
2025-09-05 15:14:47 +03:00
committed by GitHub
parent 72d2ed58e9
commit 8d6da61ecb
6 changed files with 529 additions and 7 deletions
File diff suppressed because one or more lines are too long
+62
View File
@@ -0,0 +1,62 @@
package argo
import (
_ "embed"
"encoding/json"
"sync"
"github.com/beeper/argo-go/wire"
"github.com/beeper/argo-go/wirecodec"
)
var (
Store map[string]wire.Type
QueryIDToMessageName map[string]string
//go:embed argo-wire-type-store.argo
wireTypeStoreBytes []byte
//go:embed name-to-queryids.json
jsonMapBytes []byte
loadOnce sync.Once
initErr error
)
func Init() error {
loadOnce.Do(func() {
var err error
Store, err = wirecodec.DecodeWireTypeStoreFile(wireTypeStoreBytes)
if err != nil {
initErr = err
return
}
var src map[string]string
if err := json.Unmarshal(jsonMapBytes, &src); err != nil {
initErr = err
return
}
m := make(map[string]string, len(src))
for name, id := range src {
m[id] = name
}
QueryIDToMessageName = m
})
return initErr
}
func GetStore() (map[string]wire.Type, error) {
if err := Init(); err != nil {
return nil, err
}
return Store, nil
}
func GetQueryIDToMessageName() (map[string]string, error) {
if err := Init(); err != nil {
return nil, err
}
return QueryIDToMessageName, nil
}
+306
View File
@@ -0,0 +1,306 @@
{
"AIStudioWAManageMemoryDeleteAllMutation": "29052043257719788",
"AIStudioWAManageMemoryDeleteMutation": "7544143899043492",
"AIStudioWAManageMemoryQuery": "9127813997336237",
"AcDcCreateDigitalCommerceNonse": "24409813818642948",
"AcceptAffiliationRequest": "27688116220836225",
"AccountSyncUsernameNotification": "7858197960949065",
"AccountTransferNotification": "8220475834742024",
"AddMultiAccountLink": "24893947900219705",
"AddParticipantsToGroup": "26828081150171064",
"AddParticipantsToGroupV2": "28712042245061067",
"AddParticipantsToInteropGroup": "24096891046636046",
"AddSmbAgentAndCoexQr": "30086066011007103",
"AgeCollection": "26879887431657309",
"AiCharacterUpdateHideStatus": "8839874476113994",
"AiCreationCheckCreatedByMe": "9815362228482855",
"AiCreationDeletePersona": "8696516227091665",
"AiCreationFetchAiPersonaForEditing": "9904567389669075",
"AiCreationFetchCreatedBot": "9978792015508840",
"AiCreationFetchVoiceSample": "23916680671255181",
"AiCreationGenerateImageCandidate": "24079598261680837",
"AiCreationUpdatePersona": "10035356286584105",
"AiCreationUploadImageMutation": "24138890235741746",
"AiHomeFetchUserCreatedPersonasQuery": "24004744805826063",
"AiHomeLayoutQuery": "8534063353384687",
"AiHomeSearchQuery": "30238411035774898",
"AiHomeSectionQuery": "23974658895484544",
"AiImmersiveBotQuery": "23880659328262645",
"AiImmersiveQuery": "23897130903241751",
"AiPersonalizationRecordNotice": "9095896127204206",
"AiPlannerStopGenerationMutation": "24452566171046804",
"AiSearchEmptyStateConversationStartersQuery": "24859646513652301",
"AllowNonAdminGroupCreation": "7519835874701878",
"BizIntegrityQuery": "9952408304882625",
"BotProactiveMessageControlStatus": "24107778775576749",
"BotProactiveMessageControlStatusUpdate": "9867720136669699",
"BotProfilePictureUrlQuery": "24968786916054502",
"BotProfileSyncQuery": "8739375796187001",
"BrandIdsGetPhoneNumbers": "30488425480748795",
"CanonicalEntQueryFeature": "24576316608621283",
"CanonicalEntSetupFeature": "24337933855819598",
"CanonicalEntTeardownFeature": "24041030982231710",
"CheckAutoConfConsent": "9625438944164624",
"CoexMultiAppEligiblity": "8336924149750786",
"CoexProcessNativeOnboardingRequest": "9878176882212860",
"CoexistenceProcessAuthChallenge": "9684040624947821",
"CompleteTopicOnboarding": "7742297632561058",
"ContactIntegrityQuery": "8370845569632382",
"ContactsBackupMutation": "7898229300257102",
"ContactsBackupQuery": "7307717639327756",
"CreateEnforcementAppeal": "8821533821282490",
"CreateGroup": "9639739449412631",
"CreateInviteCode": "24113619438328626",
"CtwaAdsContextBizQuery": "9455487237842382",
"CtwaNativeUploadAdMediaMutation": "9181032062008816",
"DeleteAIKnowledge": "9734241303310288",
"DeleteGenAiTasks": "9267681663329336",
"DeleteImagineMeOnboarding": "8726914694003146",
"DigitalContentIAPPurchaseQuoteMutation": "8922485457790070",
"EditAGenAiTask": "9419617158093386",
"ExternalCtxAuthoriseWAChat": "26901859259428948",
"FetchAIAbilities": "9640511419331019",
"FetchAiReplySettings": "10086110871440121",
"FetchFBSSOLoginTokensMutation": "26599490752999797",
"FetchOrderedKnowledge": "9537936276334771",
"FetchReachoutTimelockQuery": "9462376090546244",
"FetchUserNoticesByID": "8870435989745078",
"GenApprovePotentialKnowledge": "24098685746388521",
"GenDeletePotentialKnowledge": "9332003590258784",
"GenEditPotentialKnowledge": "9741569319237798",
"GenLoadPotentialKnowledgeForReview": "9703484983043955",
"GenTiggerMultiFileKnowledgeExtraction": "24175511598781021",
"GenWhatsAppSMBDebugContentGenProfileResponse": "23985621637769232",
"GenerateWhatsAppP2BReport": "8051218588298508",
"GetAutoConfConfidenceChallenge": "9449283601809884",
"GetBillerPlans": "24230130823283004",
"GetBusinessProfileWebsiteShimUrlQuery": "8842045022505438",
"GetCustomUrlsQuery": "24160261910236968",
"GetDcpProductsQuery": "27554084174237806",
"GetDynamicRegistrationUpsells": "10043673822314027",
"GetImagineMeOnboarded": "7464954973630740",
"GetInviteInfo": "9274981439273619",
"GetRecommendedTier": "8845639942219954",
"GetRegistrationUpsells": "7561558900567547",
"GetSMBAgentOnboardingInfo": "8654799644605375",
"GetSubscribedTasksForThread": "28928340753448628",
"GetSubscriptions": "8876107472483541",
"GetSuggestedContacts": "24497904963133841",
"GetTextStatus": "6681894428597832",
"GetTextStatusList": "7313153618713617",
"GetUpiAccounts": "29334452936170022",
"GetWaMeLinkQuery": "8590101537750204",
"GroupUpdateParticipantLabelEnabledMutation": "9336450899772182",
"GroupsCreateInteropGroup": "23994919786772328",
"HasBusinessIntent": "7865157416866111",
"ImmersiveCreationCompleteCreationMutation": "9913715632037438",
"ImmersiveCreationConfigurationQuery": "9361733867204147",
"ImmersiveCreationInitiateCreationMutation": "31232734296341497",
"ImmersiveCreationUpdateIntroFieldMutation": "24195839360054094",
"ImmersiveCreationUpdateNameFieldMutation": "9650650568373143",
"ImmersiveCreationUpdatePersonalityFieldMutation": "30190466170599132",
"ImmersiveCreationUpdateVoiceFieldMutation": "24787533637583171",
"IplsClientHandshakeInitRequest": "7841955639221430",
"IplsClientHelloPayload": "7574986815915518",
"LidChangeNotification": "8920679384728188",
"LinkCatalogToWhatsAppSMB": "8872455936130646",
"LinkedProfilesRemove": "8909688149086913",
"LinkedProfilesUpdate": "9784377594930152",
"LoadAvatarPoses": "9074762182534903",
"MaibaDeleteFileKnowledgeSource": "9993739917330936",
"MaibaGetCurrentCatalog": "9795957660487019",
"MaibaQueryUploadedFiles": "23913245624959696",
"MaibaStartFileKnowledgeExtraction": "9845305758879437",
"MetaAIBizAgentWACoachingMutation": "9259901980755931",
"MetaAIMemoryDelete": "8481408331896133",
"MetaAIMemoryDeleteAll": "8935315639836425",
"MetaAIMemoryQuery": "8869074713151146",
"MetaAIVoiceWAOptionsFetchQuery": "27538353179144114",
"MetaAIVoiceWAOptionsWithDefaultFetchQuery": "6784800994977131",
"MetaPoiTypeAhead": "10011518742299182",
"MigrateBlocklistLid": "29610788451869855",
"MultiAccountRevokeAccount": "8754214324686446",
"NewsletterAcceptAdminInvite": "6179636105471882",
"NewsletterAdminDemote": "7220922401252829",
"NewsletterAdminInvite": "24943748628557365",
"NewsletterAdminInviteRevoke": "6550386328343169",
"NewsletterAdminMetadataQuery": "7785791618136078",
"NewsletterBlockUser": "30495729640073636",
"NewsletterChangeOwner": "6951013521615265",
"NewsletterChangeWamoSub": "27448193018097359",
"NewsletterCreate": "27527996220149684",
"NewsletterCreateReportAppeal": "23913563504921106",
"NewsletterCreateVerified": "27385241581120782",
"NewsletterDelete": "6285734628148226",
"NewsletterDirectoryCategoryPreview": "28199252546357255",
"NewsletterDirectoryList": "8629852843766813",
"NewsletterDirectorySearch": "8422355807877290",
"NewsletterDisableWamoSub": "7644433872334704",
"NewsletterEnableWamoSub": "7833900003373753",
"NewsletterEnforcements": "9883696571653834",
"NewsletterHide": "9847547868624220",
"NewsletterInsights": "7685666401499724",
"NewsletterJoin": "6742622672428529",
"NewsletterKotlinExample": "9702143139802327",
"NewsletterLeave": "6548204731885183",
"NewsletterLinkPreviewCheck": "6842506979173950",
"NewsletterLogExposure": "7395568390543223",
"NewsletterMetadata": "9779843322044422",
"NewsletterMetadataNotification": "6326535000799900",
"NewsletterMetadataUpdate": "8580212968761751",
"NewsletterMute": "5971669009605755",
"NewsletterPollVoterList": "24677763351869464",
"NewsletterQueryMessageDeliveryUpdates": "6920948374651895",
"NewsletterQuestionResponseStateUpdate": "24589034820694583",
"NewsletterReactionSendersList": "6868098736578560",
"NewsletterRecommended": "27256776790637714",
"NewsletterResponseStateUpdate": "24222471884053526",
"NewsletterSearch": "9006011396096776",
"NewsletterSimilar": "8845781528777207",
"NewsletterSubscribed": "8621797084555037",
"NewsletterSubscribers": "25403502652570342",
"NewsletterUnhide": "9323568947747934",
"NewsletterUnmute": "6104029483058502",
"NewsletterUpdateVerification": "8877210142312361",
"NewsletterUserReports": "24063801373308138",
"NotificationAgeCollection": "8470338583083616",
"NotificationCommunityOwnerUpdate": "23926761323617949",
"NotificationGroupCreateUpdate": "7172226612882255",
"NotificationGroupHiddenPropertyUpdate": "24486508950944602",
"NotificationGroupLimitSharingPropertyUpdate": "23921409724194417",
"NotificationGroupMemberLinkPropertyUpdate": "30514374534874976",
"NotificationGroupParticipantLabelParticipantPropertyUpdate": "28721666060781185",
"NotificationGroupParticipantLabelPropertyUpdate": "9605044949588542",
"NotificationGroupPropertyUpdate": "24428504903421728",
"NotificationGroupSafetyCheckPropertyUpdate": "9713942958657827",
"NotificationInteropGroupCreateUpdate": "29624102497234486",
"NotificationInteropGroupParticipantsUpdate": "23987398490899606",
"NotificationInteropMsgrGroupAddParticipantsUpdate": "9929050243890055",
"NotificationInteropMsgrGroupCreateUpdate": "9875620322487003",
"NotificationInteropMsgrGroupPropertyUpdate": "31018490114463946",
"NotificationLinkedProfilesUpdates": "29516109634642858",
"NotificationLinkedProfilesUpdatesSideSub": "9277991622261208",
"NotificationNewsletterAdminDemote": "6634787226625860",
"NotificationNewsletterAdminInviteRevoke": "7497017380360026",
"NotificationNewsletterAdminMetadataUpdate": "9828601590514736",
"NotificationNewsletterAdminPromote": "7054784991295295",
"NotificationNewsletterBlockUser": "9822503934524230",
"NotificationNewsletterJoin": "29241810008797405",
"NotificationNewsletterLeave": "7294702320556387",
"NotificationNewsletterMuteChange": "6653725748024899",
"NotificationNewsletterOwnerUpdate": "7088224791298632",
"NotificationNewsletterStateChange": "7078192942214381",
"NotificationNewsletterUpdate": "7839742399440946",
"NotificationNewsletterWamoSubStatusChange": "8222443127778481",
"NotificationNotifySenderOnGuestDeletionInactive": "9751802081581770",
"NotificationNotifySenderOnGuestDeletionRegistered": "10020077494748622",
"NotificationNotifySenderOnGuestJoin": "30407276695583063",
"NotificationNotifySenderOnGuestTransition": "29876639681927056",
"NotificationNotifySenderOnReceiverJoin": "9244657255644098",
"NotificationReminder": "29581768531470837",
"NotificationUserBrigadingUpdate": "8289465197770293",
"NotificationUserReachoutTimelockUpdate": "8639040062862879",
"OhaiKeyConfigQuery": "8699487313397273",
"PasskeyExistResponseQuery": "24280390751624940",
"ProcessMultiOffboarding": "8305078249594217",
"ProcessMultiOnboarding": "8665042316912941",
"QueryBatchGetGroups": "9649176255164364",
"QueryCommunityParticipantCount": "8826001857513910",
"QueryGroupInfo": "24853715544235144",
"QueryGroupInfoByCode": "9936511276382237",
"QueryInteropGroupInfo": "23960878493549033",
"QueryInviteLink": "24965552223089656",
"QueryLinkedGroupInfo": "9323243201132275",
"QueryParticipatingGroups": "23940562365561484",
"QuerySubgroupParticipantCount": "6987167604717709",
"QuerySubgroups": "7822701281123381",
"QuerySuggestedGroups": "8077882158902147",
"RegAccountTransferVerifyTokenMutation": "6864936900275764",
"RegistrationDynamicUpsellShown": "8778425068925687",
"RegistrationPasskeyClear": "9379175628767649",
"RegistrationPasskeyEnableMutation": "24513078668282891",
"RegistrationPasskeyFinishRegisterMutation": "8863736077067250",
"RegistrationPasskeyStartRegisterMutation": "28380481564900991",
"RegistrationUpsellShown": "7480997188628461",
"ReminderCreate": "23893837570245751",
"ReminderDelete": "29800433312937353",
"SMBBotSync": "10011962528916982",
"SMBMarketingMessageQuotaData": "23997573626526381",
"SMBMarketingMessagesGetBizInfo": "8698055193597480",
"SMBMarketingMessagesPromoTemplate": "27335929922718021",
"SaveAvatarPose": "7922098614562797",
"SelectedOrDefaultPoseQuery": "7649832701812240",
"SelfContactsQuery": "9982837645142393",
"SetGroupProperty": "9207174359373176",
"SetGroupResetInviteLink": "9834530503251303",
"SetProfilePicture": "25827464620177848",
"SetWamoUserIdVersion": "25457378233907275",
"SubmitAge": "8849188358438998",
"SuggestedContactsV2": "9172270102828385",
"TeeSecureChannel": "7807820402660929",
"TeeSecureQuery": "26663763556600822",
"TeeSnpAttestation": "7613906245386944",
"TestQuery": "7241805649253401",
"TextStatusUpdateNotification": "6601560246628795",
"TextStatusUpdateNotificationSideSub": "6808064125919757",
"TosSetResult": "8733233133472407",
"UnifiedConversationStartersQuery": "30659058203707682",
"UpdateAIKnowledge": "8992224977546616",
"UpdateAiReplyBotEnabledTime": "29521031190828773",
"UpdateAiReplyChatTrigger": "29048215068157355",
"UpdateAutoConfConsent": "9547173492019407",
"UpdateCommunityOwner": "7554036211316744",
"UpdateGroupParticipantLabelMutation": "9474133135955233",
"UpdateTextStatus": "6679986965420430",
"UpdateUserStatus": "8702204706516599",
"UpiOnboardingSendOtpMutation": "9750189185067185",
"UpiOnboardingVerifyOtpQuery": "29721450344166819",
"UserCountryCodeGet": "9319768474776384",
"UsernameCheck": "23938900255774163",
"UsernameDeleteNotification": "9074620385982648",
"UsernameGet": "7533911316677636",
"UsernamePinSet": "8277542455646085",
"UsernameRecommendationsQuery": "29936714359277584",
"UsernameSet": "7539839152759345",
"UsernameSetNotification": "7777773138910784",
"UsernameUpdateNotification": "7690268147674188",
"UsyncQuery": "8925664914155696",
"ValidateVerifierConfidence": "6167147383402771",
"WABinaryDemoQuery": "9216664025057904",
"WWWCreateAccessToken": "25355063454141992",
"WWWCreateUser": "7418342681612667",
"WWWDeleteUser": "7952120364827799",
"WWWExchangeNonceForAccessToken": "9410129542399925",
"WWWGetCertificates": "7821205087931198",
"WWWGetNonceForCompanionDevice": "24279515318321806",
"WWWTradeNonceForAccessTokens": "24471556995761226",
"WWWTriggerAcountRecovery": "23966926942898128",
"WamoAssetCollection": "8821483957952305",
"WamoSubCancelSubscription": "8782612271820087",
"WamoSubGetComplianceInfo": "9133707526723587",
"WamoSubQueryFinancialEntity": "8002750676472779",
"WamoSubQueryStatus": "8560674097367905",
"WamoUserIdVersion": "7527285483991164",
"WhatsAppBizAccountNonceMutation": "9394029384025067",
"WhatsAppBusinessLinkedAccountsQuery": "9750926348293158",
"WhatsAppBusinessUnlinkAccountMutation": "9055152041257507",
"WhatsAppCatalogAddProduct": "8886227818135185",
"WhatsAppCatalogCommerceSettings": "8499535920153424",
"WhatsAppCatalogCreateCollections": "8425362434250817",
"WhatsAppCatalogCreateMutation": "28658341153753102",
"WhatsAppCatalogDeleteCollection": "8560882437365569",
"WhatsAppCatalogDeleteProduct": "9160045830673468",
"WhatsAppCatalogEditProduct": "7866291200141147",
"WhatsAppCatalogGetLinkedCatalogEligibility": "9275740725769789",
"WhatsAppCatalogProductVisibilityUpdate": "8663534337063686",
"WhatsAppCatalogUnlinkMetaCatalog": "7874105519359462",
"WhatsAppCatalogUpdateCollection": "8333405736788282",
"WhatsAppCatalogUpdateCollectionList": "8011916185576719",
"WhatsAppCoexistenceBSPInfoQuery": "9761834693829429",
"WhatsAppSMBGenAIImage": "7846304058822381",
"WhatsappCatalogAppealProduct": "28258864727045852",
"WhatsappCatalogReportProduct": "8798913583502365",
"WhatsappOrderCompliance": "6646812275409584",
"WhatsappSMBOrderEducation": "6854177671335204",
"XWA2MessageCappingInfoQuery": "25275321118723031"
}
+3
View File
@@ -5,6 +5,7 @@ go 1.24.0
toolchain go1.25.0
require (
github.com/beeper/argo-go v1.1.2
github.com/google/uuid v1.6.0
github.com/gorilla/websocket v1.5.0
github.com/rs/zerolog v1.34.0
@@ -17,9 +18,11 @@ require (
require (
filippo.io/edwards25519 v1.1.0 // indirect
github.com/elliotchance/orderedmap/v3 v3.1.0 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/petermattis/goid v0.0.0-20250813065127-a731cc31b4fe // indirect
github.com/vektah/gqlparser/v2 v2.5.27 // indirect
golang.org/x/exp v0.0.0-20250813145105-42675adae3e6 // indirect
golang.org/x/sys v0.35.0 // indirect
golang.org/x/text v0.28.0 // indirect
+12
View File
@@ -2,9 +2,17 @@ filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
github.com/DATA-DOG/go-sqlmock v1.5.2 h1:OcvFkGmslmlZibjAjaHm3L//6LiuBgolP7OputlJIzU=
github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ+JlNzwDqpNU=
github.com/agnivade/levenshtein v1.2.1 h1:EHBY3UOn1gwdy/VbFwgo4cxecRznFk7fKWN1KOX7eoM=
github.com/agnivade/levenshtein v1.2.1/go.mod h1:QVVI16kDrtSuwcpd0p1+xMC6Z/VfhtCyDIjcwga4/DU=
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ=
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
github.com/beeper/argo-go v1.1.2 h1:UQI2G8F+NLfGTOmTUI0254pGKx/HUU/etbUGTJv91Fs=
github.com/beeper/argo-go v1.1.2/go.mod h1:M+LJAnyowKVQ6Rdj6XYGEn+qcVFkb3R/MUpqkGR0hM4=
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/elliotchance/orderedmap/v3 v3.1.0 h1:j4DJ5ObEmMBt/lcwIecKcoRxIQUEnw0L804lXYDt/pg=
github.com/elliotchance/orderedmap/v3 v3.1.0/go.mod h1:G+Hc2RwaZvJMcS4JpGCOyViCnGeKf0bTYCGTO4uhjSo=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
@@ -29,8 +37,12 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN
github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0=
github.com/rs/zerolog v1.34.0 h1:k43nTLIwcTVQAncfCw4KZ2VY6ukYoZaBPNOE8txlOeY=
github.com/rs/zerolog v1.34.0/go.mod h1:bJsvje4Z08ROH4Nhs5iH600c3IkWhwp44iRc54W6wYQ=
github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8=
github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/vektah/gqlparser/v2 v2.5.27 h1:RHPD3JOplpk5mP5JGX8RKZkt2/Vwj/PZv0HxTdwFp0s=
github.com/vektah/gqlparser/v2 v2.5.27/go.mod h1:D1/VCZtV3LPnQrcPBeR/q5jkSQIPti0uYCP/RI0gIeo=
go.mau.fi/libsignal v0.2.0 h1:oRXj3OHhEJq51BFEM8/50UZblmWiTYH93hsNTPcbk90=
go.mau.fi/libsignal v0.2.0/go.mod h1:tvjoDsMejgT38CXTXwqaYu8itBiY8O2Mb6biWvZBb9k=
go.mau.fi/util v0.9.0 h1:ya3s3pX+Y8R2fgp0DbE7a0o3FwncoelDX5iyaeVE8ls=
+83 -7
View File
@@ -10,10 +10,16 @@ import (
"context"
"encoding/json"
"fmt"
"log"
"strings"
"time"
"github.com/beeper/argo-go/codec"
"github.com/beeper/argo-go/pkg/buf"
"go.mau.fi/whatsmeow/argo"
waBinary "go.mau.fi/whatsmeow/binary"
"go.mau.fi/whatsmeow/proto/waWa6"
"go.mau.fi/whatsmeow/types"
)
@@ -118,9 +124,53 @@ const (
mutationCreateNewsletter = "6234210096708695"
mutationUnfollowNewsletter = "6392786840836363"
mutationFollowNewsletter = "9926858900719341"
// desktop & mobile
queryFetchNewsletterDesktop = "9779843322044422"
queryRecommendedNewslettersDesktop = "27256776790637714"
querySubscribedNewslettersDesktop = "8621797084555037"
queryNewsletterSubscribersDesktop = "25403502652570342"
mutationMuteNewsletterDesktop = "5971669009605755" // variables -> {newsletter_id, updates->{description, settings}}, output: xwa2_newsletter_update -> NewsletterMetadata without viewer meta
mutationUnmuteNewsletterDesktop = "6104029483058502"
mutationUpdateNewsletterDesktop = "7839742399440946"
mutationCreateNewsletterDesktop = "27527996220149684"
mutationUnfollowNewsletterDesktop = "8782612271820087"
mutationFollowNewsletterDesktop = "8621797084555037"
)
func convertQueryID(cli *Client, queryID string) string {
if payload := cli.Store.GetClientPayload(); payload.GetUserAgent().Platform == waWa6.ClientPayload_UserAgent_MACOS.Enum() || payload.GetWebInfo() == nil {
switch queryID {
case queryFetchNewsletter:
return queryFetchNewsletterDesktop
case queryRecommendedNewsletters:
return queryRecommendedNewslettersDesktop
case querySubscribedNewsletters:
return querySubscribedNewslettersDesktop
case queryNewsletterSubscribers:
return queryNewsletterSubscribersDesktop
case mutationMuteNewsletter:
return mutationMuteNewsletterDesktop
case mutationUnmuteNewsletter:
return mutationUnmuteNewsletterDesktop
case mutationUpdateNewsletter:
return mutationUpdateNewsletterDesktop
case mutationCreateNewsletter:
return mutationCreateNewsletterDesktop
case mutationUnfollowNewsletter:
return mutationUnfollowNewsletterDesktop
case mutationFollowNewsletter:
return mutationFollowNewsletterDesktop
default:
return queryID
}
} else {
return queryID
}
}
func (cli *Client) sendMexIQ(ctx context.Context, queryID string, variables any) (json.RawMessage, error) {
queryID = convertQueryID(cli, queryID)
payload, err := json.Marshal(map[string]any{
"variables": variables,
})
@@ -151,14 +201,40 @@ func (cli *Client) sendMexIQ(ctx context.Context, queryID string, variables any)
if !ok {
return nil, fmt.Errorf("unexpected content type %T in mex response", result.Content)
}
var gqlResp types.GraphQLResponse
err = json.Unmarshal(resultContent, &gqlResp)
if err != nil {
return nil, fmt.Errorf("failed to unmarshal graphql response: %w", err)
} else if len(gqlResp.Errors) > 0 {
return gqlResp.Data, fmt.Errorf("graphql error: %w", gqlResp.Errors)
if result.AttrGetter().OptionalString("format") == "argo" {
store, err := argo.GetStore()
if err != nil {
return nil, err
}
queryIDMap, err := argo.GetQueryIDToMessageName()
if err != nil {
return nil, err
}
wt := store[queryIDMap[queryID]]
decoder, err := codec.NewArgoDecoder(buf.NewBufReadonly(resultContent))
if err != nil {
return nil, err
}
data, err := decoder.ArgoToMap(wt)
if err != nil {
log.Fatalf("argo to map error: %v", err)
}
b, err := json.Marshal(data)
if err != nil {
return nil, err
}
return b, nil
} else {
var gqlResp types.GraphQLResponse
err = json.Unmarshal(resultContent, &gqlResp)
if err != nil {
return nil, fmt.Errorf("failed to unmarshal graphql response: %w", err)
} else if len(gqlResp.Errors) > 0 {
return gqlResp.Data, fmt.Errorf("graphql error: %w", gqlResp.Errors)
}
return gqlResp.Data, nil
}
return gqlResp.Data, nil
}
type respGetNewsletterInfo struct {