Real-time dictation (AssemblyAI/Deepgram, own provider/key/model), auto-ingest
folders, record-in-background, per-invocation diarization, manage built-in
templates (enable/track), local whisper.cpp auto-start/idle-stop, and dev tooling
(local review + release-checklist skill).
Voxtral realtime was reverse-engineered but pulled (not WebView-reachable); its
adapter is kept on disk, unwired.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Secrets:
- Warm the secret-storage probe before loadSettings so a fresh install
actually defaults to Obsidian secret storage instead of caching an
unconfigured passphrase envelope first.
- setEncryptionMode no longer early-returns on same-mode: an unconfigured
passphrase store now always builds its kdf/verifier, so creating a
passphrase (incl. on Linux without a keyring) writes secrets.json.nosync
instead of silently no-opping.
Modal:
- The Record tab closes the modal on Stop and runs the pipeline detached
with Notice progress (per-stage setMessage) and Notice errors, mirroring
the reprocess-audio flow. The persisted recording is the recovery path,
so no inline Retry. Paste / From note keep the in-modal Retry flow.
Docs:
- Replace FEATURES.md with ROADMAP.md: Planned / Unreleased / Released
lifecycle, wired into the RELEASING.md release steps.
- Update SECRETS.md, CLAUDE.md, and the Commands-and-Menus wiki page.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Switching the API-key encryption mode no longer moves keys. The on-disk
envelope now retains passphrase material (kdf/verifier/keys) even while
Obsidian secret storage is active, so the two stores coexist and `mode` is
just the active-store flag.
Key transfer is now an explicit, separate action presented as Copy (the
source is kept, so it is a copy, not a move):
- setEncryptionMode: switch active method only, no transfer
- copyKeys: duplicate inactive -> active, source untouched
- clearKeys(mode): wipe one method's saved keys
- unlockPassphraseStore: unlock the snapshot regardless of active mode
- countStoredKeys / EncryptionStatus.passphraseConfigured for the UI
Settings tab: the mode dropdown is now a pure switch; new Copy and Clear
buttons (behind a new generic ConfirmModal) handle key material with a
copied/cleared count Notice. changePassphrase is a direct within-passphrase
re-key. Docs updated (SECRETS.md, CLAUDE.md, wiki).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>