Skip to content

fix(dart): phase 2 follow-ups from plan audit - #11

Merged
Interstellar-code merged 8 commits into
mainfrom
dart/phase-2-followups
Nov 7, 2026
Merged

Interstellar-code merged 8 commits into
mainfrom
dart/phase-2-followups

Conversation

@Interstellar-code

Copy link
Copy Markdown
Owner

Summary

Follow-ups from the final audit of Dart phase 2 (PR #10) against docs/plans/dart-phase-2.md.

  1. D13/T7: New task drafts count toward the 20-draft cap, the full warning and the Disconnect prompt. One shared drafts-full alert and discard path; a create that is submitting or has an unknown outcome is never discarded (no blind duplicate create).
  2. D4: a rate-limited edit rolls back and shows a toast, not a persistent notice.
  3. T4b step 6: the title field reconciles with a title changed in Dart (follows it when unfocused; a typed draft is kept with an inline note; typing the old title back never reverts the rename in Dart).
  4. D12: remaining user-facing strings translated.
  5. Accessibility: screen-reader hints for blocked fields, tags label linked, a reason shown when Dart field options failed to load (only after the read fails).
  6. User docs in docs/site/content/docs/review/dart.mdx: New task, field and description editing, drafts, older hosts.

Additive contract change: optional configFailed on DartDetailEditApi (dart-detail-contracts.ts).

Testing

Dart dirs: 665 files, 4368 tests passed. Typecheck web + node, changed-code quality, 4 localization checks, focus-read ratchet: green. No live Dart calls.

Review

Opus (medium) review: changes needed in round 1 (2 medium draft-loss risks), approved in round 2.

Known low items, not fixed here

  1. Discard and disconnect clears an unknown-outcome create after explicit confirm; the prompt does not warn that Dart may already have it.
  2. The comment drafts-full warning does not re-render if a create starts submitting while it is shown.
  3. Title status text can say "Saving replaces it" when blur will save nothing; the warning says "oldest" when it targets the next-oldest.

🤖 Generated with Claude Code

Interstellar-code and others added 8 commits November 6, 2026 21:38
D4: a 429 rolls the edit back and shows Dart's message in a toast; it is
transient, so no persistent notice is left to dismiss. Other refusals keep
their notice.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
New task text now enters the bounded draft store: it counts toward the
20-draft cap, shows the full warning with Copy and Discard it in the dialog,
and is counted, copied and discarded by the Disconnect prompt.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The title field keeps typed text over a changed Dart title but says so, and
follows Dart when nothing was changed. A blocked field's hint is now text a
screen reader reaches (aria-describedby), the create dialog's Tags label is
associated with its control, and pickers say why they are off when Dart
returns no field options.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Adds the English catalog entries for this branch's new and previously
hard-coded Dart copy.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…osts

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…reate

Comment, description and New task warnings now share one alert, one
kind-aware message and one discard path (dart-draft-eviction.ts), so
discarding a New task draft also drops its dialog session. A create that is
submitting or may have landed is never discarded: the warning picks the
next-oldest draft, and offers copy-only if nothing else is left.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… the title steady while focused; useId for tags

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ording

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@Interstellar-code
Interstellar-code merged commit 6665c9c into main Nov 7, 2026
2 of 3 checks passed
@Interstellar-code
Interstellar-code deleted the dart/phase-2-followups branch November 7, 2026 16:09
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