16 Commits
Author SHA1 Message Date
QiuSWandClaude Opus 5 152c6e5353 fix: resolve submitted cover operations to a definite result
A cover task that hit one transient getTask error stayed "submitted" with its
lock forever, and the operation query never re-checked Huohanhan. Task results
are now classified as succeeded, failed or unknown; waits retry transient
errors, definite failures release the lock, and queries re-check once.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 10:56:35 +08:00
QiuSW 91cde03032 fix: wait for Huohanhan sync terminal status
Build / build (push) Canceled after 0s
CodeQL / Analyze (go) (push) Canceled after 0s
build / Build (push) Canceled after 0s
GitHub Actions Mirror / mirror_to_gitee (push) Canceled after 0s
GitHub Actions Mirror / mirror_to_gitlab (push) Canceled after 0s
2026-09-19 16:13:19 +08:00
QiuSW a8d9833e9c fix: validate cover image lists before replacement 2026-09-18 10:17:12 +08:00
QiuSW 75edd0b06a feat: add idempotent replace-first cover strategy 2026-09-18 09:59:48 +08:00
QiuSWandClaude Opus 5 207ec51a0c fix: rehost cover URLs through Huohanhan and keep existing images
Huohanhan rejects main images it cannot reach, so a coverUrl is now copied
into Huohanhan storage first. The image order also kept dropping the old main
image when fewer than 9 images existed; only a full list loses its first image.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 15:09:38 +08:00
QiuSWandClaude Opus 5 0ea7cde293 feat: add Shopee product image upload and admin management page
Build / build (push) Canceled after 0s
CodeQL / Analyze (go) (push) Canceled after 0s
build / Build (push) Canceled after 0s
GitHub Actions Mirror / mirror_to_gitee (push) Canceled after 0s
GitHub Actions Mirror / mirror_to_gitlab (push) Canceled after 0s
Product covers need an anonymously reachable image URL, so images are
stored locally per shopeeId and served under /uploads/images, with a
backend page to upload, search, batch-delete and set the share base URL.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 14:21:23 +08:00
QiuSW 9820e0c62e feat: add Shopee title and cover update APIs 2026-09-17 09:14:55 +08:00
QiuSW f8c90004f1 feat: add redis huohanhan auth cache 2026-09-14 10:24:15 +08:00
QiuSW f384a44d1e fix: retry transient shopee sync status responses 2026-09-14 09:09:07 +08:00
QiuSW 8491c5bfef feat: sync shopee product before detail 2026-09-14 08:49:53 +08:00
QiuSW 69b20aa38e feat: persist huohanhan product detail 2026-09-12 12:06:08 +08:00
QiuSW 2871bb6c00 fix: initialize shopee request context and admin sync route 2026-09-12 10:27:17 +08:00
QiuSW fe625aba61 feat: persist huohanhan auth state in mysql 2026-09-12 09:48:01 +08:00
QiuSW 3803450e65 fix: use one sqlite driver in api process 2026-09-12 09:37:32 +08:00
QiuSW 3736db1157 fix: avoid sqlite driver registration conflict 2026-09-11 17:41:54 +08:00
QiuSW bb2a19bfbe feat: migrate huohanhan client and document contract 2026-09-11 16:06:45 +08:00