Steppenstreuner
8e7be708b2
add(ui/ux): show the running version and build stamp in the header
2026-09-01 17:50:50 +02:00
Steppenstreuner
d9b4c95ca6
add(ui/ux): german and english ui with a toggle in the navbar
2026-09-01 17:50:26 +02:00
Steppenstreuner
169e84901c
add(metadata): request a whole ebook series from hardcover
2026-09-01 17:20:34 +02:00
Steppenstreuner
2e84bc8aca
add(ui/ux): show file formats in the scan and filter by them
2026-08-31 08:33:24 +02:00
Steppenstreuner
f08417cdc0
add(metadata): hardcover and google books as ebook providers
2026-08-31 07:32:01 +02:00
Steppenstreuner
551352e838
docs: shorten the readme and trim code comments
2026-08-29 16:18:37 +02:00
Steppenstreuner
8a05d2d3c3
fix(ui/ux): let the select buttons include entries without an assignment
2026-08-29 14:59:48 +02:00
Steppenstreuner
acaf7c2068
add(ui/ux): search all open requests from the import dialog
2026-08-29 10:43:20 +02:00
Steppenstreuner
78d726daaf
add(ui/ux): show the target library in the import row, trim the scissors
2026-08-29 10:35:33 +02:00
Steppenstreuner
8bffe6006b
fix(import): never treat the download dir itself as one audiobook
2026-08-29 10:24:41 +02:00
Steppenstreuner
abd1eaa677
fix(import): survive file names that are not valid utf-8
2026-08-29 09:34:37 +02:00
Steppenstreuner
1b9ec2d5e7
add(ui/ux): clear finished rows after 15s and select just the visible page
2026-08-29 08:22:40 +02:00
Steppenstreuner
af5fd5deba
add(ui/ux): skip conflicting entries instead of blocking the whole import
2026-08-29 08:18:40 +02:00
Steppenstreuner
4f3160d5e7
fix(import): never overwrite an existing file when importing a folder
2026-08-29 08:10:30 +02:00
Steppenstreuner
e20db4a9f1
add(ui/ux): per-entry progress and status while importing
2026-08-29 07:52:03 +02:00
Steppenstreuner
d432881a7a
fix(import): re-offer imported requests whose files left the library
2026-08-29 07:39:56 +02:00
Steppenstreuner
7daa0d61a4
add(schema): {Narrators} placeholder, {Narrator} now names the first speaker
2026-08-29 07:25:49 +02:00
Steppenstreuner
3e28ad5f94
add(core): re-apply the naming scheme to imported titles
2026-08-29 06:11:35 +02:00
Steppenstreuner
e3701ceb43
add(metadata): filter audible results by library language
2026-08-29 05:05:00 +02:00
Steppenstreuner
60dd9e2f47
add(ui/ux): create a request manually from the import dialog
2026-08-28 21:23:32 +02:00
Steppenstreuner
60b9e44a11
fix(import): stop several entries from claiming one request
2026-08-28 21:01:07 +02:00
Steppenstreuner
36263d66fb
add(import): merge multi-part entries into one audiobook
2026-08-28 20:33:26 +02:00
Steppenstreuner
951f68ca7d
add(ui/ux): keep episode numbers out of the audible query
2026-08-28 20:17:20 +02:00
Steppenstreuner
f4177339f2
fix(metadata): audible page parameter is 0-based
2026-08-28 20:07:30 +02:00
Steppenstreuner
0844d303db
fix(matcher): use folder path as series context
2026-08-28 20:01:15 +02:00
Steppenstreuner
b8f042025d
fix(import): treat cd1/cd2 folders as one audiobook
2026-08-28 19:21:24 +02:00
Steppenstreuner and Claude Fable 5
508ae5f26e
Add wordarr: request & import manager for ebooks, comics and audiobooks
...
FastAPI + SQLite backend with vanilla-JS web UI. Requests via Open
Library / Audible / AniList metadata search (or manual entry) with
per-request target library selection. Manual import flow: scan the
download dir, fuzzy-match files against missing requests, review,
then move+rename into the library per configurable naming templates.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-28 12:34:07 +02:00
admin
3789ad0a37
Initial commit
2026-08-28 12:14:51 +02:00