Skip to content

Reject invalid campaign dashboard dates before applying filters - #94

Merged
obsessixnv merged 3 commits into
mainfrom
fix/56-strict-dashboard-dates
Sep 15, 2026
Merged

obsessixnv merged 3 commits into
mainfrom
fix/56-strict-dashboard-dates

Conversation

@obsessixnv

@obsessixnv obsessixnv commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Fixes #56.

Typing 02/31/2026 previously applied March 3, and typed dates could bypass the reporting bounds enforced by the calendar. The campaign dashboard now validates complete MM/DD/YYYY dates, calendar components, endpoint order, and the same inclusive reporting span before applying a filter. Invalid text stays visible with an accessible inline error, survives calendar navigation and edits to the other endpoint, and leaves the applied filter unchanged. Calendar selection and presets can replace an invalid edit; a single calendar day remains a valid range.

The shipped template gets a new immutable revision on sync. Existing pages retain their pinned version until a reviewed rerender_page_from_template update.

Validation: 269 unit tests, all 298 browser tests (including five new date regressions), the full integration suite, dependency audit at the required high-severity threshold, and shell syntax checks passed. All CI checks passed on Node 20.19.0, 22.12.0, and 24, including CodeQL. The original invalid-date regression failed against the unchanged template before the fix. Coverage includes leap-year/century rules, impossible and partially numeric dates, trailing text, inclusive reporting bounds, empty and reversed ranges, cancel/reopen, and single-day selection.

@obsessixnv obsessixnv added bug Something isn't working audit:2026-09-14 Functional and reliability audit of commit 420bad8; cybersecurity excluded. priority:P3 Low: usability or operational improvement. size:S Small: roughly up to 1 engineering day including focused checks. area:dashboard Pages dashboard functionality and maintenance. labels Sep 15, 2026
@obsessixnv
obsessixnv merged commit 7466a17 into main Sep 15, 2026
5 checks passed
@obsessixnv
obsessixnv deleted the fix/56-strict-dashboard-dates branch September 15, 2026 16:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:dashboard Pages dashboard functionality and maintenance. audit:2026-09-14 Functional and reliability audit of commit 420bad8; cybersecurity excluded. bug Something isn't working priority:P3 Low: usability or operational improvement. size:S Small: roughly up to 1 engineering day including focused checks.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[P3] Invalid dates silently roll into another month in the dashboard filter

1 participant