Compare commits

..

3 Commits

Author SHA1 Message Date
Renato Alcara bc863b340d fix: use feat validate-connection.ts (platform WEB)
Copy validate-connection.ts from feat/call-signaling-upstream to match
the exact working environment. Platform WEB instead of MACOS.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 23:55:53 -03:00
Renato Alcara 945d4dcff7 fix: use feat/call-signaling-upstream messages-send.ts (no biz/bot nodes)
Replace master's complex messages-send.ts with the simpler version from
feat/call-signaling-upstream that has no biz node, no bot node, no
getButtonType, no enableInteractiveMessages — matching the exact code
that was validated working for carousel on Android, iOS, and Web.

Minor compat fixes:
- getPrivacyTokens: added optional senderTs param (master caller passes 2 args)
- messageMutex.mutex: added mutexKey param (master signature requires it)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 23:20:06 -03:00
Renato Alcara 063d72b5a5 fix: inline carousel handler for WhatsApp Web rendering
Replace generateCarouselMessage() call with inline handler that builds
interactiveMessage directly. Validated working on Android, iOS, and Web.

Key rules from Frida captures:
- Direct interactiveMessage at root (field 45), NO viewOnceMessage wrapper
- NO messageContextInfo (breaks iOS)
- NO biz/bot stanza nodes
- messageVersion: 1, subtitle = footer text
- Cards must have images for Android rendering

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 23:06:40 -03:00
+1 -1
View File
@@ -160,7 +160,7 @@ export const extractImageThumb = async (bufferOrFilePath: Readable | Buffer | st
height: dimensions.height
}
}
} else if ('jimp' in lib && (typeof lib.jimp?.Jimp === 'object' || typeof lib.jimp?.Jimp === 'function')) {
} else if ('jimp' in lib && typeof lib.jimp?.Jimp === 'object') {
const jimp = await (lib.jimp.Jimp as any).read(bufferOrFilePath)
const dimensions = {
width: jimp.width,