Skip to content

[Due dates] Avoid false audit changes for unchanged legacy values - #2491

Merged
Chris0Jeky merged 1 commit into
mainfrom
issue-2050/due-date-audit
Sep 4, 2026
Merged

[Due dates] Avoid false audit changes for unchanged legacy values#2491
Chris0Jeky merged 1 commit into
mainfrom
issue-2050/due-date-audit

Conversation

@Chris0Jeky

Copy link
Copy Markdown
Owner

Closes #2050

Summary

  • compare the modal's calendar key with the persisted due date before constructing the update payload
  • omit due-date fields for unrelated edits, including legacy non-midnight or offset-bearing values
  • preserve explicit midnight-UTC date changes and clearDueDate clears

Verification

  • npm ci --no-audit --no-fund
  • npm test -- --maxWorkers=2 src/tests/composables/useCardModal.spec.ts
  • npm run typecheck
  • npx eslint src/composables/useCardModal.ts src/tests/composables/useCardModal.spec.ts
  • git diff --check

Scope/docs check: no canonical docs change is required; current due-date compatibility contract remains intact.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

The connector usage-limit notice is informational, not a review finding. This PR is being checked through the independent coordinator review path; no code action is requested from this notice.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Review gate (Codex credits exhausted, SC-9): one fresh-context reviewer confirmed the comparison is symmetric and UTC-based on both sides (toCalendarDateKey seeds the input and gates the payload), omitted fields are genuinely absent on the wire and CardService only mutates/audits the due date when DueDate.HasValue or ClearDueDate, and the spec covers offset-bearing legacy values, clear, and new-date paths with hasOwnProperty assertions. Frontend Unit green at this head. Verdict SHIP. One LOW declined (an unparseable persisted dueDate can no longer be cleared from the modal — requires hand-edited data). Merging in the next batch.

@Chris0Jeky
Chris0Jeky merged commit 15d10ab into main Sep 4, 2026
35 checks passed
@github-project-automation github-project-automation Bot moved this from Pending to Done in Taskdeck Execution Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[Due dates] Avoid false audit changes for unchanged legacy values

1 participant