InfinityPacer
df4d697845
fix(user): harden profile and MFA workflows ( #666 )
2026-08-11 23:17:58 +08:00
InfinityPacer
3631cd1f22
test(user): cover user management workflows ( #664 )
2026-08-11 15:29:48 +08:00
jxxghp
bb53a181a9
feat(music): add audio quality controls
2026-08-10 10:23:02 +08:00
jxxghp
2a01a2ffe0
feat(discover): persist tab visibility settings
2026-08-09 23:27:41 +08:00
jxxghp
70bb6e1040
feat(music): add MusicAlbumView, MusicArtistView, and MusicDetailView components
...
- Implement MusicAlbumView for displaying album details, including tracks and artist links.
- Create MusicArtistView to show artist information and their albums.
- Develop MusicDetailView for individual music tracks, integrating album details and related artists.
- Introduce MusicDetailLayout for consistent layout across music-related views.
- Add MusicArtistSlideView for displaying related artists in a slide format.
- Enhance user experience with loading states and error handling in NoDataFound component.
2026-08-08 12:56:22 +08:00
jxxghp
95674fa47a
ci(v3): publish frontend from v3
2026-08-07 22:08:37 +08:00
jxxghp
aa63782645
feat(download): add download history dialog
2026-08-03 08:45:35 +08:00
InfinityPacer
39395ca6b6
test(download): cover downloading task workflows ( #612 )
2026-07-31 15:25:31 +08:00
jxxghp
8a3b99ae51
feat(pwa): 完善 iOS 启动与主题恢复
2026-07-29 10:06:14 +08:00
InfinityPacer
c1bb54a31e
ci(test): run frontend checks on v2 pushes ( #572 )
2026-07-22 06:59:27 +08:00
InfinityPacer
65d93b70e4
fix(pwa): coordinate service worker lifecycle ( #569 )
2026-07-21 17:30:08 +08:00
InfinityPacer
8dc36a2007
fix(pwa): isolate service worker development mode ( #568 )
2026-07-21 16:41:55 +08:00
InfinityPacer
7f8e6952df
test(site): cover site user data dialog ( #564 )
2026-07-19 17:33:53 +08:00
InfinityPacer
2542339733
test(site): cover site resource dialog ( #563 )
2026-07-19 17:05:56 +08:00
InfinityPacer
0d094b01b5
test(site): cover site maintenance dialogs ( #562 )
2026-07-19 16:12:17 +08:00
InfinityPacer
47f007480f
test(site): cover site card and icon cache ( #561 )
2026-07-19 12:39:53 +08:00
InfinityPacer
374a0866be
test(site): cover site list flows ( #560 )
2026-07-19 08:57:44 +08:00
InfinityPacer
126a204b2a
test(media): cover media detail flows ( #559 )
2026-07-18 20:46:38 +08:00
InfinityPacer
c491195b19
test(media): cover cards and virtual slides ( #558 )
2026-07-18 18:03:39 +08:00
InfinityPacer
395401e493
ci: check changed-file formatting ( #557 )
2026-07-18 16:48:25 +08:00
InfinityPacer
52479ebbd5
test(discover): cover source and media list flows ( #556 )
2026-07-18 15:41:40 +08:00
InfinityPacer
f6d8ab8aeb
chore: add incremental Prettier tooling ( #555 )
2026-07-18 15:41:23 +08:00
InfinityPacer
985874506e
ci: add observational ESLint check ( #550 )
2026-07-18 10:24:00 +08:00
InfinityPacer
8434b75af3
chore: migrate frontend linting to ESLint 10 ( #549 )
2026-07-18 09:42:34 +08:00
InfinityPacer
435e9ecfdd
test(subscribe): cover popular and share workflows ( #545 )
2026-07-17 19:54:24 +08:00
InfinityPacer
2b310c9a97
test(subscribe): cover season, files and history dialogs ( #544 )
2026-07-17 18:25:28 +08:00
InfinityPacer
20f80d0f1f
test(subscribe): cover subscription calendar ( #541 )
2026-07-17 16:14:24 +08:00
InfinityPacer
807711cae8
test(subscribe): cover card actions ( #539 )
2026-07-17 12:57:28 +08:00
InfinityPacer
c3c323b018
test(subscribe): cover list management workflows ( #535 )
2026-07-17 06:53:56 +08:00
InfinityPacer
8a069db55e
test(subscribe): cover subscription management flows ( #530 )
2026-07-16 17:37:43 +08:00
InfinityPacer
199693abf8
test: introduce frontend unit testing foundation ( #529 )
2026-07-16 14:53:18 +08:00