Skip to content

v1.4.0 — Onboarding, friendlier errors & an engineering baseline

Choose a tag to compare

@zxw1992 zxw1992 released this 25 May 05:57
· 26 commits to main since this release

v1.4.0 — Onboarding, friendlier errors & an engineering baseline

Highlights:

UX polish

  • First-run onboarding: new users with an empty timeline get a two-step guide on the capture page — add an AI API key, then record their first memory. It checks off step one once a key is configured, can be skipped, and disappears for good after the first entry.
  • Friendly errors: raw backend/network failures (missing key, invalid key, offline, rate limit, timeout, server error) are now translated into clear, actionable messages, with an "Open Settings" link for configuration problems.
  • Retry on failure: transient errors offer a retry button instead of a dead end — search re-runs the last query, capture resubmits.
  • Draft preservation: an in-progress note survives a tab switch or reload and is cleared once saved.
  • Multi-image capture: image mode now accepts a batch (multiple picks or pastes), shown as a removable thumbnail grid; each image is saved as its own entry.
  • Clearer progress: the processing tray now names the current stage ("Reading image…", "Transcribing…") alongside the animated steps.

Engineering baseline

  • Test suite: pytest coverage for provider fallback, the full ingestion pipeline, and semantic-search ranking.
  • Logging: structured stdlib logging to the console plus rotating app.log / error.log, with a configurable level.
  • Tooling & CI: ruff linting, a pre-commit hook, and a GitHub Actions workflow that runs backend tests and the frontend build on every push and pull request.