codex-overleaf-link 2.4.0 → 2.4.1
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/README.md +27 -24
- package/README.zh-CN.md +27 -24
- package/extension/src/content/contentRuntime.js +74 -73
- package/extension/src/content/generated/content.bundle.js +657 -445
- package/extension/src/content/generated/content.bundle.meta.json +3 -3
- package/extension/src/content/panelMaintenance.js +8 -4
- package/extension/src/content/recentProjects.js +354 -355
- package/extension/src/content/runTimelineView.js +8 -10
- package/extension/src/content/scopedPersistenceCoordinator.js +2 -1
- package/extension/src/content/scopedPersistencePanelState.js +45 -2
- package/extension/src/content/sessionPersistence.js +4 -1
- package/extension/src/content/settingsPanel.js +16 -2
- package/extension/src/page/saveState.js +44 -1
- package/extension/src/page/trackedChangesLifecycle.js +4 -1
- package/extension/src/page/treeOperations.js +10 -27
- package/extension/src/page/writebackRouter.js +1 -1
- package/extension/src/pageBridge.js +3 -0
- package/extension/src/shared/compatibility.js +1 -1
- package/extension/src/shared/i18n.js +94 -40
- package/extension/src/shared/storageDb.js +1 -0
- package/extension/src/shared/storageRunActions.js +44 -0
- package/extension/styles/panel.css +199 -395
- package/native-host/src/codexSessionRunner.js +41 -38
- package/native-host/src/codexSessionTiming.js +68 -0
- package/native-host/src/readProgressGuard.js +84 -17
- package/package.json +1 -1
|
@@ -4794,425 +4794,240 @@
|
|
|
4794
4794
|
flex-direction: column;
|
|
4795
4795
|
min-height: 0;
|
|
4796
4796
|
overflow-y: auto;
|
|
4797
|
-
padding:
|
|
4798
|
-
gap:
|
|
4799
|
-
}
|
|
4800
|
-
|
|
4801
|
-
#codex-overleaf-panel .recent-projects-welcome {
|
|
4802
|
-
display: flex;
|
|
4803
|
-
flex-direction: column;
|
|
4804
|
-
gap: 4px;
|
|
4805
|
-
padding-bottom: 4px;
|
|
4806
|
-
border-bottom: 1px solid var(--tl-border);
|
|
4807
|
-
}
|
|
4808
|
-
|
|
4809
|
-
#codex-overleaf-panel .recent-projects-welcome-title {
|
|
4810
|
-
color: var(--tl-fg-1);
|
|
4811
|
-
font-size: 14px;
|
|
4812
|
-
font-weight: 650;
|
|
4813
|
-
letter-spacing: 0;
|
|
4797
|
+
padding: 22px 18px 16px;
|
|
4798
|
+
gap: 20px;
|
|
4814
4799
|
}
|
|
4815
4800
|
|
|
4816
|
-
#codex-overleaf-panel .recent-projects-welcome
|
|
4801
|
+
#codex-overleaf-panel .recent-projects-welcome { display: grid; gap: 5px; padding: 0 4px; }
|
|
4802
|
+
#codex-overleaf-panel .recent-projects-eyebrow {
|
|
4817
4803
|
color: var(--tl-fg-3);
|
|
4818
|
-
font-size:
|
|
4819
|
-
|
|
4820
|
-
|
|
4821
|
-
|
|
4822
|
-
#codex-overleaf-panel [data-recent-projects-list] {
|
|
4823
|
-
display: flex;
|
|
4824
|
-
flex-direction: column;
|
|
4825
|
-
gap: 0;
|
|
4804
|
+
font-size: 10px;
|
|
4805
|
+
font-weight: 550;
|
|
4806
|
+
letter-spacing: 0.09em;
|
|
4807
|
+
margin-bottom: 3px;
|
|
4826
4808
|
}
|
|
4827
|
-
|
|
4809
|
+
#codex-overleaf-panel .recent-projects-welcome-title { color: var(--tl-fg-1); font-size: 16px; font-weight: 600; line-height: 1.4; }
|
|
4810
|
+
#codex-overleaf-panel .recent-projects-welcome-subtitle { color: var(--tl-fg-3); font-size: 11.5px; line-height: 1.5; }
|
|
4811
|
+
#codex-overleaf-panel [data-recent-projects-list] { min-width: 0; }
|
|
4828
4812
|
#codex-overleaf-panel .recent-projects-empty,
|
|
4829
4813
|
#codex-overleaf-panel .recent-projects-degraded {
|
|
4830
|
-
|
|
4831
|
-
|
|
4832
|
-
background: var(--tl-surface-1);
|
|
4833
|
-
color: var(--tl-fg-3);
|
|
4834
|
-
font-size: 12px;
|
|
4835
|
-
line-height: 1.45;
|
|
4836
|
-
padding: 14px 12px;
|
|
4837
|
-
}
|
|
4838
|
-
|
|
4839
|
-
/* Dashboard per-project session management: expand a row to list, rename, or
|
|
4840
|
-
delete that project's sessions without entering it. */
|
|
4841
|
-
#codex-overleaf-panel .recent-projects-row-wrap {
|
|
4842
|
-
position: relative;
|
|
4843
|
-
display: grid;
|
|
4844
|
-
gap: 0;
|
|
4845
|
-
border-bottom: 1px solid rgba(128, 128, 128, 0.12);
|
|
4846
|
-
}
|
|
4847
|
-
|
|
4848
|
-
#codex-overleaf-panel .recent-projects-row-wrap::before {
|
|
4849
|
-
content: "";
|
|
4850
|
-
position: absolute;
|
|
4851
|
-
top: 14px;
|
|
4852
|
-
bottom: 14px;
|
|
4853
|
-
left: 0;
|
|
4854
|
-
width: 2px;
|
|
4855
|
-
border-radius: 999px;
|
|
4856
|
-
background: var(--tl-border-strong);
|
|
4857
|
-
opacity: 0.65;
|
|
4858
|
-
}
|
|
4859
|
-
|
|
4860
|
-
#codex-overleaf-panel .recent-projects-row-wrap:has(.badge-completed)::before,
|
|
4861
|
-
#codex-overleaf-panel .recent-projects-row-wrap:has(.badge-accepted)::before,
|
|
4862
|
-
#codex-overleaf-panel .recent-projects-row-wrap:has(.badge-background-completed)::before {
|
|
4863
|
-
background: var(--tl-ok);
|
|
4864
|
-
}
|
|
4865
|
-
|
|
4866
|
-
#codex-overleaf-panel .recent-projects-row-wrap:has(.badge-stale)::before,
|
|
4867
|
-
#codex-overleaf-panel .recent-projects-row-wrap:has(.badge-interrupted)::before,
|
|
4868
|
-
#codex-overleaf-panel .recent-projects-row-wrap:has(.badge-needs-review)::before,
|
|
4869
|
-
#codex-overleaf-panel .recent-projects-row-wrap:has(.badge-needs-review-after-navigation)::before {
|
|
4870
|
-
background: var(--tl-review);
|
|
4871
|
-
}
|
|
4872
|
-
|
|
4873
|
-
#codex-overleaf-panel .recent-projects-row-wrap:has(.badge-failed)::before,
|
|
4874
|
-
#codex-overleaf-panel .recent-projects-row-wrap:has(.badge-abandoned-after-navigation)::before {
|
|
4875
|
-
background: var(--tl-fail);
|
|
4876
|
-
}
|
|
4877
|
-
|
|
4878
|
-
#codex-overleaf-panel .recent-projects-row-head {
|
|
4879
|
-
position: relative;
|
|
4880
|
-
display: block;
|
|
4881
|
-
}
|
|
4882
|
-
|
|
4883
|
-
#codex-overleaf-panel .recent-projects-row-head [data-recent-projects-row] {
|
|
4884
|
-
width: 100%;
|
|
4885
|
-
min-width: 0;
|
|
4886
|
-
}
|
|
4887
|
-
|
|
4888
|
-
#codex-overleaf-panel .recent-projects-row-cleanup {
|
|
4889
|
-
flex: 0 0 auto;
|
|
4890
|
-
width: 26px;
|
|
4891
|
-
border-radius: var(--tl-r-sm);
|
|
4892
|
-
color: var(--tl-fg-4);
|
|
4814
|
+
padding: 12px 4px;
|
|
4815
|
+
color: var(--tl-fg-2);
|
|
4893
4816
|
font-size: 13px;
|
|
4817
|
+
line-height: 1.6;
|
|
4894
4818
|
}
|
|
4895
|
-
|
|
4896
|
-
#codex-overleaf-panel .recent-projects-
|
|
4897
|
-
|
|
4898
|
-
|
|
4899
|
-
|
|
4900
|
-
|
|
4901
|
-
#codex-overleaf-panel .recent-projects-row-clear {
|
|
4902
|
-
position: absolute;
|
|
4903
|
-
top: 8px;
|
|
4904
|
-
right: 8px;
|
|
4905
|
-
z-index: 2;
|
|
4906
|
-
width: 24px;
|
|
4907
|
-
height: 24px;
|
|
4908
|
-
border-radius: var(--tl-r-sm);
|
|
4909
|
-
color: var(--tl-fg-4);
|
|
4910
|
-
font-size: 16px;
|
|
4911
|
-
line-height: 1;
|
|
4912
|
-
opacity: 0;
|
|
4913
|
-
transform: translateX(4px);
|
|
4914
|
-
transition: color 120ms ease, background 120ms ease, opacity 120ms ease, transform 120ms ease;
|
|
4915
|
-
}
|
|
4916
|
-
|
|
4917
|
-
#codex-overleaf-panel .recent-projects-row-wrap:hover .recent-projects-row-clear,
|
|
4918
|
-
#codex-overleaf-panel .recent-projects-row-clear:focus-visible {
|
|
4919
|
-
opacity: 1;
|
|
4920
|
-
transform: translateX(0);
|
|
4921
|
-
}
|
|
4922
|
-
|
|
4923
|
-
#codex-overleaf-panel .recent-projects-row-clear:hover {
|
|
4924
|
-
background: var(--tl-hover);
|
|
4925
|
-
color: var(--tl-fail);
|
|
4926
|
-
}
|
|
4927
|
-
|
|
4928
|
-
#codex-overleaf-panel .recent-projects-loading {
|
|
4929
|
-
padding: 10px 12px;
|
|
4930
|
-
color: var(--tl-fg-3);
|
|
4931
|
-
font-size: 12px;
|
|
4932
|
-
}
|
|
4933
|
-
|
|
4934
|
-
#codex-overleaf-panel .recent-projects-row-expand {
|
|
4935
|
-
position: absolute;
|
|
4936
|
-
right: 8px;
|
|
4937
|
-
bottom: 10px;
|
|
4938
|
-
z-index: 1;
|
|
4939
|
-
display: inline-flex;
|
|
4940
|
-
align-items: center;
|
|
4941
|
-
justify-content: center;
|
|
4942
|
-
width: auto;
|
|
4943
|
-
min-width: 0;
|
|
4944
|
-
height: 18px;
|
|
4945
|
-
padding: 0 2px;
|
|
4819
|
+
#codex-overleaf-panel .recent-projects-loading { display: block; padding: 10px 4px; color: var(--tl-fg-3); font-size: 12px; }
|
|
4820
|
+
#codex-overleaf-panel .recent-projects-filter { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 0 4px; }
|
|
4821
|
+
#codex-overleaf-panel .recent-projects-filter > button {
|
|
4822
|
+
flex: 0 0 auto;
|
|
4823
|
+
padding: 3px 0;
|
|
4946
4824
|
border: 0;
|
|
4947
|
-
border-radius: 0;
|
|
4948
|
-
color: var(--tl-accent);
|
|
4949
|
-
font-size: 11px;
|
|
4950
|
-
font-weight: 550;
|
|
4951
|
-
background: transparent;
|
|
4952
|
-
opacity: 0;
|
|
4953
|
-
transform: translateX(4px);
|
|
4954
|
-
transition: opacity 120ms ease, transform 120ms ease, color 120ms ease;
|
|
4955
|
-
}
|
|
4956
|
-
|
|
4957
|
-
#codex-overleaf-panel .recent-projects-row-wrap:hover .recent-projects-row-expand,
|
|
4958
|
-
#codex-overleaf-panel .recent-projects-row-expand:focus-visible,
|
|
4959
|
-
#codex-overleaf-panel .recent-projects-row-wrap[data-expanded="true"] .recent-projects-row-expand {
|
|
4960
|
-
opacity: 1;
|
|
4961
|
-
transform: translateX(0);
|
|
4962
|
-
}
|
|
4963
|
-
|
|
4964
|
-
#codex-overleaf-panel .recent-projects-row-expand:hover {
|
|
4965
4825
|
background: transparent;
|
|
4966
|
-
color: var(--tl-
|
|
4967
|
-
|
|
4968
|
-
|
|
4969
|
-
|
|
4970
|
-
#codex-overleaf-panel .recent-projects-row-wrap[data-expanded="true"] .recent-projects-row-expand {
|
|
4971
|
-
color: var(--tl-accent);
|
|
4972
|
-
background: transparent;
|
|
4973
|
-
}
|
|
4974
|
-
|
|
4975
|
-
#codex-overleaf-panel .recent-projects-sessions {
|
|
4976
|
-
display: grid;
|
|
4977
|
-
gap: 2px;
|
|
4978
|
-
border-left: 2px solid var(--tl-border);
|
|
4979
|
-
margin: 2px 0 6px 10px;
|
|
4980
|
-
padding-left: 8px;
|
|
4981
|
-
}
|
|
4982
|
-
|
|
4983
|
-
#codex-overleaf-panel .recent-projects-sessions-empty {
|
|
4984
|
-
color: var(--tl-fg-4);
|
|
4985
|
-
font-size: 11px;
|
|
4986
|
-
padding: 4px 2px;
|
|
4826
|
+
color: var(--tl-ok);
|
|
4827
|
+
font-size: 12px;
|
|
4828
|
+
cursor: pointer;
|
|
4987
4829
|
}
|
|
4988
|
-
|
|
4830
|
+
#codex-overleaf-panel .recent-projects-filter > button::before { content: "\2190"; margin-inline-end: 5px; }
|
|
4831
|
+
#codex-overleaf-panel .recent-projects-filter > span { min-width: 0; color: var(--tl-fg-3); font-size: 11px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
|
|
4989
4832
|
#codex-overleaf-panel .recent-projects-session-row {
|
|
4990
|
-
|
|
4833
|
+
position: relative;
|
|
4834
|
+
display: grid;
|
|
4835
|
+
grid-template-columns: minmax(0, 1fr) 24px;
|
|
4991
4836
|
align-items: center;
|
|
4992
|
-
gap:
|
|
4837
|
+
gap: 4px;
|
|
4993
4838
|
min-width: 0;
|
|
4994
|
-
|
|
4995
|
-
|
|
4996
|
-
}
|
|
4997
|
-
|
|
4998
|
-
#codex-overleaf-panel .recent-projects-session-row:hover {
|
|
4999
|
-
background: var(--tl-hover);
|
|
5000
|
-
}
|
|
5001
|
-
|
|
5002
|
-
#codex-overleaf-panel .recent-projects-session-row[data-running="true"] .recent-projects-session-title::before {
|
|
5003
|
-
content: "";
|
|
5004
|
-
display: inline-block;
|
|
5005
|
-
width: 7px;
|
|
5006
|
-
height: 7px;
|
|
5007
|
-
margin-right: 6px;
|
|
5008
|
-
border: 2px solid rgba(78, 201, 176, 0.25);
|
|
5009
|
-
border-top-color: var(--tl-run);
|
|
5010
|
-
border-radius: 50%;
|
|
5011
|
-
vertical-align: -1px;
|
|
5012
|
-
animation: codex-session-spin 800ms linear infinite;
|
|
4839
|
+
padding: 9px 5px;
|
|
4840
|
+
border-radius: 6px;
|
|
5013
4841
|
}
|
|
5014
|
-
|
|
4842
|
+
#codex-overleaf-panel .recent-projects-session-copy { display: grid; gap: 4px; min-width: 0; }
|
|
5015
4843
|
#codex-overleaf-panel .recent-projects-session-title {
|
|
5016
|
-
|
|
4844
|
+
display: block;
|
|
5017
4845
|
min-width: 0;
|
|
5018
4846
|
overflow: hidden;
|
|
5019
|
-
color: var(--tl-fg-
|
|
5020
|
-
font-size:
|
|
4847
|
+
color: var(--tl-fg-1);
|
|
4848
|
+
font-size: 13px;
|
|
4849
|
+
font-weight: 500;
|
|
4850
|
+
line-height: 1.6;
|
|
5021
4851
|
text-overflow: ellipsis;
|
|
5022
4852
|
white-space: nowrap;
|
|
5023
4853
|
}
|
|
5024
|
-
|
|
5025
|
-
#codex-overleaf-panel .recent-projects-session-
|
|
5026
|
-
|
|
5027
|
-
|
|
5028
|
-
|
|
5029
|
-
|
|
5030
|
-
}
|
|
5031
|
-
|
|
5032
|
-
|
|
5033
|
-
|
|
5034
|
-
width:
|
|
5035
|
-
height:
|
|
5036
|
-
|
|
5037
|
-
|
|
5038
|
-
|
|
5039
|
-
}
|
|
5040
|
-
|
|
5041
|
-
#codex-overleaf-panel .recent-projects-session-action:hover {
|
|
5042
|
-
background: var(--tl-hover);
|
|
5043
|
-
opacity: 1;
|
|
5044
|
-
}
|
|
5045
|
-
|
|
5046
|
-
#codex-overleaf-panel .recent-projects-session-action--delete:hover {
|
|
5047
|
-
color: var(--tl-fail);
|
|
5048
|
-
}
|
|
5049
|
-
|
|
5050
|
-
#codex-overleaf-panel .recent-projects-session-action:disabled {
|
|
5051
|
-
cursor: not-allowed;
|
|
5052
|
-
opacity: 0.3;
|
|
4854
|
+
#codex-overleaf-panel .recent-projects-session-title[hidden] { display: none; }
|
|
4855
|
+
#codex-overleaf-panel .recent-projects-session-meta { display: flex; align-items: baseline; gap: 7px; min-width: 0; color: var(--tl-fg-3); font-size: 11px; line-height: 1.5; }
|
|
4856
|
+
#codex-overleaf-panel .recent-projects-row-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 400; }
|
|
4857
|
+
#codex-overleaf-panel .recent-projects-session-time { flex: 0 0 auto; margin-inline-start: auto; color: var(--tl-fg-3); font-size: 10.5px; white-space: nowrap; }
|
|
4858
|
+
#codex-overleaf-panel .recent-projects-session-attention { flex: 0 0 auto; color: var(--tl-review); font-size: 10.5px; }
|
|
4859
|
+
#codex-overleaf-panel .recent-projects-session-attention::before { content: "\00b7"; margin-inline-end: 4px; }
|
|
4860
|
+
#codex-overleaf-panel .recent-projects-session-row[aria-busy="true"] { cursor: progress; }
|
|
4861
|
+
#codex-overleaf-panel .recent-projects-session-row[data-running="true"]:not(.recent-projects-focus) .recent-projects-session-title::before {
|
|
4862
|
+
content: "";
|
|
4863
|
+
display: inline-block;
|
|
4864
|
+
width: 5px;
|
|
4865
|
+
height: 5px;
|
|
4866
|
+
margin-inline-end: 6px;
|
|
4867
|
+
border-radius: 50%;
|
|
4868
|
+
background: var(--tl-run);
|
|
5053
4869
|
}
|
|
5054
|
-
|
|
5055
|
-
|
|
5056
|
-
flex:
|
|
5057
|
-
|
|
5058
|
-
|
|
5059
|
-
|
|
5060
|
-
|
|
5061
|
-
|
|
5062
|
-
|
|
5063
|
-
|
|
4870
|
+
#codex-overleaf-panel .recent-projects-focus {
|
|
4871
|
+
display: flex;
|
|
4872
|
+
flex-direction: column;
|
|
4873
|
+
align-items: stretch;
|
|
4874
|
+
gap: 9px;
|
|
4875
|
+
padding: 12px;
|
|
4876
|
+
margin-bottom: 20px;
|
|
4877
|
+
border-radius: 8px;
|
|
4878
|
+
background: var(--tl-ok-wash);
|
|
4879
|
+
background: color-mix(in srgb, var(--tl-ok-wash) 65%, var(--tl-surface-0));
|
|
4880
|
+
}
|
|
4881
|
+
#codex-overleaf-panel .recent-projects-focus-eyebrow { flex: 0 0 auto; color: var(--tl-fg-3); font-size: 10.5px; font-weight: 400; line-height: 1.5; }
|
|
4882
|
+
#codex-overleaf-panel .recent-projects-focus-eyebrow::after { content: "\00b7"; margin-inline-start: 6px; }
|
|
4883
|
+
#codex-overleaf-panel .recent-projects-focus .recent-projects-session-copy { gap: 6px; }
|
|
4884
|
+
#codex-overleaf-panel .recent-projects-focus .recent-projects-session-meta { justify-content: flex-start; gap: 6px; padding-inline-end: 18px; font-size: 11px; }
|
|
4885
|
+
#codex-overleaf-panel .recent-projects-focus .recent-projects-session-time { margin-inline-start: 0; font-size: inherit; }
|
|
4886
|
+
#codex-overleaf-panel .recent-projects-focus .recent-projects-session-time:not(:empty)::before { content: "\00b7"; margin-inline-end: 7px; }
|
|
4887
|
+
#codex-overleaf-panel .recent-projects-focus .recent-projects-session-title {
|
|
4888
|
+
display: -webkit-box;
|
|
4889
|
+
-webkit-line-clamp: 2;
|
|
4890
|
+
-webkit-box-orient: vertical;
|
|
4891
|
+
white-space: normal;
|
|
4892
|
+
overflow-wrap: anywhere;
|
|
4893
|
+
font-size: 14.5px;
|
|
4894
|
+
font-weight: 500;
|
|
4895
|
+
line-height: 1.5;
|
|
5064
4896
|
}
|
|
5065
|
-
|
|
5066
|
-
#codex-overleaf-panel
|
|
5067
|
-
|
|
5068
|
-
|
|
5069
|
-
|
|
5070
|
-
|
|
5071
|
-
|
|
5072
|
-
align-items:
|
|
5073
|
-
|
|
5074
|
-
|
|
4897
|
+
#codex-overleaf-panel .recent-projects-focus .recent-projects-session-title[hidden] { display: none; }
|
|
4898
|
+
#codex-overleaf-panel .recent-projects-focus .recent-projects-row-badge { flex: 1 1 auto; min-width: 0; font-size: 11.5px; line-height: 1.45; }
|
|
4899
|
+
#codex-overleaf-panel .recent-projects-focus-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; }
|
|
4900
|
+
#codex-overleaf-panel .recent-projects-focus > .recent-projects-menu { position: absolute; top: 6px; inset-inline-end: 6px; }
|
|
4901
|
+
#codex-overleaf-panel .recent-projects-continue {
|
|
4902
|
+
flex: 0 0 auto;
|
|
4903
|
+
display: inline-flex;
|
|
4904
|
+
align-items: center;
|
|
4905
|
+
justify-content: center;
|
|
4906
|
+
gap: 8px;
|
|
4907
|
+
min-height: 28px;
|
|
4908
|
+
padding: 5px 10px;
|
|
5075
4909
|
border: 0;
|
|
5076
4910
|
border-radius: 6px;
|
|
5077
|
-
background:
|
|
5078
|
-
color:
|
|
5079
|
-
padding: 14px 86px 14px 14px;
|
|
5080
|
-
cursor: pointer;
|
|
5081
|
-
text-align: left;
|
|
5082
|
-
}
|
|
5083
|
-
|
|
5084
|
-
#codex-overleaf-panel [data-recent-projects-row]:hover:not(:disabled) {
|
|
5085
|
-
background: linear-gradient(90deg, rgba(128, 128, 128, 0.08), transparent 72%);
|
|
5086
|
-
}
|
|
5087
|
-
|
|
5088
|
-
#codex-overleaf-panel [data-recent-projects-row]:disabled,
|
|
5089
|
-
#codex-overleaf-panel [data-recent-projects-row][aria-disabled="true"] {
|
|
5090
|
-
cursor: default;
|
|
5091
|
-
opacity: 0.55;
|
|
5092
|
-
}
|
|
5093
|
-
|
|
5094
|
-
#codex-overleaf-panel .recent-projects-row-name {
|
|
5095
|
-
grid-area: name;
|
|
5096
|
-
color: var(--tl-fg-1);
|
|
5097
|
-
font-weight: 650;
|
|
5098
|
-
font-size: 13.5px;
|
|
5099
|
-
overflow: hidden;
|
|
5100
|
-
text-overflow: ellipsis;
|
|
5101
|
-
white-space: nowrap;
|
|
5102
|
-
}
|
|
5103
|
-
|
|
5104
|
-
#codex-overleaf-panel .recent-projects-row-time {
|
|
5105
|
-
grid-area: time;
|
|
5106
|
-
color: var(--tl-fg-3);
|
|
5107
|
-
font-size: 11px;
|
|
5108
|
-
letter-spacing: 0.01em;
|
|
5109
|
-
white-space: nowrap;
|
|
5110
|
-
}
|
|
5111
|
-
|
|
5112
|
-
#codex-overleaf-panel .recent-projects-row-summary {
|
|
5113
|
-
grid-area: summary;
|
|
5114
|
-
color: var(--tl-fg-2);
|
|
4911
|
+
background: #357347;
|
|
4912
|
+
color: #fff;
|
|
5115
4913
|
font-size: 12px;
|
|
4914
|
+
font-weight: 400;
|
|
5116
4915
|
line-height: 1.4;
|
|
5117
|
-
|
|
5118
|
-
}
|
|
5119
|
-
|
|
5120
|
-
#codex-overleaf-panel .recent-projects-row-summary:empty {
|
|
5121
|
-
display: none;
|
|
5122
|
-
}
|
|
5123
|
-
|
|
5124
|
-
#codex-overleaf-panel .recent-projects-row-warning {
|
|
5125
|
-
grid-area: badge;
|
|
5126
|
-
color: var(--tl-review);
|
|
5127
|
-
font-size: 11px;
|
|
5128
|
-
margin-top: 2px;
|
|
4916
|
+
cursor: pointer;
|
|
5129
4917
|
}
|
|
5130
|
-
|
|
4918
|
+
#codex-overleaf-panel .recent-projects-continue::after { content: "\2192"; }
|
|
4919
|
+
#codex-overleaf-panel .recent-projects-continue:hover:not(:disabled) { text-decoration: underline; text-underline-offset: 3px; }
|
|
4920
|
+
#codex-overleaf-panel .recent-projects-continue:disabled { opacity: 0.55; cursor: progress; }
|
|
5131
4921
|
#codex-overleaf-panel .recent-projects-row-badge {
|
|
5132
|
-
grid-area: badge;
|
|
5133
|
-
justify-self: start;
|
|
5134
4922
|
display: inline-flex;
|
|
5135
|
-
align-items:
|
|
5136
|
-
gap:
|
|
4923
|
+
align-items: baseline;
|
|
4924
|
+
gap: 6px;
|
|
4925
|
+
min-width: 0;
|
|
5137
4926
|
padding: 0;
|
|
5138
|
-
margin-top: 0;
|
|
5139
4927
|
border: 0;
|
|
5140
|
-
|
|
5141
|
-
font-size: 10.5px;
|
|
5142
|
-
letter-spacing: 0.03em;
|
|
5143
|
-
line-height: 1.4;
|
|
5144
|
-
font-weight: 500;
|
|
5145
|
-
text-transform: uppercase;
|
|
5146
|
-
opacity: 0.92;
|
|
5147
|
-
}
|
|
5148
|
-
|
|
5149
|
-
#codex-overleaf-panel .recent-projects-row-badge::before {
|
|
5150
|
-
content: "";
|
|
5151
|
-
display: inline-block;
|
|
5152
|
-
width: 6px;
|
|
5153
|
-
height: 6px;
|
|
5154
|
-
border-radius: 999px;
|
|
5155
|
-
background: currentColor;
|
|
5156
|
-
opacity: 0.85;
|
|
5157
|
-
}
|
|
5158
|
-
|
|
5159
|
-
/* Status badge palette. All ten values from spec §5.10 — reuses the
|
|
5160
|
-
existing per-project run-card hues so the dashboard reads identically to
|
|
5161
|
-
the in-project surface. */
|
|
5162
|
-
#codex-overleaf-panel .recent-projects-row-badge.badge-running {
|
|
5163
|
-
color: var(--tl-run);
|
|
5164
|
-
}
|
|
5165
|
-
|
|
5166
|
-
#codex-overleaf-panel .recent-projects-row-badge.badge-pending {
|
|
4928
|
+
background: transparent;
|
|
5167
4929
|
color: var(--tl-fg-3);
|
|
5168
|
-
|
|
5169
|
-
|
|
5170
|
-
|
|
5171
|
-
|
|
5172
|
-
|
|
5173
|
-
|
|
5174
|
-
}
|
|
5175
|
-
|
|
5176
|
-
#codex-overleaf-panel .recent-projects-row-badge.badge-
|
|
5177
|
-
|
|
5178
|
-
}
|
|
5179
|
-
|
|
5180
|
-
#codex-overleaf-panel .recent-projects-
|
|
5181
|
-
#codex-overleaf-panel .recent-projects-
|
|
5182
|
-
#codex-overleaf-panel .recent-projects-
|
|
5183
|
-
#codex-overleaf-panel .recent-projects-
|
|
5184
|
-
|
|
5185
|
-
}
|
|
5186
|
-
|
|
5187
|
-
#codex-overleaf-panel .recent-projects-
|
|
5188
|
-
#codex-overleaf-panel .recent-projects-
|
|
5189
|
-
|
|
5190
|
-
}
|
|
5191
|
-
|
|
5192
|
-
#codex-overleaf-panel .recent-projects-
|
|
4930
|
+
font-size: 11px;
|
|
4931
|
+
font-weight: 400;
|
|
4932
|
+
line-height: 1.6;
|
|
4933
|
+
overflow-wrap: anywhere;
|
|
4934
|
+
text-transform: none;
|
|
4935
|
+
letter-spacing: normal;
|
|
4936
|
+
}
|
|
4937
|
+
#codex-overleaf-panel .recent-projects-row-badge[data-status]::before { content: "\00b7"; flex: 0 0 auto; color: var(--tl-fg-3); }
|
|
4938
|
+
#codex-overleaf-panel .recent-projects-row-badge:is(.badge-completed, .badge-accepted, .badge-background-completed)::before { content: "\2713"; color: var(--tl-ok); }
|
|
4939
|
+
#codex-overleaf-panel .recent-projects-row-badge:is(.badge-failed, .badge-abandoned-after-navigation)::before { content: "!"; color: var(--tl-fail); }
|
|
4940
|
+
#codex-overleaf-panel .recent-projects-row-badge:is(.badge-stale, .badge-interrupted, .badge-needs-review, .badge-needs-review-after-navigation)::before { content: "!"; color: var(--tl-review); }
|
|
4941
|
+
#codex-overleaf-panel .recent-projects-row-badge.badge-running::before { color: var(--tl-run); }
|
|
4942
|
+
#codex-overleaf-panel .recent-projects-history-heading { display: flex; justify-content: space-between; gap: 10px; margin: 0 5px 7px; color: var(--tl-fg-3); font-size: 11px; line-height: 1.5; }
|
|
4943
|
+
#codex-overleaf-panel .recent-projects-history-heading > :last-child { font-size: 10px; }
|
|
4944
|
+
#codex-overleaf-panel .recent-projects-history-list { display: grid; gap: 1px; min-width: 0; }
|
|
4945
|
+
#codex-overleaf-panel .recent-projects-drafts { margin: 18px 5px 0; min-width: 0; }
|
|
4946
|
+
#codex-overleaf-panel .recent-projects-drafts > summary { padding: 5px 0; color: var(--tl-fg-3); font-size: 11px; line-height: 1.5; cursor: pointer; list-style: none; }
|
|
4947
|
+
#codex-overleaf-panel .recent-projects-drafts > summary::-webkit-details-marker { display: none; }
|
|
4948
|
+
#codex-overleaf-panel .recent-projects-drafts > summary::before { content: "\203a"; display: inline-block; margin-inline-end: 6px; font-size: 13px; }
|
|
4949
|
+
#codex-overleaf-panel .recent-projects-drafts[open] > summary::before { transform: rotate(90deg); }
|
|
4950
|
+
#codex-overleaf-panel .recent-projects-drafts-hint { display: block; margin: 3px 0 7px; color: var(--tl-fg-3); font-size: 10.5px; line-height: 1.6; }
|
|
4951
|
+
#codex-overleaf-panel .recent-projects-unavailable-row { display: grid; grid-template-columns: minmax(0, 1fr) 24px; align-items: center; gap: 8px; margin: 10px 5px 0; }
|
|
4952
|
+
#codex-overleaf-panel .recent-projects-unavailable-row .recent-projects-row { min-width: 0; padding: 0; border: 0; background: transparent; color: var(--tl-fg-3); font-size: 12px; text-align: start; }
|
|
4953
|
+
#codex-overleaf-panel .recent-projects-menu { position: relative; justify-self: end; flex: 0 0 auto; }
|
|
4954
|
+
#codex-overleaf-panel .recent-projects-menu > summary {
|
|
5193
4955
|
display: flex;
|
|
5194
4956
|
align-items: center;
|
|
5195
|
-
justify-content:
|
|
5196
|
-
|
|
5197
|
-
|
|
5198
|
-
|
|
5199
|
-
border-radius:
|
|
4957
|
+
justify-content: center;
|
|
4958
|
+
width: 24px;
|
|
4959
|
+
height: 28px;
|
|
4960
|
+
padding: 0;
|
|
4961
|
+
border-radius: 5px;
|
|
4962
|
+
color: var(--tl-fg-3);
|
|
4963
|
+
font-size: 18px;
|
|
4964
|
+
line-height: 1;
|
|
4965
|
+
cursor: pointer;
|
|
4966
|
+
list-style: none;
|
|
4967
|
+
}
|
|
4968
|
+
#codex-overleaf-panel .recent-projects-menu > summary::-webkit-details-marker { display: none; }
|
|
4969
|
+
#codex-overleaf-panel .recent-projects-menu > summary:hover { background: var(--tl-hover); color: var(--tl-fg-1); }
|
|
4970
|
+
#codex-overleaf-panel .recent-projects-menu [data-recent-menu-actions] {
|
|
4971
|
+
position: absolute;
|
|
4972
|
+
top: calc(100% + 5px);
|
|
4973
|
+
inset-inline-end: 0;
|
|
4974
|
+
z-index: 20;
|
|
4975
|
+
display: grid;
|
|
4976
|
+
min-width: 180px;
|
|
4977
|
+
max-width: min(260px, calc(var(--codex-overleaf-panel-width, 380px) - 56px));
|
|
4978
|
+
padding: 4px;
|
|
4979
|
+
border: 1px solid var(--tl-border-strong);
|
|
4980
|
+
border-radius: 8px;
|
|
5200
4981
|
background: var(--tl-surface-1);
|
|
4982
|
+
box-shadow: 0 7px 24px rgba(0, 0, 0, 0.18);
|
|
4983
|
+
}
|
|
4984
|
+
#codex-overleaf-panel .recent-projects-menu:not([open]) > [data-recent-menu-actions] { display: none; }
|
|
4985
|
+
#codex-overleaf-panel .recent-projects-menu [data-recent-menu-actions] > button {
|
|
4986
|
+
display: block;
|
|
4987
|
+
width: 100%;
|
|
4988
|
+
min-height: 32px;
|
|
4989
|
+
padding: 8px 10px;
|
|
4990
|
+
border: 0;
|
|
4991
|
+
border-radius: 4px;
|
|
4992
|
+
background: transparent;
|
|
5201
4993
|
color: var(--tl-fg-2);
|
|
5202
4994
|
font-size: 12px;
|
|
4995
|
+
line-height: 1.4;
|
|
4996
|
+
text-align: start;
|
|
4997
|
+
white-space: normal;
|
|
4998
|
+
overflow-wrap: anywhere;
|
|
5203
4999
|
cursor: pointer;
|
|
5204
5000
|
}
|
|
5205
|
-
|
|
5206
|
-
#codex-overleaf-panel .recent-projects-
|
|
5207
|
-
|
|
5208
|
-
|
|
5001
|
+
#codex-overleaf-panel .recent-projects-menu [data-recent-menu-actions] > button:hover:not(:disabled) { background: var(--tl-hover); }
|
|
5002
|
+
#codex-overleaf-panel .recent-projects-menu [data-recent-menu-actions] > :is([data-project-clear], [data-row-cleanup], [data-session-delete-dash]) { color: var(--tl-fail); }
|
|
5003
|
+
#codex-overleaf-panel .recent-projects-menu [data-recent-menu-actions] > [data-project-conversations] { margin-top: 4px; border-top: 1px solid var(--tl-border); border-radius: 0 0 4px 4px; }
|
|
5004
|
+
#codex-overleaf-panel .recent-projects-menu [data-recent-menu-actions] > button:disabled { opacity: 0.45; cursor: not-allowed; }
|
|
5005
|
+
#codex-overleaf-panel .recent-projects-session-rename-input {
|
|
5006
|
+
width: 100%;
|
|
5007
|
+
min-width: 0;
|
|
5008
|
+
padding: 4px 6px;
|
|
5009
|
+
border: 1px solid var(--tl-accent);
|
|
5010
|
+
border-radius: 4px;
|
|
5011
|
+
background: var(--tl-surface-0);
|
|
5012
|
+
color: var(--tl-fg-1);
|
|
5013
|
+
font-size: 13px;
|
|
5209
5014
|
}
|
|
5210
|
-
|
|
5211
|
-
|
|
5212
|
-
|
|
5213
|
-
|
|
5015
|
+
#codex-overleaf-panel .recent-projects-settings-entry {
|
|
5016
|
+
display: inline-flex;
|
|
5017
|
+
align-items: center;
|
|
5018
|
+
align-self: flex-start;
|
|
5019
|
+
margin-top: auto;
|
|
5020
|
+
padding: 8px 4px 0;
|
|
5021
|
+
border: 0;
|
|
5022
|
+
background: transparent;
|
|
5214
5023
|
color: var(--tl-fg-3);
|
|
5024
|
+
font-size: 11px;
|
|
5025
|
+
line-height: 1.5;
|
|
5026
|
+
cursor: pointer;
|
|
5215
5027
|
}
|
|
5028
|
+
#codex-overleaf-panel .recent-projects-settings-entry:hover { color: var(--tl-fg-1); }
|
|
5029
|
+
#codex-overleaf-panel .recent-projects-settings-entry-label::after { content: "\203a"; margin-inline-start: 8px; }
|
|
5030
|
+
#codex-overleaf-panel .recent-projects-root :is(button, summary, [role="button"]):focus-visible { outline: 2px solid var(--tl-accent); outline-offset: 3px; }
|
|
5216
5031
|
|
|
5217
5032
|
/* Spec §5.9 — when the panel opens settings in account scope, hide the
|
|
5218
5033
|
project-only sections so only locale / display / global skills + the
|
|
@@ -5225,20 +5040,18 @@
|
|
|
5225
5040
|
|
|
5226
5041
|
/* v1.7.5: dashboard "Show all projects" expander below the 10-row fold. */
|
|
5227
5042
|
#codex-overleaf-panel .recent-projects-show-all {
|
|
5228
|
-
|
|
5229
|
-
|
|
5230
|
-
|
|
5231
|
-
padding: 6px 10px;
|
|
5043
|
+
align-self: flex-start;
|
|
5044
|
+
padding: 8px 0;
|
|
5045
|
+
border: 0;
|
|
5232
5046
|
background: transparent;
|
|
5233
|
-
|
|
5234
|
-
|
|
5235
|
-
color: var(--tl-fg-3, #8a8a8a);
|
|
5236
|
-
font-size: 11.5px;
|
|
5047
|
+
color: var(--tl-fg-3);
|
|
5048
|
+
font-size: 12px;
|
|
5237
5049
|
cursor: pointer;
|
|
5238
5050
|
}
|
|
5051
|
+
|
|
5239
5052
|
#codex-overleaf-panel .recent-projects-show-all:hover {
|
|
5240
|
-
color: var(--tl-fg-1
|
|
5241
|
-
|
|
5053
|
+
color: var(--tl-fg-1);
|
|
5054
|
+
text-decoration: underline;
|
|
5242
5055
|
}
|
|
5243
5056
|
|
|
5244
5057
|
/* v1.7.5: jump-to-turn dropdown pinned above the run history. */
|
|
@@ -5360,15 +5173,6 @@
|
|
|
5360
5173
|
border-radius: 50%;
|
|
5361
5174
|
animation: tl-spin 800ms linear infinite;
|
|
5362
5175
|
}
|
|
5363
|
-
/* v1.8.2: the expand toggle stays a slim icon strip — modestly wider than
|
|
5364
|
-
the original 26px for the miss-click fix, but proportionate to the row. */
|
|
5365
|
-
#codex-overleaf-panel .recent-projects-row-expand {
|
|
5366
|
-
width: 32px;
|
|
5367
|
-
}
|
|
5368
|
-
#codex-overleaf-panel .recent-projects-row-sessions {
|
|
5369
|
-
color: var(--tl-fg-3);
|
|
5370
|
-
font-size: 10.5px;
|
|
5371
|
-
}
|
|
5372
5176
|
#codex-overleaf-panel .recent-projects-session-row--linked {
|
|
5373
5177
|
cursor: pointer;
|
|
5374
5178
|
}
|