-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
Signal image captions truncated to first character (Infinity chunk limit normalizes to 1) #92734
Copy link
Copy link
Closed
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Description
Metadata
Metadata
Assignees
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Type
Fields
Priority
None yet
Summary
Sending an image with a caption on Signal delivers only the first character of the caption (e.g.
"Here's another photo of Ethan…"arrives as"H"). Plain text messages are unaffected.Root cause
renderMarkdownIRChunksWithinLimit(packages/markdown-core/src/render-aware-chunking.ts) normalizes itslimitthroughresolveIntegerOption(limit, 1, { min: 1 }), which rejects any non-finite value and falls back to 1:The Signal media path passes
Number.POSITIVE_INFINITYto mean "no size cap" and then takes[0](extensions/signal/src/channel.ts,sendFormattedSignalMedia):With the limit collapsed to 1, the caption is chunked into one chunk per character, and
[0]is the first character. The Signal text path (sendFormattedSignalText) has the same latent issue when the configured chunk limit is disabled.Minimal repro
Impact / scope
mainand in published2026.6.1,2026.6.6(latest), and2026.6.7-beta.1(verified the identical code in each tarball).Fix
PR incoming: treat an
Infinitylimit as "no cap" (emit the whole IR as a single chunk). NaN/other invalid limits keep the existing fallback; finite limits still split.