fix(carousel): remove hasSubtitle proto field + add debug logging

- Remove hasSubtitle (field 10) from Header proto definition, index.js
  and index.d.ts - this field was adding extra bytes to encoded protobuf
  that working implementations don't send, potentially causing rejection
- Remove hasSubtitle from carousel card headers and root header
- Add [CAROUSEL DEBUG] logging in relayMessage to dump:
  - Encoded message bytes as base64 (for binary comparison)
  - Message structure as JSON
  - Per-device encoded bytes with DSM flag
- This enables byte-level comparison with working implementations

https://claude.ai/code/session_01EK9NpViRCtda1WAvFd8ptR
This commit is contained in:
Claude
2026-02-06 21:27:40 +00:00
parent 3ac2c33d93
commit 879970fda8
5 changed files with 44 additions and 27 deletions
+2 -3
View File
@@ -616,8 +616,7 @@ export const generateCarouselMessage = async (
const header: any = {
title: card.title || '',
hasMediaAttachment: hasMedia,
hasSubtitle: !!card.title
hasMediaAttachment: hasMedia
}
// Process media if present
@@ -643,7 +642,7 @@ export const generateCarouselMessage = async (
// Build the interactive message with carousel
const interactiveMessage: proto.Message.IInteractiveMessage = {
header: text ? { title: text, hasSubtitle: true } : undefined,
header: text ? { title: text } : undefined,
body: { text: text || '' },
footer: footer ? { text: footer } : undefined,
carouselMessage: {