37 lines
2.0 KiB
Markdown
37 lines
2.0 KiB
Markdown
# 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.
|