Punch items from doc audit: - STATUS: "in progress" section was carrying ghost items (vault container max-width, README name fix) with no matching commits or working-tree changes; trimmed to the one real in-flight item. - STATUS + ROADMAP: trash/history/devices/settings management-surfaces revamp shipped 2026-05-24..05-30 (commits c943a06..88d7228) but was still listed as "up next" / medium-term; moved to shipped with per-commit SHAs. - STATUS: v0.5.0 was described as the current tag, but only v0.2.0 and four plan-1* tags exist; rephrased as "v0.5.0 train on main, untagged". - ROADMAP: "Vault lock screen + container polish (in progress)" collapsed to just the lock-screen logo (the only real in-flight item). - extension/ARCHITECTURE: module map missing four shipped components — popup/components/form-header.ts, popup/components/settings-security.ts, vault/components/backup-panel.ts (#backup route), vault/components/import-panel.ts (#import route); all added with matching #backup / #import route entries. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
69 lines
4.3 KiB
Markdown
69 lines
4.3 KiB
Markdown
# Relicario — Project Status
|
||
|
||
> Update this file at the end of every dev iteration. It is the single source of truth for what is done, in progress, and next.
|
||
|
||
## Version
|
||
|
||
**Last release tagged:** v0.2.0 — v0.5.0 train (crate + extension versions bumped to 0.5.0 in `cf66bd9`, 2026-05-04) is on `main` but **untagged**. Tag when the v0.5.x polish slate clears.
|
||
**Active track:** v0.5.x UX polish + Plan B refactor continuation
|
||
|
||
## What landed in the v0.5.0 train (2026-05-02 → 2026-05-04, untagged)
|
||
|
||
Three release trains merged into one tag:
|
||
|
||
**Security hardening (Plan A):**
|
||
- Pre-receive hook actually verifies signatures now — device-auth was a no-op before (S1)
|
||
- Backup-restore tar unpacking hardened against path traversal and zip-bomb (S2)
|
||
- `RELICARIO_*` env-var surface audited; `RELICARIO_NO_GROUPS_CACHE` gated to debug builds (S3)
|
||
|
||
**Bug fixes:**
|
||
- Strength meter no longer goes stale after the regenerate button (B1)
|
||
- Snake_case error codes no longer leak into the UI (B2)
|
||
|
||
**Features (originally v0.3.0 + v0.4.0):**
|
||
- `relicario backup export/restore` with `.relbak` format
|
||
- `relicario import lastpass` (LastPass CSV importer)
|
||
- Device authentication: ed25519 commit signing + Gitea deploy-key management
|
||
- Fullscreen UX Phase 1: visual foundation (sidebar + pane shell, dark theme)
|
||
- Fullscreen UX Phase 2A: smart inputs (password coloring, inline generator popover, custom-fields editor)
|
||
|
||
## Recent work (post-v0.5.0, landed on main)
|
||
|
||
**Plan B multi-stream refactor (2026-05-09 to present):**
|
||
- `prompt_or_flag<T>` + builder compression — compressed `build_*_item` helpers (Stream A)
|
||
- `Vault::after_manifest_change` wrapper, single canonical `ParamsFile` in session (Stream B)
|
||
- Core/WASM seam: `base32_decode_lenient`, `parse_month_year`, `guess_mime` added to WASM exports; CLI parsers migrated to `relicario-core::parse` (Stream C)
|
||
- CLI: `gen` alias for `generate`, `-l`/`-w` short flags, batched purge
|
||
- `base32` module extracted from core, two duplicate RFC-4648 impls deduplicated
|
||
- License switched to GPL-3.0-or-later
|
||
|
||
**Vault-tab management surfaces revamp (2026-05-24 → 2026-05-30):**
|
||
Spec: `docs/superpowers/specs/2026-05-23-vault-tab-management-surfaces-revamp-design.md`
|
||
Plan: `docs/superpowers/plans/2026-05-24-vault-tab-management-surfaces-revamp.md`
|
||
- Shared utilities first: `relative-time.ts` consolidating 5 duplicate inline copies (`9da45dd`, `a587965`), webcrypto `ssh-fingerprint.ts` (`1edfa67`), shared section-header / glyph-btn / kv-row / fingerprint CSS (`367adce`), history/revoke/restore glyph constants (`c943a06`)
|
||
- Settings pane revamp — synced/local split + session timeout UI (`299e7db`)
|
||
- Devices pane revamp — SHA256 fingerprint + added-by display + glyph revoke with inline two-step confirm (`047df6e`)
|
||
- Trash pane revamp — per-item purge countdown via `daysUntilPurge` + glyph restore + bottom-right empty-trash (`ed6e218`)
|
||
- Field-history pane visual polish — section headers + glyph reveal/copy buttons (`32e674e`)
|
||
- Item-history-index pane — top-level "items with history" list (`32e1632`)
|
||
- Sidebar slot wiring + `#history/<id>` route with `#field-history/<id>` legacy normalization (`88d7228`)
|
||
|
||
## In progress (uncommitted on main)
|
||
|
||
- Vault lock screen logo — 1-line `<img class="brand-logo">` insertion in `extension/src/vault/vault.ts` lock-screen render (verified via `git diff`)
|
||
|
||
## Up next
|
||
|
||
The vault-tab management surfaces revamp closes the trash / devices / history / settings gap that previously sat under "Up next". What's genuinely next, per `ROADMAP.md`:
|
||
|
||
1. **Phase 2B: form layout polish** — spacing, density, section headers, attachment previews
|
||
Spec: `docs/superpowers/specs/2026-05-02-phase-2b-form-layout-design.md`
|
||
Plan: `docs/superpowers/plans/2026-05-02-phase-2b-polish-and-form-layout.md`
|
||
2. **1C-γ: attachments + Document type** — attachment UI in popup + vault tab; Document item add/view/edit
|
||
Specs: `docs/superpowers/specs/2026-04-24-relicario-extension-1c-gamma1-design.md`, `2026-04-26-relicario-extension-1c-gamma2-design.md`
|
||
3. **Phase 3: vault-tab shell** — sidebar nav + command palette stub
|
||
Spec: `docs/superpowers/specs/2026-04-27-relicario-vault-tab-design.md`
|
||
4. **v0.5.0 tag** — once the v0.5.x polish slate (lock-screen logo, Phase 2B) settles, cut the tag.
|
||
|
||
See `ROADMAP.md` for the longer arc.
|