2022 Commits

Author SHA1 Message Date
Estrella Pan
bd6d35dbe5 Merge 3.3-dev for 3.3.4 3.3.4 2026-07-13 20:37:28 +02:00
Estrella Pan
f354a63959 chore(release): prepare 3.3.4 2026-07-13 20:36:26 +02:00
Estrella Pan
a99b78931c Merge fix/issue-1078-revision-replace into 3.3-dev 3.3.4-beta.2 2026-07-13 01:37:10 +02:00
Estrella Pan
37d794db0d chore(release): prepare 3.3.4-beta.2 2026-07-13 01:36:29 +02:00
Estrella Pan
9d5b1c3998 fix(renamer): safely replace higher revisions (#1078) 2026-07-13 01:36:17 +02:00
Estrella Pan
00b78dfa64 docs(renamer): design revision replacement for #1078 2026-07-13 00:31:34 +02:00
Estrella Pan
01534b802c test(e2e): assert the standalone movie contract 2026-07-12 21:18:54 +02:00
Estrella Pan
32dcbc53df fix(webui): type template event handlers 2026-07-12 21:07:33 +02:00
Estrella Pan
4cb2b369ab fix(parser): preserve CJK movie words in titles 2026-07-12 21:07:33 +02:00
Estrella Pan
e8bcece42f feat(parser): add selectable preview engine 2026-07-12 21:07:33 +02:00
Estrella Pan
060b602aaf docs(parser): design classic and preview engine switch 2026-07-12 21:07:33 +02:00
Estrella Pan
e744b3601a fix(parser): handle ranges and mixed collections safely 2026-07-12 21:07:33 +02:00
Estrella Pan
8ceec47174 perf(parser): add reproducible tokenizer benchmark 2026-07-12 21:07:33 +02:00
Estrella Pan
56ce4dbe21 docs(parser): record resolved tokenizer architecture 2026-07-12 21:07:33 +02:00
Estrella Pan
274977e665 fix(rss): preserve typed media identities 2026-07-12 21:07:33 +02:00
Estrella Pan
24f060b4b9 refactor(parser): migrate consumers to parsed releases 2026-07-12 21:07:33 +02:00
Estrella Pan
cd9ae7b03b refactor(parser): resolve immutable release candidates 2026-07-12 21:07:33 +02:00
Estrella Pan
5748892c41 docs(parser): design candidate resolver migration 2026-07-12 21:07:33 +02:00
Estrella Pan
0741a23a6a fix(parser): handle movie results in search and rss 2026-07-12 21:07:33 +02:00
Estrella Pan
3f1feb8655 refactor(parser): support generic anime release titles 2026-07-12 21:07:33 +02:00
Estrella Pan
fd1936fb1d refactor(parser): replace regex raw_parser with pipeline tokenizer
Replaces the monolithic regex-based parser with a multi-stage tokenizer
pipeline (normalize, tokenize, classify, resolve). Fixes multiple parsing
bugs: Atlas format (#986), VTuber/Lv2 title splits (#798, #766),
Pre-episode format (#794), western S01E05 format (#764), and separator
dash leaking into titles (#819).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-12 21:07:33 +02:00
Estrella Pan
f75b8e55cd feat(parser): add movie/gekijouban support with full DB model
Add detection and handling for anime movies (剧场版/劇場版) as a
separate entity from TV series. Previously, movies in RSS feeds were
either parsed as episode 0 or skipped entirely.

- Add TokenKind.MOVIE and movie keyword/pattern detection in tokenizer
- Add is_movie flag to Episode dataclass
- Create Movie SQLModel, MovieDatabase with CRUD + TTL cache
- Add migration v10 to create movie table
- Route TitleParser.raw_parser() to return Movie or Bangumi
- Update RSS analyser/engine for movie-aware parsing and downloads
- Add movie save path (no Season subfolder) and rename logic
- Add Movie REST API endpoints (get/update/delete/disable/enable)
- Add 11 tests for movie marker detection and non-movie regression

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-12 21:07:33 +02:00
Estrella Pan
5cc5f57e91 docs: design beta tokenizer lineage integration 2026-07-12 20:44:31 +02:00
Estrella Pan
be8d23c319 fix(webui): hide archived anime from calendar 2026-07-11 12:36:50 +02:00
Estrella Pan
86e39811d1 fix(ci): track e2e fixture and sync beta lock 3.3.4-beta.1 2026-07-10 14:12:00 +02:00
Estrella Pan
5ab2a660ab chore: release 3.3.4-beta.1 2026-07-10 14:05:18 +02:00
Estrella Pan
7319c91c5e style: format log rollover test 2026-07-10 13:51:54 +02:00
Estrella Pan
76b8cfbb6a ci: add hermetic e2e lanes 2026-07-10 13:51:35 +02:00
Estrella Pan
df280c33f7 test: cover e2e runtime retry boundaries 2026-07-10 13:51:17 +02:00
Estrella Pan
7680514a1b test: verify real downloader release flow 2026-07-10 13:50:51 +02:00
Estrella Pan
57d071b2c9 test: cover issue-driven ui regressions 2026-07-10 13:50:36 +02:00
Estrella Pan
8df50b65eb test: add browser auth e2e coverage 2026-07-10 13:50:15 +02:00
Estrella Pan
693044984e test: harden hermetic e2e runtime 2026-07-10 13:49:52 +02:00
Estrella Pan
01270c12c4 fix: preserve movie words in movie titles 2026-07-10 12:56:46 +02:00
Estrella Pan
8ad0762e04 test: add hermetic e2e support services 2026-07-10 12:26:46 +02:00
Estrella Pan
582144b209 fix: make release classification deterministic 2026-07-10 12:05:02 +02:00
Estrella Pan
af0c883326 fix: preserve tmdb language and versioned episodes 2026-07-10 12:04:46 +02:00
Estrella Pan
81cfa41c26 fix: address authentication review findings 2026-07-10 11:56:42 +02:00
Estrella Pan
7c19cb1d2b docs: plan issue-driven e2e implementation 2026-07-10 11:53:27 +02:00
Estrella Pan
d6d409cfd0 docs: design issue-driven e2e coverage 2026-07-10 11:21:39 +02:00
Estrella Pan
f3da5c02b2 docs: address auth design review 2026-07-10 09:40:31 +02:00
Estrella Pan
9561637f45 docs: design auth review fixes 2026-07-10 09:16:56 +02:00
Estrella Pan
52e640cfd5 fix: satisfy auth persistence type checks 2026-07-10 08:35:19 +02:00
Estrella Pan
42ccb7611b feat: persist multi-user authentication 2026-07-10 00:52:39 +02:00
Estrella Pan
6a8eafc9c9 docs: design architecture and auth modernization 2026-07-10 00:32:47 +02:00
Estrella Pan
31edfd84b5 test: satisfy mypy for torrent manager private helper 3.3.3 2026-07-09 18:23:39 +02:00
Estrella Pan
b63f34675b chore: release 3.3.3 2026-07-09 15:44:53 +02:00
Estrella Pan
b279295515 Merge pull request #1070 from EstrellaXD/fix/issues-1067-1068 2026-07-09 15:42:56 +02:00
Estrella Pan
852272b860 Merge pull request #1064 from EstrellaXD/feat/anibt-search-provider 2026-07-09 15:42:45 +02:00
Estrella Pan
0a20eadcec Merge branch '3.3-dev' into main for 3.3.3 2026-07-09 15:42:34 +02:00