clay-server 2.34.0-beta.1 → 2.34.0-beta.10
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/lib/ask-user-mcp-server.js +120 -0
- package/lib/daemon.js +97 -38
- package/lib/mate-datastore.js +27 -5
- package/lib/mates.js +2 -2
- package/lib/os-users.js +13 -0
- package/lib/project-connection.js +16 -9
- package/lib/project-mate-datastore.js +16 -2
- package/lib/project-sessions.js +110 -7
- package/lib/project-user-message.js +4 -3
- package/lib/project.js +97 -10
- package/lib/public/css/mates.css +94 -52
- package/lib/public/css/mobile-nav.css +0 -14
- package/lib/public/css/notifications-center.css +23 -19
- package/lib/public/css/sidebar.css +326 -101
- package/lib/public/index.html +24 -57
- package/lib/public/modules/app-dm.js +0 -2
- package/lib/public/modules/app-messages.js +3 -5
- package/lib/public/modules/app-rendering.js +0 -2
- package/lib/public/modules/diff.js +21 -7
- package/lib/public/modules/mate-datastore-ui.js +108 -98
- package/lib/public/modules/mate-sidebar.js +0 -9
- package/lib/public/modules/mate-wizard.js +15 -15
- package/lib/public/modules/sidebar-mobile.js +10 -20
- package/lib/public/modules/sidebar-sessions.js +490 -113
- package/lib/public/modules/sidebar.js +8 -6
- package/lib/public/modules/tools.js +58 -13
- package/lib/public/sw.js +1 -1
- package/lib/sdk-bridge.js +36 -28
- package/lib/sdk-message-processor.js +14 -3
- package/lib/server.js +28 -72
- package/lib/sessions.js +157 -20
- package/lib/ws-schema.js +2 -0
- package/lib/yoke/adapters/claude-worker.js +114 -2
- package/lib/yoke/adapters/claude.js +56 -5
- package/lib/yoke/adapters/codex.js +349 -58
- package/lib/yoke/index.js +73 -35
- package/lib/yoke/instructions.js +0 -1
- package/lib/yoke/mcp-bridge-server.js +14 -6
- package/package.json +1 -2
- package/lib/yoke/adapters/gemini.js +0 -709
|
@@ -309,45 +309,49 @@
|
|
|
309
309
|
|
|
310
310
|
.light-theme .notif-banner-clear-all {
|
|
311
311
|
background:
|
|
312
|
-
linear-gradient(180deg, rgba(255,255,255,0.
|
|
313
|
-
rgba(
|
|
314
|
-
|
|
312
|
+
linear-gradient(180deg, rgba(255,255,255,0.54), rgba(255,255,255,0.28)),
|
|
313
|
+
rgba(248,250,255,0.22);
|
|
314
|
+
backdrop-filter: blur(10px) saturate(1.08);
|
|
315
|
+
-webkit-backdrop-filter: blur(10px) saturate(1.08);
|
|
316
|
+
border-color: rgba(255,255,255,0.52);
|
|
315
317
|
color: rgba(36, 45, 66, 0.72);
|
|
316
318
|
box-shadow:
|
|
317
|
-
inset 0 1px 0 rgba(255,255,255,0.
|
|
318
|
-
0 8px 22px rgba(31, 41, 55, 0.
|
|
319
|
+
inset 0 1px 0 rgba(255,255,255,0.78),
|
|
320
|
+
0 8px 22px rgba(31, 41, 55, 0.07);
|
|
319
321
|
}
|
|
320
322
|
|
|
321
323
|
.light-theme .notif-banner-clear-all:hover {
|
|
322
324
|
color: rgba(22, 29, 45, 0.92);
|
|
323
325
|
background:
|
|
324
|
-
linear-gradient(180deg, rgba(255,255,255,0.
|
|
325
|
-
rgba(
|
|
326
|
-
border-color: rgba(
|
|
326
|
+
linear-gradient(180deg, rgba(255,255,255,0.62), rgba(255,255,255,0.34)),
|
|
327
|
+
rgba(248,250,255,0.26);
|
|
328
|
+
border-color: rgba(255,255,255,0.6);
|
|
327
329
|
}
|
|
328
330
|
|
|
329
331
|
.light-theme .notif-banner {
|
|
330
332
|
background:
|
|
331
|
-
linear-gradient(180deg, rgba(255,255,255,0.
|
|
332
|
-
rgba(
|
|
333
|
-
|
|
333
|
+
linear-gradient(180deg, rgba(255,255,255,0.58), rgba(255,255,255,0.22)),
|
|
334
|
+
rgba(248,250,255,0.2);
|
|
335
|
+
backdrop-filter: blur(12px) saturate(1.05);
|
|
336
|
+
-webkit-backdrop-filter: blur(12px) saturate(1.05);
|
|
337
|
+
border: 1px solid rgba(255,255,255,0.5);
|
|
334
338
|
box-shadow:
|
|
335
|
-
inset 0 1px 0 rgba(255,255,255,0.
|
|
336
|
-
0 10px 30px rgba(31, 41, 55, 0.
|
|
339
|
+
inset 0 1px 0 rgba(255,255,255,0.72),
|
|
340
|
+
0 10px 30px rgba(31, 41, 55, 0.09);
|
|
337
341
|
}
|
|
338
342
|
|
|
339
343
|
.light-theme .notif-banner:hover {
|
|
340
|
-
border-color: rgba(
|
|
344
|
+
border-color: rgba(255,255,255,0.62);
|
|
341
345
|
box-shadow:
|
|
342
|
-
inset 0 1px 0 rgba(255,255,255,0.
|
|
343
|
-
0 12px 34px rgba(31, 41, 55, 0.
|
|
346
|
+
inset 0 1px 0 rgba(255,255,255,0.8),
|
|
347
|
+
0 12px 34px rgba(31, 41, 55, 0.11);
|
|
344
348
|
}
|
|
345
349
|
|
|
346
350
|
.light-theme .notif-banner-icon {
|
|
347
|
-
background: linear-gradient(180deg, rgba(255,255,255,0.
|
|
348
|
-
border-color: rgba(
|
|
351
|
+
background: linear-gradient(180deg, rgba(255,255,255,0.72), rgba(246,249,255,0.36));
|
|
352
|
+
border-color: rgba(255,255,255,0.52);
|
|
349
353
|
color: var(--text-secondary);
|
|
350
|
-
box-shadow: inset 0 1px 0 rgba(255,255,255,0.
|
|
354
|
+
box-shadow: inset 0 1px 0 rgba(255,255,255,0.78);
|
|
351
355
|
}
|
|
352
356
|
|
|
353
357
|
.light-theme .notif-banner-project {
|
|
@@ -285,8 +285,7 @@
|
|
|
285
285
|
/* --- Tools section --- */
|
|
286
286
|
#sidebar-tools {
|
|
287
287
|
flex-shrink: 0;
|
|
288
|
-
|
|
289
|
-
padding-bottom: 4px;
|
|
288
|
+
padding-bottom: 6px;
|
|
290
289
|
}
|
|
291
290
|
|
|
292
291
|
/* Section header: "Tools" label on the left, a dim keyboard-hint next
|
|
@@ -404,17 +403,24 @@
|
|
|
404
403
|
padding: 6px 2px;
|
|
405
404
|
border-radius: 10px;
|
|
406
405
|
border: none;
|
|
407
|
-
background:
|
|
406
|
+
background: rgba(var(--overlay-rgb), 0.025);
|
|
408
407
|
color: var(--text-muted);
|
|
409
408
|
font-family: inherit;
|
|
410
409
|
font-size: 10px;
|
|
411
410
|
font-weight: 500;
|
|
412
411
|
cursor: pointer;
|
|
413
|
-
transition: background 0.15s, color 0.15s;
|
|
412
|
+
transition: background 0.15s, color 0.15s, box-shadow 0.15s;
|
|
414
413
|
}
|
|
415
414
|
.palette-tile .lucide { width: 16px; height: 16px; flex-shrink: 0; }
|
|
416
|
-
.palette-tile:hover {
|
|
417
|
-
|
|
415
|
+
.palette-tile:hover {
|
|
416
|
+
background: rgba(var(--overlay-rgb), 0.08);
|
|
417
|
+
color: var(--text-secondary);
|
|
418
|
+
box-shadow: 0 2px 10px rgba(var(--shadow-rgb), 0.08);
|
|
419
|
+
}
|
|
420
|
+
.palette-tile.active {
|
|
421
|
+
background: rgba(var(--overlay-rgb), 0.08);
|
|
422
|
+
color: var(--text);
|
|
423
|
+
}
|
|
418
424
|
.palette-tile .tool-btn-label {
|
|
419
425
|
font-size: 10px;
|
|
420
426
|
font-weight: 500;
|
|
@@ -585,78 +591,107 @@
|
|
|
585
591
|
flex-shrink: 0;
|
|
586
592
|
}
|
|
587
593
|
|
|
588
|
-
.
|
|
594
|
+
.sidebar-sessions-header-row {
|
|
589
595
|
display: flex;
|
|
590
596
|
align-items: center;
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
font-size: 11px;
|
|
594
|
-
font-weight: 600;
|
|
595
|
-
color: var(--text-dimmer);
|
|
596
|
-
text-transform: uppercase;
|
|
597
|
-
letter-spacing: 0.5px;
|
|
597
|
+
padding: 4px 8px 2px 12px;
|
|
598
|
+
gap: 8px;
|
|
598
599
|
}
|
|
599
600
|
|
|
600
|
-
|
|
601
|
-
|
|
601
|
+
/* --- Session search --- */
|
|
602
|
+
.sidebar-sessions-search-inline {
|
|
603
|
+
position: relative;
|
|
604
|
+
margin-left: auto;
|
|
605
|
+
width: 150px;
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
.sidebar-sessions-search-inline.hidden {
|
|
609
|
+
display: none;
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
.sidebar-sessions-header-row .sidebar-section-label {
|
|
613
|
+
padding: 0;
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
.session-filter-count {
|
|
617
|
+
display: inline-flex;
|
|
602
618
|
align-items: center;
|
|
603
|
-
|
|
619
|
+
justify-content: center;
|
|
620
|
+
min-width: 18px;
|
|
621
|
+
height: 18px;
|
|
622
|
+
padding: 0 6px;
|
|
623
|
+
border-radius: 999px;
|
|
624
|
+
background: rgba(var(--overlay-rgb), 0.08);
|
|
625
|
+
color: var(--text-dimmer);
|
|
626
|
+
font-size: 10px;
|
|
627
|
+
font-weight: 600;
|
|
628
|
+
line-height: 1;
|
|
604
629
|
}
|
|
605
630
|
|
|
606
|
-
.session-
|
|
607
|
-
display:
|
|
631
|
+
.session-filter-count.hidden {
|
|
632
|
+
display: none;
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
.sidebar-sessions-header-row > #session-header-search-btn {
|
|
636
|
+
margin-left: auto;
|
|
637
|
+
display: inline-flex;
|
|
608
638
|
align-items: center;
|
|
609
639
|
justify-content: center;
|
|
610
640
|
width: 22px;
|
|
611
641
|
height: 22px;
|
|
612
|
-
border-radius: 6px;
|
|
613
642
|
border: none;
|
|
643
|
+
border-radius: 6px;
|
|
614
644
|
background: transparent;
|
|
615
645
|
color: var(--text-dimmer);
|
|
616
646
|
cursor: pointer;
|
|
617
647
|
padding: 0;
|
|
618
|
-
|
|
648
|
+
opacity: 0.45;
|
|
649
|
+
transition: color 0.15s, background 0.15s, opacity 0.15s;
|
|
619
650
|
}
|
|
620
651
|
|
|
621
|
-
.
|
|
622
|
-
.
|
|
652
|
+
.sidebar-sessions-header-row > #session-header-search-btn.active,
|
|
653
|
+
.sidebar-sessions-header-row > #session-header-search-btn:hover {
|
|
654
|
+
color: var(--text);
|
|
655
|
+
background: var(--sidebar-hover);
|
|
656
|
+
opacity: 1;
|
|
657
|
+
}
|
|
623
658
|
|
|
624
|
-
|
|
625
|
-
#session-search {
|
|
626
|
-
|
|
627
|
-
|
|
659
|
+
.sidebar-sessions-header-row > #session-header-search-btn .lucide,
|
|
660
|
+
.sidebar-sessions-header-row > #session-header-search-btn svg {
|
|
661
|
+
width: 14px;
|
|
662
|
+
height: 14px;
|
|
628
663
|
}
|
|
629
664
|
|
|
630
|
-
|
|
631
|
-
|
|
665
|
+
.sidebar-sessions-search-inline:not(.hidden) + #session-header-search-btn {
|
|
666
|
+
margin-left: 0;
|
|
632
667
|
}
|
|
633
668
|
|
|
634
|
-
|
|
669
|
+
.sidebar-sessions-search-inline input {
|
|
635
670
|
width: 100%;
|
|
636
|
-
padding:
|
|
671
|
+
padding: 6px 28px 6px 10px;
|
|
637
672
|
border-radius: 8px;
|
|
638
673
|
border: 1px solid var(--border);
|
|
639
674
|
background: var(--input-bg);
|
|
640
675
|
color: var(--text);
|
|
641
|
-
font-size:
|
|
676
|
+
font-size: 12px;
|
|
642
677
|
font-family: inherit;
|
|
643
678
|
outline: none;
|
|
644
679
|
transition: border-color 0.15s;
|
|
645
680
|
box-sizing: border-box;
|
|
646
681
|
}
|
|
647
682
|
|
|
648
|
-
|
|
683
|
+
.sidebar-sessions-search-inline input:focus {
|
|
649
684
|
border-color: var(--accent);
|
|
650
685
|
}
|
|
651
686
|
|
|
652
|
-
|
|
687
|
+
.sidebar-sessions-search-inline input::placeholder {
|
|
653
688
|
color: var(--text-dimmer);
|
|
654
689
|
}
|
|
655
690
|
|
|
656
|
-
|
|
691
|
+
.sidebar-sessions-search-inline button {
|
|
657
692
|
position: absolute;
|
|
658
|
-
right:
|
|
659
|
-
top:
|
|
693
|
+
right: 6px;
|
|
694
|
+
top: 50%;
|
|
660
695
|
transform: translateY(-50%);
|
|
661
696
|
display: flex;
|
|
662
697
|
align-items: center;
|
|
@@ -672,13 +707,13 @@
|
|
|
672
707
|
transition: color 0.15s, background 0.15s;
|
|
673
708
|
}
|
|
674
709
|
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
#search-session-btn.active {
|
|
679
|
-
color: var(--accent);
|
|
710
|
+
.sidebar-sessions-search-inline button.hidden {
|
|
711
|
+
display: none;
|
|
680
712
|
}
|
|
681
713
|
|
|
714
|
+
.sidebar-sessions-search-inline button .lucide { width: 14px; height: 14px; }
|
|
715
|
+
.sidebar-sessions-search-inline button:hover { color: var(--text); background: var(--sidebar-hover); }
|
|
716
|
+
|
|
682
717
|
.session-item.search-match {
|
|
683
718
|
background: var(--accent-12);
|
|
684
719
|
color: var(--text);
|
|
@@ -688,10 +723,6 @@
|
|
|
688
723
|
color: var(--accent);
|
|
689
724
|
}
|
|
690
725
|
|
|
691
|
-
.session-item.search-dimmed {
|
|
692
|
-
opacity: 0.35;
|
|
693
|
-
}
|
|
694
|
-
|
|
695
726
|
.session-highlight {
|
|
696
727
|
background: var(--accent-30);
|
|
697
728
|
color: var(--text);
|
|
@@ -700,15 +731,46 @@
|
|
|
700
731
|
}
|
|
701
732
|
|
|
702
733
|
#session-list {
|
|
703
|
-
padding:
|
|
734
|
+
padding: 0 8px 2px;
|
|
704
735
|
}
|
|
705
736
|
|
|
706
737
|
.session-group-header {
|
|
707
|
-
|
|
708
|
-
|
|
738
|
+
display: flex;
|
|
739
|
+
align-items: center;
|
|
740
|
+
justify-content: space-between;
|
|
741
|
+
margin: 12px 8px 4px;
|
|
742
|
+
padding: 0;
|
|
743
|
+
min-height: 22px;
|
|
744
|
+
font-size: 10px;
|
|
709
745
|
font-weight: 600;
|
|
710
746
|
color: var(--text-dimmer);
|
|
711
|
-
letter-spacing: 0.
|
|
747
|
+
letter-spacing: 0.2px;
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
.session-group-header-label {
|
|
751
|
+
min-width: 0;
|
|
752
|
+
color: var(--text-dimmer);
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
.session-group-clear-btn {
|
|
756
|
+
border: none;
|
|
757
|
+
background: rgba(var(--overlay-rgb), 0.04);
|
|
758
|
+
color: var(--text-dimmer);
|
|
759
|
+
font-family: inherit;
|
|
760
|
+
font-size: 10px;
|
|
761
|
+
font-weight: 600;
|
|
762
|
+
cursor: pointer;
|
|
763
|
+
padding: 0 8px;
|
|
764
|
+
height: 20px;
|
|
765
|
+
border-radius: 999px;
|
|
766
|
+
letter-spacing: 0.2px;
|
|
767
|
+
opacity: 0.82;
|
|
768
|
+
transition: color 0.15s ease, background 0.15s ease;
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
.session-group-clear-btn:hover {
|
|
772
|
+
color: var(--text);
|
|
773
|
+
background: rgba(var(--overlay-rgb), 0.08);
|
|
712
774
|
}
|
|
713
775
|
|
|
714
776
|
/* --- Schedule countdown items --- */
|
|
@@ -792,6 +854,26 @@
|
|
|
792
854
|
font-weight: 600;
|
|
793
855
|
}
|
|
794
856
|
|
|
857
|
+
.session-item.drag-over-above::before,
|
|
858
|
+
.session-item.drag-over-below::after {
|
|
859
|
+
content: "";
|
|
860
|
+
position: absolute;
|
|
861
|
+
left: 10px;
|
|
862
|
+
right: 10px;
|
|
863
|
+
height: 2px;
|
|
864
|
+
border-radius: 999px;
|
|
865
|
+
background: var(--accent);
|
|
866
|
+
pointer-events: none;
|
|
867
|
+
}
|
|
868
|
+
|
|
869
|
+
.session-item.drag-over-above::before {
|
|
870
|
+
top: -1px;
|
|
871
|
+
}
|
|
872
|
+
|
|
873
|
+
.session-item.drag-over-below::after {
|
|
874
|
+
bottom: -1px;
|
|
875
|
+
}
|
|
876
|
+
|
|
795
877
|
.session-item .session-processing,
|
|
796
878
|
.mate-session-item .session-processing {
|
|
797
879
|
display: inline-block;
|
|
@@ -810,92 +892,226 @@
|
|
|
810
892
|
box-shadow: 0 0 4px var(--success);
|
|
811
893
|
}
|
|
812
894
|
|
|
813
|
-
|
|
895
|
+
/* Session unread badge */
|
|
896
|
+
.session-unread-badge {
|
|
897
|
+
position: absolute;
|
|
898
|
+
right: 8px;
|
|
899
|
+
top: 50%;
|
|
900
|
+
transform: translateY(-50%);
|
|
901
|
+
min-width: 18px;
|
|
902
|
+
height: 18px;
|
|
903
|
+
border-radius: 9px;
|
|
904
|
+
background: #e74c3c;
|
|
905
|
+
color: #fff;
|
|
906
|
+
font-size: 11px;
|
|
907
|
+
font-weight: 700;
|
|
908
|
+
display: none;
|
|
909
|
+
align-items: center;
|
|
910
|
+
justify-content: center;
|
|
911
|
+
padding: 0 5px;
|
|
912
|
+
line-height: 18px;
|
|
913
|
+
text-align: center;
|
|
914
|
+
z-index: 2;
|
|
915
|
+
}
|
|
916
|
+
|
|
917
|
+
.session-item .session-item-text {
|
|
918
|
+
padding-right: 28px;
|
|
919
|
+
}
|
|
920
|
+
|
|
921
|
+
.session-item:has(.session-presence) .session-item-text {
|
|
922
|
+
padding-right: 54px;
|
|
923
|
+
}
|
|
924
|
+
|
|
925
|
+
.session-close-btn {
|
|
926
|
+
position: absolute;
|
|
927
|
+
right: 8px;
|
|
928
|
+
top: 50%;
|
|
929
|
+
transform: translateY(-50%);
|
|
814
930
|
display: flex;
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
931
|
+
align-items: center;
|
|
932
|
+
justify-content: center;
|
|
933
|
+
width: 18px;
|
|
934
|
+
height: 18px;
|
|
818
935
|
border: none;
|
|
936
|
+
border-radius: 999px;
|
|
819
937
|
background: transparent;
|
|
820
938
|
color: var(--text-dimmer);
|
|
821
939
|
cursor: pointer;
|
|
822
|
-
align-items: center;
|
|
823
|
-
justify-content: center;
|
|
824
940
|
padding: 0;
|
|
825
|
-
margin-right: 2px;
|
|
826
|
-
flex-shrink: 0;
|
|
827
941
|
opacity: 0;
|
|
828
|
-
|
|
942
|
+
pointer-events: none;
|
|
943
|
+
transition: opacity 0.15s ease, color 0.15s ease, background 0.15s ease;
|
|
829
944
|
}
|
|
830
945
|
|
|
831
|
-
.session-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
946
|
+
.session-close-btn .lucide,
|
|
947
|
+
.session-close-btn svg {
|
|
948
|
+
width: 12px;
|
|
949
|
+
height: 12px;
|
|
950
|
+
display: block;
|
|
836
951
|
}
|
|
837
952
|
|
|
838
|
-
.session-
|
|
839
|
-
|
|
840
|
-
|
|
953
|
+
.session-item:hover .session-close-btn,
|
|
954
|
+
.session-loop-child:hover .session-close-btn,
|
|
955
|
+
.session-item:focus-within .session-close-btn,
|
|
956
|
+
.session-loop-child:focus-within .session-close-btn {
|
|
957
|
+
opacity: 0.82;
|
|
958
|
+
pointer-events: auto;
|
|
959
|
+
}
|
|
960
|
+
|
|
961
|
+
.session-close-btn:hover {
|
|
962
|
+
opacity: 1;
|
|
963
|
+
color: var(--text);
|
|
964
|
+
background: rgba(var(--overlay-rgb), 0.08);
|
|
965
|
+
}
|
|
966
|
+
|
|
967
|
+
.session-close-btn.armed {
|
|
968
|
+
opacity: 1;
|
|
969
|
+
pointer-events: auto;
|
|
970
|
+
width: 20px;
|
|
971
|
+
height: 20px;
|
|
972
|
+
color: #fff;
|
|
973
|
+
background: rgba(220, 38, 38, 0.92);
|
|
974
|
+
box-shadow: 0 2px 8px rgba(var(--shadow-rgb), 0.18);
|
|
841
975
|
}
|
|
842
976
|
|
|
843
|
-
.session-
|
|
844
|
-
|
|
977
|
+
.session-close-btn.armed:hover {
|
|
978
|
+
color: #fff;
|
|
979
|
+
background: rgba(220, 38, 38, 1);
|
|
980
|
+
}
|
|
981
|
+
|
|
982
|
+
.session-close-btn.armed .lucide,
|
|
983
|
+
.session-close-btn.armed svg {
|
|
845
984
|
width: 13px;
|
|
846
985
|
height: 13px;
|
|
847
|
-
display: block;
|
|
848
986
|
}
|
|
849
987
|
|
|
850
|
-
.session-item:hover .session-
|
|
851
|
-
.session-item:focus-within .session-
|
|
852
|
-
|
|
988
|
+
.session-item:hover .session-unread-badge,
|
|
989
|
+
.session-item:focus-within .session-unread-badge {
|
|
990
|
+
opacity: 0;
|
|
991
|
+
pointer-events: none;
|
|
992
|
+
}
|
|
993
|
+
|
|
994
|
+
.session-top-actions {
|
|
995
|
+
display: grid;
|
|
996
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
997
|
+
gap: 2px;
|
|
998
|
+
padding: 0 0 2px;
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
.session-top-action {
|
|
1002
|
+
display: flex;
|
|
1003
|
+
align-items: center;
|
|
1004
|
+
gap: 10px;
|
|
1005
|
+
width: 100%;
|
|
1006
|
+
min-height: 34px;
|
|
1007
|
+
padding: 0 12px;
|
|
1008
|
+
border: none;
|
|
1009
|
+
border-radius: 10px;
|
|
1010
|
+
background: transparent;
|
|
1011
|
+
color: var(--text-muted);
|
|
1012
|
+
font-family: inherit;
|
|
1013
|
+
font-size: 13px;
|
|
1014
|
+
font-weight: 500;
|
|
1015
|
+
cursor: pointer;
|
|
1016
|
+
text-align: left;
|
|
1017
|
+
min-width: 0;
|
|
1018
|
+
opacity: 0.62;
|
|
1019
|
+
transition: background 0.15s, color 0.15s, opacity 0.15s;
|
|
1020
|
+
}
|
|
1021
|
+
|
|
1022
|
+
.session-top-action .lucide,
|
|
1023
|
+
.session-top-action svg {
|
|
1024
|
+
width: 14px;
|
|
1025
|
+
height: 14px;
|
|
1026
|
+
flex-shrink: 0;
|
|
1027
|
+
}
|
|
1028
|
+
|
|
1029
|
+
.session-top-action:hover {
|
|
1030
|
+
background: var(--sidebar-hover);
|
|
1031
|
+
color: var(--text);
|
|
853
1032
|
opacity: 1;
|
|
854
1033
|
}
|
|
855
1034
|
|
|
856
|
-
.session-
|
|
857
|
-
|
|
858
|
-
|
|
1035
|
+
.session-favorites-section {
|
|
1036
|
+
min-height: 6px;
|
|
1037
|
+
margin: 0 8px;
|
|
1038
|
+
border-radius: 12px;
|
|
1039
|
+
transition: background 0.15s ease, box-shadow 0.15s ease;
|
|
859
1040
|
}
|
|
860
1041
|
|
|
861
|
-
.session-
|
|
862
|
-
|
|
1042
|
+
.session-favorites-empty {
|
|
1043
|
+
margin: 2px 0 0;
|
|
1044
|
+
padding: 6px 2px 2px;
|
|
1045
|
+
border: none;
|
|
1046
|
+
border-radius: 0;
|
|
1047
|
+
background: transparent;
|
|
1048
|
+
font-size: 11px;
|
|
1049
|
+
line-height: 1.4;
|
|
1050
|
+
color: color-mix(in srgb, var(--text-dimmer) 88%, transparent);
|
|
1051
|
+
text-align: center;
|
|
1052
|
+
text-shadow: 0 0 10px rgba(var(--shadow-rgb), 0.08);
|
|
863
1053
|
}
|
|
864
1054
|
|
|
865
|
-
.session-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
1055
|
+
.session-list-sticky-top {
|
|
1056
|
+
position: sticky;
|
|
1057
|
+
top: 0;
|
|
1058
|
+
z-index: 3;
|
|
1059
|
+
background: var(--sidebar-bg);
|
|
869
1060
|
}
|
|
870
1061
|
|
|
871
|
-
|
|
872
|
-
|
|
1062
|
+
.session-favorites-divider {
|
|
1063
|
+
position: relative;
|
|
1064
|
+
margin: 0 12px 2px;
|
|
1065
|
+
height: 18px;
|
|
1066
|
+
border-radius: 999px;
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1069
|
+
.session-favorites-divider::before {
|
|
1070
|
+
content: "";
|
|
873
1071
|
position: absolute;
|
|
874
|
-
|
|
1072
|
+
left: 0;
|
|
1073
|
+
right: 0;
|
|
875
1074
|
top: 50%;
|
|
1075
|
+
height: 1px;
|
|
1076
|
+
background: var(--border-subtle, var(--border));
|
|
876
1077
|
transform: translateY(-50%);
|
|
877
|
-
min-width: 18px;
|
|
878
|
-
height: 18px;
|
|
879
|
-
border-radius: 9px;
|
|
880
|
-
background: #e74c3c;
|
|
881
|
-
color: #fff;
|
|
882
|
-
font-size: 11px;
|
|
883
|
-
font-weight: 700;
|
|
884
|
-
display: none;
|
|
885
|
-
align-items: center;
|
|
886
|
-
justify-content: center;
|
|
887
|
-
padding: 0 5px;
|
|
888
|
-
line-height: 18px;
|
|
889
|
-
text-align: center;
|
|
890
|
-
z-index: 2;
|
|
891
1078
|
}
|
|
892
1079
|
|
|
893
|
-
.session-
|
|
894
|
-
|
|
1080
|
+
.session-favorites-section.drag-hover,
|
|
1081
|
+
.session-regular-drop.drag-hover {
|
|
1082
|
+
background: color-mix(in srgb, var(--accent) 10%, transparent);
|
|
1083
|
+
}
|
|
1084
|
+
|
|
1085
|
+
.session-favorites-section.drag-hover {
|
|
1086
|
+
box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent);
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1089
|
+
.session-favorites-section.drag-hover .session-favorites-empty {
|
|
1090
|
+
background: transparent;
|
|
1091
|
+
color: var(--text);
|
|
1092
|
+
}
|
|
1093
|
+
|
|
1094
|
+
.session-favorites-divider.drag-hover::before {
|
|
1095
|
+
background: var(--accent);
|
|
1096
|
+
height: 2px;
|
|
1097
|
+
}
|
|
1098
|
+
|
|
1099
|
+
.session-regular-drop {
|
|
1100
|
+
min-height: 12px;
|
|
1101
|
+
border-radius: 12px;
|
|
1102
|
+
}
|
|
1103
|
+
|
|
1104
|
+
.session-item[draggable="true"] {
|
|
1105
|
+
-webkit-user-drag: element;
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
.session-item.dragging {
|
|
1109
|
+
opacity: 0.45;
|
|
895
1110
|
}
|
|
896
1111
|
|
|
897
1112
|
.session-unread-badge.has-unread {
|
|
898
1113
|
display: flex;
|
|
1114
|
+
transition: opacity 0.15s ease;
|
|
899
1115
|
}
|
|
900
1116
|
|
|
901
1117
|
.session-more-btn {
|
|
@@ -932,6 +1148,14 @@
|
|
|
932
1148
|
margin-right: 2px;
|
|
933
1149
|
}
|
|
934
1150
|
|
|
1151
|
+
.session-item .session-presence {
|
|
1152
|
+
position: absolute;
|
|
1153
|
+
right: 30px;
|
|
1154
|
+
top: 50%;
|
|
1155
|
+
transform: translateY(-50%);
|
|
1156
|
+
margin-right: 0;
|
|
1157
|
+
}
|
|
1158
|
+
|
|
935
1159
|
.session-presence-avatar {
|
|
936
1160
|
width: 18px;
|
|
937
1161
|
height: 18px;
|
|
@@ -1155,6 +1379,7 @@
|
|
|
1155
1379
|
display: flex;
|
|
1156
1380
|
align-items: center;
|
|
1157
1381
|
gap: 4px;
|
|
1382
|
+
padding-right: 22px;
|
|
1158
1383
|
}
|
|
1159
1384
|
|
|
1160
1385
|
.session-loop-child .session-processing {
|