Skip to content

Conversation

@safvanatzack
Copy link
Collaborator

@safvanatzack safvanatzack commented Feb 11, 2026

Description

This PR delivers a focused update improving provider model management, fixing API key persistence issues, enhancing Whisper model support, and bundling FFmpeg at build time for a smoother first-run experience.

Key highlights include:

  • Dynamic real-time model fetching from OpenAI, Anthropic, and Groq (when API key is provided)
  • Build-time FFmpeg bundling with 3-tier fallback (bundled → dev → system)
  • Support for Q5_1 quantized Whisper models (tiny, base, small)
  • Centralized provider API key management
  • Proper model and endpoint state preservation when switching providers
  • Multiple Whisper metadata corrections
  • Windows system audio device reset fix
  • Transcript copy newline preservation
  • UI improvements to model selection and notifications

Related Issue

Fixes #307
Fixes #346
Fixes #322
Fixes #323

(Also includes fixes reported by community members in related provider/model issues.)


Type of Change

  • Bug fix
  • New feature
  • Documentation update
  • Performance improvement
  • Code refactoring
  • Other (please describe)

Testing

  • Unit tests added/updated
  • Manual testing performed
  • All tests pass

Tested scenarios include:

  • Provider switching with API key persistence
  • Model selection preservation per provider
  • Dynamic model fetching with valid API keys
  • Custom OpenAI-compatible endpoint connection testing
  • Whisper model downloads and metadata validation
  • Q5_1 model loading and transcription
  • FFmpeg resolution (bundled/dev/system fallback)
  • Windows system audio device persistence
  • Transcript copy with preserved newlines

Documentation

  • Documentation updated
  • No documentation needed

Updated:

  • Release notes

Checklist

  • Code follows project style
  • Self-reviewed the code
  • Added comments for complex code
  • Updated README if needed
  • Branch is up to date with devtest
  • No merge conflicts

Additional Notes

  • FFmpeg download source switched to Zackriya’s GitHub release for improved Windows reliability.
  • Model fetching now occurs dynamically when opening the model selector and an API key is present.
  • Provider-specific model selection and endpoints are now cached and automatically restored.
  • Includes contributions from:
    • @matbe (Windows audio fix, Whisper metadata corrections)
    • @5m4u66y (OpenAI-compatible API connection test fix)

sujithatzackriya and others added 30 commits October 10, 2025 14:37
…ation to monitor user behavior, feature adoption, and application health metrics. All analytics are logged to PostgreSQL via the existing PostHog infrastructure with minimal local state management in analytics.json.
…ce selection, language selection, preference changes, recording settings
…issue-fix-VAD-settings-change

Fix: Audio recording not finalizing in release builds
Feat : Implemented comprehensive analytics tracking
Added a new component, HomebrewDatabaseDetector, to check for the existence of a Homebrew database and retrieve its size. Integrated this component into the LegacyDatabaseImport dialog. Updated Tauri commands to support database detection functionality.
Updated the HomebrewDatabaseDetector component to check for the existence of the Homebrew database in both Apple Silicon and Intel Mac paths. The detected path is now displayed dynamically, improving user experience and compatibility.
…lt analyticsOptedIn setting

Updated both components to eliminate the default value for analyticsOptedIn in the load function, streamlining the analytics preference handling process.
safvanatzack and others added 27 commits December 31, 2025 14:18
Fix Windows system audio device selection reset bug
  - Correct model file sizes (tiny, medium, large-v3, large-v3-turbo)
  - Add Q5_1 quantized models (tiny, base, small) with download URLs
  - Update Q5_0 model sizes and remove Q4_0 models
  - Revise default model selection (small, medium-q5_0, large-v3 variants)
  - Improve ModelManager UI spacing and inline tagline display
  - Remove auto-selection of first available model in Whisper and Parakeet managers
  - Fix provider switching to properly set provider when model is selected
  - Add uiProvider state to prevent premature config updates during provider changes
  Centralize provider-specific keys in ConfigContext to ensure correct key is loaded when switching between Claude, Groq, OpenAI, etc.
…loads

  - Add build deps: zip, tar, xz2 for archive extraction
  - Download FFmpeg during build via build.rs (~350 lines)
    - Platform-specific URLs with cache verification
    - Graceful failure (warns, never blocks build)
  - Register in tauri.conf.json externalBin
  - 3-tier detection: bundled → dev → fallback (ffmpeg-sidecar)

  Benefits: Zero first-run delay (was 2-10 min)
- Fix Zip Slip vulnerability using enclosed_name()
- Fail-fast on download errors instead of warnings
- Remove non-functional TARGET/HOST dead code
- Remove redundant executable path checks
- Fix concurrent build race conditions
- Improve ZIP directory detection

Addresses 6/8 PR review issues. Remaining integrity verification
and trusted URLs to be implemented in follow-up.
Note: windows sometimes having issues with downloading the ffmpeg
Add a providerModelMap in localStorage to remember the last selected
model for each provider. When switching providers, the previously
chosen model is restored instead of defaulting to the first option.
A useEffect restores the cached model once async model lists (e.g.
Ollama) finish loading. The cache is seeded from the database on
initial config load.
…s page

- Replace no-op handleSaveModelConfig in page-content.tsx with actual
  backend invocation of api_save_model_config
- Emit model-config-updated event after save to keep ConfigContext and
  other listeners in sync

The handler became a no-op in ec176d6 when migrating from
useModelConfiguration hook to ConfigContext, causing API keys entered
from the meeting details AI model dialog to only update React state
without persisting to SQLite, failing summary generation with
"API key not found".
Copy link
Collaborator

@sujithatzackriya sujithatzackriya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed, Tested and approved.

@sujithatzackriya sujithatzackriya merged commit 901fd35 into main Feb 11, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

6 participants