Skip to content

tttttt#300

Closed
sohepalslamat wants to merge 25 commits into
asternic:mainfrom
sohepalslamat:main
Closed

tttttt#300
sohepalslamat wants to merge 25 commits into
asternic:mainfrom
sohepalslamat:main

Conversation

@sohepalslamat
Copy link
Copy Markdown

No description provided.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the contributors list in the README.md file by adding several new members and reordering existing entries. The review feedback identifies several HTML syntax issues within the contributor table, such as missing quotes for 'href', 'src', and 'alt' attributes, which can cause rendering problems or truncated text. Additionally, the feedback suggests correcting an invalid semicolon in the 'width' attribute and updating the pull request title to be more descriptive.

Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
sohepalslamat and others added 7 commits May 14, 2026 00:38
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…olMessage

WhatsApp clients on mobile (iOS/Android, since ~mid-2025) deliver text-message
edits wrapped in a `secretEncryptedMessage` envelope: the new text is E2E
encrypted in `encPayload`, with the original message identified by
`targetMessageKey`. Without decryption, the webhook only ships the ciphertext
and downstream consumers cannot extract the edited text — silent dropouts for
every mobile edit.

Desktop edits are unaffected (they continue to arrive as the legacy
`protocolMessage.type === 14` shape that whatsmeow already exposes
plain-text).

whatsmeow ships `Client.DecryptSecretEncryptedMessage` which handles every
step (HKDF from the original message's `messageSecret` + AES-GCM with the
event's IV/payload). It supports all four secretEncType values:
EVENT_EDIT, POLL_EDIT, POLL_ADD_OPTION, MESSAGE_EDIT.

We call it once at the top of the `*events.Message` handler and swap
`evt.Message` to the decrypted body, so the rest of the handler (and every
downstream consumer of the webhook) sees the legacy `protocolMessage`
shape, identical to a desktop edit. Failure is silent (log + continue) —
the webhook still ships the raw encrypted shape and behavior matches today.

Verified: builds clean against the whatsmeow version pinned in go.mod
(go.mau.fi/whatsmeow v0.0.0-20260305215846-fc65416c22c4).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ace to webhook

Mobile WhatsApp clients (since ~mid-2025) deliver text edits wrapped in
secretEncryptedMessage. This commit invokes whatsmeow's
DecryptSecretEncryptedMessage at the top of the *events.Message handler
so the rest of the pipeline sees the legacy protocolMessage shape,
identical to a desktop edit.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…support

The version pinned previously (2026-03-05 fc65416c22c4) only supports
SecretEncryptedMessage_EVENT_EDIT in DecryptSecretEncryptedMessage —
it rejects MESSAGE_EDIT with "unsupported secret enc type". WhatsApp
mobile clients began sending text-message edits as MESSAGE_EDIT
(not EVENT_EDIT) around 2026-05-13, breaking decryption for the
DecryptSecretEncryptedMessage call added in PR #1.

Upstream whatsmeow commit fcbcaad5f23d (2026-05-04, "add more secret
encrypted message types") added the missing cases for POLL_EDIT,
POLL_ADD_OPTION and MESSAGE_EDIT to the switch. We bump to the latest
on main (9b5c6556698f, 2026-05-13) which includes that fix plus a
follow-up improvement on decrypt error reporting.

Verified end-to-end: mobile edit (secretEncType=MESSAGE_EDIT) now
decrypts inside WUZAPI and the webhook ships protocolMessage.type=14
with plaintext editedMessage.conversation — Sayyad picks it up and
posts restoration.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant