Commit Graph

19 Commits

Author SHA1 Message Date
bvandeusen 9ab5d709c8 fix(test): DownloadEventRow row shows platform, not artist name
The row template renders status + platform (PlatformChip) + time + counts;
the artist isn't displayed there. Assert on 'Completed'/'Patreon' instead.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-29 13:16:33 -04:00
bvandeusen 44410db492 test(I2): vitest component smoke tests for high-risk UI
Adds @vue/test-utils + happy-dom and mounts CredentialCard, DownloadEventRow,
PostCard, ActiveDownloadsPanel, QueueStatusBar, asserting they render without
throwing and surface key content — catching the dead-binding / render-error
class (e.g. the last_verified_at regression, guarded explicitly). Vuetify
components are left unresolved (Vue renders unknown elements + slots), so no
Vuetify-plugin setup is needed; only RouterLink is stubbed. Per-file
happy-dom env via docblock keeps the existing node-env specs untouched.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-29 12:34:58 -04:00
bvandeusen 397c21c88e feat(fc3c): downloads Pinia store + sources.checkNow action + vitests
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 20:45:45 -04:00
bvandeusen 408971a798 fix(fc3b): SourceFormDialog + SubscriptionsView read platforms store; drop sources.loadPlatforms
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 18:39:44 -04:00
bvandeusen e83747b085 feat(fc3b): platforms + credentials Pinia stores + vitests
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 18:37:45 -04:00
bvandeusen ded5e5f642 feat(fc3a): sources Pinia store + vitest
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 12:56:22 -04:00
bvandeusen cba662a900 feat(attachments): downloadable attachments in ProvenancePanel + PostInfoHeader
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 11:17:14 -04:00
bvandeusen b33253429a feat(provenance): gallery store post_id filter (mutually exclusive with tag_id)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 20:16:09 -04:00
bvandeusen 7bfd700671 feat(provenance): provenance store (cached image/post lookups)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 20:15:42 -04:00
bvandeusen 63a7cbdde4 feat(provenance): locale-independent formatPostDate util
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 20:15:23 -04:00
bvandeusen 4fb176faf6 feat(reader): seriesReader store + pure scroll/progress/clamp helpers
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 16:29:57 -04:00
bvandeusen f52c31367a feat(reader): immersive series-read route + route-aware AppShell (suppress TopNav)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 16:29:21 -04:00
bvandeusen 9e96525234 fix(test): seriesManage reorder spec must not JSON.parse the bodyless GET refresh
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 12:21:15 -04:00
bvandeusen b19aff198e feat(series): seriesManage Pinia store + pure moveItem reorder helper
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 23:36:44 -04:00
bvandeusen 349d8e50ef feat(bulk): gallerySelection Pinia store with order, mode, bulk actions
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 18:03:54 -04:00
bvandeusen 1d1574e586 feat(frontend): tagDirectory rename and merge store actions
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 13:41:20 -04:00
bvandeusen 5faa19234d fix(fc2c-i): assert / redirect via navigation, not resolve() 2026-05-15 21:29:52 -04:00
bvandeusen 798d1a7fbc feat(fc2c-i): front-door redirect, /gallery move, discovery routes 2026-05-15 21:11:06 -04:00
bvandeusen 61f9401fde feat(fc2c-i): usePolyMasonry shortest-column distribution 2026-05-15 21:10:21 -04:00