Skip to content

fix: reject invalid explicit colon clocks after date cues - #17

Merged
Alox1d merged 3 commits into
mainfrom
fix/reject-invalid-cued-clocks
Nov 2, 2026
Merged

Alox1d merged 3 commits into
mainfrom
fix/reject-invalid-cued-clocks

Conversation

@Alox1d

@Alox1d Alox1d commented Nov 2, 2026

Copy link
Copy Markdown
Owner

Problem

DateParser Kotlin 0.1.3 can produce a partial date match for an input with an invalid colon clock, such as Buy milk tomorrow at 25:00 or Buy milk tomorrow at 19:61. A reminder consumer could mistakenly use the inherited reference hour. The issue was found in fixed-clock integration tests in two Kotlin consumer samples.

Changes

  • Reject out-of-range colon clocks following at or English relative-day cues before the rule engine can fall back to a partial date.
  • Add a focused commonTest regression for invalid hours, minutes and seconds plus a valid 19:00 control.
  • Describe this source-only fix under Unreleased in the changelog. No public API changes; the existing 24:30 rollover remains supported.

This deliberately does not claim to recognize all recurrence, range, or timezone qualifiers. Applications should still review remainingText and confirm scheduling intent.

Validation

  • Reviewed the 3-file diff against main at 907d2bb22e75ca9e8d53e903042d0957764c8d21; no unrelated files.
  • An isolated Kotlin regex smoke check covered eight invalid/valid and reminder-title cases. This is not a full parser test.
  • Documentation workflow: push run 41421589923 passed (prepare_docs.py --check, mkdocs build --strict). Pages deployment was skipped, as expected on a non-main branch.
  • CI push run 41421590029 is pending completion; the JVM/Android and Apple suites must be checked on the final PR head.
  • Local Gradle tests were not run: the isolated cloud checkout cannot resolve github.com and does not have a hydrated Gradle dependency cache.

No package release is included.

@Alox1d
Alox1d merged commit 39222b4 into main Nov 2, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant