Commit Graph

42 Commits

Author SHA1 Message Date
Estrella Pan
66c7127f21 feat(offset): add automatic season/episode offset detection
- Add offset detector to identify season mismatches between RSS and TMDB
- Only suggest season_offset (user sets episode_offset manually)
- Add background scanner for existing bangumi rules
- Add detect-offset and dismiss-review API endpoints
- Add warning banner in edit dialog with auto-detect button
- Add iOS-style notification badge for needs_review items
- Yellow badge with "!" for warnings, purple badge for multi-rule count
- Combined badge shows "! | 2" when both conditions apply
- Yellow glow animation on cards needing review
- Highlight warning items in rule selection popup

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 21:03:18 +01:00
Estrella Pan
55b15ea8fe feat: add bangumi archive and episode offset features (#958)
* feat: add bangumi archive and episode offset features

Archive Feature:
- Add archived field to Bangumi model with database migration (v4)
- Add archive/unarchive API endpoints (PATCH /bangumi/archive/{id})
- Add auto-archive for ended series via TMDB metadata refresh
- Add collapsible archived section in UI with visual styling
- Add archive/unarchive button in edit rule popup

Episode Offset Feature:
- Extract series_status and season_episode_counts from TMDB API
- Add suggest-offset API endpoint with auto-detection logic
- Apply offset in renamer gen_path() for episode numbering
- Add offset field with "Auto Detect" button in rule editor
- Look up offset from database when renaming files

The offset auto-detection calculates the sum of episodes from all
previous seasons (e.g., if S01 has 13 episodes, S02E18 → S02E05
with offset=-13).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: add changelog for bangumi archive and episode offset features

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 09:13:49 +01:00
Estrella Pan
cba4988e52 perf: comprehensive performance optimization for backend and frontend
Backend: shared HTTP connection pool, concurrent RSS/torrent/notification
operations, TMDB/Mikan result caching, database indexes, pre-compiled
regex, __slots__ on dataclasses, O(1) set-based dedup, frozenset lookups,
batch RSS enable/disable, asyncio.to_thread for blocking calls.

Frontend: shallowRef for large arrays, computed table columns, watch
instead of watchEffect, scoped style fix, typed emits, noImplicitAny,
useIntervalFn lifecycle management, shared useClipboard instance,
shallow clone for shared template objects.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 20:46:45 +01:00
Estrella Pan
dcc60ce9a5 fix(db,downloader): fix server error on upgrade from 3.1.x to 3.2.x (#956)
- Fix 'dict' object has no attribute 'files' in renamer by using dict
  access for qBittorrent API responses and fetching file lists via
  separate torrents/files endpoint
- Replace version-file-based migration with schema_version table to
  reliably track and apply database migrations on every startup
- Add air_weekday column migration as versioned migration entry
- Add torrents_files method to QbDownloader and Aria2Downloader

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-01-24 18:26:57 +01:00
Estrella Pan
a98a162500 feat: fix search, poster serving, and add hover overlay UI for cards
- Fix search store exports to match component expectations (inputValue,
  bangumiList, onSearch) and transform data to SearchResult format
- Fix poster endpoint path check that incorrectly blocked all requests
- Add resolvePosterUrl utility to handle both external URLs and local paths
- Move tags into hover overlay on homepage cards and calendar cards
- Show title and tags on poster hover with dark semi-transparent styling
- Add downloader API, store, and page
- Update backend to async patterns and uv migration changes
- Remove .claude/settings.local.json from tracking

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 21:20:12 +01:00
EstrellaXD
2a757e8f2c feat: add calendar view with Bangumi.tv schedule integration
Add weekly broadcast schedule page showing subscribed anime grouped by
day-of-week. Backend fetches air_weekday from Bangumi.tv calendar API
and matches titles. Frontend displays responsive grid (desktop) and
vertical list (mobile). Edit popup moved to parent layout to fix
KeepAlive conflicts, and restyled with purple theme.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 17:51:19 +01:00
KotaHv
2149182a54 fix: rss.parser set to default value when subscribe Bangumi 2024-01-24 21:09:25 +08:00
EstrellaXD
c7c1cac3ad feat: add refresh poster api. 2023-10-12 11:57:54 +08:00
EstrellaXD
cf7424b9ad fix: bug of delete bangumi. 2023-10-11 18:38:45 +08:00
EstrellaXD
bed3757bb7 fix: 通过订阅获得的番剧后续下载出现问题的情况。 2023-10-11 16:35:03 +08:00
EstrellaXD
8e5d7d2e02 fix: collector torrent not added bug. 2023-10-03 22:46:58 +08:00
EstrellaXD
7662f1d024 fix: 番剧收集无法进入数据库的问题。 2023-10-03 21:51:32 +08:00
EstrellaXD
910e180570 fix: 更改番剧规则名称无法更新后续种子下载路径的问题。 2023-10-03 19:38:42 +08:00
100gle
3ead13f4b0 chore(format): fix the ruff checking issue 2023-10-02 13:16:31 +08:00
EstrellaXD
a608a541b1 feat: fix path problem. 2023-10-01 03:47:17 +08:00
EstrellaXD
a4f1bbd15f feat: update searcher 2023-09-28 16:04:52 +08:00
EstrellaXD
bf6fda7be8 feat: add refresh poster api. 2023-09-26 16:12:15 +08:00
EstrellaXD
ba1674c6bf fix: collector season limit. Fix #470 2023-09-25 19:17:31 +08:00
EstrellaXD
a5f9f858bc fix: collector season limit 2023-09-25 19:14:07 +08:00
estrella
46f643fb40 fix: update rule. 2023-09-17 16:23:38 +08:00
EstrellaXD
82e6cce8cd chore: add type hint in manage/torrent 2023-09-10 16:18:28 +08:00
EstrellaXD
8ce468b6c2 Merge remote-tracking branch 'origin/3.1-dev' into 3.1-dev 2023-09-10 14:46:40 +08:00
EstrellaXD
f779dbd518 fix: manage problem. 2023-09-10 14:46:29 +08:00
EstrellaXD
746417aa45 fix: 通知海报出错。 2023-09-10 12:50:07 +08:00
EstrellaXD
cfddecc0c1 feat: add animation. Speed up subscribe. 2023-09-10 01:22:46 +08:00
EstrellaXD
396fd73f9d fix: request error bugs.
webui: move func to store reduce code in component.
2023-09-07 18:48:34 +08:00
EstrellaXD
9953a76a39 webui: change v-bind model. add transition effect in mian page. 2023-09-07 01:57:19 +08:00
EstrellaXD
e5af3d9924 fix: collect api bug. 2023-08-30 01:18:54 +08:00
EstrellaXD
e2a218b744 change: api change. 2023-08-22 15:27:09 +08:00
EstrellaXD
6cac596d85 fix: leak of response model. 2023-08-13 18:13:25 +08:00
EstrellaXD
cf3df1da75 change: rss_item key 2023-08-13 15:02:57 +08:00
EstrellaXD
0dc5ac91bb fix: collector bugs 2023-08-10 19:59:14 +08:00
EstrellaXD
e120a1c61a feat: add version check func. add universal response func. 2023-08-09 19:19:17 +08:00
EstrellaXD
69a4daca0c chore: small change in api. 2023-08-08 14:12:19 +08:00
EstrellaXD
4d2c4b80a7 fix: fix bugs. Remove unnecessary code. 2023-08-06 17:01:46 +08:00
EstrellaXD
d768299c7f fix: fix bugs. 2023-08-06 16:04:38 +08:00
estrella
9b99e6c591 test: add mock test to database. 2023-07-31 16:00:54 +08:00
100gle
ebb5e0995c feat: use pathlib to replace os.path for handling file path 2023-07-03 20:38:19 +08:00
100gle
e336fd7402 chore: style with black 2023-06-13 22:15:52 +08:00
EstrellaXD
de832888ac Merge branch '3.0-dev' into 3.1-dev
# Conflicts:
#	backend/src/module/checker/checker.py
#	backend/src/module/database/bangumi.py
#	backend/src/module/notification/notification.py
#	backend/src/module/notification/plugin/bark.py
#	backend/src/module/parser/analyser/tmdb_parser.py
2023-06-13 22:02:48 +08:00
100gle
60a66fca69 ci: fix lint error 2023-06-07 20:58:11 +08:00
zthxxx
069a86faa0 chore: move Auto_Bangumi/src -> Auto_Bangumi/backend/src, prepare for merge WebUI repo 2023-06-06 22:33:00 +08:00