Skip to content

v0.2.3

Choose a tag to compare

@coconautilus17 coconautilus17 released this 08 Jul 23:30
· 258 commits to main since this release
4a2169e

New Features

  • Suspicion Report search + filter -- added a search box and flag-type filter to the Suspicion Report list, shared by both the Metadata Forge and Folder Forge report pages.
  • Manual Review Edit dialog overhaul -- widened to 75% of viewport width and given a settings-style side nav on the Metadata Forge page for jumping between sections. Cover search simplified to a clickable cover + title (no more separate "Use this cover" button), packing 4-7 covers per row instead of 2. Added Language and Explicit tag fields (written to metadata.json only -- no existing tag convention covers them), and a uniform Fill/Overwrite field policy across every dialog field.
  • Organizer: exclude items from a run -- each planned-move card now has an "Exclude from organizer run" button that adds the item to the skip-pattern list.
  • Goodreads circuit-breaker visibility -- when the abs-tract circuit breaker trips, affected books now show a "GR LIMITED" badge instead of looking like a genuine no-match, plus an end-of-run warning explaining what happened and suggesting a lower search-worker count.
  • Suspicion Report: missing-field flags -- flags a technically-correct match/move that's just missing its title, author, or series (high severity), separate from write-risk checks.
  • Cross-item suspect cards -- duplicate-identity cards (same ASIN, or same author/series/sequence across separate files) now show real identifying titles and paths instead of an empty "(cross-item)" placeholder.
  • Library Downloader: activation-bytes status -- a status indicator shows whether the account's activation bytes are cached, with a one-click-copy recovery command when they're not.
  • Library Downloader: concurrent downloads + structured report -- downloads now run 3-at-a-time like audible-cli instead of one at a time, and the end-of-run report shows each item's actual decrypt method and outcome instead of just aggregate counts.
  • Sticky header, version tag, Settings About -- the top header now stays attached while scrolling, shows the current release version linked to its GitHub notes, and Settings gained a short About section.

Fixes

  • Report vs. Manual Review metadata consistency -- the report's "local"/current display (Suspicion Report, Match Report) has been fixed at its root, closing out several related bugs found over the course of this release:
    • "Current" was partly built from matcher-only clues (title/series/author/book_number after path- and folder-name overrides meant only to help find the right catalog match), so a rejected or stale match could show a guessed identity instead of the file's real tags. Replaced with a pure tag-only reader used everywhere current state is displayed or persisted.
    • Genre, subtitle, summary, isbn, asin, and publisher were silently dropped or misreported blank in the marker (genre alone was wrong on 85 of 99 real books tested), because the writer's own "leave tag alone if the match has nothing" behavior wasn't mirrored when recording what got written; fill-missing mode also overwrote genre/subtitle instead of respecting existing values.
    • A cleanly-skipped file showed stale pre-fix data as if it were current, and grouped multi-file books' representative file could be a bonus non-content track (e.g. "Opening Credits"), leaking its own chapter title and track number as if they were the book's title and series sequence.
    • Root cause of the last remaining gap: the report and Manual Review read through two independently-written lookups that mostly agreed. The report now delegates to the exact same sidecar/marker lookup Manual Review uses.
    • Separately, the Match Report card had hardcoded blank "Local" values for Year/ASIN/ISBN since the card was first built -- unrelated bug, same visible symptom, now wired to the real data like every other field.
  • Manual Review: field clears silently ignored -- clearing a dialog field and applying wrote the old matched value back into the tag instead of clearing it. Also fixed multi-genre input (e.g. "Fantasy, LitRPG") collapsing into one malformed combined tag instead of two separate values.
  • Organizer: run settings silently ignored -- the Start button was sending its own click event as the request body instead of the form's collected values, so every setting (Progress every N items, skip patterns, Apply moves, and more) was silently replaced with its backend default on every run.
  • Organizer: multi-part grouping -- ported the fixer's part-sequence/leading-ordinal grouping so a folder holding both a real chapter sequence and a leftover merged edition (e.g. an M4B Tool output whose source files were never cleaned up) groups correctly instead of exploding every chapter into its own move.
  • Organizer: stale run after reload -- a page-reload race could silently swap in a stale prior run's progress and log after a fresh run was already started.
  • Library Downloader: CloudFront blocking -- downloads now prefer a per-book decryption voucher over account activation bytes, since the account's activation bytes are blocked at the source and the voucher path never touches that endpoint.
  • Side nav hidden behind sticky header -- the sticky side nav (Settings and Metadata Forge) rendered partly hidden behind the sticky header at every scroll position.
  • Suspicion Report: "latest report" filter no-op -- a structural bug meant the filter could never actually exclude organizer reports from the fixer's own "latest report" view.
  • Suspicion Report: false error on first load -- the suspect-review probe returned a 404 (logged as a browser console error) for the completely normal "not generated yet" state, on every single report load.

Docs

  • Expanded README with current features, added an issue-reporting guide.