spb/drive Public
SPB Drive — self-hosted personal cloud drive (files, previews, sharing) on the MacLustr cluster.
JavaScript 82.7%
CSS 10.6%
Nunjucks 3.6%
Shell 1.8%
SQL 1.3%
-
chore: bump to 2.1.0
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
feat: v2.1 design overhaul — light-first 'Ivoire & Indigo' identity + real mobile UX
…
- light theme by default (warm ivory canvas, electric indigo accent, aurora wash) - new token system: gradients, layered shadows, springs, radius scale, glass surfaces - glass topbar, pill buttons/search, gradient CTAs, card hover lift, inverted pill toasts - CVD-validated data palette for storage buckets (passes light AND dark checks) - mobile: bottom app bar + gradient FAB, context menus as bottom sheets, info panel as bottom sheet, sidebar drawer with scrim, long-press menus, tap-to-open, safe-area insets, bigger touch targets - fix: theme persistence was CSP-blocked (inline script) → external theme.js - dark theme kept, harmonized warm charcoal; adaptive theme-color meta Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
feat: v2.0 — file versioning, in-browser editor, file requests, storage insights
…
- node_versions table: replace/edit archives previous blob (20 kept/file, CAS refs) - versions API: list, download, restore, delete; Info panel + Version history UI - upload conflicts: Keep both / Replace (new version) / Skip, batch-applicable - in-browser text editor (code/md/json/csv), ⌘S saves as version, New text file - file requests: public /r/<token> pages receive uploads into a chosen folder (12-char base58, expiry, max-files quota, QR, instant close, activity log) - storage insights: dedup savings, version footprint, largest files, duplicates - 27 tests green (unit + e2e incl. stranger upload + version restore) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
feat: production deploy to m3u96b — ~/srv/drive layout, ngrok config merge, LibreOffice via 7zz DMG extraction, backup+restore drill verified
…
Live at https://drive.spboucher.ai (pm2: spbdrive-server + spbdrive-tunnel) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
fix: accept 7zz binary (brew sevenzip), install LibreOffice with --no-quarantine, ngrok authtoken fallback in pm2 config
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
feat: tests (unit+e2e), eslint, deploy artifacts (setup-m3u96b, pm2, ngrok, backup), README
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
feat: spbdrive CLI — init, ls, up/down, mkdir/mv/rm/restore, share --qr, push mirror, doctor
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
feat: web app shell, universal preview engine, sharing pages, search & activity UI
…
- Full SPA: grid/list views, multi-select + rectangle select, dnd move, inline rename, context menus, keyboard shortcuts, upload panel (chunked resumable), paste-to-upload - Preview: images (zoom/pan/EXIF), video (transcode poll), audio (wavesurfer+ID3), pdf.js viewer with search, office→PDF, code (shiki), markdown GFM, CSV virtual table, JSON tree, ipynb, archives, fonts, eml, fallbacks - Public share pages with OG tags, password gate, folder browser, zip-all - Settings (password, sessions, API tokens), activity log, share manager, storage meter - E2E smoke verified: upload→thumb→range→share→revoke→lockout Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
chore: redact bootstrap password literal from tracked spec per §0.2
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
feat: skeleton, auth, storage core — config, sqlite schema, blob CAS, tree ops, chunked uploads, sessions, lockout, shares, search, preview backend
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>