claude-code-kanban 7.20.0 → 7.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/public/themes.css CHANGED
@@ -52,7 +52,7 @@ body:not([data-color-theme]):not(.light) {
52
52
  --text-primary: #f0f1f3;
53
53
  --text-secondary: #c2c4c9;
54
54
  --text-tertiary: #9a9da5;
55
- --text-muted: #7d808a;
55
+ --text-muted: #858891;
56
56
  }
57
57
  body.light:not([data-color-theme]) {
58
58
  --accent: #e86f33;
@@ -67,7 +67,7 @@ body.light:not([data-color-theme]) {
67
67
  --text-primary: #0a0a0a;
68
68
  --text-secondary: #2c2c2c;
69
69
  --text-tertiary: #565656;
70
- --text-muted: #767676;
70
+ --text-muted: #666666;
71
71
  }
72
72
  @media (prefers-color-scheme: light) {
73
73
  body:not(.dark-forced):not([data-color-theme]) {
@@ -83,7 +83,7 @@ body:not(.dark-forced):not([data-color-theme]) {
83
83
  --text-primary: #0a0a0a;
84
84
  --text-secondary: #2c2c2c;
85
85
  --text-tertiary: #565656;
86
- --text-muted: #767676;
86
+ --text-muted: #666666;
87
87
  }
88
88
  }
89
89
 
@@ -101,7 +101,7 @@ body[data-color-theme="gruvbox"]:not(.light) {
101
101
  --text-primary: #ebdbb2;
102
102
  --text-secondary: #d5c4a1;
103
103
  --text-tertiary: #bdae93;
104
- --text-muted: #928374;
104
+ --text-muted: #a69782;
105
105
  }
106
106
  body.light[data-color-theme="gruvbox"] {
107
107
  --accent: #d65d0e;
@@ -115,8 +115,8 @@ body.light[data-color-theme="gruvbox"] {
115
115
  --border: #c9bc9d;
116
116
  --text-primary: #3c3836;
117
117
  --text-secondary: #504945;
118
- --text-tertiary: #665c54;
119
- --text-muted: #7c6f64;
118
+ --text-tertiary: #5f564f;
119
+ --text-muted: #70645b;
120
120
  }
121
121
  @media (prefers-color-scheme: light) {
122
122
  body:not(.dark-forced)[data-color-theme="gruvbox"] {
@@ -131,8 +131,8 @@ body:not(.dark-forced)[data-color-theme="gruvbox"] {
131
131
  --border: #c9bc9d;
132
132
  --text-primary: #3c3836;
133
133
  --text-secondary: #504945;
134
- --text-tertiary: #665c54;
135
- --text-muted: #7c6f64;
134
+ --text-tertiary: #5f564f;
135
+ --text-muted: #70645b;
136
136
  }
137
137
  }
138
138
 
@@ -150,7 +150,7 @@ body[data-color-theme="catppuccin"]:not(.light) {
150
150
  --text-primary: #cdd6f4;
151
151
  --text-secondary: #bac2de;
152
152
  --text-tertiary: #a6adc8;
153
- --text-muted: #7f849c;
153
+ --text-muted: #82879f;
154
154
  }
155
155
  body.light[data-color-theme="catppuccin"] {
156
156
  --accent: #8839ef;
@@ -164,8 +164,8 @@ body.light[data-color-theme="catppuccin"] {
164
164
  --border: #bcc0cc;
165
165
  --text-primary: #4c4f69;
166
166
  --text-secondary: #5c5f77;
167
- --text-tertiary: #6c6f85;
168
- --text-muted: #8c8fa1;
167
+ --text-tertiary: #545770;
168
+ --text-muted: #63667d;
169
169
  }
170
170
  @media (prefers-color-scheme: light) {
171
171
  body:not(.dark-forced)[data-color-theme="catppuccin"] {
@@ -180,8 +180,8 @@ body:not(.dark-forced)[data-color-theme="catppuccin"] {
180
180
  --border: #bcc0cc;
181
181
  --text-primary: #4c4f69;
182
182
  --text-secondary: #5c5f77;
183
- --text-tertiary: #6c6f85;
184
- --text-muted: #8c8fa1;
183
+ --text-tertiary: #545770;
184
+ --text-muted: #63667d;
185
185
  }
186
186
  }
187
187
 
@@ -198,8 +198,8 @@ body[data-color-theme="tokyo-night"]:not(.light) {
198
198
  --border: #3b4261;
199
199
  --text-primary: #c0caf5;
200
200
  --text-secondary: #a9b1d6;
201
- --text-tertiary: #787c99;
202
- --text-muted: #565f89;
201
+ --text-tertiary: #959cbe;
202
+ --text-muted: #838aaf;
203
203
  }
204
204
  body.light[data-color-theme="tokyo-night"] {
205
205
  --accent: #2e7de9;
@@ -213,8 +213,8 @@ body.light[data-color-theme="tokyo-night"] {
213
213
  --border: #a8aecb;
214
214
  --text-primary: #343b58;
215
215
  --text-secondary: #565a6e;
216
- --text-tertiary: #6c6e75;
217
- --text-muted: #848cb5;
216
+ --text-tertiary: #505466;
217
+ --text-muted: #5d627a;
218
218
  }
219
219
  @media (prefers-color-scheme: light) {
220
220
  body:not(.dark-forced)[data-color-theme="tokyo-night"] {
@@ -229,8 +229,8 @@ body:not(.dark-forced)[data-color-theme="tokyo-night"] {
229
229
  --border: #a8aecb;
230
230
  --text-primary: #343b58;
231
231
  --text-secondary: #565a6e;
232
- --text-tertiary: #6c6e75;
233
- --text-muted: #848cb5;
232
+ --text-tertiary: #505466;
233
+ --text-muted: #5d627a;
234
234
  }
235
235
  }
236
236
 
@@ -247,8 +247,8 @@ body[data-color-theme="solarized"]:not(.light) {
247
247
  --border: #586e75;
248
248
  --text-primary: #e2dfd0;
249
249
  --text-secondary: #b7c0bf;
250
- --text-tertiary: #93a1a1;
251
- --text-muted: #839496;
250
+ --text-tertiary: #b7beb7;
251
+ --text-muted: #9faaa7;
252
252
  }
253
253
  body.light[data-color-theme="solarized"] {
254
254
  --accent: #2280c2;
@@ -262,8 +262,8 @@ body.light[data-color-theme="solarized"] {
262
262
  --border: #cdc4ab;
263
263
  --text-primary: #073642;
264
264
  --text-secondary: #4f6369;
265
- --text-tertiary: #586e75;
266
- --text-muted: #728589;
265
+ --text-tertiary: #385861;
266
+ --text-muted: #4a666e;
267
267
  --sidebar-bg: #e6dfc7;
268
268
  --sidebar-item-bg: #f3ecd6;
269
269
  }
@@ -280,8 +280,8 @@ body:not(.dark-forced)[data-color-theme="solarized"] {
280
280
  --border: #cdc4ab;
281
281
  --text-primary: #073642;
282
282
  --text-secondary: #4f6369;
283
- --text-tertiary: #586e75;
284
- --text-muted: #728589;
283
+ --text-tertiary: #385861;
284
+ --text-muted: #4a666e;
285
285
  --sidebar-bg: #e6dfc7;
286
286
  --sidebar-item-bg: #f3ecd6;
287
287
  }
@@ -300,8 +300,8 @@ body[data-color-theme="dracula"]:not(.light) {
300
300
  --border: #565a75;
301
301
  --text-primary: #f8f8f2;
302
302
  --text-secondary: #d8d8d2;
303
- --text-tertiary: #b0b3c5;
304
- --text-muted: #6272a4;
303
+ --text-tertiary: #b2b5c6;
304
+ --text-muted: #9aa1bc;
305
305
  }
306
306
  body.light[data-color-theme="dracula"] {
307
307
  --accent: #7c3aed;
@@ -315,8 +315,8 @@ body.light[data-color-theme="dracula"] {
315
315
  --border: #c9c9d6;
316
316
  --text-primary: #16161e;
317
317
  --text-secondary: #34343f;
318
- --text-tertiary: #5a5a68;
319
- --text-muted: #787885;
318
+ --text-tertiary: #575765;
319
+ --text-muted: #666674;
320
320
  }
321
321
  @media (prefers-color-scheme: light) {
322
322
  body:not(.dark-forced)[data-color-theme="dracula"] {
@@ -331,8 +331,8 @@ body:not(.dark-forced)[data-color-theme="dracula"] {
331
331
  --border: #c9c9d6;
332
332
  --text-primary: #16161e;
333
333
  --text-secondary: #34343f;
334
- --text-tertiary: #5a5a68;
335
- --text-muted: #787885;
334
+ --text-tertiary: #575765;
335
+ --text-muted: #666674;
336
336
  }
337
337
  }
338
338
 
@@ -349,8 +349,8 @@ body[data-color-theme="nord"]:not(.light) {
349
349
  --border: #4c566a;
350
350
  --text-primary: #eceff4;
351
351
  --text-secondary: #d8dee9;
352
- --text-tertiary: #aeb6c5;
353
- --text-muted: #7b88a1;
352
+ --text-tertiary: #bec4d1;
353
+ --text-muted: #a7b0c1;
354
354
  }
355
355
  body.light[data-color-theme="nord"] {
356
356
  --accent: #5e81ac;
@@ -365,7 +365,7 @@ body.light[data-color-theme="nord"] {
365
365
  --text-primary: #2e3440;
366
366
  --text-secondary: #3b4252;
367
367
  --text-tertiary: #4c566a;
368
- --text-muted: #6b7589;
368
+ --text-muted: #5e687c;
369
369
  }
370
370
  @media (prefers-color-scheme: light) {
371
371
  body:not(.dark-forced)[data-color-theme="nord"] {
@@ -381,7 +381,7 @@ body:not(.dark-forced)[data-color-theme="nord"] {
381
381
  --text-primary: #2e3440;
382
382
  --text-secondary: #3b4252;
383
383
  --text-tertiary: #4c566a;
384
- --text-muted: #6b7589;
384
+ --text-muted: #5e687c;
385
385
  }
386
386
  }
387
387
 
@@ -398,8 +398,8 @@ body[data-color-theme="rose-pine"]:not(.light) {
398
398
  --border: #403d52;
399
399
  --text-primary: #e0def4;
400
400
  --text-secondary: #c5c2dd;
401
- --text-tertiary: #908caa;
402
- --text-muted: #6e6a86;
401
+ --text-tertiary: #a09db9;
402
+ --text-muted: #8e8ba7;
403
403
  }
404
404
  body.light[data-color-theme="rose-pine"] {
405
405
  --accent: #907aa9;
@@ -413,8 +413,8 @@ body.light[data-color-theme="rose-pine"] {
413
413
  --border: #cecacd;
414
414
  --text-primary: #575279;
415
415
  --text-secondary: #635e87;
416
- --text-tertiary: #6e6a88;
417
- --text-muted: #857f96;
416
+ --text-tertiary: #5a557b;
417
+ --text-muted: #6a6485;
418
418
  }
419
419
  @media (prefers-color-scheme: light) {
420
420
  body:not(.dark-forced)[data-color-theme="rose-pine"] {
@@ -429,8 +429,8 @@ body:not(.dark-forced)[data-color-theme="rose-pine"] {
429
429
  --border: #cecacd;
430
430
  --text-primary: #575279;
431
431
  --text-secondary: #635e87;
432
- --text-tertiary: #6e6a88;
433
- --text-muted: #857f96;
432
+ --text-tertiary: #5a557b;
433
+ --text-muted: #6a6485;
434
434
  }
435
435
  }
436
436
 
@@ -447,8 +447,8 @@ body[data-color-theme="everforest"]:not(.light) {
447
447
  --border: #475258;
448
448
  --text-primary: #d3c6aa;
449
449
  --text-secondary: #bfb6a3;
450
- --text-tertiary: #9da9a0;
451
- --text-muted: #859289;
450
+ --text-tertiary: #c3bea7;
451
+ --text-muted: #a8ab9a;
452
452
  }
453
453
  body.light[data-color-theme="everforest"] {
454
454
  --accent: #6f8352;
@@ -462,8 +462,8 @@ body.light[data-color-theme="everforest"] {
462
462
  --border: #d3d2bf;
463
463
  --text-primary: #3d484e;
464
464
  --text-secondary: #55636b;
465
- --text-tertiary: #66705f;
466
- --text-muted: #7a8577;
465
+ --text-tertiary: #515b56;
466
+ --text-muted: #606a62;
467
467
  }
468
468
  @media (prefers-color-scheme: light) {
469
469
  body:not(.dark-forced)[data-color-theme="everforest"] {
@@ -478,8 +478,8 @@ body:not(.dark-forced)[data-color-theme="everforest"] {
478
478
  --border: #d3d2bf;
479
479
  --text-primary: #3d484e;
480
480
  --text-secondary: #55636b;
481
- --text-tertiary: #66705f;
482
- --text-muted: #7a8577;
481
+ --text-tertiary: #515b56;
482
+ --text-muted: #606a62;
483
483
  }
484
484
  }
485
485
 
@@ -497,7 +497,7 @@ body[data-color-theme="kanagawa"]:not(.light) {
497
497
  --text-primary: #dcd7ba;
498
498
  --text-secondary: #c8c093;
499
499
  --text-tertiary: #a6a69c;
500
- --text-muted: #727169;
500
+ --text-muted: #94948a;
501
501
  }
502
502
  body.light[data-color-theme="kanagawa"] {
503
503
  --accent: #4d699b;
@@ -511,8 +511,8 @@ body.light[data-color-theme="kanagawa"] {
511
511
  --border: #d2ccb6;
512
512
  --text-primary: #545464;
513
513
  --text-secondary: #66667a;
514
- --text-tertiary: #716e61;
515
- --text-muted: #8a8775;
514
+ --text-tertiary: #565564;
515
+ --text-muted: #666469;
516
516
  }
517
517
  @media (prefers-color-scheme: light) {
518
518
  body:not(.dark-forced)[data-color-theme="kanagawa"] {
@@ -527,8 +527,8 @@ body:not(.dark-forced)[data-color-theme="kanagawa"] {
527
527
  --border: #d2ccb6;
528
528
  --text-primary: #545464;
529
529
  --text-secondary: #66667a;
530
- --text-tertiary: #716e61;
531
- --text-muted: #8a8775;
530
+ --text-tertiary: #565564;
531
+ --text-muted: #666469;
532
532
  }
533
533
  }
534
534
 
@@ -545,8 +545,8 @@ body[data-color-theme="one-dark"]:not(.light) {
545
545
  --border: #4b5263;
546
546
  --text-primary: #d7dae0;
547
547
  --text-secondary: #abb2bf;
548
- --text-tertiary: #8b919e;
549
- --text-muted: #5c6370;
548
+ --text-tertiary: #acb0ba;
549
+ --text-muted: #999ea8;
550
550
  }
551
551
  body.light[data-color-theme="one-dark"] {
552
552
  --accent: #4078f2;
@@ -560,8 +560,8 @@ body.light[data-color-theme="one-dark"] {
560
560
  --border: #d4d4d6;
561
561
  --text-primary: #383a42;
562
562
  --text-secondary: #50525a;
563
- --text-tertiary: #696c77;
564
- --text-muted: #a0a1a7;
563
+ --text-tertiary: #575963;
564
+ --text-muted: #666871;
565
565
  }
566
566
  @media (prefers-color-scheme: light) {
567
567
  body:not(.dark-forced)[data-color-theme="one-dark"] {
@@ -576,8 +576,8 @@ body:not(.dark-forced)[data-color-theme="one-dark"] {
576
576
  --border: #d4d4d6;
577
577
  --text-primary: #383a42;
578
578
  --text-secondary: #50525a;
579
- --text-tertiary: #696c77;
580
- --text-muted: #a0a1a7;
579
+ --text-tertiary: #575963;
580
+ --text-muted: #666871;
581
581
  }
582
582
  }
583
583
 
@@ -594,8 +594,8 @@ body[data-color-theme="night-owl"]:not(.light) {
594
594
  --border: #5f7e97;
595
595
  --text-primary: #d6deeb;
596
596
  --text-secondary: #b8c5d6;
597
- --text-tertiary: #8ba3b8;
598
- --text-muted: #637777;
597
+ --text-tertiary: #9bb0c3;
598
+ --text-muted: #899eab;
599
599
  }
600
600
  body.light[data-color-theme="night-owl"] {
601
601
  --accent: #0c969b;
@@ -609,8 +609,8 @@ body.light[data-color-theme="night-owl"] {
609
609
  --border: #d0d0d0;
610
610
  --text-primary: #403f53;
611
611
  --text-secondary: #545167;
612
- --text-tertiary: #6f6e85;
613
- --text-muted: #989fb1;
612
+ --text-tertiary: #5a596f;
613
+ --text-muted: #68687e;
614
614
  }
615
615
  @media (prefers-color-scheme: light) {
616
616
  body:not(.dark-forced)[data-color-theme="night-owl"] {
@@ -625,8 +625,8 @@ body:not(.dark-forced)[data-color-theme="night-owl"] {
625
625
  --border: #d0d0d0;
626
626
  --text-primary: #403f53;
627
627
  --text-secondary: #545167;
628
- --text-tertiary: #6f6e85;
629
- --text-muted: #989fb1;
628
+ --text-tertiary: #5a596f;
629
+ --text-muted: #68687e;
630
630
  }
631
631
  }
632
632
 
@@ -643,8 +643,8 @@ body[data-color-theme="monokai"]:not(.light) {
643
643
  --border: #5b595c;
644
644
  --text-primary: #fcfcfa;
645
645
  --text-secondary: #d9d8d6;
646
- --text-tertiary: #939293;
647
- --text-muted: #727072;
646
+ --text-tertiary: #bfbfbe;
647
+ --text-muted: #ababab;
648
648
  }
649
649
  body.light[data-color-theme="monokai"] {
650
650
  --accent: #c08a00;
@@ -658,8 +658,8 @@ body.light[data-color-theme="monokai"] {
658
658
  --border: #cdc8c5;
659
659
  --text-primary: #2c292d;
660
660
  --text-secondary: #46434a;
661
- --text-tertiary: #6b686d;
662
- --text-muted: #8d8a8d;
661
+ --text-tertiary: #59565b;
662
+ --text-muted: #68656a;
663
663
  }
664
664
  @media (prefers-color-scheme: light) {
665
665
  body:not(.dark-forced)[data-color-theme="monokai"] {
@@ -674,8 +674,8 @@ body:not(.dark-forced)[data-color-theme="monokai"] {
674
674
  --border: #cdc8c5;
675
675
  --text-primary: #2c292d;
676
676
  --text-secondary: #46434a;
677
- --text-tertiary: #6b686d;
678
- --text-muted: #8d8a8d;
677
+ --text-tertiary: #59565b;
678
+ --text-muted: #68656a;
679
679
  }
680
680
  }
681
681
 
@@ -692,8 +692,8 @@ body[data-color-theme="github"]:not(.light) {
692
692
  --border: #444d56;
693
693
  --text-primary: #e1e4e8;
694
694
  --text-secondary: #d1d5da;
695
- --text-tertiary: #959da5;
696
- --text-muted: #6a737d;
695
+ --text-tertiary: #a6adb4;
696
+ --text-muted: #929aa2;
697
697
  }
698
698
  body.light[data-color-theme="github"] {
699
699
  --accent: #0366d6;
@@ -707,8 +707,8 @@ body.light[data-color-theme="github"] {
707
707
  --border: #d1d5da;
708
708
  --text-primary: #24292e;
709
709
  --text-secondary: #444d56;
710
- --text-tertiary: #586069;
711
- --text-muted: #6a737d;
710
+ --text-tertiary: #575f68;
711
+ --text-muted: #666e78;
712
712
  }
713
713
  @media (prefers-color-scheme: light) {
714
714
  body:not(.dark-forced)[data-color-theme="github"] {
@@ -723,8 +723,8 @@ body:not(.dark-forced)[data-color-theme="github"] {
723
723
  --border: #d1d5da;
724
724
  --text-primary: #24292e;
725
725
  --text-secondary: #444d56;
726
- --text-tertiary: #586069;
727
- --text-muted: #6a737d;
726
+ --text-tertiary: #575f68;
727
+ --text-muted: #666e78;
728
728
  }
729
729
  }
730
730
 
@@ -741,8 +741,8 @@ body[data-color-theme="ayu"]:not(.light) {
741
741
  --border: #2d3343;
742
742
  --text-primary: #bfbdb6;
743
743
  --text-secondary: #a8a6a0;
744
- --text-tertiary: #8a9199;
745
- --text-muted: #6c7380;
744
+ --text-tertiary: #8d949b;
745
+ --text-muted: #7c838d;
746
746
  }
747
747
  body.light[data-color-theme="ayu"] {
748
748
  --accent: #c97612;
@@ -756,8 +756,8 @@ body.light[data-color-theme="ayu"] {
756
756
  --border: #d8dde2;
757
757
  --text-primary: #3d4149;
758
758
  --text-secondary: #5c6166;
759
- --text-tertiary: #787b80;
760
- --text-muted: #8a9199;
759
+ --text-tertiary: #5a5e64;
760
+ --text-muted: #686d74;
761
761
  }
762
762
  @media (prefers-color-scheme: light) {
763
763
  body:not(.dark-forced)[data-color-theme="ayu"] {
@@ -772,8 +772,8 @@ body:not(.dark-forced)[data-color-theme="ayu"] {
772
772
  --border: #d8dde2;
773
773
  --text-primary: #3d4149;
774
774
  --text-secondary: #5c6166;
775
- --text-tertiary: #787b80;
776
- --text-muted: #8a9199;
775
+ --text-tertiary: #5a5e64;
776
+ --text-muted: #686d74;
777
777
  }
778
778
  }
779
779
 
@@ -790,8 +790,8 @@ body[data-color-theme="vitesse"]:not(.light) {
790
790
  --border: #333333;
791
791
  --text-primary: #dbd7ca;
792
792
  --text-secondary: #bfbaaa;
793
- --text-tertiary: #8f8f85;
794
- --text-muted: #758575;
793
+ --text-tertiary: #99998e;
794
+ --text-muted: #7e8a7b;
795
795
  }
796
796
  body.light[data-color-theme="vitesse"] {
797
797
  --accent: #1c6b48;
@@ -805,8 +805,8 @@ body.light[data-color-theme="vitesse"] {
805
805
  --border: #d6d6d6;
806
806
  --text-primary: #393a34;
807
807
  --text-secondary: #4e4f47;
808
- --text-tertiary: #6b6d63;
809
- --text-muted: #a0ada0;
808
+ --text-tertiary: #5d5e56;
809
+ --text-muted: #6a6d64;
810
810
  }
811
811
  @media (prefers-color-scheme: light) {
812
812
  body:not(.dark-forced)[data-color-theme="vitesse"] {
@@ -821,8 +821,8 @@ body:not(.dark-forced)[data-color-theme="vitesse"] {
821
821
  --border: #d6d6d6;
822
822
  --text-primary: #393a34;
823
823
  --text-secondary: #4e4f47;
824
- --text-tertiary: #6b6d63;
825
- --text-muted: #a0ada0;
824
+ --text-tertiary: #5d5e56;
825
+ --text-muted: #6a6d64;
826
826
  }
827
827
  }
828
828
 
@@ -840,7 +840,7 @@ body[data-color-theme="synthwave"]:not(.light) {
840
840
  --text-primary: #ffffff;
841
841
  --text-secondary: #d8d6e8;
842
842
  --text-tertiary: #b6b1d8;
843
- --text-muted: #848bbd;
843
+ --text-muted: #8f94c3;
844
844
  }
845
845
  body.light[data-color-theme="synthwave"] {
846
846
  --accent: #c936a6;
@@ -854,8 +854,8 @@ body.light[data-color-theme="synthwave"] {
854
854
  --border: #c5bcdd;
855
855
  --text-primary: #241b2f;
856
856
  --text-secondary: #3d3455;
857
- --text-tertiary: #5c5380;
858
- --text-muted: #7d76a3;
857
+ --text-tertiary: #59507c;
858
+ --text-muted: #675f8b;
859
859
  }
860
860
  @media (prefers-color-scheme: light) {
861
861
  body:not(.dark-forced)[data-color-theme="synthwave"] {
@@ -870,7 +870,7 @@ body:not(.dark-forced)[data-color-theme="synthwave"] {
870
870
  --border: #c5bcdd;
871
871
  --text-primary: #241b2f;
872
872
  --text-secondary: #3d3455;
873
- --text-tertiary: #5c5380;
874
- --text-muted: #7d76a3;
873
+ --text-tertiary: #59507c;
874
+ --text-muted: #675f8b;
875
875
  }
876
876
  }
package/server.js CHANGED
@@ -74,7 +74,7 @@ const { countTaskDir } = require('./lib/task-counts');
74
74
  const { readTaskDir } = require('./lib/task-dir');
75
75
  const { foldAgentLines } = require('./lib/agent-log');
76
76
  const { projectMatcher, normalizeProjectPath, sessionProjectKey } = require('./public/project-match');
77
- const { getParentVerdict, setParentVerdict } = require('./lib/parent-cache');
77
+ const { getParentVerdict, setParentVerdict, peekParentVerdict } = require('./lib/parent-cache');
78
78
 
79
79
  if (process.argv.includes("--install") || process.argv.includes("--uninstall")) {
80
80
  const { runInstall, runUninstall } = require("./install");
@@ -1562,10 +1562,11 @@ app.get('/api/sessions', async (req, res) => {
1562
1562
  const compactSuppressed = new Set();
1563
1563
  for (const [sid] of sessionsMap) {
1564
1564
  // Cheap pre-gate: only a session with a boundary anchor can be a continuation,
1565
- // and lookupParentSession reads JSONLs on a cold cache.
1566
- if (!metadata[sid]?.logicalParentUuid) continue;
1567
- const parent = lookupParentSession(sid);
1568
- if (parent.relation !== 'compact' || !sessionsMap.has(parent.parentSessionId)) continue;
1565
+ // and lookupParentSession reads JSONLs on a cold cache. A fork with no boundary
1566
+ // gets its badge only once a verdict exists (the info modal computes one).
1567
+ const parent = metadata[sid]?.logicalParentUuid ? lookupParentSession(sid) : peekParentVerdict(sid);
1568
+ if (parent?.relation === 'fork') sessionsMap.get(sid).forkedFromSessionId = parent.parentSessionId;
1569
+ if (parent?.relation !== 'compact' || !sessionsMap.has(parent.parentSessionId)) continue;
1569
1570
  compactSuppressed.add(parent.parentSessionId);
1570
1571
  sessionsMap.get(sid).continuedFromSessionId = parent.parentSessionId;
1571
1572
  }