Commit Graph

1809 Commits

Author SHA1 Message Date
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
b3be217e4f chore: add passkey test server and v3.2 changelog
- Add minimal test server for passkey development (no downloader check)
- Add changelog for version 3.2 features

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 16:15:37 +01:00
EstrellaXD
cd233881bd fix(backend): restore sync Database interface, isolate async for passkey
The previous refactoring broke backward compatibility by converting
Database from Session-extending sync class to a standalone async class.
This broke RSSEngine, startup code, and auth flows.

- Restore Database(Session) with sync interface for legacy code
- Restore UserDatabase to sync methods
- Restore security/api.py and auth.py to sync calls
- Passkey API now uses async_session_factory directly
- PasskeyAuthStrategy uses async sessions independently
- Remove unused db_session from engine.py

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:59:26 +01:00
EstrellaXD
29e4c16b40 fix(webui): improve passkey UI and error handling
- Add secondary button type to ab-button with proper styling
- Fix small button sizing (min-width instead of fixed width)
- Add btn-content wrapper for icon+text alignment in buttons
- Add config-passkey panel to settings page
- Improve WebAuthn error messages with DOMException handling
- Prevent duplicate error messages from axios interceptor
- Fix Vite proxy to preserve Origin header for WebAuthn

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:49:42 +01:00
EstrellaXD
41397bd676 Merge branch 'feature/passkey-login' into feature/ui-redesign
# Conflicts:
#	webui/src/components/ab-bangumi-card.vue
#	webui/src/components/ab-container.vue
#	webui/src/components/ab-fold-panel.vue
#	webui/src/components/ab-search-bar.vue
#	webui/src/components/basic/ab-search.vue
#	webui/src/components/basic/ab-tag.vue
#	webui/src/components/layout/ab-topbar.vue
#	webui/src/pages/index.vue
#	webui/src/pages/index/bangumi.vue
#	webui/src/pages/index/config.vue
#	webui/src/pages/index/player.vue
#	webui/src/pages/login.vue
#	webui/types/dts/auto-imports.d.ts
#	webui/vite.config.ts
2026-01-23 15:08:16 +01:00
EstrellaXD
027222a24d fix: resolve WebAuthn passkey compatibility with py_webauthn 2.7.0
- Fix aaguid type (str not bytes) in registration verification
- Fix missing credential_backup_eligible field (use credential_device_type)
- Remove invalid credential_id param from verify_authentication_response
- Fix origin detection to use browser Origin header for WebAuthn verification
- Add async database engine support (aiosqlite) for passkey operations
- Convert UserDatabase to async-compatible with sync/async session detection
- Update Database class to support both sync and async context managers

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:07:18 +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
EstrellaXD
0c69498089 fix: requirements problem 2026-01-23 14:57:00 +01:00
EstrellaXD
c7f793a9f6 fix: secure problem, openai.py 2026-01-23 14:57:00 +01:00
EstrellaXD
72679cca59 feat(webui): complete UI redesign with design system, dark mode, and accessibility
Implement a comprehensive UI overhaul using CSS custom properties for theming,
scoped SCSS for all components and pages, dark/light mode toggle with flash
prevention, page transitions, ARIA accessibility attributes, and responsive
layout fixes. Fix VueUse auto-import configuration and dev proxy target.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 14:54:26 +01:00
EstrellaXD
9c5474d8e9 feat: migrate backend to uv package manager
Replace pip + requirements.txt with uv for dependency management.

- Multi-stage Dockerfile using ghcr.io/astral-sh/uv builder image
- CI updated to use astral-sh/setup-uv@v4
- Ruff config moved to [tool.ruff.lint] (fixes deprecation)
- Transitive deps removed, missing direct deps added (requests, PySocks, urllib3)
- Database layer migrated to async (AsyncSession + aiosqlite)
- Tests updated to match async database interface

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 12:56:23 +01:00
EstrellaXD
bfba010471 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-22 11:50:55 +01:00
EstrellaXD
b4d90e2a11 fix: requirements problem 2025-04-29 15:11:10 +02:00
EstrellaXD
1ed87b3dfd fix: secure problem, openai.py 2025-04-29 15:05:25 +02:00
Rewrite0
81b3a4aacd Merge pull request #863 from EstrellaXD/3.1-dev
3.1.18
3.1.18
2024-09-26 11:43:53 +08:00
Rewrite0
02ed66e9f8 Merge pull request #862 from Rewrite0/3.1-dev
fix: program start error
2024-09-26 11:42:17 +08:00
Rewrite0
c7dc25f2f3 fix: program start error 2024-09-26 11:41:09 +08:00
Rewrite0
58e07ea7f2 Merge pull request #860 from EstrellaXD/3.1-dev
3.1.17
3.1.17
2024-09-26 09:22:30 +08:00
Rewrite0
18471d056f Merge pull request #859 from Rewrite0/3.1-dev
fix: program restart error
2024-09-26 09:18:32 +08:00
Rewrite0
22dfed741e fix: program restart error 2024-09-26 09:15:54 +08:00
Rewrite0
95dc62ee69 Merge pull request #857 from EstrellaXD/3.1-dev
3.1.16
3.1.16
2024-09-24 19:17:00 +08:00
Rewrite0
ca0d28398a Merge pull request #856 from Rewrite0/3.1-dev
fix: #855
2024-09-24 19:14:24 +08:00
Rewrite0
94329ae544 fix: #855 2024-09-24 19:08:50 +08:00
Estrella Pan
07bb7f2adc Merge pull request #849 from EstrellaXD/3.1-dev
3.1.15
3.1.15
2024-09-23 18:39:52 +08:00
EstrellaXD
d5b84b9085 fix: test openai problem. 2024-09-23 18:09:16 +08:00
Rewrite0
8972373cb7 fix: vue-tsc error 2024-09-23 16:53:02 +08:00
Rewrite0
4f5772fbe3 Merge pull request #846 from Rewrite0/webui
Update WebUI
2024-09-23 16:45:41 +08:00
Rewrite0
cee640d9af fix: type error 2024-09-23 16:38:02 +08:00
Rewrite0
ec2856bf5a refactor: refactor search logic & remove rxjs 2024-09-23 16:07:48 +08:00
Rewrite0
a2eb8d3537 fix: type error 2024-09-23 16:04:31 +08:00
Rewrite0
fcdcde07ed feat: update deps 2024-09-23 15:49:52 +08:00
Rewrite0
4e7bcd743a fix: type error 2024-09-23 12:37:54 +08:00
Rewrite0
9aadcfd122 feat: added mobile search styles 2024-09-23 11:55:50 +08:00
Rewrite0
5092c7f093 feat: optimize mobile Bangumi list styles 2024-09-23 11:55:50 +08:00
Rewrite0
fa3d5a158a feat: add image component with adjustable aspect ratio 2024-09-23 11:55:50 +08:00
Rewrite0
bbbe66cfa0 fix: mobile end unable to display full screen 2024-09-23 11:55:50 +08:00
EstrellaXD
cbc3f1f91e fix: temp fix ab cannot startup without qb live.
Close #839
2024-09-15 11:22:01 +08:00
EstrellaXD
54d34068bc Merge remote-tracking branch 'origin/3.1-dev' into 3.1-dev 2024-09-15 11:07:08 +08:00
KotaHv
879fd6b26d test: add new cases for test_torrent_parser 2024-09-15 11:06:21 +08:00
KotaHv
f61ff16e91 fix: support episode as int or float 2024-09-15 11:06:21 +08:00
KotaHv
bbb19b3002 fix: Resolve issue #805 2024-09-15 11:06:21 +08:00
Estrella Pan
073e809bae Merge pull request #784 from KotaHv/fix-filter
Fix: changed the global RSS parser filter requires program restart to take effect
2024-09-15 11:00:40 +08:00
Estrella Pan
0f3479c236 Merge pull request #816 from KotaHv/fix-805
fix: #805 and support episode as int or float
2024-09-15 10:56:30 +08:00
Estrella Pan
dd1c309ec4 Merge pull request #806 from Jeremy-Hibiki/main
fix: fix multi-line title post-processing in raw_parser
2024-09-15 10:43:32 +08:00
KotaHv
2b6fa65a9f test: add new cases for test_torrent_parser 2024-07-24 15:11:05 +08:00
KotaHv
ee36b05f95 fix: support episode as int or float 2024-07-24 14:03:20 +08:00
KotaHv
6f43949585 fix: Resolve issue #805 2024-07-24 13:53:34 +08:00
Jeremy-Hibiki
89f0754d69 fix: fix multi-line title post-processing in raw_parser
close #679, #794
related pr #685
2024-07-14 17:47:41 +08:00
KotaHv
29f5617e78 fix: changed the global RSS parser filter requires program restart to take effect 2024-06-11 01:15:12 +08:00
Rewrite0
7913061f45 ci: modify process 2024-05-31 16:37:22 +08:00