100 Commits
Author SHA1 Message Date
Kharec 1e6f1544db Merge pull request 'Massive refactoring' (#1) from new-architecture into main
Reviewed-on: #1
2026-02-18 04:29:20 +01:00
Kharec 26cba97cbd chore(changelog): document load-time tuning and duplicate row key fix 2026-02-18 04:28:35 +01:00
Kharec 175bb7cbdc test(app): add coverage for unique table row key generation 2026-02-18 04:28:28 +01:00
Kharec bf0e70e9d9 fix(table): use unique row keys to avoid duplicate title crashes 2026-02-18 04:28:20 +01:00
Kharec cb4104e59a perf(app): remove eager search cache priming during library load 2026-02-18 04:28:13 +01:00
Kharec 570639e988 perf(library): tune first-page probe order for faster medium-library loads 2026-02-18 04:28:06 +01:00
Kharec 5ba0fafbc1 chore: update changelog 2026-02-18 04:20:56 +01:00
Kharec bed0ac4fea test(downloads): add regression coverage for too-small download retry behavior 2026-02-18 04:19:39 +01:00
Kharec 0a909484e3 fix(downloads): retry undersized downloads and surface precise size failure messages 2026-02-18 04:19:33 +01:00
Kharec ecdd953ff4 refactor(downloads): split download streaming into focused helpers and reduce complexity 2026-02-18 04:12:54 +01:00
Kharec 4ba2c43c93 clean: remove unused import 2026-02-18 04:09:04 +01:00
Kharec 4b1924edd8 chore: update changelog 2026-02-18 04:08:41 +01:00
Kharec da20e84513 docs: update readme 2026-02-18 04:02:20 +01:00
Kharec dcb43f65dd chore: fix wording 2026-02-18 03:57:51 +01:00
Kharec beca8ee085 perf(library): optimize paginated fetch with bounded concurrent scheduling 2026-02-18 03:56:44 +01:00
Kharec e813267d5e refactor(library): decompose monolithic LibraryClient into fetch/extract/positions/finished/format mixins while preserving public behavior 2026-02-18 03:54:16 +01:00
Kharec eca58423dc refactor(constants): split constants into domain modules with compatibility exports 2026-02-18 03:44:26 +01:00
Kharec 307368480a chore: update changelog 2026-02-18 03:39:53 +01:00
Kharec a8add30928 chore(changelog): document download filename metadata fallback fix 2026-02-18 03:39:18 +01:00
Kharec 3e6e31c2db test(playback): verify prepare_and_start passes naming hints to downloads 2026-02-18 03:39:13 +01:00
Kharec 6335f8bbac test(downloads): cover preferred naming hint propagation in get_or_download 2026-02-18 03:39:09 +01:00
Kharec 0cf2644f55 test(downloads): validate author_title stem generation and cache fallbacks 2026-02-18 03:39:04 +01:00
Kharec 597e82dc20 test(app): verify playback start receives selected item metadata 2026-02-18 03:38:58 +01:00
Kharec 25d56cf407 test(app): cover selected item hint forwarding for downloads 2026-02-18 03:38:54 +01:00
Kharec 76c991600c fix(playback): forward preferred title and author to download manager 2026-02-18 03:38:50 +01:00
Kharec 95e641a527 fix(app): pass selected item title and author as download naming hints 2026-02-18 03:38:46 +01:00
Kharec 8f8cdf7bfa fix(downloads): prefer library metadata for author_title filenames with fallback stems 2026-02-18 03:38:41 +01:00
Kharec 9c19891443 chore: update changelog 2026-02-18 03:21:19 +01:00
Kharec 01de75871a feat: versionning 2026-02-18 03:21:15 +01:00
Kharec e88dcee155 test: cover app and playback controller mixin behavior 2026-02-18 03:17:48 +01:00
Kharec 4bc9b3fd3f test: add focused playback helper unit coverage 2026-02-18 03:17:42 +01:00
Kharec cd99960f2f test: reorganize core suite into explicit domain files 2026-02-18 03:17:33 +01:00
Kharec bd2bd43e7f test: add regression coverage for app key bindings and space priority 2026-02-18 03:01:51 +01:00
Kharec 7f5e3266be fix: ensure Space always reaches toggle_playback action in TUI 2026-02-18 02:59:04 +01:00
Kharec 184585bed0 fix(interface): app compose, table query, and Space pause 2026-02-18 02:51:35 +01:00
Kharec 8e73e45e2d refactor: restructure into package layout and split large modules 2026-02-18 02:43:45 +01:00
Kharec bc24439da8 test: replace cached search dummy setup with dataclass fixture object 2026-02-17 14:26:02 +01:00
Kharec c9d6be6847 test: model StubDownloads state with a dataclass 2026-02-17 14:26:00 +01:00
Kharec f85a2d3cda test: convert DummyApp test context to typed dataclass 2026-02-17 14:25:58 +01:00
Kharec 7e4a57d18e test: refactor MockClient state fields into a dataclass 2026-02-17 14:25:56 +01:00
Kharec 4a7fa69c2e test: clean up tests/test_ui_filter.py using dataclass and slots 2026-02-17 12:43:06 +01:00
Kharec 78f15b4622 chore: add a changelog 2026-02-16 21:01:16 +01:00
Kharec b63525060a docs: mention textual dependency in hacking section 2026-02-16 20:14:49 +01:00
Kharec 79355f3bdf chore: bump __version__ to 0.1.6 2026-02-16 20:14:49 +01:00
Kharec 7602638ffe chore: refresh lockfile for textual 8 2026-02-16 20:14:49 +01:00
Kharec dd8e513063 chore: bump package metadata for v0.1.6 2026-02-16 20:14:49 +01:00
Kharec bdccc3a2eb fix: update ui typing for textual 8 2026-02-16 20:14:49 +01:00
Kharec 3ab73de2aa fix: align app with textual 8 api 2026-02-16 20:14:49 +01:00
Kharec f2c9d683b6 chore: update lock 2026-02-12 19:19:54 +01:00
Kharec b530238494 feat: now display download status in MB 2026-02-12 19:19:48 +01:00
Kharec 89073aaf95 fix: progress bar centered 2026-02-12 19:19:36 +01:00
Kharec 4c27d1864c feat: make the main view truely responsive 2026-02-12 19:03:47 +01:00
Kharec 81814246d0 fix: redistribute proportions 2026-02-12 19:03:37 +01:00
Kharec b71e15d54c chore: update pyproject 2026-02-12 19:03:26 +01:00
Kharec 181b8314e6 feat: update version 2026-02-12 19:03:21 +01:00
Kharec c6edfa5572 style: align help list rows 2026-01-19 15:25:13 +01:00
Kharec ac99643dbc style: densify help modal layout 2026-01-19 15:25:06 +01:00
Kharec 889ac62a9a refactor: tidy modal styles 2026-01-19 15:15:26 +01:00
Kharec 0bf6db7980 chore: bump version to 0.1.4 2026-01-19 14:41:23 +01:00
Kharec 6aa4ebb33f chore: update lockfile version 2026-01-19 14:41:15 +01:00
Kharec ca43ea8858 chore: bump version to 0.1.4 2026-01-19 14:41:09 +01:00
Kharec 733e35b0d2 fix: constrain progress bar width 2026-01-19 14:41:01 +01:00
Kharec f3573dfffc fix: center progress bar container 2026-01-19 14:40:50 +01:00
Kharec d17cb6f4d2 chore: bump version to 0.1.3 2026-01-09 19:01:29 +01:00
Kharec 6e3eb87f76 chore: update pyproject 2026-01-09 19:01:20 +01:00
Kharec b5f82d6e33 feat: speed up library fetching with concurrent page requests 2026-01-09 19:01:14 +01:00
Kharec 8bddca2f75 docs: testing is now implemented 2026-01-06 13:09:15 +01:00
Kharec bb8571df8a chore: bump version to 0.1.2 2026-01-06 12:58:50 +01:00
Kharec f528df49a9 update lockfile for dev extras 2026-01-06 12:58:31 +01:00
Kharec d40ad4534a chore: add dev deps and test config 2026-01-06 12:58:21 +01:00
Kharec c9a8764286 feat: add test config 2026-01-06 12:58:11 +01:00
Kharec 1976b5d88c test: cover filter debounce 2026-01-06 12:58:00 +01:00
Kharec a8e3972f34 test: cover email extraction 2026-01-06 12:57:55 +01:00
Kharec eea6f26bcf test: cover table utils 2026-01-06 12:57:46 +01:00
Kharec ca70661bf6 test: cover library parsing and mark as finish 2026-01-06 12:57:36 +01:00
Kharec 7930bf6941 test: cover cache and url helpers 2026-01-06 12:57:16 +01:00
Kharec 6d3e818b01 test: cover filter/search helpers 2026-01-06 12:57:07 +01:00
Kharec 02c6e4cb88 refactor: use shared search helpers 2026-01-06 12:56:35 +01:00
Kharec b63956c08f feat: add search helper module 2026-01-06 12:56:26 +01:00
Kharec f024128f85 docs: update readme 2026-01-06 10:30:29 +01:00
Kharec 6d246944a3 ci: ignore package dir 2026-01-06 10:26:43 +01:00
Kharec e975654d87 build: package to true 2026-01-06 10:26:37 +01:00
Kharec fbad34cc24 chore: update uv.lock 2026-01-06 10:26:29 +01:00
Kharec c6a1374e21 docs: phrasing 2026-01-06 09:48:18 +01:00
Kharec db92450c7e docs: update readme 2026-01-06 09:46:59 +01:00
Kharec c0004c554f chore: update uv.lock 2026-01-06 09:37:57 +01:00
Kharec f565ee9dc9 chore: update pyproject.toml 2026-01-06 09:37:52 +01:00
Kharec 67c44b2cb7 feat: update version 2026-01-06 09:37:08 +01:00
Kharec 7128e3e7d4 docs: update readme 2026-01-06 09:34:29 +01:00
Kharec 290e76d289 fix: include 3.12.x 2026-01-06 07:44:51 +01:00
Kharec 678f3dac77 fix: pipx install needs the full url 2026-01-06 07:44:44 +01:00
Kharec 24146c8db6 fix: python version 2026-01-06 07:43:03 +01:00
Kharec d996b1d523 docs: add a workaround for python 3.13 based linux 2026-01-06 07:40:26 +01:00
Kharec cf3dc315d7 fix: required python version for audible module 2026-01-06 07:40:06 +01:00
Kharec 3806c35140 docs: production readme 2026-01-06 07:29:54 +01:00
Kharec 974c671012 docs: add r toggle 2026-01-05 22:46:10 +01:00
Kharec 0cf9884c6c feat: add a refresh toggle 2026-01-05 22:46:05 +01:00
Kharec 124a962d72 feat: when a book is mark as finished, remove it from cache 2026-01-05 22:39:20 +01:00
Kharec bcad61d78a docs: update readme 2026-01-05 22:33:56 +01:00
Kharec f9c4771ee4 refactor: update finish logic to use runtime+acr 2026-01-05 22:33:52 +01:00