7 Commits
Author SHA1 Message Date
wrt122311andClaude Sonnet 4.6 3625b18ad5 fix: treat saved refresh token as logged-in on startup to skip login prompt
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 09:00:19 +08:00
wrt122311andClaude Sonnet 4.6 cc84419a3c feat: add search tab and fix masonry layout gaps
- Add search pane with artwork/tag search and artist search, both with
  infinite scroll and tab caching
- Replace CSS columns masonry with JS shortest-column algorithm to
  eliminate gaps caused by column-fill:balance
- Add /pixiv/search/illusts and /pixiv/search/users API endpoints
- Search results: illusts use masonry grid, artists use list layout

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 07:24:56 +08:00
wrt122311andClaude Sonnet 4.6 a841f17316 feat: bookmark toggle, artist view button, follow artist
- Bookmark button now toggles: ♥ click cancels bookmark via bookmark_delete API
- Add is_followed to user data in _fmt_illusts
- Add POST /pixiv/bookmark_delete and POST /pixiv/follow endpoints
- Add '↗' artist button on each card (hover): jumps to artists tab and
  loads that artist's works with name header + follow/已关注 badge
- Follow button in artist works header; replaces itself with 已关注 on success
- Artist works area restructured to flex-column for header + scrollable grid

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 21:00:49 +08:00
wrt122311andClaude Sonnet 4.6 85aa52acc3 feat: add bookmark button to image cards
- Include is_bookmarked in _fmt_illusts response
- Add POST /pixiv/bookmark endpoint (add-only, never removes)
- Show heart button on each card: filled pink if already bookmarked,
  hidden until hover if not; clicking only adds, never toggles off

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 20:49:50 +08:00
wrt122311andClaude Sonnet 4.6 2ed41ce01f fix: handle access token expiry and surface download errors
- Track auth time; re-auth after 55 min so node execution doesn't hit
  expired access tokens (1-hour TTL)
- Use API's additional_headers in download_image_bytes for consistency
- Collect per-image error messages and include them in the ValueError
  so the ComfyUI error dialog shows the actual failure reason

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 08:47:47 +08:00
wrt122311andClaude Sonnet 4.6 8cdedc815f fix: add refresh token direct login, two-tab login UI
Add POST /pixiv/auth/set_token endpoint for direct refresh_token auth.
Redesign login page with two tabs: recommended gppt token flow and
fallback OAuth flow with pixiv:// URL validation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 08:27:19 +08:00
wrt122311 99d0722c25 feat: API routes and node registration 2026-04-24 07:40:33 +08:00