fix(deps): bump whatsmeow to unblock WhatsApp "client outdated (405)" - #3320
Open
grrowl wants to merge 1 commit into
Open
fix(deps): bump whatsmeow to unblock WhatsApp "client outdated (405)"#3320grrowl wants to merge 1 commit into
grrowl wants to merge 1 commit into
Conversation
WhatsApp now rejects the client version advertised by the stock pin go.mau.fi/whatsmeow v0.0.0-20260219150138-7ae702b1eed4: the socket connects and is dropped ~5s later with "Client outdated (405)", with no reconnect attempts — the channel stays dead rather than flapping. Bumps to v0.0.0-20260730092514-662ad1dc6900, which is both @latest and the pin carried by the last known-good binary on this host. That bump forces a matching mautrix bump. whatsmeow requires go.mau.fi/util v0.9.12-0.20260717235539, a pre-release snapshot in which dbutil.UpgradeTable lost Register/RegisterFS. Minimal version selection picks that snapshot over the v0.9.11 that mautrix v0.27.0 asks for, so crypto/sql_store_upgrade and sqlstatestore stop compiling. No released mautrix is compatible — v0.29.0, the newest release, still requires util v0.9.11 — so mautrix moves to main (v0.29.1-0.20260803184111), which tracks a util snapshot newer than whatsmeow's and restores the build. The whatsapp_native capability tests pass unchanged against the newer whatsmeow, so the five capability interfaces need no adaptation for the 5-month jump. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This was referenced Aug 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📝 Description
WhatsApp now rejects the client version advertised by the currently pinned
go.mau.fi/whatsmeow v0.0.0-20260219150138-7ae702b1eed4. The socket connects and is dropped ~5s later withClient outdated (405), and no reconnect is attempted — so the native WhatsApp channel stays dead rather than flapping, with nothing obviously wrong in the config.This bumps whatsmeow to
v0.0.0-20260730092514-662ad1dc6900, which is both@latestand the pin carried by the last known-good binary on my host.That bump forces a matching mautrix bump, which is the only reason this diff is larger than a one-line version change:
go.mau.fi/util v0.9.12-0.20260717235539, a pre-release snapshot in whichdbutil.UpgradeTablelostRegister/RegisterFS.v0.9.11that mautrixv0.27.0asks for, socrypto/sql_store_upgradeandsqlstatestorestop compiling.v0.29.0, the newest release, still requires utilv0.9.11— so mautrix moves tomain(v0.29.1-0.20260803184111-a4cf7de248e9), which tracks a util snapshot newer than whatsmeow's and restores the build.Tracking a mautrix
mainsnapshot is the part most worth a maintainer's opinion. It's the only combination I found that builds; if you'd rather wait for a mautrix release that pins util ≥v0.9.12, this PR is effectively blocked on that upstream release rather than on anything in this repo.The remaining
go.sum/go.modchurn (golang.org/x/*,mattn/go-sqlite3,tidwall/gjson,coder/websocket,libsignal,petermattis/goid) is transitive fallout from those two bumps, not deliberate.No source changes — this is
go.mod+go.sumonly.🗣️ Type of Change
🤖 AI Code Generation
The dependency resolution above was worked out with AI assistance and verified by me on a live WhatsApp deployment — the channel was dead before the bump and has been connected since.
🔗 Related Issue
None open that I could find. Filing this directly since the symptom is a hard outage for anyone on the native WhatsApp channel, and the cause is entirely in the pinned dependency.
📚 Technical Context (Skip for Docs)
main: https://github.com/mautrix/godbutil.UpgradeTableAPI change ingo.mau.fi/util: https://github.com/mautrix/go-util🧪 Test Environment
whatsapp_nativebuild tag)📸 Evidence (Optional)
Click to view Logs/Screenshots
Before the bump — connects, then dropped ~5s later, no reconnect:
After the bump the channel connects and stays up.
Verified locally (darwin/arm64, Go 1.25):
make vet,make depsandmake lint-docspass on this branch.make lintreports 9 issues (8govet"Constant reflect.Ptr should be inlined", 1prealloc), all in files this PR does not touch —pkg/providers/,web/backend/api/config.go,pkg/agent/pipeline_llm.go. This PR contains no Go source changes at all, onlygo.mod/go.sum, so none of them can originate here; they look like an artifact of a locally-installed golangci-lint newer than the version CI pins.make testpasses except for three pre-existing failures inpkg/tools—TestShellTool_RelativePathWithSlashAllowed,TestShellTool_DevNullAllowedandTestShellTool_FileURISandboxing. These are macOS-only (the guard resolves/var/folders/...through the/var→/private/varsymlink and treats the temp workspace as outside the working dir) and are not caused by this change: I ran the same three tests on an unmodifiedorigin/mainworktree and they fail identically there.whatsapp_nativecapability tests pass unchanged against the newer whatsmeow, so the 5-month jump needed no adaptation on our side.☑️ Checklist