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
e6b6eba138
fix(import): close the append path check and the relocate overwrite
2026-08-29 16:38:25 +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
d71ea54c6e
fix(schema): drop leading separator when series or volume is missing
2026-08-29 07:19:57 +02:00
Steppenstreuner
3e28ad5f94
add(core): re-apply the naming scheme to imported titles
2026-08-29 06:11:35 +02:00
Steppenstreuner
87b139e236
fix(ui/ux): only lay out the import dialog while it is open
2026-08-29 05:10:52 +02:00
Steppenstreuner
e3701ceb43
add(metadata): filter audible results by library language
2026-08-29 05:05:00 +02:00
Steppenstreuner
714a435e2d
fix(ui/ux): keep the import search dialog inside the viewport
2026-08-29 04:55:08 +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
a816dcb27a
fix(import): name merged parts after their folder and clean up empty ones
2026-08-28 20:49:32 +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
24e3e9658e
fix(core): ui questionmark
2026-08-28 18:55:40 +02:00
Steppenstreuner
6b2c92e367
fix(core): don't change unicode characters
2026-08-28 18:52:06 +02:00
Steppenstreuner
6eaab5bc5d
fix(schema): do nothing when there is no series
2026-08-28 18:21:53 +02:00
Steppenstreuner
d992e8fd97
add(ui/ux): select all for bulk delete and edit for libraries
2026-08-28 18:15:48 +02:00
Steppenstreuner
034ecad644
add(ui/ux): bulk delete
2026-08-28 18:11:15 +02:00
Steppenstreuner
f809bbcc40
fix(frontend): bug with not clickable buttons
2026-08-28 18:04:07 +02:00
Steppenstreuner
1db06aed25
fix(metadata): get series from api
2026-08-28 17:58:37 +02:00
Steppenstreuner
435382d42a
rework(ui/uix): total update of ui/ux
2026-08-28 17:50:51 +02:00
Steppenstreuner
9791469017
add(metadata) search also for narrator if same title
2026-08-28 17:32:26 +02:00
Steppenstreuner
077b75bbb4
add(ui): adding loading circle
2026-08-28 16:01:35 +02:00
Steppenstreuner
90a50e365f
add(core): show less entries in download
2026-08-28 14:30:00 +02:00
Steppenstreuner
c4e181b05b
add(aduio): tagging files
2026-08-28 14:18:09 +02:00
Steppenstreuner
c03bd4a2e2
add(metadata): chose and request entity while scanning download/
2026-08-28 14:08:02 +02:00
Steppenstreuner
0299895869
add(chore): bulk requests
2026-08-28 13:37:33 +02:00
Steppenstreuner
262700ee45
add(core): open filesystem while adding library path
2026-08-28 13:21:32 +02:00
Steppenstreuner
3b617a910a
fix(metadata): use audible.de api for german audiobooks
2026-08-28 13:12:26 +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