Commit Graph

400 Commits

Author SHA1 Message Date
root 1bc4df958f refactor(admin-web): drop recent-articles fallback from templates records
Remove the recentArticlesQuery fallback path so the templates record
table renders straight from the article list query, simplifying polling,
pagination and loading state.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 23:39:18 +08:00
root 5d29703265 perf(admin-web): reduce redundant polling and cover active publish status
Frontend CI / Frontend (push) Successful in 3m35s
Backend CI / Backend (push) Failing after 9m46s
Unify list/detail poll intervals to 5s and skip refetch while a query is
already in flight, replacing broad invalidateQueries cascades with targeted
refetches. Poll now also triggers on active publish status via the new
hasActivePublishStatus helper. Dedupe concurrent refreshBrands calls with a
shared promise and skip the redundant AppShell refresh when already
initialized. Gate publish-record loading on popover open.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 23:16:47 +08:00
root 2c11910b6c chore(admin-web): add favicon
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 22:56:45 +08:00
root 832d7f507d feat(publish): cancel stale queued publish tasks after queue timeout
Add CancelStaleQueuedPublishTasks to abort publish tasks that sit in the
queue past a configurable timeout (default 3 days) without being claimed by
a desktop client, so they no longer linger indefinitely as 'queued'. The
lease recovery worker runs the cleanup each cycle and reports a
cancelled_queued count; the timeout is configurable via job run config.
Aborted tasks carry a publish_queue_timeout error payload with a readable
Chinese duration, and the admin-web publish summary surfaces it as an
auto-cancelled queue-timeout message.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 22:56:37 +08:00
root 9dd26145b3 fix(desktop-client): treat title-length validation as definitive publish failure
Extract the definitive-failure regex into a named constant and add title
length/count validation patterns so submit-phase failures like
"标题长度应该在2-30字之间" stay non-retryable instead of being classified
as uncertain.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 22:31:56 +08:00
root 25e706fb14 docs(admin-web): reword publish hint to avoid naming RabbitMQ
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 22:31:49 +08:00
root 71233b6715 feat(brand): add brand sort order and drag-to-reorder
Add a sort_order column to brands with a migration, expose a
PUT /api/tenant/brands/order reorder endpoint, and wire the
admin-web BrandsView with drag-and-drop reordering plus i18n.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 21:48:20 +08:00
root fbc69c01b0 fix(admin-web): map missing publish statuses and normalize lookup
Publish records with statuses like queued, pending, running, cancelled,
or unknown fell through the display map and rendered as raw enum values.

- Add queued/pending/running/cancelled/canceled/unknown entries to the
  publish status map with matching zh-CN and en-US translations
- Normalize status keys (trim + lowercase) before lookup so backend
  casing variants still resolve

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 19:30:39 +08:00
root 283e8f6b46 fix: prevent forced re-login from concurrent refresh token rotation
Rotated refresh tokens now stay valid for a 60s grace window so
concurrent refreshes (e.g. multiple browser tabs) each obtain a valid
new pair instead of being logged out. Admin-web additionally serializes
refreshes across tabs via the Web Locks API and reuses tokens already
rotated by another tab.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 20:55:19 +08:00
root eb4d870081 fix: add functions to handle and strip Deep Seek link icon nodes
Frontend CI / Frontend (push) Successful in 2m50s
2026-06-30 16:23:33 +08:00
root ced0c4ec0f Scope knowledge and image libraries by brand
Frontend CI / Frontend (push) Successful in 2m59s
Backend CI / Backend (push) Successful in 14m58s
2026-06-30 12:30:10 +08:00
root 31811b07d4 feat: add media supply billing center
Frontend CI / Frontend (push) Successful in 5m44s
Backend CI / Backend (push) Failing after 6m58s
2026-06-29 23:13:33 +08:00
root 04769dec78 fix publish record deletion
Desktop Client Build / Resolve Build Metadata (push) Successful in 26s
Frontend CI / Frontend (push) Successful in 2m47s
Backend CI / Backend (push) Failing after 10m1s
Desktop Client Build / Build Desktop Client (push) Successful in 23m3s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 29s
2026-06-26 21:04:38 +08:00
root 6780963c28 fix media supply citation attribution
Desktop Client Build / Resolve Build Metadata (push) Successful in 26s
Frontend CI / Frontend (push) Successful in 2m53s
Backend CI / Backend (push) Successful in 16m37s
Desktop Client Build / Build Desktop Client (push) Successful in 23m40s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 28s
2026-06-25 23:53:35 +08:00
root 89ef95b65d fix: capture wenxin chat api answers 2026-06-25 21:15:37 +08:00
root cbbec8da85 fix monitoring manual mark attribution
Frontend CI / Frontend (push) Successful in 2m56s
Backend CI / Backend (push) Successful in 14m47s
2026-06-25 09:31:18 +08:00
root bdfe79c921 Preserve publish record history
Frontend CI / Frontend (push) Successful in 3m15s
Backend CI / Backend (push) Successful in 14m44s
2026-06-25 01:52:26 +08:00
root 24a62fd52c fix desktop smzdm webp image upload
Frontend CI / Frontend (push) Successful in 3m13s
Desktop Client Build / Resolve Build Metadata (push) Successful in 25s
Desktop Client Build / Build Desktop Client (push) Successful in 21m47s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 25s
2026-06-25 01:11:46 +08:00
root 7a0b63f7a1 fix: update architecture settings for macOS build and bump version to 0.1.7
Backend CI / Backend (push) Successful in 16m6s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 29s
Desktop Client Build / Resolve Build Metadata (push) Successful in 24s
Desktop Client Build / Build Desktop Client (push) Successful in 22m11s
2026-06-25 00:40:36 +08:00
root ed48674ab5 fix: allow retry after definitive publish failures
Frontend CI / Frontend (push) Successful in 3m18s
Backend CI / Backend (push) Successful in 16m16s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 26s
Desktop Client Build / Resolve Build Metadata (push) Successful in 26s
Desktop Client Build / Build Desktop Client (push) Successful in 25m45s
2026-06-25 00:22:59 +08:00
root 2ec266201c fix desktop smzdm csrf publishing 2026-06-25 00:18:24 +08:00
root 590c219a64 chore: update app generation workflow
Desktop Client Build / Resolve Build Metadata (push) Successful in 26s
Frontend CI / Frontend (push) Successful in 2m58s
Backend CI / Backend (push) Successful in 16m11s
Desktop Client Build / Build Desktop Client (push) Successful in 24m1s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 28s
2026-06-24 23:39:12 +08:00
root 98e3dce017 improve desktop issue diagnostics
Desktop Client Build / Resolve Build Metadata (push) Successful in 26s
Backend CI / Backend (push) Successful in 16m8s
Desktop Client Build / Build Desktop Client (push) Successful in 22m48s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 29s
2026-06-24 12:42:49 +08:00
root ba0914bc3e fix desktop doubao history cleanup 2026-06-24 12:32:17 +08:00
root 6b60438f25 feat: implement desktop authorization recovery handling and session management improvements
Desktop Client Build / Resolve Build Metadata (push) Successful in 24s
Desktop Client Build / Build Desktop Client (push) Successful in 21m30s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 26s
2026-06-24 11:00:19 +08:00
Xu Liang 0afd082d96 feat(doubao): implement challenge handling and monitoring improvements
Desktop Client Build / Resolve Build Metadata (push) Successful in 26s
Frontend CI / Frontend (push) Successful in 3m12s
Backend CI / Backend (push) Failing after 10m8s
Desktop Client Build / Build Desktop Client (push) Successful in 23m53s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 26s
- Added classification for `doubao_challenge_required` as a challenge in platform-auth-adapters.
- Enhanced account action summaries to include specific messages for Doubao human verification.
- Introduced monitoring functions to filter out blocked platforms based on account health.
- Updated task leasing to support platform-specific filtering for monitor tasks.
- Refined issue aggregation in HomeView to consolidate Doubao challenge failures into a single actionable item.
- Improved backend logic to handle platform IDs in task leasing requests and responses.
- Added tests for new functionality, ensuring proper handling of Doubao challenges and task leasing logic.
2026-06-24 02:31:35 +08:00
root a406971187 fix: implement resource reconciliation and update handling in media supply favorites
Frontend CI / Frontend (push) Successful in 2m55s
Backend CI / Backend (push) Failing after 8m41s
2026-06-23 23:34:45 +08:00
root 04bd3e42e0 fix: harden desktop monitoring recovery
Desktop Client Build / Resolve Build Metadata (push) Successful in 37s
Backend CI / Backend (push) Failing after 9m26s
Desktop Client Build / Build Desktop Client (push) Successful in 22m29s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 35s
2026-06-23 23:12:25 +08:00
root 8e92737bc2 fix: fallback when desktop release direct upload is missing 2026-06-23 00:26:12 +08:00
root d5e592e290 feat: report desktop release upload completion progress 2026-06-23 00:04:26 +08:00
root f0de364063 fix: harden desktop release OSS uploads 2026-06-22 23:49:24 +08:00
root 082f91a6a9 Fix monitor collect-now queue fairness 2026-06-22 21:47:26 +08:00
root 8f7a83bba9 fix: queue monitor tasks and recover doubao dom answers
Desktop Client Build / Resolve Build Metadata (push) Successful in 26s
Backend CI / Backend (push) Successful in 15m54s
Desktop Client Build / Build Desktop Client (push) Successful in 22m56s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 28s
2026-06-22 16:55:02 +08:00
root 365a41597e fix: preserve monitor unknown and adapt doubao references
Desktop Client Build / Resolve Build Metadata (push) Successful in 32s
Backend CI / Backend (push) Successful in 15m37s
Desktop Client Build / Build Desktop Client (push) Successful in 22m53s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 30s
2026-06-22 13:16:38 +08:00
root 8c6789dca6 fix: throttle desktop monitoring dispatch
Desktop Client Build / Resolve Build Metadata (push) Successful in 27s
Backend CI / Backend (push) Successful in 15m57s
Desktop Client Build / Build Desktop Client (push) Successful in 22m57s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 27s
2026-06-22 12:21:59 +08:00
root 54c2f92e02 fix: improve question selection handling and user interaction feedback
Frontend CI / Frontend (push) Successful in 2m57s
2026-06-21 17:48:50 +08:00
root 37d75597f9 feat: enhance schedule publish account handling and caching mechanisms
Frontend CI / Frontend (push) Successful in 3m1s
Backend CI / Backend (push) Failing after 6m51s
2026-06-21 09:11:37 +08:00
root 05a69c7c89 feat: enhance tracking select component styles and dropdown behavior
Frontend CI / Frontend (push) Successful in 2m46s
2026-06-20 20:23:47 +08:00
root 62d0b22988 feat: Implement direct upload functionality for desktop client releases
Desktop Client Build / Resolve Build Metadata (push) Successful in 52s
Frontend CI / Frontend (push) Successful in 3m49s
Backend CI / Backend (push) Successful in 16m10s
Desktop Client Build / Build Desktop Client (push) Successful in 23m22s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 31s
- Added new endpoints for initiating and completing direct uploads of desktop client packages.
- Introduced request and response structures for direct upload operations.
- Enhanced the upload process to support SHA256 and Content-MD5 validation.
- Updated the frontend to reflect changes in upload button states and progress indicators.
- Modified object storage clients to support presigned PUT URLs with content type and MD5 headers.
- Added tests for direct upload functionality and ensured existing upload processes remain intact.
2026-06-20 12:44:28 +08:00
root f26802c76e fix: enable weekly storage cleanup
Desktop Client Build / Resolve Build Metadata (push) Successful in 32s
Frontend CI / Frontend (push) Successful in 2m6s
Backend CI / Backend (push) Successful in 16m11s
Desktop Client Build / Build Desktop Client (push) Successful in 23m50s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 37s
2026-06-19 21:11:14 +08:00
root 6e0519a232 feat: add brand asset cleanup worker and related functionality
Frontend CI / Frontend (push) Successful in 3m23s
Backend CI / Backend (push) Failing after 6m46s
- Implemented a new BrandAssetCleanupWorker to handle the cleanup of brand-related assets after a brand is deleted.
- Added SQL queries for cleaning up articles, keywords, questions, competitors, and monitoring data associated with a brand.
- Introduced a new API endpoint to delete publish records.
- Updated the router to include the new delete publish record endpoint.
- Added tests for the BrandAssetCleanupWorker to ensure proper functionality.
- Created migration scripts to support soft deletion of publish records and to add the brand asset cleanup scheduler job.
2026-06-19 11:45:13 +08:00
root 97ae601cfd fix tenant account unbind flow
Desktop Client Build / Resolve Build Metadata (push) Successful in 28s
Frontend CI / Frontend (push) Successful in 2m53s
Backend CI / Backend (push) Successful in 16m10s
Desktop Client Build / Build Desktop Client (push) Successful in 23m44s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 50s
2026-06-19 09:29:04 +08:00
root 0cddb47055 feat: update session management functions and improve partition handling
Desktop Client Build / Resolve Build Metadata (push) Successful in 31s
Frontend CI / Frontend (push) Successful in 2m58s
Backend CI / Backend (push) Successful in 18m2s
Desktop Client Build / Build Desktop Client (push) Successful in 24m49s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 38s
2026-06-19 00:14:30 +08:00
root 3aa8eb86f8 chore: polish desktop navigation and account menu 2026-06-18 23:51:43 +08:00
root 1523956839 fix: preserve desktop session across restarts 2026-06-18 23:51:30 +08:00
root d8195bc935 feat: add desktop storage cleanup controls 2026-06-18 23:50:56 +08:00
root 889a575188 feat: support media account unbind requests 2026-06-18 23:49:01 +08:00
root fd37263116 chore: restore desktop client version
Desktop Client Build / Resolve Build Metadata (push) Successful in 51s
Frontend CI / Frontend (push) Successful in 3m16s
Desktop Client Build / Build Desktop Client (push) Successful in 22m3s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 38s
2026-06-18 20:49:49 +08:00
root 4fa5adc25a fix: improve toutiao image uploads 2026-06-18 20:47:41 +08:00
root 31c4dd9358 feat: add monitoring marked articles and retention updates
Frontend CI / Frontend (push) Successful in 7m47s
Backend CI / Backend (push) Successful in 19m26s
2026-06-17 12:48:41 +08:00