feat(git): add upstream tracking and local-only branch UI
This release adds upstream tracking for branches and a local-only indicator in the UI. The Git integration now exposes upstreams and supports publish flows. This enables publishing and remote-tracking configuration. - Introduces upstream tracking and local-only branch UI markers - Updates toolbar to reflect publish-local state and status indicators - Bumps version to 2026.8.3 and updates changelog
This commit is contained in:
+111
-1
@@ -736,6 +736,29 @@
|
||||
}
|
||||
.repo-action-count.behind { color: #7aacff; }
|
||||
.repo-action-count.ahead { color: #e0a040; }
|
||||
.repo-action.sync-primary.publish-local {
|
||||
color: #f0bd6b;
|
||||
background: linear-gradient(180deg, rgba(224,160,64,.1), rgba(224,160,64,.045));
|
||||
}
|
||||
.repo-action.sync-primary.publish-local:hover:not(:disabled) {
|
||||
color: #ffd48c;
|
||||
background: rgba(224,160,64,.14);
|
||||
}
|
||||
.repo-action-local-marker {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 3px;
|
||||
height: 16px;
|
||||
padding: 0 4px;
|
||||
border: 1px dashed rgba(240,189,107,.5);
|
||||
border-radius: 4px;
|
||||
color: #f0bd6b;
|
||||
background: rgba(224,160,64,.08);
|
||||
font-family: var(--font-mono);
|
||||
font-size: 7.5px;
|
||||
font-weight: 900;
|
||||
letter-spacing: .04em;
|
||||
}
|
||||
.repo-toolbar-divider {
|
||||
width: 1px;
|
||||
height: 30px;
|
||||
@@ -1670,6 +1693,27 @@
|
||||
.sync-stats strong:first-of-type { color: #e0a040; background: rgba(224,160,64,0.13); }
|
||||
.sync-stats strong:last-of-type { color: #7aacff; background: rgba(122,172,255,0.13); }
|
||||
.sync-stats span { color: var(--color-ink-dim); background: rgba(94,110,156,0.13); }
|
||||
.sync-stats .sync-local-only {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 5px;
|
||||
padding: 3px 7px;
|
||||
border: 1px dashed rgba(224,160,64,.38);
|
||||
color: #f0bd6b;
|
||||
background: rgba(224,160,64,.09);
|
||||
}
|
||||
.sync-stats .sync-local-only strong {
|
||||
padding: 0;
|
||||
color: #f0bd6b;
|
||||
background: transparent;
|
||||
font-size: 10.5px;
|
||||
font-weight: 850;
|
||||
}
|
||||
.sync-stats .sync-local-only small {
|
||||
color: var(--color-ink-faint);
|
||||
font-size: 9px;
|
||||
font-weight: 650;
|
||||
}
|
||||
|
||||
.top-section {
|
||||
display: grid;
|
||||
@@ -2513,6 +2557,12 @@
|
||||
min-width: 0;
|
||||
min-height: 20px;
|
||||
}
|
||||
.branch-ref-cluster {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
min-width: 0;
|
||||
margin-left: -10px;
|
||||
}
|
||||
.compact-ref-chip {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
@@ -2536,7 +2586,7 @@
|
||||
flex: 0 1 auto;
|
||||
max-width: 22px;
|
||||
height: 20px;
|
||||
margin-left: -10px;
|
||||
margin-left: 0;
|
||||
padding: 0 5px;
|
||||
border-color: color-mix(in srgb, var(--ref-lane-color, #69a7ff) 34%, transparent);
|
||||
border-left-width: 2px;
|
||||
@@ -2552,6 +2602,29 @@
|
||||
background 140ms ease,
|
||||
box-shadow 140ms ease;
|
||||
}
|
||||
.branch-ref-cluster.local-only .compact-ref-chip.branch {
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
.compact-ref-local-marker {
|
||||
display: inline-flex;
|
||||
flex: 0 0 auto;
|
||||
align-items: center;
|
||||
gap: 3px;
|
||||
height: 20px;
|
||||
margin-left: -1px;
|
||||
padding: 0 5px 0 4px;
|
||||
border: 1px dashed rgba(240,189,107,.58);
|
||||
border-left-style: solid;
|
||||
border-radius: 0 5px 5px 0;
|
||||
color: #f0bd6b;
|
||||
background: linear-gradient(90deg, rgba(224,160,64,.13), rgba(224,160,64,.06));
|
||||
font-family: var(--font-mono);
|
||||
font-size: 7.5px;
|
||||
font-weight: 900;
|
||||
letter-spacing: .05em;
|
||||
line-height: 1;
|
||||
box-shadow: inset 1px 0 0 rgba(240,189,107,.2);
|
||||
}
|
||||
.compact-ref-branch-icon {
|
||||
flex: 0 0 auto;
|
||||
color: var(--ref-lane-color, #69a7ff);
|
||||
@@ -2713,6 +2786,12 @@
|
||||
font-size: 8px;
|
||||
font-weight: 800;
|
||||
}
|
||||
.commit-ref-detail-item small.local-only {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 3px;
|
||||
color: #d99532;
|
||||
}
|
||||
|
||||
.commit-files {
|
||||
display: grid;
|
||||
@@ -5905,6 +5984,17 @@ input:focus, textarea:focus, select:focus { box-shadow: 0 0 0 3px color-mix(in s
|
||||
.workspace-health.clean > span { background: #2da44e; }
|
||||
.workspace-statusbar .ahead { color: #d9891b; }
|
||||
.workspace-statusbar .behind { color: var(--color-primary); }
|
||||
.workspace-statusbar .workspace-local-only {
|
||||
padding: 2px 6px;
|
||||
border: 1px dashed rgba(224,160,64,.42);
|
||||
border-radius: 4px;
|
||||
color: #f0bd6b;
|
||||
background: rgba(224,160,64,.08);
|
||||
font-family: var(--font-mono);
|
||||
font-size: 9px;
|
||||
font-weight: 850;
|
||||
letter-spacing: .02em;
|
||||
}
|
||||
.workspace-auto i { width: 7px; height: 7px; border-radius: 50%; background: var(--color-ink-faint); }
|
||||
.workspace-auto.active i { background: #2da44e; }
|
||||
.app-version {
|
||||
@@ -6140,6 +6230,13 @@ input:focus, textarea:focus, select:focus { box-shadow: 0 0 0 3px color-mix(in s
|
||||
linear-gradient(90deg, color-mix(in srgb, var(--ref-lane-color, #315fd6) 14%, #f7faff), #f7faff);
|
||||
}
|
||||
|
||||
:root[data-theme="light"] .compact-ref-local-marker {
|
||||
border-color: rgba(154,82,0,.46);
|
||||
color: #8b5207;
|
||||
background: linear-gradient(90deg, rgba(217,137,27,.14), rgba(217,137,27,.06));
|
||||
box-shadow: inset 1px 0 0 rgba(154,82,0,.14);
|
||||
}
|
||||
|
||||
:root[data-theme="light"] .compact-ref-chip.current {
|
||||
border-color: color-mix(in srgb, var(--ref-lane-color, #315fd6) 58%, rgba(49,95,214,.2));
|
||||
color: #18345f;
|
||||
@@ -6709,6 +6806,19 @@ input:focus, textarea:focus, select:focus { box-shadow: 0 0 0 3px color-mix(in s
|
||||
color: #0755c8;
|
||||
font-weight: 800;
|
||||
}
|
||||
:root[data-theme="light"] .repo-action.sync-primary.publish-local,
|
||||
:root[data-theme="light"] .repo-action-local-marker,
|
||||
:root[data-theme="light"] .workspace-statusbar .workspace-local-only {
|
||||
color: #8b5207;
|
||||
border-color: rgba(154,82,0,.4);
|
||||
background: rgba(217,137,27,.09);
|
||||
}
|
||||
:root[data-theme="light"] .sync-stats .sync-local-only {
|
||||
border-color: rgba(154,82,0,.36);
|
||||
color: #8b5207;
|
||||
background: rgba(217,137,27,.09);
|
||||
}
|
||||
:root[data-theme="light"] .sync-stats .sync-local-only strong { color: #8b5207; }
|
||||
|
||||
/* AI pre-commit review --------------------------------------------------- */
|
||||
.commit-review-button {
|
||||
|
||||
Reference in New Issue
Block a user