Commit Graph
4 Commits
Author SHA1 Message Date
eezd 3cd641a380 refactor(web): adopt modular Vue architecture and isolate bearer sessions 2026-10-25 20:47:32 +08:00
eezd 11f5e4fcf4 fix(dev): load runtime metadata without frontend build artifacts 2026-10-25 13:59:54 +08:00
eezd dc7e43bc3c build: support running the server with go run during development
- The dev build tag reads web/dist from disk instead of embedding it,
  so the backend starts without building the frontend first; Vite
  serves the UI and proxies /api and WebSocket to the Go server
- Document the two-terminal dev workflow and ignore .dev-data/
2026-10-16 18:46:13 +08:00
eezd c4d2bd4636 feat(server): add Go backend with vault, auth, events and REST API
- vault: path validation (no traversal, hidden segments or symlink
  escape), atomic writes with If-Match/If-None-Match revisions, moves
  that carry the note's .assets folder and rewrite its image links,
  trash with restore, content-addressed asset uploads
- auth: single-user Argon2id password, sliding sessions in SQLite,
  login rate limiting, first-run setup gated by a one-time code written
  to the data directory
- watch: fsnotify plus periodic rescans diffed against a snapshot, so
  both RawMark and external edits are broadcast as tree/changed/moved/
  deleted events over WebSocket
- api: stdlib router, SameSite=Strict cookies plus Origin checks,
  sandboxed raw file serving, embedded SPA with gzip and CSP
2026-10-16 18:23:23 +08:00