You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/lib/AGENTS.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ Domain helpers that take inputs and return values. **No React, no Tauri, no `@/a
6
6
7
7
-`board.ts` — Kanban column state derivation. `groupTasksByStatus`, `moveTaskToIndex` (geometry-aware insertion for column empty-area drops), `calculateMidpoint` + `computeDropOrder` (the floating-point `order` slot picker that triggers a backend `renumber` when precision is exhausted), and the `UNKNOWN_STATUS` sentinel for tasks whose status no longer matches any column.
8
8
-`filter.ts` — `isValidFilter`: trims operand-less tag filters out of visible-count / save payloads.
9
-
-`keyboard.ts` — `isImeKeyEvent`: returns true when a keydown was generated by an IME composition step (composition, confirm, cancel). Handles both native `KeyboardEvent` and React's synthetic, including the WebKit quirk where `compositionend` fires before the confirming/cancelling keydown.
9
+
-`keyboard.ts` — `isImeKeyEvent`: returns true when a keydown was generated by an IME composition step (composition, confirm, cancel). Handles both native `KeyboardEvent` and React's synthetic, including the WebKit quirk where `compositionend` fires before the confirming/cancelling keydown.`isArrowDownKey` / `isArrowUpKey`: project-wide directional-key detectors — match either the literal `ArrowDown` / `ArrowUp` key or the Emacs-style `Ctrl+N` / `Ctrl+P`. Every list / menu / popover / tab navigation handler routes through these helpers so the two stay perfectly aligned. Ctrl+N/P is matched only with the plain Control modifier so it never collides with chords like `Cmd+N` ("New Task") or `Ctrl+Shift+N` ("New Window").
10
10
-`statuses.ts` — Status edit support: `labelKey` (cheap equality), `buildCandidateStatuses` (trim + drop blanks), `hasDuplicateLabel`, `statusEntriesEqual`, `buildRenameMap` (drives backend frontmatter migration on rename).
11
11
-`tags.ts` — `commitPending` (dedup + trim a pending tag input), `fuzzySubsequenceMatch` (autocomplete predicate), `fuzzySubsequenceMatchIndices` (the matched-character indices used to highlight suggestions).
12
12
-`task.ts` — Task form diff: `TaskFormSnapshot`, `computeDirtyUpdates` (returns a sparse `TaskUpdates`), `withTaskUpdates`.
0 commit comments