Remove the organizer's Preview and apply section

The preview/apply flow on the Organize tab did not work as expected, so
it is removed along with its backend: the stored per-pair preview, the
/organize/preview, /organize/plan and /organize/apply endpoints and
their UI and types.

The File naming card stays, and renaming now happens only through
"Organize automatically" during scans, which keeps the underlying
planning/moving code (now internal), undo, crash recovery and dry run.
The rename-folders warning is unchanged. Tests now drive the kept
planning and moving code directly.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
cdnutterandClaude Opus 5.5 committed 2026-09-29 13:18:40 -07:00
1 parent dbcf562f7e
commit 96ea856dfd
8 files changed
+76 -462

No files matched your search

+9 -13
View File
@@ -83,20 +83,16 @@ tags** buttons. Edits are safe with hardlinks:
- Each edit is listed in History (old → new values) and can be undone; an in-place edit interrupted by a crash is rolled back on
startup. Dry run applies.
**Organize (rename files from tags).** The *Organize* tab renames files into one layout, by default
`{artist}/{album}/{track} {title}` → `Avenged Sevenfold/Nightmare/01 Nightmare.flac` (`{artist}` is the album artist, falling back to
the artist). Tokens: `{artist}`, `{album}`, `{track}`, `{title}`, `{year}`, `{disc}`, `{track_artist}`, `{genre}`. Multi-disc albums get
a disc prefix (`2-04 Title`) or a `Disc 2` folder. Names are made safe for Windows/SMB shares (`AC/DC` → `AC-DC`, `Title: Sub` →
`Title - Sub`).
**Organize (rename files from tags).** The *Organize* tab sets a naming layout, by default `{artist}/{album}/{track} {title}` →
`Avenged Sevenfold/Nightmare/01 Nightmare.flac` (`{artist}` is the album artist, falling back to the artist). Tokens: `{artist}`,
`{album}`, `{track}`, `{title}`, `{year}`, `{disc}`, `{track_artist}`, `{genre}`. Multi-disc albums get a disc prefix (`2-04 Title`) or
a `Disc 2` folder, and names are made safe for Windows/SMB shares (`AC/DC` → `AC-DC`, `Title: Sub` → `Title - Sub`).
- **Preview first:** every file with its new name, what is already organized, and what is skipped and why (missing tags, with a
*Fix tags* button that opens the tag editor, or two files that would get the same name).
- Files are only moved within their library, so contents and hardlinks never change. Lyrics (`.lrc`) move with their song, cover art
follows when a whole folder moves, and emptied folders are removed.
- Organizing **both libraries** keeps paths in step. A slave file that is a hardlink of a master file at a different path is still
recognised as linked.
- Each rename is in History and can be undone; the library is rescanned afterwards. Optionally, a pair can organize the slave, the
master or both automatically during every scan (off by default). Dry run applies.
With **Organize automatically** set to the slave, the master or both (off by default), every scan renames files that don't follow the
layout. Files are only moved within their library, so contents and hardlinks never change; lyrics (`.lrc`) move with their song, cover
art follows a whole folder, and emptied folders are removed. Files with missing tags or clashing names are left alone (fix their tags
in the *Tags* tab). Each rename is in History and can be undone, and dry run applies. A slave file that is a hardlink of a master file
at a different path is still recognised as linked.
**Export.** The Review tab's **Export CSV** button downloads either the current view (filter and search applied) or the entire scan.
Each row has the match status and type, a recommendation, both paths, where linking would place the file, codec, bitrate, sample rate,