Skip to content

fix(export): size a GIF from the source, not the hidden MP4 tier - #861

Merged
EtienneLescot merged 1 commit into
integration/demo-never-uglyfrom
fix/v2-gif-size-ignores-mp4-quality
Sep 27, 2026
Merged

EtienneLescot merged 1 commit into
integration/demo-never-uglyfrom
fix/v2-gif-size-ignores-mp4-quality

Conversation

@EtienneLescot

@EtienneLescot EtienneLescot commented Sep 27, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

A GIF's size no longer depends on the MP4 quality tier, a control the GIF settings hide. It starts from the "Source" size (the smallest clip's true footprint, so nothing is upscaled), then the size preset caps its height.

  • Applies to both the export call and the destination summary, through one gifOutputDims.
  • Original now means the source size.
  • MP4 sizing is unchanged.

Reported on #814 with a 640×360 source: README GIF gave 852×480 when picked directly, 640×360 after Studio. It is now 640×360 both ways.

Related issue

Refs #814

Type of change

  • Bug fix

Release impact

  • Patch

Desktop impact

  • Not platform-specific

Testing

  • Regression tests in ExportDialog.params.test.tsx: the tester's path (summary and export params, direct vs. after Studio), and every MP4 tier × GIF size preset on a 640×360 source. Both failed before the fix with 852×480.
  • npx vitest --run src/components/ai-edition/: 69/69 files, 549 tests pass.
  • npx tsc --noEmit and npx tsc -p tsconfig.test.json --noEmit: clean.
  • npm run lint: the only errors are format errors on files checked out as CRLF (core.autocrlf), none in this diff. biome check on the two changed files passes.

Left as is

The CLI (src/cli/CliExportRunner.tsx) still sizes a GIF from --quality. That is documented in website/docs/cli.md ("A GIF starts from this size too"), so aligning it would change a documented flag and its translations.

🤖 Generated with Claude Code

A GIF started from whatever MP4 quality tier was last picked, a control
the GIF settings do not show: a 640x360 clip gave an 852x480 README GIF
straight away and a 640x360 one after Studio. It now starts from the
"Source" size in both the export and the destination summary, so no
preset upscales and Original means the source size. MP4 is unchanged.
@coderabbitai

coderabbitai Bot commented Sep 27, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 67a98975-0db2-407a-9ab6-63e73f78a034

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@EtienneLescot
EtienneLescot merged commit b809227 into integration/demo-never-ugly Sep 27, 2026
3 checks passed
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.

1 participant