diffs-pane 0.1.0 → 0.1.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 CHANGED
@@ -197,10 +197,6 @@ refresh, or rerun `pnpm run dev:sample` to rebuild and reset it. Set
197
197
  `DIFFS_PANE_SAMPLE_ROOT=/absolute/path` to use another location; the script
198
198
  refuses to replace directories it did not create.
199
199
 
200
- Tooling uses [OXC](https://oxc.rs) (`oxlint` and `oxfmt`), TypeScript, Vitest,
201
- and Vite. pnpm rejects dependency releases newer than 48 hours through
202
- `minimumReleaseAge: 2880` in `pnpm-workspace.yaml`.
203
-
204
200
  ### Environment variables
205
201
 
206
202
  | Variable | Purpose |
@@ -25,6 +25,9 @@ export class Session {
25
25
  base;
26
26
  turn;
27
27
  cache = new Map();
28
+ inflightPatches = new Map();
29
+ /** Bumped on every invalidation so straddling computes stay marked stale. */
30
+ patchGeneration = 0;
28
31
  clients = new Set();
29
32
  watcher = null;
30
33
  refreshAbort = null;
@@ -105,40 +108,76 @@ export class Session {
105
108
  // ── Patch computation ────────────────────────────────────────────────
106
109
  /** Serve the patch for a filter, recomputing only when stale. */
107
110
  async getPatch(filter) {
108
- const entry = this.cache.get(filter);
109
- if (entry && !entry.dirty)
110
- return entry.payload;
111
- const payload = await this.computePayload(filter, undefined);
112
- // A concurrent refresh may have already stored a fresher result.
113
- const current = this.cache.get(filter);
114
- if (!current || current.dirty)
115
- this.cache.set(filter, { payload, dirty: false });
116
- return this.cache.get(filter).payload;
111
+ for (;;) {
112
+ const entry = this.cache.get(filter);
113
+ if (entry && !entry.dirty)
114
+ return entry.payload;
115
+ try {
116
+ return await this.computeAndCache(filter, undefined);
117
+ }
118
+ catch (error) {
119
+ // A request may have joined an abortable refresh computation. Retry
120
+ // against the new generation rather than surfacing a transient 500.
121
+ if (error instanceof ExecError && error.aborted)
122
+ continue;
123
+ throw error;
124
+ }
125
+ }
117
126
  }
118
- async computePayload(filter, signal) {
127
+ /** Coalesce all patch computation paths into one in-flight job per filter. */
128
+ computeAndCache(filter, signal, snapshotKey) {
129
+ const existing = this.inflightPatches.get(filter);
130
+ if (existing)
131
+ return existing;
132
+ const startGeneration = this.patchGeneration;
133
+ let pending;
134
+ pending = this.computePayload(filter, signal, snapshotKey)
135
+ .then(({ payload, parsedFiles }) => {
136
+ // A newer concurrent job may have already stored a fresh result.
137
+ const current = this.cache.get(filter);
138
+ if (current && !current.dirty)
139
+ return current.payload;
140
+ // Results that straddled an invalidation stay dirty for the next pass.
141
+ const dirty = this.patchGeneration !== startGeneration;
142
+ this.cache.set(filter, { payload, dirty });
143
+ if (!dirty &&
144
+ parsedFiles &&
145
+ this.reviews.reanchor(filter, parsedFiles, payload.patchHash)) {
146
+ this.broadcastComments();
147
+ }
148
+ return payload;
149
+ })
150
+ .finally(() => {
151
+ if (this.inflightPatches.get(filter) === pending)
152
+ this.inflightPatches.delete(filter);
153
+ });
154
+ this.inflightPatches.set(filter, pending);
155
+ return pending;
156
+ }
157
+ async computePayload(filter, signal, snapshotKey) {
119
158
  const generatedAt = new Date().toISOString();
120
159
  try {
121
160
  const patch = await this.backend.computePatch(filter, {
122
161
  signal,
123
162
  base: this.base,
124
163
  turnBaseline: this.turn?.baseline,
164
+ snapshotKey,
125
165
  });
126
166
  if (Buffer.byteLength(patch, 'utf8') > MAX_PATCH_BYTES) {
127
- return this.errorPayload(filter, `Patch exceeds the ${Math.round(MAX_PATCH_BYTES / 1024 / 1024)}MB size limit.`, generatedAt);
167
+ return {
168
+ payload: this.errorPayload(filter, `Patch exceeds the ${Math.round(MAX_PATCH_BYTES / 1024 / 1024)}MB size limit.`, generatedAt),
169
+ };
128
170
  }
129
- const files = summarizeFiles(parsePatch(patch));
171
+ const parsedFiles = parsePatch(patch);
130
172
  const payload = {
131
173
  filter,
132
174
  patchHash: sha256(patch),
133
175
  patch,
134
- files,
176
+ files: summarizeFiles(parsedFiles),
135
177
  error: null,
136
178
  generatedAt,
137
179
  };
138
- if (this.reviews.reanchor(filter, patch, payload.patchHash)) {
139
- this.broadcastComments();
140
- }
141
- return payload;
180
+ return { payload, parsedFiles };
142
181
  }
143
182
  catch (error) {
144
183
  if (error instanceof ExecError && error.aborted)
@@ -146,7 +185,7 @@ export class Session {
146
185
  const message = error instanceof VcsError
147
186
  ? error.message
148
187
  : `Failed to compute ${filter} diff: ${error instanceof Error ? error.message : String(error)}`;
149
- return this.errorPayload(filter, message, generatedAt);
188
+ return { payload: this.errorPayload(filter, message, generatedAt) };
150
189
  }
151
190
  }
152
191
  errorPayload(filter, message, generatedAt) {
@@ -164,6 +203,8 @@ export class Session {
164
203
  if (this.closed)
165
204
  return;
166
205
  // Everything is stale; recompute only what connected clients view.
206
+ this.patchGeneration++;
207
+ this.inflightPatches.clear();
167
208
  for (const filter of DIFF_FILTERS) {
168
209
  const entry = this.cache.get(filter);
169
210
  if (entry)
@@ -198,22 +239,24 @@ export class Session {
198
239
  }
199
240
  }
200
241
  async refreshViewed(signal) {
242
+ const snapshotKey = {};
201
243
  for (const filter of this.viewedFilters()) {
202
244
  const previous = this.cache.get(filter);
203
245
  if (previous && !previous.dirty)
204
246
  continue;
205
247
  let payload;
206
248
  try {
207
- payload = await this.computePayload(filter, signal);
249
+ payload = await this.computeAndCache(filter, signal, snapshotKey);
208
250
  }
209
251
  catch (error) {
210
252
  if (error instanceof ExecError && error.aborted)
211
253
  return; // Superseded.
212
254
  throw error;
213
255
  }
214
- const unchanged = previous?.payload.patchHash === payload.patchHash;
215
- this.cache.set(filter, { payload, dirty: false });
216
- if (!unchanged) {
256
+ const stored = this.cache.get(filter);
257
+ if (!stored || stored.dirty || signal.aborted)
258
+ return; // Superseded.
259
+ if (previous?.payload.patchHash !== payload.patchHash) {
217
260
  // Broadcast only real changes so clients never reparse identical patches.
218
261
  this.broadcast('patch', { filter, patchHash: payload.patchHash });
219
262
  }
@@ -267,6 +310,8 @@ export class Session {
267
310
  this.broadcast('session', this.info());
268
311
  }
269
312
  invalidateFilter(filter) {
313
+ this.patchGeneration++;
314
+ this.inflightPatches.delete(filter);
270
315
  const entry = this.cache.get(filter);
271
316
  if (entry)
272
317
  entry.dirty = true;
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/daemon/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/daemon/session.ts"],"names":[],"mappings":"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"}
@@ -272,14 +272,22 @@ export function sideLines(file, side) {
272
272
  /** Exact source text of a line range on one side, or null when absent. */
273
273
  export function anchorTextForRange(file, side, startLine, endLine) {
274
274
  const all = sideLines(file, side);
275
- const texts = [];
276
- for (let n = startLine; n <= endLine; n++) {
277
- const found = all.find((l) => l.line === n);
278
- if (!found)
279
- return null;
280
- texts.push(found.text);
275
+ if (endLine < startLine)
276
+ return '';
277
+ const lineCount = endLine - startLine + 1;
278
+ if (!Number.isSafeInteger(lineCount) || lineCount < 1 || lineCount > all.length)
279
+ return null;
280
+ const texts = Array.from({ length: lineCount }, () => undefined);
281
+ let remaining = lineCount;
282
+ for (const line of all) {
283
+ const index = line.line - startLine;
284
+ if (index < 0 || index >= texts.length || texts[index] !== undefined)
285
+ continue;
286
+ texts[index] = line.text;
287
+ if (--remaining === 0)
288
+ break;
281
289
  }
282
- return texts.join('\n');
290
+ return remaining === 0 ? texts.join('\n') : null;
283
291
  }
284
292
  /** The raw hunk (with @@ header) that contains the given line range. */
285
293
  export function hunkExcerptForRange(file, side, startLine) {
@@ -294,9 +302,12 @@ export function hunkExcerptForRange(file, side, startLine) {
294
302
  * Returns the new start line when there is exactly one match; null otherwise.
295
303
  */
296
304
  export function findUniqueAnchor(file, side, anchorText) {
305
+ return findUniqueAnchorInLines(sideLines(file, side), anchorText);
306
+ }
307
+ /** Find a unique anchor in precomputed side lines. */
308
+ export function findUniqueAnchorInLines(all, anchorText) {
297
309
  const targets = anchorText.split('\n');
298
- const all = sideLines(file, side);
299
- const matches = [];
310
+ let match = null;
300
311
  outer: for (let i = 0; i + targets.length <= all.length; i++) {
301
312
  for (let j = 0; j < targets.length; j++) {
302
313
  const candidate = all[i + j];
@@ -306,8 +317,10 @@ export function findUniqueAnchor(file, side, anchorText) {
306
317
  if (j > 0 && candidate.line !== all[i + j - 1].line + 1)
307
318
  continue outer;
308
319
  }
309
- matches.push(all[i].line);
320
+ if (match !== null)
321
+ return null;
322
+ match = all[i].line;
310
323
  }
311
- return matches.length === 1 ? matches[0] : null;
324
+ return match;
312
325
  }
313
326
  //# sourceMappingURL=patch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"patch.js","sourceRoot":"","sources":["../../src/shared/patch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patch.js","sourceRoot":"","sources":["../../src/shared/patch.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { randomUUID } from 'node:crypto';
2
- import { findUniqueAnchor, parsePatch } from '../shared/patch.js';
2
+ import { findUniqueAnchorInLines, parsePatch, sideLines, } from '../shared/patch.js';
3
3
  import { readJson, writeJsonAtomic } from './fsutil.js';
4
4
  import { reviewsPath } from './paths.js';
5
5
  /**
@@ -76,16 +76,26 @@ export class ReviewStore {
76
76
  * match in the same file on the same side; otherwise it becomes outdated.
77
77
  * Comments keep their original saved hunk excerpt either way.
78
78
  */
79
- reanchor(filter, patch, patchHash) {
79
+ reanchor(filter, patchOrFiles, patchHash) {
80
80
  const targets = this.comments.filter((c) => c.filter === filter);
81
81
  if (targets.length === 0)
82
82
  return false;
83
- const files = parsePatch(patch);
83
+ const files = typeof patchOrFiles === 'string' ? parsePatch(patchOrFiles) : patchOrFiles;
84
84
  const byPath = new Map(files.map((f) => [f.path, f]));
85
+ const linesByPathAndSide = new Map();
85
86
  let changed = false;
86
87
  for (const comment of targets) {
87
88
  const file = byPath.get(comment.path);
88
- const newStart = file ? findUniqueAnchor(file, comment.side, comment.anchorText) : null;
89
+ let newStart = null;
90
+ if (file) {
91
+ const cacheKey = `${comment.path}\u0000${comment.side}`;
92
+ let lines = linesByPathAndSide.get(cacheKey);
93
+ if (!lines) {
94
+ lines = sideLines(file, comment.side);
95
+ linesByPathAndSide.set(cacheKey, lines);
96
+ }
97
+ newStart = findUniqueAnchorInLines(lines, comment.anchorText);
98
+ }
89
99
  const lineCount = comment.endLine - comment.startLine;
90
100
  if (newStart !== null) {
91
101
  const outdated = false;
@@ -1 +1 @@
1
- {"version":3,"file":"reviews.js","sourceRoot":"","sources":["../../src/store/reviews.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reviews.js","sourceRoot":"","sources":["../../src/store/reviews.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ @font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Commit Mono;src:url(./CommitMono-ytizKI8U.woff2) format("woff2-variations");font-style:normal;font-weight:200 700;font-display:swap}:root{color-scheme:dark light;--bg: #0a0a0a;--bg-raised: #171717;--text: #a3a3a3;--text-dim: #878787;--surface: color-mix(in srgb, var(--text) 7%, var(--bg-raised));--border: color-mix(in srgb, var(--text) 22%, var(--bg-raised));--accent: #009fff;--danger: #ff2e3f;--warning: #ffca00;--status-add: #07c480;--status-delete: #ff2e3f;--status-modified: #009fff;--selection: color-mix(in srgb, var(--text) 20%, var(--bg-raised));--hover: color-mix(in srgb, var(--text) 14%, var(--bg-raised));--stats-add: #4ade80;--stats-delete: #f87171;--font-interface: "Geist Variable", "Geist", system-ui, sans-serif;--font-code: "Commit Mono", ui-monospace, monospace;font-family:var(--font-interface);font-weight:400;font-feature-settings:"liga" 1,"calt" 1}@media(prefers-color-scheme:light){:root{--bg: #ffffff;--bg-raised: #f5f5f5;--text: #525252;--text-dim: #626262;--surface: color-mix(in srgb, var(--text) 7%, var(--bg-raised));--border: color-mix(in srgb, var(--text) 22%, var(--bg-raised));--accent: #009fff;--danger: #d52c36;--warning: #d5a910;--status-add: #18a46c;--status-delete: #d52c36;--status-modified: #009fff;--selection: color-mix(in srgb, var(--text) 20%, var(--bg-raised));--hover: color-mix(in srgb, var(--text) 14%, var(--bg-raised));--stats-add: #16a34a;--stats-delete: #dc2626}}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text)}.app{display:flex;flex-direction:column;height:100%}.toolbar{display:flex;align-items:center;gap:10px;padding:6px 10px;border-bottom:1px solid var(--border);background:var(--bg-raised);flex:none}.toolbar-title{display:flex;align-items:center;gap:8px;min-width:0}.repo-name{overflow:hidden;font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.vcs-badge{font-size:11px;padding:1px 6px;border:1px solid var(--border);border-radius:10px;color:var(--text-dim)}.source-select{position:relative;display:inline-flex;align-items:center;min-width:112px}.source-select select{width:100%;appearance:none;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);font:inherit;font-size:12px;line-height:18px;padding:3px 28px 3px 8px;cursor:pointer}.source-select>svg{position:absolute;right:8px;width:15px;height:15px;color:var(--text-dim);pointer-events:none}.source-select select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tab{appearance:none;border:none;background:transparent;color:var(--text-dim);font-size:12px;padding:3px 8px;border-radius:6px;cursor:pointer}.tab:hover:not(:disabled){color:var(--text)}.tab.active{background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--border)}.tab:disabled{opacity:.4;cursor:not-allowed}.toolbar-right{margin-left:auto;display:flex;align-items:center;gap:12px}.display-options{position:relative}.display-options-menu{position:absolute;z-index:20;top:calc(100% + 8px);right:0;width:300px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 12px 32px #00000038}.display-layout{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--border)}.display-layout button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;border:1px solid var(--border);border-radius:8px;background:var(--bg-raised);color:var(--text-dim);font:inherit;font-size:13px;cursor:pointer}.display-layout button>svg{width:15px;height:15px}.display-layout button:hover:not(:disabled),.display-layout button.active{color:var(--text)}.display-layout button:disabled{cursor:not-allowed;opacity:.4}.display-layout button.active{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--bg))}.display-option-row{appearance:none;display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 2px 2px;border:none;background:transparent;color:var(--text);font:inherit;font-size:13px;cursor:pointer}.switch{position:relative;width:32px;height:18px;border-radius:9px;background:var(--text-dim);transition:background .15s ease}.switch>span{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .15s ease}.display-option-row[aria-checked=true] .switch{background:var(--accent)}.display-option-row[aria-checked=true] .switch>span{transform:translate(14px)}.display-layout button:focus-visible,.display-option-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.connection{font-size:12px;color:var(--warning)}.connection.ended{color:var(--danger)}.content{position:relative;display:flex;flex:1;min-height:0}.sidebar{width:280px;flex:none;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--bg-raised);min-height:0}.sidebar-backdrop{position:absolute;z-index:14;inset:0;appearance:none;border:0;background:#00000040;cursor:default}.sidebar-tabs{display:flex;align-items:center;gap:4px;padding:4px 8px}.sidebar-tabs .tab{display:inline-flex;align-items:center;gap:5px}.sidebar-tabs .tab>svg{width:15px;height:15px}.badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;font-size:10px;font-variant-numeric:tabular-nums;background:color-mix(in srgb,currentColor 18%,transparent)}.sidebar-body{display:flex;flex-direction:column;flex:1;min-height:0}.sidebar-body[hidden]{display:none}.sidebar-search-button{margin-left:auto}.icon-button{appearance:none;border:1px solid transparent;background:transparent;color:var(--text-dim);line-height:1;width:28px;height:28px;padding:4px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.icon-button>svg{width:15px;height:15px}.icon-button:hover{color:var(--text);background:var(--surface)}.icon-button[aria-pressed=true],.sidebar-toggle[aria-expanded=true]{color:var(--accent);border-color:var(--border);background:var(--surface)}.icon-button:focus-visible,.collapse-button:focus-visible,.comment-action-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tree-host{flex:1;min-height:120px;overflow:auto}.file-tree{--trees-density-override: .8;--trees-padding-inline-override: 8px;--trees-font-family-override: var(--font-interface);--trees-font-size-override: 13px;--trees-font-weight-regular-override: 400;--trees-font-weight-semibold-override: 500;--trees-accent-override: var(--accent);--trees-bg-override: var(--bg-raised);--trees-bg-muted-override: var(--hover);--trees-fg-override: var(--text-dim);--trees-fg-muted-override: var(--text-dim);--trees-input-bg-override: var(--surface);--trees-border-color-override: var(--border);--trees-selected-bg-override: var(--selection);--trees-selected-fg-override: var(--text);--trees-status-added-override: var(--status-add);--trees-status-untracked-override: var(--status-add);--trees-status-modified-override: var(--status-modified);--trees-status-deleted-override: var(--status-delete);height:100%}.sidebar-empty{padding:24px 16px;color:var(--text-dim);font-size:12px;text-align:center;display:flex;flex-direction:column;gap:8px;align-items:center}.sidebar-empty p{margin:0;line-height:1.5}.sidebar-empty code{font-family:var(--font-code);font-size:12px}.hint-plus{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;background:var(--accent);color:#fff;font-weight:700}.comments-list{flex:1;overflow:auto;padding:2px 8px 8px}.comments-section-path{margin:8px 0 2px;font-size:11px;font-weight:600;font-family:var(--font-interface);color:var(--text-dim);word-break:break-all}.comment-link{display:block;width:100%;text-align:left;background:none;border:none;padding:4px 0;cursor:pointer;color:var(--text)}.comment-link:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.comment-line{display:inline-block;font-family:var(--font-code);font-size:11px;color:var(--text-dim);margin-right:6px}.comment-line.additions{color:var(--status-add)}.comment-line.deletions{color:var(--status-delete)}.comment-link .badge{display:inline-block;font-size:10px;color:var(--warning);border:1px solid var(--warning);border-radius:8px;padding:0 5px;margin-right:6px}.comment-link .comment-preview{display:block;font-size:12px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diff-stats{flex:none;border-top:1px solid var(--border);color:var(--text-dim)}.diff-stats-trigger{appearance:none;display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;background:transparent;color:inherit;font:inherit;font-size:13px;text-align:left;cursor:pointer}.diff-stats-trigger:hover{color:var(--text)}.diff-stats-trigger>svg{width:15px;height:15px;opacity:.55}.diff-stats-details{padding:0 10px 8px 36px}.diff-stat-row{display:flex;align-items:center;justify-content:space-between;min-height:28px;border-top:1px solid color-mix(in srgb,var(--border) 75%,transparent);font-size:12px}.diff-stat-row strong{padding-left:1ch;color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.diff-stat-row strong.additions{color:var(--stats-add)}.diff-stat-row strong.deletions{color:var(--stats-delete)}.diff-pane{flex:1;min-width:0;display:flex;flex-direction:column}.code-view{--diffs-font-family: var(--font-code);--diffs-header-font-family: var(--font-interface);--diffs-font-features: "liga" 1, "calt" 1;--diffs-font-size: 13px;--diffs-line-height: 20px;flex:1;overflow:auto;padding:0 8px;font-weight:400}.code-view>div{margin-top:4px!important}.banner{margin:12px;padding:10px 14px;border-radius:8px;border:1px solid var(--border);font-size:13px}.banner.error{border-color:color-mix(in srgb,var(--danger) 50%,transparent);background:color-mix(in srgb,var(--danger) 10%,transparent)}.fullscreen-message{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:var(--text-dim)}.fullscreen-message.error p{color:var(--danger)}.file-header{display:flex;align-items:center;gap:6px;min-width:0;min-height:40px;padding-inline:8px;flex:1;font-size:13px;font-weight:400}.collapse-button{appearance:none;border:none;background:transparent;color:var(--text-dim);width:20px;height:20px;margin-left:-4px;border-radius:5px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none}.collapse-button:hover{color:var(--text);background:color-mix(in srgb,currentColor 12%,transparent)}.chevron{width:15px;height:15px;transition:transform .15s ease}.chevron.collapsed{transform:rotate(-90deg)}.file-status{flex:none;width:16px;height:16px;line-height:16px;text-align:center;border-radius:4px;font-size:10px;font-weight:700;color:#fff}.file-status.added{background:var(--status-add)}.file-status.deleted{background:var(--status-delete)}.file-status.modified{background:var(--status-modified)}.file-status.renamed{background:#007aff}.file-path{font-family:var(--font-interface);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-stats{margin-left:auto;display:flex;gap:5px;font-size:11px;flex:none}.file-stats .add{color:var(--status-add)}.file-stats .del{color:var(--status-delete)}.file-stats.binary{color:var(--text-dim)}.comment-card{margin:4px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:13px;max-width:720px}.comment-card.draft{border-color:color-mix(in srgb,var(--accent) 60%,transparent)}.comment-row+.comment-row{border-top:1px solid var(--border)}.comment-row,.comment-card.draft{padding:8px 10px}.comment-meta{display:flex;align-items:center;gap:8px;color:var(--text-dim);font-size:11px;margin-bottom:4px}.comment-side{font-family:var(--font-code);font-weight:700}.comment-actions{margin-left:auto;display:flex;gap:6px}.comment-action-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:3px;border:none;border-radius:5px;background:none;color:var(--text-dim);cursor:pointer}.comment-action-button>svg{width:15px;height:15px}.comment-action-button:hover{color:var(--accent);background:color-mix(in srgb,currentColor 10%,transparent)}.comment-action-button.danger:hover{color:var(--danger)}.comment-body{white-space:pre-wrap;line-height:1.45}.comment-editor textarea{width:100%;resize:vertical;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font:inherit;font-size:13px}.comment-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.comment-editor-actions button{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:4px 12px;font-size:12px;cursor:pointer}.comment-editor-actions button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.comment-editor-actions button:disabled{opacity:.5;cursor:not-allowed}.comment-error{color:var(--danger);font-size:12px;margin-top:4px}@media(max-width:767px){.toolbar{gap:6px;padding:5px 6px}.toolbar-title{max-width:34vw}.toolbar-title .vcs-badge{display:none}.source-select{min-width:92px}.toolbar-right{gap:4px}.display-options-menu{width:min(280px,calc(100vw - 12px))}.content.narrow .sidebar{position:absolute;z-index:15;inset:0 auto 0 0;width:min(280px,86vw);box-shadow:12px 0 32px #0000003d}.code-view{padding-inline:4px}}@media(max-width:430px){.toolbar-title{max-width:24vw}.repo-name{font-size:12px}.source-select{min-width:82px}}