Files
noteflow/client/src-tauri/capabilities/default.json
Claude 8eefef3d23 Add Tauri client scaffolding for migration from Flet
This commit introduces the new Tauri-based client directory structure per
the migration specification in docs/ui.md. The migration replaces the
Python/Flet client with a Rust/Tauri + React/TypeScript architecture.

Rust Backend (src-tauri/):
- Tauri v2 configuration with plugins (dialog, fs, notification, global-shortcut)
- gRPC client implementation using tonic for server communication
- AppState management with thread-safe access patterns (parking_lot, tokio)
- Tauri commands for: connection, recording, meetings, annotations, summary,
  export, diarization, playback, triggers, and audio devices
- Audio capture/playback scaffolding using cpal/rodio
- AES-256-GCM encryption module for audio files
- Trigger detection service for auto-start functionality
- Event emitter helpers for frontend communication

React Frontend (src/):
- Vite + TypeScript + Tailwind CSS + shadcn/ui setup
- Complete TypeScript type definitions mirroring Rust types
- Zustand store with immer for state management
- Tauri API wrapper for all backend commands
- Tauri event listeners hook for real-time updates
- Core UI components:
  - ConnectionPanel: Server connection management
  - RecordingPanel: Start/stop recording controls
  - VuMeter: Real-time audio level visualization
  - PlaybackControls: Audio playback with seek
  - TranscriptView: Live transcript display with segment highlighting
  - SummaryPanel: AI summary generation and display
  - MeetingLibrary: Browse, select, export, delete meetings
  - TriggerDialog: Auto-start prompt with snooze options

The client connects to the existing Python gRPC server. All server-side logic
(ASR, diarization, summarization, persistence) remains unchanged.

Key dependencies:
- Rust: tauri 2.0, tonic, cpal, rodio, aes-gcm, keyring
- Frontend: react 18, zustand, tailwindcss, lucide-react, radix-ui
2025-12-21 01:21:54 +00:00

19 lines
482 B
JSON

{
"$schema": "https://schema.tauri.app/config/2.0.0/capability",
"identifier": "default",
"description": "Default capabilities for NoteFlow",
"windows": ["main"],
"permissions": [
"core:default",
"shell:allow-open",
"dialog:allow-save",
"dialog:allow-open",
"fs:allow-read",
"fs:allow-write",
"notification:default",
"global-shortcut:allow-register",
"window-state:allow-restore-state",
"window-state:allow-save-window-state"
]
}