chore(schedule): PR #175 second-pass P3 follow-ups (localization, test robustness, fallback name) #184
Labels
No labels
blocked
bug
enhancement
high-priority
low-priority
needs-info
needs-triage
ready-for-agent
ready-for-human
referenced
research
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
gabogg/hikcentral#184
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Deferred P3 findings from the second review pass on #175 (schedule-exception naming, #108). None of them blocked the merge.
Standards
<details>summary "CALIBRATION AND TRUST THRESHOLDS" and the "BASELINE OFFSET" label are still hardcoded English (app/static/index.html:672,678). Their sibling trust labels are translated. This predates #175.tests/test_i18n.py, the uppercase loop checks for the exact source stringclass="uppercase" data-i18n="occupancy.{key}". Reordering the attributes or adding a class breaks it even when the rendered output does not change. It also forces a redundantuppercaseclass onto inner<span>s whose parent<button>already has one (index.html:755).trust*Labelprefix, but their sibling is stillexceptionMinEntriesLabel(app/static/js/i18n.js:125).trustExceptionMinEntriesLabel, or give a documented reason not to, and update its references in both EN and ES."Excepción de horario"is hardcoded in bothapp/db/occupancy_repository.py:775andapp/services/occupancy_service.py:289,297.FERIADOwas removed in #175. Onlytests/frontend/test_statistics_deck_day.test.js:235(kpis.visitors.tag) still covers the Holiday marker, which is separate from Schedule Exception (i18n.js:752,796,822).Spec
"Excepción de horario", andschedule_labelappends"(Cerrado)"(occupancy_service.py:289-297).app.js:1849then shows that label verbatim, so the English live card reads "Schedule Exception: Excepción de horario (Cerrado)". This conflicts with #73, which says stored data and payloads must not encode a language. The old "Feriado" default had the same problem.holiday.get("name") or …(occupancy_repository.py:775) replacesname: ""with the default name. The POST response (occupancy_controller.py:241) still echoes"", so the stored value and the response disagree. The admin UI rejects empty names, so the impact is small.HolidayItem.namerejects empty strings (min_length=1), or the response returns the stored name. A test covers the chosen behavior.Refs #175, #108, #73, #161.
🤖 Generated with Claude Code
Triage decision, 2026-10-02 (maintainer)
closedflag/code.HolidayItem.namerejects""(min_length=1), and "no name" isnull.exceptionMinEntriesLabel→trustExceptionMinEntriesLabelin EN and ES.Remaining scope here: items 1, 2, 3 and 7. Relabelled
ready-for-agent.🤖 Generated with Claude Code
gabogg referenced this issue2026-10-02 18:23:43 +00:00