fix(carousel): hasSubtitle + relayMessage direto + proto atualizado

Implementação completa baseada na análise ponto-a-ponto de 5 diferenças:

1. hasSubtitle adicionado ao proto schema (field 10, bool em Header)
   - Adicionado ao WAProto.proto, index.js (encode/decode/fromObject/toObject)
   - Adicionado ao index.d.ts (IHeader, Header class)
   - Usado no root header e em cada card do carousel

2. relayMessage direto para carousel em sendMessage
   - Detecta nativeCarousel no content e bypassa generateWAMessage inteiro
   - Chama generateWAMessageContent (que usa fromObject) diretamente
   - Depois relayMessage sem passar por generateWAMessageFromContent
   - Elimina: segundo WAProto.Message.create(), contextInfo.expiration, etc.

3. Pipeline final do carousel agora:
   sendMessage → generateWAMessageContent(fromObject) → relayMessage
   Sem: generateWAMessageFromContent, WAProto.Message.create, ephemeral

Commits anteriores já incluem:
- viewOnceMessage wrapper
- fromObject no generateWAMessageContent
- Skip tctoken no stanza

https://claude.ai/code/session_01EK9NpViRCtda1WAvFd8ptR
This commit is contained in:
Claude
2026-02-06 21:07:44 +00:00
parent dede2fa3c0
commit 3ac2c33d93
5 changed files with 74 additions and 2 deletions
+2
View File
@@ -6854,6 +6854,7 @@ export namespace proto {
title?: (string|null);
subtitle?: (string|null);
hasMediaAttachment?: (boolean|null);
hasSubtitle?: (boolean|null);
documentMessage?: (proto.Message.IDocumentMessage|null);
imageMessage?: (proto.Message.IImageMessage|null);
jpegThumbnail?: (Uint8Array|null);
@@ -6867,6 +6868,7 @@ export namespace proto {
public title?: (string|null);
public subtitle?: (string|null);
public hasMediaAttachment?: (boolean|null);
public hasSubtitle?: (boolean|null);
public documentMessage?: (proto.Message.IDocumentMessage|null);
public imageMessage?: (proto.Message.IImageMessage|null);
public jpegThumbnail?: (Uint8Array|null);