Travis Vasceannie f9db9cd8ca fix(client): close delete dialog on successful bulk deletion
Added onSuccess callback to useDeleteMeetings hook and use it in
Meetings.tsx to close dialog, clear selection, and exit selection mode.

Removed flaky useEffect that tried to detect deletion success by
checking if meetings still existed in the list.
2026-01-26 13:40:10 +00:00
2026-01-23 07:45:20 +00:00
2026-01-24 21:31:58 +00:00
2026-01-26 13:24:46 +00:00
2026-01-26 04:42:21 +00:00
2026-01-24 10:40:30 +00:00
big
2026-01-06 08:03:04 +00:00
2026-01-26 13:24:46 +00:00
2026-01-24 10:40:30 +00:00
2026-01-02 10:11:45 +00:00
mac
2026-01-24 12:47:35 -05:00
2026-01-22 16:15:56 +00:00
x
2026-01-24 10:46:07 +00:00
2026-01-02 04:22:40 +00:00
2026-01-23 07:45:20 +00:00
mac
2026-01-24 12:47:35 -05:00
2026-01-08 21:45:05 -05:00
2026-01-25 01:40:14 +00:00
2026-01-24 10:40:30 +00:00
2026-01-24 10:40:30 +00:00
2026-01-26 00:28:15 +00:00
2026-01-24 15:10:53 +00:00
xx
2026-01-22 04:40:05 +00:00
2026-01-24 10:40:30 +00:00
2026-01-25 01:40:14 +00:00

NoteFlow

NoteFlow is an intelligent meeting notetaker: local-first audio capture, navigable recall, and evidence-linked summaries. It uses a gRPC API for bidirectional audio streaming and transcription. In Beta

What's in this repo

  • Python backend (gRPC server + domain services): src/noteflow/
  • Tauri + React desktop client (Vite): client/

Prerequisites

  • Python 3.12+
  • Node.js 18+ (for the Tauri/React client)
  • Rust toolchain (only if running the Tauri desktop app)
  • Docker (optional, for containerized dev)

Local development

1) Backend server

python -m pip install -e ".[dev]"
python -m noteflow.grpc.server

Optional: run with autoreload (watches src/ and alembic.ini):

python scripts/dev_watch_server.py

By default the server listens on localhost:50051.

If you want PostgreSQL persistence, set NOTEFLOW_DATABASE_URL in your environment or .env (see example.env).

2) Tauri + React client

cd client
npm install

# Web (Vite dev server)
npm run dev

# Desktop (Tauri dev)
npm run tauri dev

The Tauri desktop app requires a working Rust toolchain.

Container-based development

The repository includes two compose files:

  • docker-compose.prod.yml — Production deployment with prebuilt images
  • docker-compose.dev.yml — Development with hot reload and all extras

Production (prebuilt images)

# CPU server (default)
docker compose -f docker-compose.prod.yml up -d

# NVIDIA GPU server
docker compose -f docker-compose.prod.yml --profile gpu up -d

# AMD ROCm GPU server
docker compose -f docker-compose.prod.yml --profile rocm up -d

Development (with hot reload)

# CPU dev server + frontend
docker compose -f docker-compose.dev.yml up -d

# NVIDIA GPU dev server
docker compose -f docker-compose.dev.yml --profile gpu up -d

# AMD ROCm dev server
docker compose -f docker-compose.dev.yml --profile rocm up -d

Building images

# Build all production images
docker buildx bake prod

# Build and push to registry
REGISTRY=git.baked.rocks/vasceannie docker buildx bake --push prod

# Build dev images locally
docker buildx bake dev

Common commands

# Backend
pytest
pytest -m "not integration"
ruff check .
mypy src/noteflow

# Client (from client/)
npm run lint
npm run format
npm run test

Configuration

Runtime settings are read from .env and NOTEFLOW_ environment variables. See src/noteflow/config/settings.py and example.env.

Description
No description provided
Readme 431 MiB
Languages
Python 53.8%
TypeScript 33%
Rust 10.8%
Open Policy Agent 1.3%
Shell 0.3%
Other 0.6%