Skip to content

fix(MediaQuality): don't skip HEIC/HEIF transcode#732

Merged
Dev4Mod merged 2 commits into
Dev4Mod:masterfrom
Alpha3288:fix/heic-image-transcode
Jul 17, 2026
Merged

fix(MediaQuality): don't skip HEIC/HEIF transcode#732
Dev4Mod merged 2 commits into
Dev4Mod:masterfrom
Alpha3288:fix/heic-image-transcode

Conversation

@Alpha3288

Copy link
Copy Markdown
Contributor

Problem

Sending a HEIC/HEIF image with HD Quality Images enabled produces a corrupt upload - the recipient sees "This image is not available because something is wrong with the image file." Reproduced on WhatsApp 2.26.26.x.

Root cause

feat(MediaQuality): add configuration for improved media quality settings (72624df) sets five image-path A/B-prop booleans. One of them, 26291, enables WhatsApp's Jarvis ML image-transcode config (UitTranscodeConfig / JarvisImageConfig) in ProcessImageTaskConnector:

if (abProps.A0s(z ? 26289 : 26291)) {
    processImageQuality.uitTranscodeConfig = new UitTranscodeConfig(jarvisImageConfig(...));
}

That path's native passthrough decision mishandles HEIC/HEIF: the source is uploaded without being transcoded to JPEG, so recipients can't decode it.

How it was diagnosed

  • On-device bisection (rooted, WA 2.26.26.73): both toggles off -> OK; HD Images only -> broken; HD Video only -> OK.
  • Per-flag: 26289+26291 -> broken; 26289 only -> OK; 26291 only -> broken; all-except-26291 -> OK.
  • Confirmed the consumer with a runtime stack-trace hook on the boolean-prop getter (C00D.A0s(int)), then recovered the ProcessImageTaskConnector coroutine that reads it.
  • 26289 is the same gate for a different image mode (unaffected); 6033/9569/22375 are inert or unrelated.

Fix

Drop only 26291, keeping the maxKb/quality/maxEdge quality knobs and the other props - the HD-image quality boost is preserved while HEIC/HEIF transcodes to JPEG correctly again.

Verified on-device: with the fix and HD Images enabled, HEIC images send and open correctly for the recipient.

Alpha3288 and others added 2 commits July 16, 2026 12:21
The image-quality overrides added in 72624df enable ab-prop 26291, which
turns on WhatsApp's Jarvis ML image-transcode config (UitTranscodeConfig /
JarvisImageConfig) in ProcessImageTaskConnector. That path's native
passthrough decision mishandles HEIC/HEIF: the source is uploaded without
being transcoded to JPEG, so recipients get "something wrong with the image
file". On-device bisection confirmed 26291 as the sole culprit (26289 is the
same gate for a different image mode and is unaffected), so drop only that
flag and keep the maxKb/quality/maxEdge quality knobs and the other props.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Removed comments explaining the Jarvis ML image-transcode config and its issues with HEIC/HEIF images.
@Dev4Mod
Dev4Mod merged commit 580aff6 into Dev4Mod:master Jul 17, 2026
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.

2 participants