fix(auth): 401拦截器排除auth端点 + login默认跳转/app/dashboard #1226
Closed
xiaoxia
wants to merge 2 commits from
fix/1221-auth-401-interceptor into develop
pull from: fix/1221-auth-401-interceptor
merge into: xiaoxia:develop
xiaoxia:main
xiaoxia:develop
xiaoxia:fix/1718-callback-error-observability
xiaoxia:feature/wechat-bind-unbind-1719
xiaoxia:feature/wechat-state-redis-1718
xiaoxia:feature/celery-queue-isolation-1714
xiaoxia:fix/1677-review-followups
xiaoxia:feat/1677-canvas-batch-preview
xiaoxia:feat/1677-batch-generation
xiaoxia:fix/dedup-exclude-self-1702
xiaoxia:fix/dedup-zero-rate-1702
xiaoxia:fix/style-main-sync
xiaoxia:release/sync-develop-20260904
xiaoxia:fix/voice-duration-filter-and-warning-removal
xiaoxia:feature/clip-duration-voice-alignment
xiaoxia:fix/title-position-fallback-wrap-consistency
xiaoxia:fix/dedup-coverage-and-retry-bug
xiaoxia:feature/1659-dynamic-keyframe-sliding-window
xiaoxia:fix/ai-badge-overflow
xiaoxia:feat/cross-video-avoidance-1670
xiaoxia:feat/fingerprint-chunks-1657
xiaoxia:fix/ai-badge-fallback
xiaoxia:fix/extract-voice-api-path
xiaoxia:fix/ruff-b904-voices
xiaoxia:feat/segment-random-shuffle-1663
xiaoxia:fix/tts-duration-and-video-extract
xiaoxia:feat/extract-video-voice-and-source-label
xiaoxia:fix/auto-merge-race-condition
xiaoxia:diag/ref-env-test
xiaoxia:fix/upload-asset-not-visible-immediately
xiaoxia:infra/fix-main-workflows
xiaoxia:fix/ci-mypy-integ
xiaoxia:fix/disable-pr-auto-scan-schedule
xiaoxia:ci/canary-workflow
xiaoxia:fix/playwright-base-image
xiaoxia:feat/config-phase4-env-render
xiaoxia:fix/ci-production-deploy-skip
xiaoxia:fix/remove-duplicate-034-migration
xiaoxia:feat/ci-base-image-autobuild
xiaoxia:fix/preset-4items
xiaoxia:feat/smart-match-integration
xiaoxia:fix/video-duration-mismatch
xiaoxia:fix/title-preset-t-render
xiaoxia:fix/web-duplicate-rate-mapping
xiaoxia:feat/auto-duplicate-rate-user-scope
xiaoxia:fix/title-drag-pointer-events-and-size
xiaoxia:fix/smart-match-empty-results
xiaoxia:feat/title-drag-position
xiaoxia:fix/smart-match-limit-algorithm
xiaoxia:feat/title-drag-custom
xiaoxia:fix/from-assets-400-clip-config-fallback
xiaoxia:chore/pr-auto-scan-cron-15min
xiaoxia:sync/develop-to-main-v2
xiaoxia:fix/auto-merge-contexts-v2
xiaoxia:fix/psycopg2-to-psycopg3
xiaoxia:fix/prebake-ffmpeg-ci-image
xiaoxia:fix/cache-continue-on-error
xiaoxia:fix/auto-approve-contexts
xiaoxia:fix/buildx-web-cache-bust
xiaoxia:fix/ci-cache-robustness
xiaoxia:fix/check-push-paths-no-checkout
xiaoxia:fix/ci-check-push-paths-checkout
xiaoxia:fix/deploy-staging-skip-bug
xiaoxia:ci/pipeline-speedup-batch2
xiaoxia:feat/product-inline-player
xiaoxia:ci/transient-fault-auto-retry
xiaoxia:ci/image-content-verification
xiaoxia:ci/selfcheck-zombie-run-and-dedupe
xiaoxia:ci/fix-scheduled-jobs-zombie-timeout
xiaoxia:fix/test-hevc-mock-no-sysmodules
xiaoxia:fix/ingest-jobs-404-not-found
xiaoxia:feat/segment-duplication-control
xiaoxia:feat/persist-used-segments
xiaoxia:chore/remove-random-asset-mode
xiaoxia:fix/e2e-6step-generate-flow
xiaoxia:fix/audio-mime-inference
xiaoxia:fix/cover-from-final-video
xiaoxia:feat/merge-step4-step5
xiaoxia:fix/asset-thumbnails
xiaoxia:fix/thumbnail-v2
xiaoxia:fix/thumbnail-url-not-saved
xiaoxia:fix/title-position-default-top
xiaoxia:feat/from-assets-by-template-segments
xiaoxia:feat/mediakit-smart-clip-selection
xiaoxia:fix/restore-backend-files
xiaoxia:fix/cross-task-segment-dedup
xiaoxia:fix/ui-template-thumb-and-material-grid
xiaoxia:fix/cover-title-consistency
xiaoxia:fix/voice-library-id-passthrough
xiaoxia:fix/mark-clips-ready-after-from-assets
xiaoxia:fix/ass-fontsize-compensation-1.35
xiaoxia:fix/call-clips-from-assets
xiaoxia:fix/font-name-map-noto-sans-sc
xiaoxia:fix/restore-preview-step4-5-step7-video
xiaoxia:fix/editor-clips-random-start-time
xiaoxia:fix/remove-preview-and-generate-count
xiaoxia:fix/title-line-height
xiaoxia:fix/title-margin-top-120
xiaoxia:fix/title-size-max-128
xiaoxia:fix/preview-coord-system
xiaoxia:fix/title-fullwidth-slash
xiaoxia:fix/voice-preview-materials-v2
xiaoxia:fix/voice-preview-materials
xiaoxia:fix/preview-resolution
xiaoxia:feat/server-rendered-preview
xiaoxia:fix/source-edit-plan-id-v2
xiaoxia:chore/cleanup-template-editor-generation
xiaoxia:feat/sync-edit-plan-clips
xiaoxia:refactor/worker-use-edit-plan-clips
xiaoxia:fix/cover-title-style-e2
xiaoxia:fix/batch-writeback-once
xiaoxia:fix/edit-flow-data-chain
xiaoxia:fix/cover-ffmpeg-title-overlay
xiaoxia:fix/mediakit-completed-status
xiaoxia:fix/cover-mediakit-timeout
xiaoxia:fix/cover-extract-from-source-asset
xiaoxia:fix/webcodecs-decode-failure-fallback
xiaoxia:feat/hevc-auto-transcode
xiaoxia:fix/ai-code-review-blocking-v2
xiaoxia:fix/ai-code-review-blocking
xiaoxia:fix/hevc-description
xiaoxia:fix/infinity-samples
xiaoxia:fix/all-canvas-issues
xiaoxia:fix/promise-timeout
xiaoxia:fix/demux-async
xiaoxia:fix/optional-chaining-safety
xiaoxia:fix/frontend-segment-extraction
xiaoxia:fix/canvas-description-cache-and-keyframe
xiaoxia:fix/fullbox-offset-and-title-split
xiaoxia:fix/preview-player-4-issues
xiaoxia:fix/canvas-black-screen-voice-validation
xiaoxia:fix/canvas-player-issues
xiaoxia:fix/preview-player-v8
xiaoxia:fix/preview-player-v7
xiaoxia:fix/preview-player-v5
xiaoxia:fix/preview-player-v4
xiaoxia:fix/preview-player-v3
xiaoxia:fix/preview-player-v2
xiaoxia:fix/preview-player-playback-and-title
xiaoxia:fix/assets-batch-endpoint
xiaoxia:fix/usePreviewAssets-infinite-loop
xiaoxia:fix/token-refresh-bugs
xiaoxia:cleanup/remove-unused-preview-props
xiaoxia:refactor/frontend-preview-player
xiaoxia:fix/cover-url-in-finalize
xiaoxia:feat/upload-cover-and-title-in-generate
xiaoxia:fix/batch-download-session-flaky-v2
xiaoxia:fix/test-clip-mock-fields
xiaoxia:feat/title-style-panel-to-step5
xiaoxia:fix/flaky-batch-download-session-test
xiaoxia:fix/clips-api-response-structure
xiaoxia:fix/proactive-token-refresh
xiaoxia:fix/token-refresh-test-fix
xiaoxia:feat/clips-asset-url
xiaoxia:fix/canvas-video-resolution-match
xiaoxia:fix/worker-cjk-fonts
xiaoxia:fix/preview-title-render
xiaoxia:fix/cover-extract-frames
xiaoxia:fix/render-bool-config-crash
xiaoxia:fix/restore-showTitlePreview-prop
xiaoxia:fix/ts-errors-pr1382
xiaoxia:fix/bool-config-crash
xiaoxia:fix/e2e-step-order-adapt
xiaoxia:feat/title-preview-right-panel
xiaoxia:fix/title-config-param-mapping
xiaoxia:feat/title-preview-canvas-v2
xiaoxia:fix/auto-merge-ai-review-check
xiaoxia:fix/cover-title-overlay
xiaoxia:fix/cover-title-asr-path
xiaoxia:fix/cover-500-logger-and-source-plan-fallback
xiaoxia:fix/flaky-test-batch-download
xiaoxia:fix/auto-format-merge-commit-consistency
xiaoxia:fix/cover-generation-unify
xiaoxia:fix/custom-title-render
xiaoxia:fix/video-ratio-resolution-parsing
xiaoxia:fix/cover-templates-double-encoded-config
xiaoxia:fix/api-ffmpeg-missing
xiaoxia:fix/double-slash-oss-path
xiaoxia:fix/cover-types-import-paths
xiaoxia:refactor/decouple-cover-types-from-editing-planner
xiaoxia:optimize/cover-generation-speed
xiaoxia:fix/cover-issues-1341
xiaoxia:fix/confirm-api-path-1341
xiaoxia:fix/cover-error-logging-1347
xiaoxia:fix/remove-unused-useRef-import
xiaoxia:fix/cover-generation-issues-1341
xiaoxia:fix/totalDuration-duplicate-develop
xiaoxia:feat/cover-generation-ui-1341
xiaoxia:fix/cover-generation-progress-modal
xiaoxia:fix/remove-selected-template-text
xiaoxia:feature/unify-preview-confirm-render-path
xiaoxia:fix/generate-fallback-user-assets
xiaoxia:fix/worker-entrypoint-w-flag
xiaoxia:fix/cover-stub-placeholder-url
xiaoxia:fix/cover-field-name-1317
xiaoxia:fix/thumbnail-yuv-format
xiaoxia:fix/cover-templates-error-handling
xiaoxia:feat/cover-templates-api-integration
xiaoxia:feat/cover-settings-redesign
xiaoxia:fix/audio-only-clips-in-filter-complex
xiaoxia:fix/preview-voice-ids-fallback
xiaoxia:fix/confirm-generation-api-develop
xiaoxia:fix/sync-confirm-api-to-develop
xiaoxia:fix/issue-1294-preview-voiceover-asr-fallback
xiaoxia:fix/issue-1294-preview-voiceover-asr-init
xiaoxia:fix/worker-concurrency-default-4
xiaoxia:fix/auto-approve-skipped-status
xiaoxia:fix/e2e-title-input-timing
xiaoxia:bugfix/1294-preview-voice-injection
xiaoxia:fix/e2e-title-placeholder-v2
xiaoxia:fix/ci-lower-coverage-threshold
xiaoxia:fix/e2e-title-placeholder
xiaoxia:fix/preview-improvements
xiaoxia:feature/1286-preview-count-validation-and-worker-concurrency
xiaoxia:bugfix/1286-staging-ci-shell-quoting
xiaoxia:feature/1286-can-generate-auto-repair
xiaoxia:bugfix/1286-staging-ci-tests-fix
xiaoxia:fix/ci-concurrency-lock
xiaoxia:feature/1280-preview-generation-speedup
xiaoxia:fix/staging-tests-npm-retry
xiaoxia:feature/1256-random-asset-selection-preview
xiaoxia:feat/issue-1256-auto-smart-match
xiaoxia:fix/quota-test-wave78-pro-sync
xiaoxia:feat/upload-voice-modal-visual
xiaoxia:feat/remove-result-panel-and-plan-info
xiaoxia:fix/quota-pro-tier-fallback
xiaoxia:fix/asset-create-optional-project-id
xiaoxia:feature/integrate-cover-generation
xiaoxia:fix/step6-cover-ratio-label
xiaoxia:feat/step4-title-autocomplete
xiaoxia:fix/canvas-titlecentering-v2
xiaoxia:fix/skip-source-audio-in-mix
xiaoxia:feat/no-video-cleanup-and-centering-fix
xiaoxia:feat/title-preview-canvas
xiaoxia:feat/unify-asset-selection
xiaoxia:fix/pip-removal-and-title-wrap
xiaoxia:fix/preset-font-preview
xiaoxia:fix/preview-strategy-id-from-template
xiaoxia:fix/title-preview-overlay
xiaoxia:fix/preview-generation-3-issues
xiaoxia:feat/preset-voice-previews-round2
xiaoxia:feat/preset-voice-previews
xiaoxia:feat/mediakit-ai-cover-1208
xiaoxia:fix/download-assets-allow-asset-ids-only
xiaoxia:feat/preview-generation-1197
xiaoxia:feat/voice-clone-preview-1195
xiaoxia:refactor/bind-contact-modal-split
xiaoxia:test/wave207-inmemory-small-repos
xiaoxia:test/wave219-template-clip-config
xiaoxia:refactor/asset-selector-split
xiaoxia:test/wave218-batch-download
xiaoxia:test/wave214-text-splitter
xiaoxia:test/wave213-bind-contact
xiaoxia:test/wave212-login-use-case
xiaoxia:test/wave211-password-reset
xiaoxia:test/wave210-verification-code
xiaoxia:test/wave209-jwt-auth
xiaoxia:test/wave203-bgm-mixer-pure
xiaoxia:test/wave202-multi-track-mixer-pure
xiaoxia:test/wave200-pip-engine-pure
xiaoxia:test/wave191-edit-template
xiaoxia:test/wave208-password-auth
xiaoxia:test/wave206-inmemory-repos
xiaoxia:test/wave205-path-security
xiaoxia:test/wave204-text-splitter-pagination
xiaoxia:test/wave201-concat-engine-pure
xiaoxia:refactor/generate-video-split
xiaoxia:test/wave199-sticker-engine-pure
xiaoxia:refactor/video-player-hook
xiaoxia:test/wave198-shared-ai-service
xiaoxia:test/wave196-auth-session-store
xiaoxia:test/wave197-asset-compat
xiaoxia:test/wave195-verification-code
xiaoxia:test/wave194-tts-config
xiaoxia:test/wave193-video-share
xiaoxia:test/wave192-media-validation
xiaoxia:refactor/generate-form-state
xiaoxia:test/wave190-preset-voices
xiaoxia:test/wave189-preset-bgm
xiaoxia:test/wave188-video-concat
xiaoxia:test/wave187-speed-config
xiaoxia:test/wave186-subtitle
xiaoxia:refactor/task-table
xiaoxia:test/wave185-audio-track-config
xiaoxia:test/wave184-intro-outro-config
xiaoxia:test/wave183-voice-presets
xiaoxia:test/wave182-config-schemas
xiaoxia:fix/develop-unit-tests-failure
xiaoxia:fix/frontend-unit-test-smoke-test
xiaoxia:fix/ci-unit-test-coverage-threshold
xiaoxia:fix/tts-panel-voices-api-v2
xiaoxia:fix/voice-clone-preview-play-1195
xiaoxia:test-branch-123
xiaoxia:fix/main-deploy-staging-manual
xiaoxia:merge/develop-ci-scripts
xiaoxia:fix/vitest-exclude-e2e
xiaoxia:test/wave173-pip-config
xiaoxia:fix/ci-staging-deploy-and-notify-0728
xiaoxia:fix/ci-production-build-bugs-0728
xiaoxia:fix/preview-cleanup-ssh-default
xiaoxia:fix/daily-check-outputs
xiaoxia:fix/auto-merge-short-job
xiaoxia:fix/build-production-needs-tests
xiaoxia:fix/pr-path-filter-skip
xiaoxia:fix/code-review-ci-gate
xiaoxia:test/wave164-filter-presets
xiaoxia:fix/pr-automation-concurrency
xiaoxia:fix/ci-pr-automation-optimization-0728
xiaoxia:refactor/generate-result-panel
xiaoxia:test/wave163-watermark-config
xiaoxia:refactor/step6-cover-settings
xiaoxia:test/wave162-asset-scoring
xiaoxia:refactor/use-product-actions
xiaoxia:test/wave161-domain-entities
xiaoxia:test/wave160-job-domain
xiaoxia:refactor/use-timeline-menus
xiaoxia:refactor/step7-confirm
xiaoxia:refactor/use-step5-voice
xiaoxia:test/wave140-watermark-config
xiaoxia:test/wave139-url-security
xiaoxia:test/wave159-template-clip-config
xiaoxia:test/wave158-edit-plan
xiaoxia:test/wave157-domain-small-modules
xiaoxia:test/wave156-generation-task
xiaoxia:test/wave155-generated-video
xiaoxia:test/wave154-classification
xiaoxia:test/wave153-edit-plan-clip
xiaoxia:fix/ci-p1-p2-optimizations-0728
xiaoxia:test/wave152-duplication
xiaoxia:test/wave151-quota
xiaoxia:fix/clone-upload-422-and-types-path
xiaoxia:test/wave172-color-grade-config
xiaoxia:test/wave171-subtitle-style
xiaoxia:test/wave170-chroma-key-config
xiaoxia:test/wave169-ass-subtitle-builder
xiaoxia:test/wave168-transition-presets
xiaoxia:test/wave167-sticker-config
xiaoxia:test/wave166-plan-generator-utils
xiaoxia:refactor/green-screen-panel
xiaoxia:test/wave165-trim-config
xiaoxia:refactor/clip-mutations
xiaoxia:fix/ci-p0-bugs-0728
xiaoxia:refactor/material-form
xiaoxia:refactor/clone-voice-card
xiaoxia:refactor/tag-selector
xiaoxia:fix/voice-material-types-path
xiaoxia:refactor/use-voice-material-actions
xiaoxia:fix/ruff-config-pyproject
xiaoxia:test/wave144-tts-job
xiaoxia:test/wave142-transition-presets
xiaoxia:fix/ci-gate-exit-code-develop
xiaoxia:fix/ci-gate-exit-code-main
xiaoxia:fix/auto-fix-loop-detection
xiaoxia:refactor/asset-selector
xiaoxia:refactor/generate-video-hook
xiaoxia:test/auto-format-verify-0727
xiaoxia:refactor/voice-materials-p4
xiaoxia:feature/ai-review-status
xiaoxia:refactor/use-voice-materials-split
xiaoxia:refactor/voice-library-deepen
xiaoxia:refactor/generate-page-phase1
xiaoxia:refactor/router-split
xiaoxia:refactor/my-voices
xiaoxia:refactor/clone-modal
xiaoxia:refactor/title-library
xiaoxia:refactor/timeline-panel-phase3-pr
xiaoxia:feature/ai-review-status-develop
xiaoxia:feature/auto-fix-all-prs-develop
xiaoxia:test/wave132-wechat-oauth-unit
xiaoxia:test/ci-format-auto-fix-0727
xiaoxia:test/wave131-password-hasher
xiaoxia:test/wave130-jwt-service
xiaoxia:test/wave129-asset-scoring
xiaoxia:test/wave128-url-security
xiaoxia:test/wave127-template-data-unit
xiaoxia:test/wave126-small-domain-unit
xiaoxia:test/wave125-entities-unit
xiaoxia:test/wave124-quota-unit
xiaoxia:test/wave123-job-unit
xiaoxia:refactor/asset-operations-hook
xiaoxia:test/wave117-speed-config
xiaoxia:feature/auto-fix-all-prs
xiaoxia:test/wave118-chroma-key-config
xiaoxia:test/wave119-noise-reduction-config
xiaoxia:test/wave120-ass-subtitle-builder
xiaoxia:test/wave121-xfade-builder
xiaoxia:test/wave122-trim-config
xiaoxia:test/wave91-generation-plan-builder
xiaoxia:test/wave92-asset-scoring
xiaoxia:test/wave93-duplication-domain
xiaoxia:test/wave94-media-validation
xiaoxia:test/wave95-domain-entities
xiaoxia:test/wave96-job-domain
xiaoxia:test/wave97-quota-domain
xiaoxia:test/wave98-preset-bgm
xiaoxia:test/wave99-small-domain-modules
xiaoxia:refactor/duplication-detail
xiaoxia:refactor/upload-voice-modal-split
xiaoxia:refactor/product-detail
xiaoxia:refactor/task-history
xiaoxia:refactor/bgm-selector-split
xiaoxia:refactor/use-clip-operations-split
xiaoxia:refactor/template-management-hook
xiaoxia:refactor/asset-library-deepen
xiaoxia:refactor/duplication-results-split
xiaoxia:refactor/clip-detail-section-split
xiaoxia:refactor/layer-config-split
xiaoxia:refactor/cover-selector-split
xiaoxia:refactor/template-editor-api
xiaoxia:refactor/assets-api
xiaoxia:refactor/editing-planner-api
xiaoxia:refactor/voice-clone-api
xiaoxia:refactor/tts-api
xiaoxia:refactor/products-api
xiaoxia:refactor/templates-api
xiaoxia:refactor/voices-api
xiaoxia:refactor/tasks-api
xiaoxia:refactor/titles-api
xiaoxia:refactor/subscription-api
xiaoxia:refactor/duplication-api
xiaoxia:refactor/bgm-projects-tags-api
xiaoxia:refactor/task-center
xiaoxia:refactor/voice-clone-page
xiaoxia:refactor/home-page
xiaoxia:refactor/template-library
xiaoxia:refactor/step5-voice-hook
xiaoxia:refactor/editing-drawers
xiaoxia:refactor/use-step4-title-split
xiaoxia:refactor/use-edit-plan-clips-split
xiaoxia:refactor/editing-planner-deepen
xiaoxia:refactor/editing-planner-types-split
xiaoxia:refactor/product-library-deepen
xiaoxia:refactor/upgrade-subscription-split
xiaoxia:fix/test-agent-docs-path
xiaoxia:fix/ci-daily-check-dood-mount
xiaoxia:fix/ci-daily-check-shell-bash
xiaoxia:refactor/my-templates-split
xiaoxia:fix/ci-format-cleanup-20260727
xiaoxia:test/wave116-trim-config
xiaoxia:test/wave115-watermark-config
xiaoxia:test/wave114-color-grade-config
xiaoxia:test/wave113-transition-config
xiaoxia:test/wave112-intro-outro-config
xiaoxia:test/wave111-audio-track-config
xiaoxia:test/wave110-pip-config
xiaoxia:test/wave90-plan-generator-utils
xiaoxia:test/wave88-streaming-service
xiaoxia:test/wave109-sticker-config
xiaoxia:test/wave108-ai-parsing
xiaoxia:test/wave107-subtitle-style
xiaoxia:test/wave106-video-concat-config
xiaoxia:test/wave105-render-layer-utils
xiaoxia:test/wave104-template-clip-converter
xiaoxia:test/wave100-application-modules
xiaoxia:test/wave103-clip-operations
xiaoxia:test/wave101-video-filter-builder
xiaoxia:pr-932
xiaoxia:test/wave102-template-effect-mapper
xiaoxia:sync/ci-scripts-to-main-20260726
xiaoxia:fix/frontend-lint-clip-type-import
xiaoxia:test/wave89-asset-analyzer-split
xiaoxia:test/wave87-worker-deep-coverage
xiaoxia:refactor/editing-planner-round2
xiaoxia:fix/ci-monitor-workflows-909-910-911
xiaoxia:fix/ci-daily-check-hardcoded-creds-912
xiaoxia:fix/ci-acr-cleanup-pr-days-908
xiaoxia:fix/ci-code-quality-905-914
xiaoxia:fix/ci-preview-deploy-907
xiaoxia:refactor/timeline-panel-phase1-pr
xiaoxia:refactor/timeline-panel-phase1
xiaoxia:refactor/product-library-phase3-final
xiaoxia:fix/ci-unit-tests-collection-906
xiaoxia:refactor/product-library-phase2-pr
xiaoxia:refactor/product-library-phase1
xiaoxia:refactor/editing-planner-phase3
xiaoxia:refactor/editing-planner-phase1
xiaoxia:test/wave86-worker-layer-coverage
xiaoxia:test/wave80-module-registry-subtitle-more
xiaoxia:test/wave85-exceptions-bgm-utils-subtitle-deep
xiaoxia:test/wave84-classification-tts-config-entities-more
xiaoxia:test/wave83-generated-video-verification-video-share-more
xiaoxia:test/wave82-exceptions-template-generated-video-more
xiaoxia:test/wave81-filter-transition-voice-presets-more
xiaoxia:test/wave79-subtitle-generator-text-splitter-more
xiaoxia:test/wave78-duplication-domain
xiaoxia:test/wave75-more-domain-utils
xiaoxia:test/wave77-generation-task-more-domain
xiaoxia:test/wave76-tts-job-state-machine
xiaoxia:test/wave74-classification-bgm-utils-subtitle
xiaoxia:refactor/asset-library-phase2
xiaoxia:fix/052-generation-task-bgm-config-migration
xiaoxia:fix/dedup-pure-test-db-import
xiaoxia:refactor/voice-library-phase3
xiaoxia:feat/ci-canary-release
xiaoxia:feat/ci-sync-renovate-to-main
xiaoxia:test/wave70-dedup-render-subtitles-tts-engine
xiaoxia:test/wave56-worker-more-engines
xiaoxia:refactor/voice-library-phase1
xiaoxia:chore/ci-acr-cleanup-main-sync
xiaoxia:chore/ci-acr-cleanup-enhance
xiaoxia:chore/ci-migration-upgrade-sync-main
xiaoxia:chore/ci-migration-validation-upgrade
xiaoxia:test/wave61-title-library-config-base
xiaoxia:test/wave58-in-memory-repositories
xiaoxia:fix/ci-preview-deploy-npm-ci
xiaoxia:fix/ci-worker-cache-optimization
xiaoxia:fix/staging-shell-sh-to-bash-main
xiaoxia:fix/staging-shell-sh-to-bash
xiaoxia:fix/ruff-f841-b007-detector
xiaoxia:fix/ruff-f401-cleanup
xiaoxia:test/unit-test-wave35
xiaoxia:ci/port-env-cleanup
xiaoxia:chore/sync-main-ci-config
xiaoxia:refactor/unified-enums
xiaoxia:fix/staging-e2e-container-cleanup
xiaoxia:fix/ci-systematic-p0-round2
xiaoxia:fix/jwt-tampered-test-flaky
xiaoxia:fix/black-format-ai-files
xiaoxia:fix/ci-staging-e2e-dood
xiaoxia:fix/wechat-callback-token-order
xiaoxia:fix/ci-systematic-p0-fix
xiaoxia:fix/ci-worker-base-registry
xiaoxia:fix/code-quality-black-format
xiaoxia:fix/ruff-format-2files
xiaoxia:feat/p3-1-tts-job-tests
xiaoxia:feat/p3-1-auth-handlers-tests
xiaoxia:feat/p3-1-wechat-oauth-tests
xiaoxia:feat/video-share-backend
xiaoxia:fix/ai-review-critical-match
xiaoxia:emergency-disk-cleanup
xiaoxia:fix/ci-simplify-merge-speed
xiaoxia:fix/ci-integration-oom-workers
xiaoxia:fix/flaky-jwt-tampered-test
xiaoxia:fix/462-pass-through-watermark
xiaoxia:test/p3-1-wave29-template-use-cases-tests
xiaoxia:fix/633-virtual-clip-transition-duration
xiaoxia:test/p3-1-wave26-tts-workflow-tests
xiaoxia:test/p3-1-wave23-cosyvoice-service-tests
xiaoxia:test/p3-1-wave24-register-password-reset-tests
xiaoxia:test/p3-1-wave28-cosyvoice-service-tests
xiaoxia:fix/login-token-order-bug
xiaoxia:fix/ci-architecture-bugs-3items
xiaoxia:test/p3-1-wave9-auth-service-tests
xiaoxia:test/p3-1-wave7-entities-domain-tests
xiaoxia:feat/ci-pytest-xdist-parallel
xiaoxia:feat/p3-1-validation-utils-tests
xiaoxia:feat/p3-1-module-registry-tests
xiaoxia:feat/p3-1-text-splitter-tests
xiaoxia:fix/ci-auto-merge-short-job-mode
xiaoxia:fix/auto-merge-no-approval-needed
xiaoxia:fix/vitest-related-flag-bug
xiaoxia:fix/worker-build-dood-fallback
xiaoxia:ci/repeated-failure-detection
xiaoxia:ci/validate-parallelization-phase2
xiaoxia:fix/auto-fix-ci-skip
xiaoxia:ci/failure-diagnosis-enhanced
xiaoxia:ci/validate-parallelization
xiaoxia:ci/worker-layered-cache
xiaoxia:fix/check-ci-status-order
xiaoxia:ci/autofix-distinguish-agent
xiaoxia:ci/cache-optimization-plus
xiaoxia:fix/558-wechat-login-fixes
xiaoxia:feat/558-wechat-login-polish
xiaoxia:test/unit-test-coverage-p3-batch2
xiaoxia:opt/restore-registry-cache-to
xiaoxia:p2-6-ci-health-daily
xiaoxia:fix/frontend-ts-error-message-type
xiaoxia:fix/ci-autoapprove-match-branch-protection
xiaoxia:fix/ci-autofix-checkout-force
xiaoxia:fix/ci-p02-checkout-retry
xiaoxia:fix/ci-black-format-worker
xiaoxia:fix/549-preset-voice-one-click-gen
xiaoxia:fix/ci-p01-preview-ssh-key
xiaoxia:fix/ci-pg-container-ip
xiaoxia:feature/agentloop-ci-trace
xiaoxia:feat/smart-edit-flow-restructure
xiaoxia:feat/smart-edit-cover-migration
xiaoxia:feat/frontend-coverage-phase3
xiaoxia:feat/frontend-coverage-phase2
xiaoxia:fix/p1-preset-voice-no-sound
xiaoxia:ci/fix-frontend-test-exclude-e2e
xiaoxia:fix/p1-asset-list-status-and-pagination
xiaoxia:fix/asset-batch-delete-crash
xiaoxia:test/cleanup-verify
xiaoxia:test/preview-e2e-verify
xiaoxia:fix/hevc-encoding-filter-and-auto-select
xiaoxia:ci/p1-4-preview-environment
xiaoxia:fix/download-asset-storage-key
xiaoxia:ci/p1-3-coverage-gate
xiaoxia:ci/fix-auto-approve-sha-and-scheduling
xiaoxia:ci/fix-scheduling-and-sha
xiaoxia:ci/fix-scheduling-label-mismatch
xiaoxia:ci/fix-build-review-prompt
xiaoxia:fix/docker-login-v2
xiaoxia:fix/docker-login-yaml
xiaoxia:feature/p1-2-edit-plan-render-link
xiaoxia:test/auto-merge-verify
xiaoxia:test/ci-trigger-rebase-verify
xiaoxia:test/auto-approve-validation
xiaoxia:feat/ci-auto-approve
xiaoxia:fix/buildx-builder-name-conflict
xiaoxia:fix/auto-merge-token
xiaoxia:fix/registry-login-v3
xiaoxia:fix/registry-login-v2
xiaoxia:fix/ci-build-registry-login
xiaoxia:feature/ai-code-review
xiaoxia:feat/ci-frontend-path-filter
xiaoxia:fix/migration-safety-push-event
xiaoxia:feat/runner-layered-scheduling
xiaoxia:feat/staging-auto-rollback
xiaoxia:feat/registry-retry-stability
xiaoxia:feat/ci-deploy-concurrency
xiaoxia:feat/ci-concurrency-fix
xiaoxia:fix/ci-validate-pg-container
xiaoxia:feat/ci-validate-isolated-pg
xiaoxia:feat/save-plan-as-template
xiaoxia:feat/frontend-ci-speedup
xiaoxia:ci/runner-diagnose
xiaoxia:feat/edit-plan-clips-api
xiaoxia:fix/voice-clone-ssrf
xiaoxia:fix/migration-safety-reliability
xiaoxia:fix/edit-plan-resume-editing
xiaoxia:fix/mypy-hardgate
xiaoxia:feat/mypy-incremental
xiaoxia:fix/task-id-prefix-polling
xiaoxia:fix/generation-put-status-restriction
xiaoxia:debug/ci-build-runs-on
xiaoxia:fix/ci-disable-registry-cache-to
xiaoxia:fix/ci-build-checkout-print
xiaoxia:debug/ci-build-schedule
xiaoxia:fix/runner-build-verify
xiaoxia:test/runner-build-verify
xiaoxia:test/build-farm-label
xiaoxia:fix/ci-build-checkout-parser
xiaoxia:fix/ci-build-checkout-syntax
xiaoxia:fix/ci-build-yaml
xiaoxia:feat/split-build-workflow-v2
xiaoxia:chore/cleanup-main-workflows
xiaoxia:feat/acr-registry-migration
xiaoxia:feat/split-build-workflow
xiaoxia:feat/ci-runner-saas-label
xiaoxia:fix/add-result-count-migration
xiaoxia:fix/matrix-run-newline
xiaoxia:ci/matrix-build-parallelism
xiaoxia:feature/product-center-ui-upgrade
xiaoxia:fix/hard-cut-use-concat
xiaoxia:fix/b007-unused-loop-var
xiaoxia:fix/b011-assert-false
xiaoxia:ci/local-cache-optimization
xiaoxia:fix/migration-diff-ci
xiaoxia:fix/frontend-lint-cache-validation
xiaoxia:ci/registry-cache-stability-fix
xiaoxia:fix/edit-plan-p0-asset-ids-and-p1-fixes
xiaoxia:fix/incremental-scan-api-based
xiaoxia:fix/unified-render-black-format
xiaoxia:fix/ci-incremental-scan-api-based
xiaoxia:fix/edit-plan-result-count-and-logs
xiaoxia:fix/prettier-format-frontend
xiaoxia:fix/ci-trigger-branch-patterns
xiaoxia:perf/web-build-cache-p1
xiaoxia:fix/eslint-npx-version-mismatch
xiaoxia:feat/ci-incremental-lint
xiaoxia:feat/ruff-replace-flake8
xiaoxia:fix/frontend-lint-npx-local
xiaoxia:fix/worker-pythonpath
xiaoxia:feat/worker-image-slimming
xiaoxia:fix/staging-ssh-deploy-call
xiaoxia:fix/staging-ssh-syntax
xiaoxia:feat/staging-ssh-deploy
xiaoxia:fix/code-quality-batch1
xiaoxia:fix/ci-bot-fix-pr
xiaoxia:feat/production-healthcheck
xiaoxia:fix/tech-debt-security-round2
xiaoxia:feat/staging-healthcheck-ci-v2
xiaoxia:temp-clean-npm-cache
xiaoxia:feat/ci-notify-final
xiaoxia:fix/frontend-type-debt-round2
xiaoxia:fix/deploy-notify-continue-on-error
xiaoxia:fix/render-engine-security-p0-p1
xiaoxia:feat/ci-notify-card-and-cache
xiaoxia:feature/task-center-page
xiaoxia:feat/ci-p2-optimization
xiaoxia:fix/pr312-security-debt-p1
xiaoxia:feat/ci-runner-layered
xiaoxia:feat/staging-healthcheck-ci
xiaoxia:fix/ci-buildx-builder
xiaoxia:feat/ci-parallel-build
xiaoxia:feat/multi-track-mix-subtitle-concat
xiaoxia:feat/changelog-auto-generate
xiaoxia:docs/audit-report-20260714
xiaoxia:feat/runner-label-routing
xiaoxia:ops/runner-labels
xiaoxia:feat/release-scripts-clean
xiaoxia:fix/deploy-production-ssh-key
xiaoxia:feat/ci-security-scans
xiaoxia:feat/release-scripts
xiaoxia:feat/video-speed-control
xiaoxia:fix/e2e-unroute-all-stability
xiaoxia:feat/cover-reverse-sticker
xiaoxia:feat/transition-engine
xiaoxia:fix/stub-generation-task-repository-filtered-methods
xiaoxia:feat/video-trimming
xiaoxia:feat/chroma-key-and-noise-reduction
xiaoxia:feat/watermark-intro-outro
xiaoxia:feat/bgm-mixing
xiaoxia:feat/picture-in-picture
xiaoxia:feat/tts-voiceover
xiaoxia:feat/template-and-plan-backend
xiaoxia:fix/build-script-grep-set-e
xiaoxia:feat/color-grading-engine
xiaoxia:feat/asr-auto-subtitles
xiaoxia:feat/video-center-backend
xiaoxia:feat/asset-batch-operations
xiaoxia:fix/build-cache-to-driver
xiaoxia:fix/e2e-disable-gpu
xiaoxia:fix/build-cache-tag
xiaoxia:fix/delete-204-response-body
xiaoxia:fix/ci-quick-fix
xiaoxia:ops/downgrade-runners
xiaoxia:cleanup/phase4-backend-p0
xiaoxia:bugfix/pip-break-system-packages-env
xiaoxia:cleanup/phase4-frontend-p2
xiaoxia:test-ci-verification
xiaoxia:fix/format-all-black-isort-flake8
xiaoxia:feature/ci-verification
xiaoxia:cleanup/phase4-frontend-p0p1
xiaoxia:ops/register-saas-runners
xiaoxia:fix/ci-runs-on-label
xiaoxia:fix/black-isort-format-fix
xiaoxia:fix/ci-pip-and-concurrency
xiaoxia:fix/pip-break-system-packages-compat
xiaoxia:ops/install-cmd-agent
xiaoxia:fix/pip-compatibility-all-runners
xiaoxia:cleanup/phase3-frontend
xiaoxia:feat/ci-security-scanning
xiaoxia:feat/frontend-build-gate
xiaoxia:fix/black-format-check-migration-safety
xiaoxia:ci/migration-safety-mypy
xiaoxia:ci/unify-cicd-config
xiaoxia:docs/ci-runner-planning
xiaoxia:feat/npm-audit-frontend
xiaoxia:cleanup/phase3-backend
xiaoxia:cleanup/phase2-backend
xiaoxia:fix/runner-labels
xiaoxia:cleanup/phase2-frontend
xiaoxia:ci/deploy-script-versioning
xiaoxia:feat/ci-vulture-dead-code
xiaoxia:feat/build-optimization
xiaoxia:feat/frontend-cache-optimization
xiaoxia:fix/redis-url-config
xiaoxia:feat/render-metrics
xiaoxia:cleanup/phase1-backend-v2
xiaoxia:cleanup/frontend-phase1-v2
xiaoxia:fix/develop-black-format
xiaoxia:cleanup/phase1-backend
xiaoxia:fix/generation-task-feature-flag
xiaoxia:cleanup/frontend-phase1
xiaoxia:feat/docker-cache-branch-isolation
xiaoxia:feat/ci-pr-gate-optimization
xiaoxia:feat/stream-copy-optimization
xiaoxia:fix/ffmpeg-timeout-protection
xiaoxia:feat/internal-render-download-api
xiaoxia:fix/dedup-float32-json
xiaoxia:fix/render-compare-p1
xiaoxia:fix/render-edit-plan-bugs
xiaoxia:feature/fix-format-render-adapter
xiaoxia:feat/unified-render-phase2
xiaoxia:feat/unified-render-phase1
xiaoxia:feat/ci-notify-all-jobs-v2
xiaoxia:feat/ci-notify-all-jobs
xiaoxia:fix/asset-status-enum-compat
xiaoxia:fix/generation-project-asset-download
xiaoxia:ci/runner-fix
xiaoxia:fix/classification-status-done-enum
xiaoxia:ci/runner-label-fix
xiaoxia:debug/cmd-agent
xiaoxia:temp/runner-expander
xiaoxia:temp/cmd-agent-fix
xiaoxia:temp/expand-runner
xiaoxia:feat/ci-split-v2
xiaoxia:feat/ci-split-integration-tests
xiaoxia:fix/voice-clone-source-audio-url-sign
xiaoxia:feat/task-queue-rate-limit
xiaoxia:fix/voice-clone-integration-test-assertions
xiaoxia:feat/ci-coverage-gate-and-notify
xiaoxia:fix/ci-validate-cache-exclude
xiaoxia:debug/cosyvoice-418-request-logging
xiaoxia:fix/cosyvoice-v3-flash-model
xiaoxia:fix/generation-task-enqueue-failure
xiaoxia:fix/cosyvoice-v3-voice-names
xiaoxia:fix/cosyvoice-full-rewrite
xiaoxia:feature/generation-logging-minimal
xiaoxia:fix/p02-deep-root-cause
xiaoxia:fix/p03-fps-setpts-order
xiaoxia:fix/p02-oss-credential-validation
xiaoxia:feat/worker-concurrency-env
xiaoxia:fix/p02-p03-deep-fix
xiaoxia:fix/generated-video-url-403
xiaoxia:fix/oneclick-gen-p0-fixes
xiaoxia:fix/ingest-job-library-id-length
xiaoxia:feat/app-version-in-dockerfile
xiaoxia:fix/cryptography-version
xiaoxia:fix/generation-task-status
xiaoxia:feature/ci-optimization
xiaoxia:feature/test-quality
xiaoxia:feature/ci-full-audit-fix
xiaoxia:feature/optimize-docker-tags
xiaoxia:feat/use-local-registry-mirrors
xiaoxia:feat/add-p1-api-tests
xiaoxia:feat/add-p1-e2e-tests
xiaoxia:feat/add-daily-health-check
xiaoxia:feat/add-performance-baseline
xiaoxia:feat/add-p0-e2e-tests
xiaoxia:fix/chunked-upload-route-order
xiaoxia:feat/add-p0-api-tests
xiaoxia:fix/config-standardization
xiaoxia:feat/editing-planner-frontend
xiaoxia:fix/editing-planner-mock-data
xiaoxia:feat/video-editing-modes-design
No Reviewers
Dismiss Review
Are you sure you want to dismiss this review?
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: xiaoxia/xiaoxia-saas#1226
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "fix/1221-auth-401-interceptor"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题
/auth/login返回 401(密码错误)时,响应拦截器错误地执行clearAuth()+window.location.href = "/",导致页面硬跳转到首页,用户看不到"邮箱或密码错误"提示。useAuth.ts的login()默认跳转/,而Login.tsx的onFinish跳转/app/dashboard,存在不一致。修复
client.ts
在 401 处理逻辑最前面增加
isAuthEndpoint判断,排除以下端点:/auth/login/auth/register/auth/forgot-password/auth/reset-password这些端点的 401 是正常业务响应(如密码错误),走后面的错误提示逻辑(显示服务端返回的错误信息),不触发 token 刷新或登出跳转。
useAuth.ts
login()默认跳转路径从/改为/app/dashboard,与Login.tsx的onFinish保持一致。变更文件
apps/web/src/api/client.ts— 401 拦截器增加 auth 端点排除apps/web/src/hooks/useAuth.ts— login 默认跳转路径修正Closes #1221
CI全绿,自动审批通过。
CI全绿,自动审批通过。
CI 失败排查结果
1. Frontend Unit Tests ✅ 已修复
根因:
vitest related src/api/client.ts src/hooks/useAuth.ts找不到相关测试文件,输出No test files found, exiting with code 1。脚本
vitest_incremental.sh有跳过逻辑(grep "No test files found"),但 vitest 输出包含 ANSI 颜色转义码,导致 grep 匹配失败。修复:在 grep 前用
sed去掉 ANSI 转义码。2. Staging API Integration Tests ❌ CI 基础设施问题
根因:
Checkout code步骤就失败了,develop 分支本身也有同样的失败(Staging API Integration Tests (push) - Failing after 1m45s)。与本 PR 代码修改无关。3. Preview Deploy ❌ CI 环境问题
根因:
Build frontend步骤报ENOENT: no such file or directory, open '/workspace/apps/web/package.json'。代码 checkout 后文件不在预期路径,是 CI runner 环境配置问题,与本 PR 代码修改无关。已推送 CI 脚本修复,等待 CI 重跑。
代码审查结果 - PR #1226
⚠️ 问题(2个需要修改)
scripts/ci/vitest_incremental.sh 第60-70行:测试失败逻辑缺失,导致 CI 误报通过。
VITEST_EXIT非 0 且非 "No test files found")的处理分支。如果测试用例执行失败,脚本将继续执行并以 0 退出,导致 CI 错误地认为构建成功。if [ "$VITEST_EXIT" -eq 0 ]逻辑块后添加else exit $VITEST_EXIT,或者在脚本末尾根据VITEST_EXIT决定退出码。apps/web/src/api/client.ts 第63-66行:URL 匹配逻辑过于宽松,存在误判风险。
includes进行字符串匹配(如/auth/login)容易误伤。如果存在/auth/login-verify或/auth/login-status等其他端点,也会被匹配到。如果这些端点返回 401,本应触发 Token 刷新,却被错误地排除了。/\/auth\/login$/)确保匹配的是完整路径或明确的路径结尾,或者严格比对 URL 路径数组。💡 建议(1个可选)
apps/web/src/api/client.ts和apps/web/src/hooks/useAuth.ts的文件权限从644变更为755(可执行)。源代码文件通常不需要可执行权限,建议还原为644以符合安全规范和项目整洁度。❌ 格式检查通过 | ❌ 逻辑审查需修改 | ✅ 建议关注性能
🤖 由 AI 代码审查机器人自动生成 | 2026-08-03 06:02:30 | 模型:
⚠️ 此PR已关闭。分支未基于最新develop(merge_base过时导致mergeable=false)。
已创建新PR从
fix/1221-auth-401-interceptor-v2(rebased到最新develop 3e24f8de)替代。🗑️ 预览环境已清理
PR #1226 已关闭或合并,对应的预览环境已被清理。
Pull request closed