Skip to content

Release: Optimize button, dark dropdowns, quieter HEIC, custom domain - #23

Merged
farhanmasud merged 8 commits into
mainfrom
staging
Nov 8, 2026
Merged

farhanmasud merged 8 commits into
mainfrom
staging

Conversation

@farhanmasud

Copy link
Copy Markdown
Member

Brings #19–#22 from staging to main. Merging deploys production at https://image-optimizer.matterandmotion.studio.

Merge with "Create a merge commit", not Squash or Rebase, so staging and main keep the same history.

What changes for people using it

Checked

🤖 Generated with Claude Code

https://claude.ai/code/session_01STHRjFYWhkJBxSKG3tJdap

farhanmasud and others added 8 commits November 6, 2026 21:00
libvips recognises HEIF but has no HEVC decoder, so trying it first only
cost time and logged three "VIPS-WARNING: error in tile" lines. The file's
ftyp brands now decide: HEVC-coded HEIF skips libvips. AVIF, also HEIF,
still goes to libvips. The same check picks the HEIC message, so a HEIC
named .jpg gets it too.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01STHRjFYWhkJBxSKG3tJdap
An open select list takes its colours from the options. Chrome on Windows and Linux
draws a transparent select's list in white, while the options inherit the select's
light text in dark mode: white on white. The options now get the page's colours in
both modes.

The new test checks every option's text against its background (white where the
option is transparent), in light and dark mode. Without the fix, dark mode fails at
2.6:1.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01STHRjFYWhkJBxSKG3tJdap
Dropped images are now read and listed (thumbnail, size, role) but not made into
anything until Optimize is pressed. Pressing it while images are still being read
includes them once they're read.

- CMS master is the default and comes first. The output isn't remembered between
  visits; the other settings still are.
- Changing the output, role, quality or maximum width runs nothing. Images that
  need new files show "Ready", and Optimize counts them.
- Each image keeps its last finished set per mode. Switching back to settings it
  was made with shows those files again without a second run. Sets are matched on
  the exact variants planned, so a change that wouldn't alter the files (e.g. a
  role with the same widths) keeps them.
- While optimizing, the settings and row roles are locked, and Stop ends the run.
  Finished images keep their files; the rest go back to ready.
- One button carries the next step, Optimize and then Download ZIP. It uses
  aria-disabled while busy, so focus stays on it. Copy and Save to folder appear
  once everything is made with the current settings.

The e2e tests press Optimize. A new test covers waiting, locking, Stop and resuming,
and the mode test checks that switching back needs no second run.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01STHRjFYWhkJBxSKG3tJdap
Wait for Optimize; switching settings no longer re-runs anything
@farhanmasud
farhanmasud merged commit d61fef4 into main Nov 8, 2026
2 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