Commit 7292231
committed
fix: activity detector redesign, fork worktree fix, search/terminal improvements
Activity detector:
- Polling never returns .activelyWorking — only hooks promote to In Progress
- Fast Ctrl+C detection: reads last jsonl line for "Request interrupted by user"
- 5-minute file timeout as safety net for killed processes/abandoned sessions
- sleep 60s scenarios stay activelyWorking (< 5min timeout)
- Configurable activeTimeout (default 300s)
Fork worktree re-attachment fix:
- Set manualOverrides.worktreePath when forking with "project root"
- Reconciler respects override: won't re-attach worktree to forked cards
- Don't offer worktree cleanup when another active card depends on it
Search & history:
- Dark color scheme for search bar placeholder visibility
- Search highlights on tool_use and tool_result lines
- Escape dismisses search before drawer (onKeyPress responder level)
- Scroll position preserved on search dismiss
- Full history search loads all turns
Terminal:
- Tmux copy-mode exit cooldown (300ms) prevents momentum re-entry
- Bottom scroll detection via #{scroll_position}, explicit q exit
- Key press after scroll: consume + sequential tmux send-keys
- Hide SwiftTerm's private NSScroller scrollbar
Session store:
- Streaming search with BM25 scoring and progressive results
- Fork preserves original file mtime (prevents false inProgress)
- Lowercase UUID for Claude Code compatibility
Other:
- Discover branches from checkout -b, switch -c, worktree add -b
- Move to Project: configured projects only, confirmation dialog
- Move to Project available in drawer actions menu
Tests: 340 passing (22 activity detector, 33 reconciler)1 parent baa67b6 commit 7292231
File tree
17 files changed
+1004
-275
lines changed- Sources
- KanbanCodeCore
- Adapters/ClaudeCode
- Domain/Ports
- UseCases
- KanbanCode
- Tests/KanbanCodeCoreTests
- specs/sessions
17 files changed
+1004
-275
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
| |||
54 | 55 | | |
55 | 56 | | |
56 | 57 | | |
| 58 | + | |
57 | 59 | | |
58 | 60 | | |
59 | 61 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| 54 | + | |
54 | 55 | | |
55 | 56 | | |
56 | 57 | | |
57 | 58 | | |
58 | 59 | | |
| 60 | + | |
| 61 | + | |
59 | 62 | | |
60 | 63 | | |
61 | 64 | | |
| |||
108 | 111 | | |
109 | 112 | | |
110 | 113 | | |
111 | | - | |
| 114 | + | |
112 | 115 | | |
113 | 116 | | |
114 | 117 | | |
| |||
119 | 122 | | |
120 | 123 | | |
121 | 124 | | |
| 125 | + | |
122 | 126 | | |
123 | 127 | | |
124 | 128 | | |
125 | 129 | | |
126 | 130 | | |
| 131 | + | |
| 132 | + | |
127 | 133 | | |
128 | 134 | | |
129 | 135 | | |
| |||
295 | 301 | | |
296 | 302 | | |
297 | 303 | | |
298 | | - | |
| 304 | + | |
299 | 305 | | |
300 | 306 | | |
301 | 307 | | |
| |||
322 | 328 | | |
323 | 329 | | |
324 | 330 | | |
325 | | - | |
| 331 | + | |
| 332 | + | |
326 | 333 | | |
327 | 334 | | |
328 | 335 | | |
| |||
1082 | 1089 | | |
1083 | 1090 | | |
1084 | 1091 | | |
1085 | | - | |
| 1092 | + | |
1086 | 1093 | | |
1087 | 1094 | | |
1088 | 1095 | | |
| |||
1091 | 1098 | | |
1092 | 1099 | | |
1093 | 1100 | | |
1094 | | - | |
| 1101 | + | |
1095 | 1102 | | |
1096 | 1103 | | |
1097 | 1104 | | |
1098 | 1105 | | |
| 1106 | + | |
| 1107 | + | |
| 1108 | + | |
| 1109 | + | |
| 1110 | + | |
| 1111 | + | |
| 1112 | + | |
| 1113 | + | |
| 1114 | + | |
| 1115 | + | |
| 1116 | + | |
| 1117 | + | |
| 1118 | + | |
| 1119 | + | |
| 1120 | + | |
1099 | 1121 | | |
1100 | 1122 | | |
1101 | 1123 | | |
| |||
1140 | 1162 | | |
1141 | 1163 | | |
1142 | 1164 | | |
| 1165 | + | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
| 1172 | + | |
| 1173 | + | |
| 1174 | + | |
| 1175 | + | |
| 1176 | + | |
| 1177 | + | |
| 1178 | + | |
| 1179 | + | |
1143 | 1180 | | |
1144 | 1181 | | |
1145 | 1182 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
183 | 184 | | |
184 | 185 | | |
185 | 186 | | |
186 | | - | |
| 187 | + | |
187 | 188 | | |
188 | 189 | | |
189 | 190 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
158 | 158 | | |
159 | 159 | | |
160 | 160 | | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
161 | 165 | | |
162 | 166 | | |
163 | 167 | | |
164 | 168 | | |
165 | | - | |
| 169 | + | |
| 170 | + | |
166 | 171 | | |
167 | 172 | | |
168 | 173 | | |
| |||
210 | 215 | | |
211 | 216 | | |
212 | 217 | | |
| 218 | + | |
213 | 219 | | |
214 | 220 | | |
215 | 221 | | |
| |||
230 | 236 | | |
231 | 237 | | |
232 | 238 | | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
233 | 244 | | |
234 | 245 | | |
235 | 246 | | |
| |||
441 | 452 | | |
442 | 453 | | |
443 | 454 | | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
444 | 476 | | |
445 | 477 | | |
446 | 478 | | |
| |||
844 | 876 | | |
845 | 877 | | |
846 | 878 | | |
847 | | - | |
| 879 | + | |
| 880 | + | |
848 | 881 | | |
849 | 882 | | |
850 | 883 | | |
851 | 884 | | |
852 | | - | |
853 | | - | |
854 | | - | |
855 | | - | |
856 | | - | |
857 | 885 | | |
858 | 886 | | |
859 | 887 | | |
| |||
1391 | 1419 | | |
1392 | 1420 | | |
1393 | 1421 | | |
| 1422 | + | |
| 1423 | + | |
| 1424 | + | |
| 1425 | + | |
| 1426 | + | |
| 1427 | + | |
| 1428 | + | |
| 1429 | + | |
| 1430 | + | |
| 1431 | + | |
| 1432 | + | |
| 1433 | + | |
| 1434 | + | |
1394 | 1435 | | |
1395 | 1436 | | |
1396 | 1437 | | |
| |||
1400 | 1441 | | |
1401 | 1442 | | |
1402 | 1443 | | |
1403 | | - | |
1404 | | - | |
| 1444 | + | |
| 1445 | + | |
| 1446 | + | |
1405 | 1447 | | |
1406 | 1448 | | |
1407 | 1449 | | |
| |||
1670 | 1712 | | |
1671 | 1713 | | |
1672 | 1714 | | |
| 1715 | + | |
1673 | 1716 | | |
1674 | 1717 | | |
1675 | 1718 | | |
| |||
1811 | 1854 | | |
1812 | 1855 | | |
1813 | 1856 | | |
1814 | | - | |
1815 | | - | |
1816 | | - | |
1817 | | - | |
1818 | | - | |
1819 | | - | |
1820 | | - | |
| 1857 | + | |
| 1858 | + | |
| 1859 | + | |
| 1860 | + | |
| 1861 | + | |
| 1862 | + | |
| 1863 | + | |
| 1864 | + | |
| 1865 | + | |
| 1866 | + | |
| 1867 | + | |
| 1868 | + | |
| 1869 | + | |
1821 | 1870 | | |
1822 | 1871 | | |
1823 | 1872 | | |
1824 | 1873 | | |
1825 | 1874 | | |
1826 | 1875 | | |
1827 | 1876 | | |
1828 | | - | |
| 1877 | + | |
1829 | 1878 | | |
1830 | 1879 | | |
1831 | 1880 | | |
1832 | | - | |
| 1881 | + | |
1833 | 1882 | | |
1834 | 1883 | | |
1835 | 1884 | | |
1836 | 1885 | | |
| 1886 | + | |
| 1887 | + | |
| 1888 | + | |
| 1889 | + | |
1837 | 1890 | | |
1838 | 1891 | | |
1839 | 1892 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| 37 | + | |
37 | 38 | | |
38 | 39 | | |
39 | 40 | | |
| |||
67 | 68 | | |
68 | 69 | | |
69 | 70 | | |
| 71 | + | |
70 | 72 | | |
71 | 73 | | |
72 | 74 | | |
| |||
0 commit comments