Commit Graph
23 Commits
Author SHA1 Message Date
wrt122311andClaude Sonnet 4.6 f1553d2eeb feat: add ranking mode selector (日榜/周榜/月榜 etc.)
Add a sub-toolbar in the ranking tab with 7 modes: day/week/month/
day_male/day_female/week_original/week_rookie. Clicking a mode clears
the grid and reloads with the new mode parameter.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 20:12:58 +08:00
wrt122311andClaude Sonnet 4.6 0f1e087d64 fix: filter invalid kwargs from recommended next_url pagination
illust_recommended's next_url contains array params like "viewed[]"
which are invalid Python identifiers and crash **kwargs unpacking.
Filter to isidentifier() keys only so pagination works correctly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v1.1.0
2026-04-24 20:07:25 +08:00
wrt122311andClaude Sonnet 4.6 5327bf1adc fix: replace api.next_qs with stdlib URL parser for compatibility
pixivpy3 versions without next_qs method caused infinite scroll to fail.
Implement _next_qs() using urllib.parse as a drop-in replacement.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 13:09:57 +08:00
wrt122311andClaude Sonnet 4.6 e095d8f25d fix: use F.interpolate to resize tensors before stacking
Replace PIL-level conditional resize with PyTorch F.interpolate so that
shape comparison and resizing happen at the tensor level, fixing the
torch.stack size mismatch error when selecting images of different
resolutions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 13:07:23 +08:00
wrt122311andClaude Sonnet 4.6 cfa327b728 fix: replace IntersectionObserver with scroll event for infinite scroll
IntersectionObserver with root:pane is unreliable inside ComfyUI DOM
widgets. Replace with scroll event listeners on the pane element.
Also: auto-fill pane when initial batch doesn't cause overflow, and
abort stale async loads when tab/artist changes mid-flight.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 12:59:08 +08:00
wrt122311andClaude Sonnet 4.6 b19db544e8 feat: replace modal popup with inline node DOM widget
The browser UI is now embedded directly inside the ComfyUI node using
addDOMWidget. Each node instance gets its own independent state. All DOM
queries are scoped to the node container so multiple nodes work correctly.
Mouse/wheel events are stopped from propagating to the canvas.
Default node size 700x500; user can resize freely.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 12:49:37 +08:00
wrt122311andClaude Sonnet 4.6 2c4c24531e fix: embed original URL in widget to eliminate serial illust_detail API calls
_fmt_illusts now includes original_url from browse data (meta_single_page /
meta_pages). The confirm button writes id|url pairs to the widget. The node
parses the pairs and downloads directly, removing N extra API calls that
were being rate-limited and silently failing for multi-image selections.
Falls back to get_original_url for legacy plain-ID widget values.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v1.0.0
2026-04-24 12:38:11 +08:00
wrt122311andClaude Sonnet 4.6 b26e9473f2 feat: add selected images panel and clear-all button
- New "已选" tab shows all selected images in a grid; each card has
  an X button (top-right) to remove that image from the selection
- "清除全部" button in header clears all selections at once
- illustCache persists illust thumbnails across modal opens so the
  panel can display images selected in previous sessions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 12:28:54 +08:00
wrt122311andClaude Sonnet 4.6 96bcf56cea fix: resize images to uniform size before stacking into batch tensor
Multiple selected artworks can have different resolutions; torch.stack
requires equal shapes. Resize all to the first image's dimensions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 12:23:37 +08:00
wrt122311andClaude Sonnet 4.6 26d4fc9c10 fix: use iOS app User-Agent for image downloads
Pixiv CDN blocks python-requests default UA with 403. Using the same
PixivIOSApp UA as the mobile API client passes CDN checks.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 08:52: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 de9a907219 docs: update README with two-tab login instructions
Document Refresh Token (gppt) as recommended login method and OAuth
as fallback. Add FAQ entry for pixiv:// URL not appearing issue.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 08:32:27 +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 e5659f96aa fix: login UI - fix CSS display bug, clearer step instructions, validate pixiv:// URL 2026-04-24 08:19:48 +08:00
wrt122311 c5311068bc docs: add README with usage guide and example workflows 2026-04-24 08:06:45 +08:00
wrt122311 1e356c0f91 feat: modal CSS and JS extension (login, browser, artist tab) 2026-04-24 07:41:55 +08:00
wrt122311 99d0722c25 feat: API routes and node registration 2026-04-24 07:40:33 +08:00
wrt122311 1805b032b4 feat: PixivBrowser node execute() 2026-04-24 07:40:08 +08:00
wrt122311 f33e36a1b8 feat: pixiv_client auth, fetch and download methods 2026-04-24 07:39:43 +08:00
wrt122311 bde40e83a1 feat: config token persistence 2026-04-24 07:38:54 +08:00
wrt122311 145f6bf204 feat: project scaffold 2026-04-24 07:38:40 +08:00
wrt122311 243c37a903 feat: add implementation plan 2026-04-24 07:29:32 +08:00
wrt122311 45b1aa50d0 Add Pixiv ComfyUI node design spec 2026-04-24 07:20:16 +08:00