Simplify tray: static template icon, click focuses the app
The setImage-swapped progress frames lost the template treatment on macOS and rendered black-on-dark once transfers started. Dial back per user decision: the tray is now just the glyph (template image set once at construction, never swapped) and clicking it activates the window — no menu, no progress effects. Removes everything that only served the fancy version: progress frames + generation, engine.aggregateProgress, the workspacesSync webview->bun channel (schema, send proxy, panels effect, handlers) and the activate-tab action. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -146,35 +146,6 @@ export class TransferEngine {
|
||||
if (job && TERMINAL.includes(job.snapshot.state)) this.jobs.delete(jobId);
|
||||
}
|
||||
|
||||
/** Live totals over every non-terminal job (drives the tray progress icon). */
|
||||
aggregateProgress(): {
|
||||
activeCount: number;
|
||||
doneBytes: number;
|
||||
totalBytes: number;
|
||||
bySession: Record<string, { count: number; done: number; total: number }>;
|
||||
} {
|
||||
const result = {
|
||||
activeCount: 0,
|
||||
doneBytes: 0,
|
||||
totalBytes: 0,
|
||||
bySession: {} as Record<string, { count: number; done: number; total: number }>,
|
||||
};
|
||||
for (const job of this.jobs.values()) {
|
||||
const snap = job.snapshot;
|
||||
if (TERMINAL.includes(snap.state)) continue;
|
||||
result.activeCount++;
|
||||
result.doneBytes += snap.doneBytes;
|
||||
result.totalBytes += snap.totalBytes;
|
||||
for (const sessionId of new Set([snap.srcSessionId, snap.dstSessionId])) {
|
||||
const entry = (result.bySession[sessionId] ??= { count: 0, done: 0, total: 0 });
|
||||
entry.count++;
|
||||
entry.done += snap.doneBytes;
|
||||
entry.total += snap.totalBytes;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/** Fail every non-terminal job that touches a dead session. */
|
||||
failSession(sessionId: string, reason: string): void {
|
||||
for (const job of this.jobs.values()) {
|
||||
|
||||
Reference in New Issue
Block a user