fix: Tier-3 minor fixes — dead stub removal + telemetry quit flush (#693, #690)#709
Conversation
PackDetailView's copyValidationErrorsToClipboard() was an empty placeholder that's never called and has no validation-error state to copy. The working implementation lives in the overlay path (LiveKeyboardOverlayView). Delete the dead stub. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The KindaVim telemetry store flushes on a ~5s timer and skips a final flush in deinit (MainActor restriction), so up to one interval of aggregate counters was lost on quit. Call the existing MainActor-safe flushNow() from applicationWillTerminate. No-op when telemetry is disabled. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Code ReviewSummary: Two small Tier-3 cleanups — a dead stub removal and a telemetry quit-flush fix. Both changes are minimal, correct, and well-scoped. #693 — Dead stub removal (
|
| Area | Status |
|---|---|
| Correctness | ✅ Both changes are correct |
| Concurrency safety | ✅ MainActor isolation is sound |
| Project conventions | ✅ Minor comment-style nit only |
| Test coverage | ✅ Adequate for the scope |
| Risk | ✅ Low — no logic changes, no new code paths |
Verdict: Looks good to merge. The comment nit is optional.
Two small Tier-3 cleanups.
#693 —
PackDetailView.copyValidationErrorsToClipboard()was an empty placeholder, never called, with no validation-error state to copy (the real impl is inLiveKeyboardOverlayView). Deleted as dead code.#690 — KindaVim telemetry flushed on a ~5s timer with no final flush in deinit, losing up to one interval on quit. Now calls the existing MainActor-safe
flushNow()fromapplicationWillTerminate(no-op when disabled).