- Overwrite confirmation: name-collision detection before enqueue; dialog shows source vs destination (size, mtime, 'newer' badge) with per-item Skip/Replace and batch Skip all / Replace all; type mismatches auto-skip with a toast; cancel aborts the whole operation - Transfer speed + ETA: UI computes smoothed bytes/sec from progress deltas (callback bus makes deltas meaningful); shown in the expanded queue rows and the status-bar summary; unit follows the speed-unit setting - Settings: bun-side SettingsStore (settings.json, 0600, atomic) + get/save RPC; SettingsService; gear popover on the tab row (theme segmented control, speed unit); persisted across restarts - Light theme: data-theme on <html> drives token overrides; absent = follow OS - macOS fused titlebar: hiddenInset + trafficLightOffset, tab row becomes the draggable titlebar (app-region drag/no-drag classes); other platforms keep a separate titlebar (gated by a platform value injected via window preload) - README: known-issues note for the upstream Bun/Electrobun FFI crash Verified: tsc + ui build clean; SettingsStore roundtrip + 0600 headless; app boots and the UI fetches settings over RPC at startup. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
25 lines
558 B
JSON
25 lines
558 B
JSON
{
|
|
"name": "bunscp",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"workspaces": ["ui"],
|
|
"scripts": {
|
|
"dev": "bun scripts/dev.ts",
|
|
"dev:ui": "bun run --cwd ui start",
|
|
"build:ui": "bun run --cwd ui build",
|
|
"build": "bun run build:ui && bunx electrobun build",
|
|
"start": "bun run build:ui && bunx electrobun dev"
|
|
},
|
|
"dependencies": {
|
|
"electrobun": "1.18.1",
|
|
"ssh2": "^1.17.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/bun": "latest",
|
|
"@types/ssh2": "^1.15.5",
|
|
"typescript": "~5.9.3"
|
|
},
|
|
"trustedDependencies": ["@parcel/watcher"]
|
|
}
|