Files
wyndham-ARR/.project-docs/50-evidence/topics/2026-07-31-daily-upload-progress-and-log-behavior.md
2026-07-31 15:11:42 +08:00

2.0 KiB

Daily Upload Progress and Task-Log Behavior

Metadata

  • Date: 2026-07-31
  • Status: Implemented
  • Scope: Desktop daily ARR.XML upload interaction and inline progress feedback
  • Confidence: Fact
  • Source: arr_web/static/index.html, arr_web/static/app.js, arr_web/static/styles.css, focused tests
  • Last verified: 2026-07-31

User-Facing Outcome

  • Clicking 开始处理 keeps the operator on the daily page; it no longer opens the task-log dialog automatically.
  • The header 任务日志 button and a selected daily-history row still open the same trace dialog on demand.
  • The upload card exposes a compact accessible progressbar with approximate stages for upload, fixed processing, independent validation and database commit.
  • The estimate advances while the synchronous upload request is in flight, caps before terminal completion, then resolves to 100% on success or an inline red error state on failure.
  • The file chooser and dropzone are temporarily disabled while the request is in flight so the visible progress stays attached to the submitted file.

Verification

  • node --check arr_web/static/app.js: passed.
  • python3 -m unittest -v tests.test_arr_web_task_log_ui: 5 passed.
  • python3 -m unittest -v tests.test_arr_web_job_trace tests.test_arr_web_repository_schema: 8 passed.
  • python3 -m unittest -v tests.test_arr_web.PortalApplicationTests.test_fixed_static_routes_and_required_content tests.test_arr_web.PortalApplicationTests.test_all_public_assets_exclude_removed_copy: 2 passed.
  • No API route, upload contract, processing coordinator or task-trace query changed.

Design Boundary

This is a preserve-mode operational UI refinement. It keeps the existing dependency-free HTML/CSS, light neutral theme, single blue accent and rounded upload-card language. Progress values are intentionally approximate because POST /api/jobs returns after the ARR-owned processing flow reaches a terminal receipt; no fake server progress contract was introduced.