3.2 KiB
3.2 KiB
Company-report source and publish-failure copy
Metadata
- Date: 2026-08-03
- Status: Implemented; source provenance module subsequently removed from the end-user result/history surface, and the publish-failure copy was simplified after live operator feedback
- Scope: Desktop company-channel job detail/history copy, source-module removal and company-result error explanation
- Confidence: Fact for source/error contracts and focused verification; no live report state was changed
- Source:
arr_web/static/app.js,arr_web/static/index.html,arr_web/static/i18n.js, publisher tests and company job evidence - Last verified: 2026-08-03
- Stale trigger: changes to company job source metadata, publication idempotency or localized status copy
Problem
The page displayed 来源 Excel(提交时) with 历史任务未记录来源, which described an internal capture detail but did
not tell an operator whether the source was missing, old or actually used. It also displayed only
正式表格发布失败, which did not explain whether this was a normal duplicate-version reuse.
Implemented behavior
- The final end-user surface no longer renders the job-detail source card or history source column. The report page is explicitly database-snapshot oriented; the upload/review current-source panel is retained where the operator actually manages the Excel input.
- Server-side jobs still retain the safe source summary for audit and troubleshooting. Removing the UI module does not backfill or delete old source metadata.
COMPANY_REPORT_PUBLISH_FAILEDnow appears as正式 Excel 保存失败. The job summary and company row use the direct action copy数据已处理,但正式 Excel 保存失败。请重启报表服务后再生成。; internal duplicate-reuse rules are no longer shown in the operator-facing error.- The wording is available in Chinese, English and Thai, and the added detail is escaped before it is inserted into the result table.
Verification
- Focused unittest: Web/company regression passes 29 tests.
node --check arr_web/static/app.jsandnode --check arr_web/static/i18n.jspass.- Runtime static scan confirms no source-card/history-column reference remains; the upload/review source references remain intentionally.
git diff --checkpasses.- The project virtualenv has no
pytestmodule; the repository's unittest runner was used instead. - A live read after the operator-reported retry found job
253ce23d…still failed for all five companies atpublishwith row counts54/18/7/1/15. The listener remains PID11176, started2026-08-02 12:20, while the current publisher source was modified on2026-08-03 11:19; the reported restart therefore did not replace the effective port-8766 process. - No Web restart, source activation, report rerun, output backfill, database write or business-data mutation occurred.
Semantics retained
The publisher remains idempotent for a complete semantically identical archive/result pair. Incomplete, corrupt or semantically conflicting publication state still fails closed; the UI reports the safe action without translating every publish failure into a duplicate explanation.