Commit e043416
feat: группировка по git-репо с Q&A-списком сессий в разделе Projects (#58)
* feat: git-aware project grouping with Q&A session list in Projects view
* fix: резолвить git root через git rev-parse вместо паттерн-матчинга пути
* fix: использовать worktree-state.originalCwd как основной источник git root
Добавлена поддержка записи worktree-state, которую Claude Code записывает
в начало JSONL-файла при работе внутри git-воркдерева.
worktreeSession.originalCwd указывает на директорию основного чекаута и
используется как git_root с наивысшим приоритетом. Это решение не требует
доступа к git и корректно работает в контейнерных окружениях, где git-репозитории
не примонтированы (см. #37).
Порядок приоритетов:
1. worktree-state.originalCwd (container-safe, из JSONL)
2. git rev-parse --show-toplevel (runtime, с graceful fallback)
3. path heuristic /.claude/worktrees/ (frontend, строковый матчинг)
---------
Co-authored-by: Pawel <pwlnvk@gmail.com>1 parent 99da060 commit e043416
3 files changed
Lines changed: 194 additions & 20 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
| 93 | + | |
93 | 94 | | |
94 | 95 | | |
95 | 96 | | |
| |||
102 | 103 | | |
103 | 104 | | |
104 | 105 | | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
105 | 111 | | |
106 | 112 | | |
107 | 113 | | |
| |||
126 | 132 | | |
127 | 133 | | |
128 | 134 | | |
| 135 | + | |
129 | 136 | | |
130 | 137 | | |
131 | 138 | | |
| |||
143 | 150 | | |
144 | 151 | | |
145 | 152 | | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
146 | 157 | | |
147 | 158 | | |
148 | 159 | | |
| |||
767 | 778 | | |
768 | 779 | | |
769 | 780 | | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
| 784 | + | |
| 785 | + | |
| 786 | + | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
770 | 810 | | |
771 | 811 | | |
772 | 812 | | |
| |||
912 | 952 | | |
913 | 953 | | |
914 | 954 | | |
| 955 | + | |
915 | 956 | | |
916 | 957 | | |
917 | 958 | | |
| |||
983 | 1024 | | |
984 | 1025 | | |
985 | 1026 | | |
| 1027 | + | |
986 | 1028 | | |
987 | 1029 | | |
988 | 1030 | | |
| |||
991 | 1033 | | |
992 | 1034 | | |
993 | 1035 | | |
| 1036 | + | |
| 1037 | + | |
| 1038 | + | |
| 1039 | + | |
994 | 1040 | | |
995 | 1041 | | |
996 | 1042 | | |
997 | 1043 | | |
998 | 1044 | | |
| 1045 | + | |
| 1046 | + | |
999 | 1047 | | |
1000 | 1048 | | |
1001 | 1049 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
58 | 72 | | |
59 | 73 | | |
60 | 74 | | |
| |||
1184 | 1198 | | |
1185 | 1199 | | |
1186 | 1200 | | |
| 1201 | + | |
| 1202 | + | |
| 1203 | + | |
| 1204 | + | |
| 1205 | + | |
| 1206 | + | |
| 1207 | + | |
| 1208 | + | |
| 1209 | + | |
| 1210 | + | |
| 1211 | + | |
| 1212 | + | |
| 1213 | + | |
| 1214 | + | |
| 1215 | + | |
| 1216 | + | |
| 1217 | + | |
| 1218 | + | |
| 1219 | + | |
| 1220 | + | |
| 1221 | + | |
1187 | 1222 | | |
1188 | | - | |
| 1223 | + | |
1189 | 1224 | | |
1190 | | - | |
1191 | | - | |
1192 | | - | |
| 1225 | + | |
| 1226 | + | |
| 1227 | + | |
1193 | 1228 | | |
1194 | 1229 | | |
1195 | | - | |
1196 | | - | |
| 1230 | + | |
| 1231 | + | |
1197 | 1232 | | |
1198 | 1233 | | |
1199 | 1234 | | |
1200 | 1235 | | |
1201 | 1236 | | |
1202 | 1237 | | |
1203 | 1238 | | |
1204 | | - | |
| 1239 | + | |
| 1240 | + | |
1205 | 1241 | | |
1206 | 1242 | | |
1207 | | - | |
| 1243 | + | |
1208 | 1244 | | |
1209 | | - | |
1210 | | - | |
1211 | | - | |
| 1245 | + | |
| 1246 | + | |
| 1247 | + | |
1212 | 1248 | | |
1213 | | - | |
1214 | | - | |
| 1249 | + | |
| 1250 | + | |
1215 | 1251 | | |
1216 | | - | |
| 1252 | + | |
| 1253 | + | |
| 1254 | + | |
1217 | 1255 | | |
1218 | | - | |
1219 | | - | |
1220 | | - | |
1221 | | - | |
| 1256 | + | |
| 1257 | + | |
1222 | 1258 | | |
1223 | | - | |
1224 | 1259 | | |
1225 | 1260 | | |
1226 | 1261 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1470 | 1470 | | |
1471 | 1471 | | |
1472 | 1472 | | |
1473 | | - | |
| 1473 | + | |
| 1474 | + | |
| 1475 | + | |
| 1476 | + | |
| 1477 | + | |
| 1478 | + | |
| 1479 | + | |
| 1480 | + | |
| 1481 | + | |
| 1482 | + | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
| 1486 | + | |
| 1487 | + | |
| 1488 | + | |
| 1489 | + | |
| 1490 | + | |
| 1491 | + | |
| 1492 | + | |
| 1493 | + | |
| 1494 | + | |
| 1495 | + | |
| 1496 | + | |
| 1497 | + | |
| 1498 | + | |
| 1499 | + | |
| 1500 | + | |
| 1501 | + | |
| 1502 | + | |
| 1503 | + | |
| 1504 | + | |
| 1505 | + | |
| 1506 | + | |
| 1507 | + | |
| 1508 | + | |
| 1509 | + | |
| 1510 | + | |
| 1511 | + | |
| 1512 | + | |
| 1513 | + | |
| 1514 | + | |
| 1515 | + | |
| 1516 | + | |
| 1517 | + | |
| 1518 | + | |
| 1519 | + | |
| 1520 | + | |
| 1521 | + | |
| 1522 | + | |
| 1523 | + | |
| 1524 | + | |
| 1525 | + | |
| 1526 | + | |
| 1527 | + | |
| 1528 | + | |
| 1529 | + | |
| 1530 | + | |
| 1531 | + | |
| 1532 | + | |
| 1533 | + | |
| 1534 | + | |
| 1535 | + | |
| 1536 | + | |
| 1537 | + | |
| 1538 | + | |
| 1539 | + | |
| 1540 | + | |
| 1541 | + | |
| 1542 | + | |
| 1543 | + | |
| 1544 | + | |
| 1545 | + | |
| 1546 | + | |
| 1547 | + | |
| 1548 | + | |
| 1549 | + | |
| 1550 | + | |
| 1551 | + | |
| 1552 | + | |
| 1553 | + | |
| 1554 | + | |
| 1555 | + | |
| 1556 | + | |
| 1557 | + | |
| 1558 | + | |
| 1559 | + | |
| 1560 | + | |
| 1561 | + | |
| 1562 | + | |
| 1563 | + | |
| 1564 | + | |
1474 | 1565 | | |
1475 | 1566 | | |
1476 | 1567 | | |
| |||
0 commit comments