Skip to content

feat(output): Location dropdown, Replace originals, Rename, metadata options - #49

Merged
Maxaubert merged 1 commit into
mainfrom
feat/output-options
Oct 26, 2026
Merged

Maxaubert merged 1 commit into
mainfrom
feat/output-options

Conversation

@Maxaubert

Copy link
Copy Markdown
Owner

What

Output options on Convert, Compress, Resize, Upscale and Remove BG, built to the signed-off mockup docs/mockups/output-options/01-output-options.html.

  • Location: one dropdown (next to source, Downloads, Desktop, Pictures, recent folders, choose folder…). The separate Choose folder button is gone. A line under it shows where files land, with an Open button.
  • Replace originals (off by default): the new file takes the original's place, and the original goes to the Recycle Bin, only after the new file is written. On drives without a Recycle Bin (USB, SD, network) the original is kept and the row says so. CLAUDE.md now records this as the one approved exception to never-overwrite.
  • Rename: pattern with {name}, {n}, {date}, plus a live example; clashes get (2).
  • Keep original dates (on by default) and Remove photo metadata (images and video; -auto-orient runs before -strip so photos stay upright; Caesium jobs with strip on go through ImageMagick).
  • CLI: --replace, --rename <pattern>, --dates keep|today, --strip-metadata; --dry-run predicts the final names. Skill reference and docs updated.
  • Version 0.9.0.

Review

An independent review workflow found 6 defects, all fixed and covered by tests: hidden options leaking into Convert's archive routes, permanent deletion on drives without a Recycle Bin, sideways photos after strip, an empty placeholder left behind when a rename fails, and {n} lost on Retry.

Tests

  • npm test: 924 passed (new test/finish-output.test.ts, plus CLI flag tests)
  • npm run test:e2e: 90 passed, including real-engine tests for rename + dates + strip and for replace
  • typecheck, lint, prettier clean

🤖 Generated with Claude Code

https://claude.ai/code/session_01LeALET9DT7ktG1adEoTSfd

…options

Output options for Convert, Compress, Resize, Upscale and Remove BG, per the
signed-off mockup docs/mockups/output-options/01-output-options.html:

- Location is one dropdown: next to source, Downloads, Desktop, Pictures,
  recent folders and "choose folder..." (no separate button), with a line
  showing where files land and an Open button.
- Replace originals (opt-in): the new file takes the original's place and
  the original goes to the Recycle Bin, only after the new file is written.
  Refused on drives without a Recycle Bin. The one owner-approved exception
  to never-overwrite (CLAUDE.md updated).
- Rename pattern: {name}, {n}, {date}; clashes get (2).
- Keep original dates (default on) and Remove photo metadata (images and
  video; -auto-orient before -strip so photos stay upright).
- CLI: --replace, --rename, --dates keep|today, --strip-metadata; dry runs
  predict the final names. Skill reference and docs updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LeALET9DT7ktG1adEoTSfd
@Maxaubert
Maxaubert merged commit ba0835c into main Oct 26, 2026
2 checks passed
@Maxaubert
Maxaubert deleted the feat/output-options branch October 26, 2026 09:00
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