Commit Graph

41 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
9790dce06c fix(passkey): add data field to ResponseModel for passkey login
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 19:37:53 +01:00
Estrella Pan
22870b8ae3 feat(auth): support usernameless passkey login (discoverable credentials)
- Change resident key requirement from PREFERRED to REQUIRED during registration
- Add discoverable authentication options (empty allowCredentials)
- Add verify_discoverable_authentication method in WebAuthn service
- Update auth strategy to lookup user from credential when username not provided
- Make username optional in frontend passkey login flow

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 19:23:39 +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
c5f4919e15 feat(rss): add connection status tracking and display
Track RSS feed reachability during refresh cycles. Each feed now stores
connection_status (healthy/error), last_checked_at, and last_error.
The RSS management page shows a green "Connected" tag for healthy feeds
and a red "Error" tag with tooltip for failed feeds.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 21:45:04 +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
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
EstrellaXD
d2cfd9b150 feat: add WebAuthn passkey authentication support
- Add passkey login as alternative authentication method
- Support multiple passkeys per user with custom names
- Backend: WebAuthn service, auth strategy pattern, API endpoints
- Frontend: passkey management UI in settings, login option
- Fix: convert downloader check from sync requests to async httpx
  to prevent blocking the event loop when downloader unavailable

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 14:57:00 +01:00
KotaHv
f61ff16e91 fix: support episode as int or float 2024-09-15 11:06:21 +08:00
100gle
e6f029ba72 bugfix(experimental): add api version for openai api base automatically 2023-11-21 21:40:16 +08:00
100gle
94a32b3af3 feat(openai): support azure openai 2023-10-08 16:15:16 +08:00
100gle
3ead13f4b0 chore(format): fix the ruff checking issue 2023-10-02 13:16:31 +08:00
100gle
2751bcabb2 refactor: flatten openai configuration options 2023-10-01 13:00:05 +08:00
100gle
03304baea6 feat: add openai configuration to web ui 2023-09-28 09:08:17 +08:00
100gle
bfbf7aed56 feat: add experimental openai configuration 2023-09-27 21:46:38 +08:00
zthxxx
7d50e360ed fix: 修复 bangumi search API 中的流式接口,webui 对应接口定义方法改造
- StreamingResponse 换成 EventSourceResponse,即 Server Send Event Source 方式发送数据
- webui 中 search 接口改成 rxjs Observable 方式,
  这次来不及改到 vue 里,但是写了接口 usage example;
- 顺手补了一些 vscode 通用的开发配置,
  补了之前配置文件解析漏了一个可用环境变量的 host 字段
2023-08-31 23:48:07 +08:00
EstrellaXD
7ccee98e2e fix: bugs, add disable rss api. 2023-08-29 19:28:44 +08:00
EstrellaXD
a872622b57 change: add universal api response model in src. 2023-08-20 15:11:16 +08:00
EstrellaXD
bcdff91185 fix: update search default option. 2023-08-20 14:16:58 +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
ec97edfe8d fix: fix bugs, add more api. 2023-08-12 17:41:23 +08:00
EstrellaXD
dd5c918703 change: change rss item database, add more option for split rss link. 2023-08-12 15:40:43 +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
1c4e8dc293 fix: old data support problem. 2023-08-07 20:14:45 +08:00
EstrellaXD
d768299c7f fix: fix bugs. 2023-08-06 16:04:38 +08:00
EstrellaXD
94579d6b12 fix: engine bugs 2023-08-06 01:34:59 +08:00
EstrellaXD
80ea9ec657 feat: Complete RSS engine. 2023-08-04 19:02:29 +08:00
estrella
472a5093e9 refactor: database and rss engine 2023-08-03 14:16:52 +08:00
estrella
f80c3bffb4 Merge branch '3.1-dev' into self-rss
# Conflicts:
#	.gitignore
#	backend/src/module/database/bangumi.py
#	backend/src/module/database/orm/update.py
#	backend/src/module/models/__init__.py
#	backend/src/module/rss/poller.py
2023-07-31 17:26:09 +08:00
estrella
9b99e6c591 test: add mock test to database. 2023-07-31 16:00:54 +08:00
estrella
d24acc60d5 fix: Userdatabase bugs 2023-07-30 21:49:34 +08:00
estrella
3ca9a9737f feat: update hand-made orm to sqlmodel (UserDatabase) 2023-07-30 21:33:29 +08:00
estrella
9ae187a05d feat: update hand-made orm to sqlmodel (BangumiDatabase) 2023-07-30 21:27:03 +08:00
EstrellaXD
4254651b63 temp: save 2023-06-21 15:48:24 +08:00
estrella
adbe3a7aae feat: add rss engine 2023-06-16 21:10:35 +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
zthxxx
70716a19f7 feat: support parse config file with Variable Expansion for some secret key 2023-06-09 02:18:00 +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