-
Notifications
You must be signed in to change notification settings - Fork 573
Commit b2599b8
feat: Add comprehensive analytics and Docker infrastructure (#134)
* Cleanup/backend unused+save meetings db UI change (#83)
* Fix: Audio capture issue after the new audio management was introduced is fixed
* Fix: Audioplayer issue
* Fix: Audioplayer issue; Removed this feature for now. Have to ad backend audio streaming integration
* chore: update recording controls and docs
* Windows and linux system updates; tested on mac
* Windows microphone capture update; To be tested on a windows device
* Windows compatible frontend cleanup and bug fix
* Windows compatible frontend cleanup and bug fix: Added .bat files
* Windows compatible frontend cleanup and bug fix: Common tauri config update
* Windows compatible frontend cleanup and bug fix: Fixed windows processing bug
* Windows compatible backend: Add .cmd scripts for backend
* Windows compatible backend: Add seperate scripts to checkout which works best for backend
* Windows compatible backend: Updated backend run scripts
* Windows compatible backend: Updated backend run scripts: .env bug fix
* Windows compatible backend: Updated backend run scripts and updated README
* Windows compatible frontend: mic access issues fix for testing
* Windows compatible frontend: mic access issues fixes; not bug free
* Windows compatible frontend: mic access issues fixes; not bug free
* Windows compatible backend: README update
* Windows compatible frontend and backend readme update
* Windows compatible frontend and backend: Fixed the audio capture bug and updated the repo
* README.md update after windows support is added
* Changed the bundle target to all
* README.md update after windows support is added
* Enhance build scripts: Updated build_whisper.sh to suppress warnings during CMake configuration and added CMake version check in clean_build.sh and clean_run.sh to ensure compatibility. Set minimum CMake policy version for builds.
* Implement meeting and transcript management in the database
- Added new tables for meetings and transcripts in the database schema.
- Introduced methods to save meeting transcripts, retrieve meetings, and update meeting titles.
- Updated the API to handle saving transcripts with associated meeting titles.
- Enhanced frontend to support new transcript saving functionality and improved recording stop logic.
* Refactor database and API for meeting and transcript management
- Added new fields to the transcripts and summary_processes tables in the database schema.
- Updated methods to save meeting details and transcripts, including timestamp handling.
- Enhanced API endpoints to retrieve meeting details and transcripts with improved error handling.
- Introduced a new frontend component for displaying meeting details and transcripts.
- Implemented fetching of meetings from the API in the sidebar for dynamic updates.
* Update database schema and API for meeting and transcript management
- Changed default database name from 'summaries.db' to 'meeting_minutes.db'.
- Modified the 'summary_processes' table to use 'meeting_id' as the primary key.
- Added a new 'transcript_chunks' table to store transcript data associated with meetings.
- Updated methods in DatabaseManager to handle meeting_id instead of process_id for creating and updating processes.
- Enhanced API endpoints to reflect changes in database structure and improve error handling.
- Updated frontend components to support new meeting_id parameter and improve user experience.
* Update meeting page to fetch and format summary data
- Modified the MeetingPage component to fetch summary data from the API.
- Added logic to handle null summary data and format it for consistent styling.
- Updated the PageContent component to accept summaryData as a prop, replacing the previous default state for AI summary.
* Refactor meeting details and sidebar navigation
- Introduced new MeetingDetails component to handle fetching and displaying meeting details and summaries.
- Updated Sidebar component to manage current meeting state and navigation.
- Enhanced useNavigation hook for streamlined meeting navigation.
- Removed deprecated meeting page to consolidate meeting management functionality.
- Improved database interactions for meeting and summary retrieval.
* Enhance sidebar meeting management functionality
- Added setMeetings method to SidebarProvider for managing meeting state.
- Updated Home component to set meetings when a new meeting is created.
- Exported CurrentMeeting interface for better type management across components.
- Refactored sidebar item updates to respond to changes in meetings state.
* Implement meeting title update functionality
- Added MeetingTitleUpdate model to handle meeting title updates.
- Introduced save_meeting_title API endpoint to save updated meeting titles.
- Updated PageContent component to include logic for saving meeting titles and managing state.
- Enhanced error handling for meeting title updates in the frontend.
* Add delete meeting functionality
- Implemented delete_meeting method in DatabaseManager to remove meetings and associated data from the database.
- Created DeleteMeetingRequest model for handling delete requests.
- Added /delete-meeting API endpoint to facilitate meeting deletion.
- Enhanced error handling for deletion operations to ensure robustness.
* Refactor meeting details and sidebar components
- Commented out error handling logic in MeetingDetails and PageContent components for future implementation.
- Updated PageContent to correctly set meeting titles based on available data.
- Enhanced Sidebar component with delete functionality for meetings, including API integration and state management.
- Improved user experience by allowing deletion of meetings and automatic navigation to home if the current meeting is deleted.
* Update meeting summary state management in MeetingDetails component
- Changed initial state of meetingSummary from sampleSummary to null for better handling of loading states.
- Updated loading condition to require both meetingDetails and meetingSummary to be available before rendering content.
- Ensured state resets correctly when currentMeeting changes, improving component responsiveness.
* Enhance sidebar and home component functionality
- Added isMeetingActive state management to track active meetings in Sidebar and Home components.
- Integrated ConfirmationModal for meeting deletion, improving user experience with confirmation prompts.
- Updated handleDelete function to manage meeting deletions and navigate appropriately if the active meeting is deleted.
- Adjusted meeting state updates to ensure accurate handling of active meetings during navigation.
* Minor updates. Major changes blow
- Changed the default call name from "New Call" to "+ New Call"
- Changed the instances where the name of the app was mentioned as
"Meeting Minutes". Changed this to "Meetily"
* Changed the logo
* Changed the logo
* Changed the logo
* Changed the logo
* cleaned main.py
* renamed and cleaned Process_transcrip.py
* removed `get_process`, `cleanup_old_processes`, `get_meeting_transcripts`
* removed chromadb and added versions
* updated readme with correct win11/10 build instructions
* fixed typo with windows build inst
* Introduce OpenAIProvider, Backend Cleanup, and CLI Testing Script (#75)
* removed unused lock and anthropic fail check
* added OpenAI provider support
* removed os
* removed enable_debug param
* added backend cli test script
* feat: Add model configuration management and OpenAI support (#79)
* Add model configuration management to the database and API
- Created a new table in the database to store model configuration.
- Implemented and methods in .
- Added corresponding API endpoints for retrieving and saving model configuration.
- Updated frontend to handle model configuration saving with error handling.
* Add model configuration fetching in meeting details
- Implemented a new useEffect to fetch model configuration from the API.
- Added error handling for the fetch operation.
- Logged the fetched model configuration for debugging purposes.
* Add API key management for model configuration
- Updated the database schema to include fields for various API keys.
- Implemented methods to save, retrieve, and delete API keys in the DatabaseManager.
- Enhanced the model configuration API to handle API key storage and retrieval.
- Updated frontend components to manage API keys in the model settings modal.
* Add API key retrieval endpoint and integrate with frontend
- Introduced a new endpoint to fetch API keys based on the provider.
- Updated the backend to utilize the DatabaseManager for API key retrieval.
- Enhanced the ModelSettingsModal component to fetch and display the API key, with added functionality to lock/unlock the input field for editing.
* Enhance ModelSettingsModal with OpenAI support and model configuration fetching
- Added 'openai' as a new provider option in the ModelConfig interface.
- Implemented a useEffect to fetch model configuration from the API when the modal is shown.
- Updated model options to include various OpenAI models and adjusted API key requirements accordingly.
* Fixed deleting setOriginalTranscript in generateAISummary function in meeting details page
* Remove ORDER BY clause from transcript query in DatabaseManager; add console logs for debugging in Home and MeetingDetails components.
* edits in gitignore
* Update .gitignore, add vibrate animation to globals.css, and enhance ModelSettingsModal with lock button vibration feature
- Removed '24transcript.md' from .gitignore and added 'meeting_minutes.db'.
- Introduced a vibrate animation in globals.css for UI feedback.
- Added state for lock button vibration in ModelSettingsModal and implemented click handling to trigger the animation.
* Bug Fix: Initial recording issue; Is Recording state management to handle reloads
* feat: Add meeting creation date to transcript and summary copy
- Add meeting creation date to transcript copy header
- Add meeting creation date to AI summary markdown export
- Use meeting.created_at consistently across both features
- Add created_at to AISummary component interface
- Format dates using toLocaleDateString() for better readability
This change ensures that both the transcript and summary copies include
the actual meeting creation date instead of the current date, making
the exported content more accurate and consistent.
* Bug Fix: Error handler for API request error. Have to improve
* Bug Fix: Error handler for API request error. Have to improve
* Improvements and README update
- Updated the README.md file
- Updated tauri config file to change the app name to meetily from
meeting-minutes
- Updated the cargo toml file and removed an unwanted library -
samplerate
- Added meetily banner
- updated the package,json to reflect app name correctly
* Fix: README.md
* Other: Updated contrib guidelines, Issue templates and PR guidelines
* Bug fixes and icon addition
- Fixed the bug - Meeting title copied was not consistant. Now fixed
- Added icons for the app
- Updated the README - Corrected the contributor link
* Docs: Updated README with OS level installation instructions for better clarity
---------
Co-authored-by: Sujith S <[email protected]>
* Bug fix : Windows installer & README Update
- Fixed the windows build bugs
- Added the correct windows build file name in README.md
* Docs: Updated README, fixing link issues
* refactor: disable audio file saving in release version
- Comment out audio processing and saving functionality
- Retain real-time transcription and transcript saving features
- Remove debug code for individual audio chunk saving
- Keep directory creation logic for future use
This change reduces disk usage and simplifies the application by
focusing solely on transcription functionality. Audio saving may
be re-enabled in future versions if needed.
* fix: Update transcript header to include meeting title fallback
- Modified the transcript copy header to use if available, otherwise fallback to .
- Updated dependencies in the function to include for proper functionality.
This change ensures that the correct meeting title is used in the transcript header, improving the accuracy of exported content.
* fix: Ensure unique keys for transcript items in TranscriptView
- Updated the key generation for transcript items to include a random string, ensuring uniqueness and preventing potential rendering issues in React.
* Refactor : Removed the transcription save functionality, removed the
CMAKE arguments for build and run
- The transcription save option is taking too long to complete and was
causing delay. this is a feature that's not been fully used and the
transcript is already being saved in db. so commented out this part
- Updated the build and run scripts for frontend for mac os. Removed the
CMAKE arguments to force versions.
---------
Co-authored-by: Sujith S <[email protected]>
Co-authored-by: athulchandroth <[email protected]>
Co-authored-by: Ebin Babu Thomas <[email protected]>
Co-authored-by: Ebin Babu Thomas <[email protected]>
Co-authored-by: athulchandroth <[email protected]>
* Updated the icons
* Cleanup : unused icons are removed
* Hotfix 1 : Updated Nextjs version
- Updates to manifest files in Zackriya-Solutions/meeting-minutes introduced 1 vulnerable dependency. Removed this dependabot found vulnerable dependency and updated it.
- the issue was caused by nextjs version
* Updated README : table, homebrew installations
- Added Table of contents
- Updated homebrew install instructions
- Removed env setup instructions
* Refactor README and API documentation for clarity and consistency
- Removed outdated environment setup instructions from README.md.
- Updated file names in API documentation for accuracy, changing 'Process_transcrip.py' to 'transcript_processor.py' and 'meetings.db' to 'meeting_minutes.db'.
- Enhanced overall documentation to improve user understanding of setup and configuration.
* Changed the record start delay in the initial loading
* feat: Implement transcript-based search and UI/UX improvements
Backend Changes:
- Add new /search-transcripts endpoint to search meeting transcripts
- Implement search_transcripts method in DatabaseManager to perform case-insensitive search
- Return matching meetings with context snippets around matched query
- Update transcript processor to support additional AI model providers
Frontend Changes:
- Enhance sidebar search to query transcript content instead of just titles
- Add visual indicators for search results with transcript snippets
- Implement search loading states and clear button functionality
- Display matching transcript snippets in search results with highlighting
- Update SidebarProvider to manage search state and API calls
- Fix TypeScript errors in state management across components
This update significantly improves meeting discoverability by allowing users to search through meeting content rather than just titles, while also adding containerization support for easier deployment across different environments.
* Sidebar updates to make UI more streamlined
* Backend changes for summary edits update
* Updated the summary generation
* Added settings buttons in sidebar and updated the layout
* Add new settings dialog and tabs for model configuration
- Introduced a new component to manage model settings.
- Implemented a dialog using Radix UI for better user interaction.
- Updated to work with the new dialog structure.
- Enhanced Tailwind CSS configuration and added new utility classes.
- Added new dependencies for dialog and tabs functionality.
* Enhance meeting details with transcript settings and new form components
- Added TranscriptSettings component for managing transcript model configurations.
- Integrated fetching of transcript settings from the backend.
- Introduced new form components: FormInputItem, FormSelectItem, FormInputSwitch, and KpiSelector for improved form handling.
- Updated ModelSettingsModal to remove unused state management.
- Added new dependencies for form handling and UI components.
* Implement transcript settings management and server configuration
- Added a new table in the database for storing transcript model configurations and API keys.
- Implemented methods in for saving and retrieving transcript settings and API keys.
- Updated frontend components to manage transcript settings, including fetching, saving, and displaying configurations.
- Introduced a new component for managing server URLs.
- Enhanced error handling and user feedback during API interactions.
- Updated to include transcript settings management alongside model settings.
* Add "use client" directive in ServerSettings component
- Updated ServerSettings.tsx to include the "use client" directive for proper client-side rendering in React.
* Implement transcript configuration management and UI updates
- Added methods for retrieving and saving transcript configurations in the backend.
- Introduced new API endpoints for fetching and saving transcript settings.
- Updated frontend components to manage transcript configurations, including a new SaveTranscriptConfigRequest model.
- Enhanced the ServerSettings component to load and save server URLs.
- Integrated new UI components for better user interaction with transcript settings.
- Refactored existing components to streamline the settings management process.
* Enhance meeting details with settings save feedback and new MessageToast component
- Introduced MessageToast component for displaying success and error messages when saving settings.
- Updated PageContent to manage settings save success state and show feedback messages.
- Modified ServerSettings and SettingTabs components to handle save success state.
- Cleaned up unused imports and improved component structure for better readability.
* Implement settings save feedback in Sidebar component
- Added state management for settings save success feedback.
- Integrated MessageToast component to display success or error messages upon saving settings.
- Updated the Sidebar component to handle settings save notifications effectively.
- Cleaned up unused code and improved component structure for better readability.
* Refactor API endpoints to use POST method and dynamic server address
- Changed the HTTP method for and endpoints from GET to POST for better security and data handling.
- Updated frontend components to utilize a dynamic server address instead of hardcoded localhost URLs for API requests.
- Ensured consistent use of the server address across various components for fetching and saving data, enhancing flexibility and maintainability.
* Enhance ServerSettings and Sidebar components with transcript server management
- Updated ServerSettings component to include management of transcript server address alongside the main server address.
- Modified SidebarProvider to store and manage transcript server address, ensuring it is fetched and saved correctly.
- Refactored loadSettings function to utilize dynamic server addresses for both app and transcript servers.
- Improved overall state management for server settings, enhancing user experience and flexibility.
* Implement error handling and alert system for transcription errors
- Added an alert component to display error messages when transcription fails.
- Integrated error handling in the RecordingControls component to trigger alerts on transcription errors.
- Updated the Home component to manage the visibility of the error alert and display relevant messages.
- Enhanced the backend to handle transcription tasks more robustly, ensuring proper cleanup and error reporting.
* Refactor MessageToast integration and settings save feedback handling
- Updated MessageToast component to accept show and setShow props for better control over visibility.
- Removed redundant useEffect for settings save success in Sidebar and PageContent components.
- Enhanced Sidebar and PageContent to manage settings save notifications more effectively, ensuring consistent user feedback.
* Refactor API key handling in DatabaseManager and improve model configuration retrieval
- Updated DatabaseManager to change the API key name for the localWhisper provider from localWhisperApiKey to whisperApiKey.
- Enhanced get_model_config and get_transcript_config functions to check for the existence of model and transcript configurations before attempting to retrieve API keys, improving error handling and robustness.
* Add analytics tracking and provider integration
- Introduced a new AnalyticsProvider component to initialize and manage analytics tracking.
- Integrated the AnalyticsProvider into the RootLayout, wrapping the SidebarProvider for comprehensive tracking.
- Implemented analytics tracking in the Sidebar component for settings changes, meeting deletions, and search actions.
- Created a new analytics library to handle event tracking and user identification.
- Added Tauri commands for initializing analytics and tracking various events, enhancing user interaction insights.
* Add analytics tracking for recording actions in Home component
- Integrated analytics tracking for start and stop recording actions, including error handling.
- Enhanced user interaction insights by tracking button clicks related to recording functionality.
- Updated the Home component to log analytics events for better monitoring of user behavior.
* Enhance analytics tracking across components
- Added page view tracking for Home and Meeting Details components to monitor user navigation.
- Implemented detailed tracking for summary generation processes, including success and error states.
- Integrated button click tracking in the RecordingControls and Sidebar components for improved user interaction insights.
- Enhanced the AnalyticsProvider to manage user sessions and track daily active users, improving overall analytics capabilities.
* Update dependencies and enhance accessibility features
- Updated Tauri and related plugins to newer versions for improved functionality and security.
- Added a VisuallyHidden component to enhance accessibility in the Sidebar and Meeting Details components.
- Refactored dialog triggers to include DialogTitle wrapped in VisuallyHidden for better screen reader support.
- Improved cleanup logic in RecordingControls to ensure proper function type checks before unsubscribing.
* Refactor analytics initialization to remove API key and enabled flag
- Updated the AnalyticsProvider and analytics library to simplify the initialization process by removing the need for an API key and enabled flag.
- Adjusted the Tauri command for initializing analytics to use default values, enhancing usability and reducing configuration complexity.
- Improved overall code clarity by eliminating unnecessary checks related to analytics configuration.
* Update analytics tracking to include event-specific identifiers
- Modified the trackPageView and trackButtonClick methods to append specific page and button names to the event identifiers, enhancing the granularity of analytics data.
- This change improves the ability to differentiate between various page views and button clicks in analytics reports, providing better insights into user interactions.
* Refactor meeting state management in Home component
- Moved the setCurrentMeeting call into a separate useEffect to ensure it updates correctly when meetingTitle changes.
- Improved the organization of useEffect hooks for better readability and maintainability.
* Enhance model and transcript configuration management
- Updated the PageContent and Sidebar components to set initial model and transcript configurations using useEffect hooks.
- Modified fetch calls in MeetingDetails to include serverAddress in dependencies for improved data fetching reliability.
- Cleaned up commented-out code in ModelSettingsModal and TranscriptSettings components for better readability.
* Enhance backend configuration and remove deprecated whisper package
- Add language parameter support to whisper build scripts (cmd/sh)
- Implement model-specific chunk sizing in transcript processor (10K for Phi4/Llama, 30K for others)
- Add interactive port and language selection to backend startup scripts
- Clean up gitignore files to exclude build artifacts and temporary directories
- Remove deprecated whisper-server-package (4 files, 348 lines)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
* Fix transcription polling logic with non-blocking concurrent processing
## Problem Fixed
- Audio collection was blocking during API calls, causing missed audio chunks
- Single-threaded transcription processing created delays and audio gaps
- Frontend had no ordering system for out-of-sequence transcript updates
## Backend Solution (Rust)
- Separate audio collection task runs continuously without blocking
- Audio chunk queue with overflow protection (max 10 chunks)
- Multiple concurrent transcription workers (3 workers) process chunks in parallel
- Enhanced TranscriptUpdate with sequence_id, chunk_start_time, is_partial fields
- Proper error handling and recovery mechanisms preserved
## Frontend Solution (TypeScript)
- Smart transcript buffering with Map<sequence_id, Transcript> for out-of-order handling
- Sequential processing with 100ms batching for performance optimization
- Chronological ordering by chunk_start_time then sequence_id
- Enhanced TranscriptView with visual indicators for partial transcripts
- Smart scrolling (only auto-scroll if user is at bottom)
## Benefits
- No missed audio: Audio collection never blocks during transcription API calls
- Proper ordering: Transcripts display in correct chronological order
- Better performance: Multiple chunks processed concurrently
- Enhanced UX: Visual feedback for partial vs complete transcripts
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
* Fix duplicate transcripts and implement elapsed time tracking from recording start
- Fix transcript deduplication in frontend using sequence_id filtering to prevent UI duplicates
- Add recording_start_time tracking to AudioChunk struct for accurate elapsed time calculation
- Update TranscriptAccumulator to calculate actual elapsed times from recording start instead of Whisper chunk-relative times
- Modify frontend TranscriptView to display elapsed time from chunk_start_time field
- Remove redundant chunk time display for cleaner UI presentation
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
* Refactor API calls to use Tauri commands for improved performance
- Replaced fetch calls with Tauri invoke commands in the Home, MeetingDetails, and Sidebar components to streamline API interactions.
- Updated the handling of model and transcript configurations to utilize Tauri for fetching and saving settings, enhancing responsiveness and reducing network overhead.
- Improved error handling and logging for API interactions, ensuring better debugging and user feedback.
* Improve transcription completion handling and fix timing issues
- Enhanced transcription worker lifecycle management with proper completion detection
- Added transcription status tracking with activity monitoring and queue management
- Implemented graceful worker shutdown with timeout handling for remaining chunks
- Fixed sentence timing calculation to use accurate elapsed time from recording start
- Improved duplicate detection by including chunk ID in segment hashing
- Added processing status overlay and better user feedback during transcription finalization
- Simplified recording stop flow by removing countdown and making it immediate
- Enhanced transcript saving with proper state synchronization and error handling
- Added transcription-complete event emission when all workers finish processing
- Updated database ignore patterns to exclude meeting database files
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
* Enhance backend database functionality
* Update Tauri dependencies and native integration
* Fix duplicate transcripts and implement elapsed time │
│ tracking from recording start
* Improve sidebar navigation and analytics tracking
* Fix block splitting logic to properly update original │
│ block content │
│ │
│ When pressing Enter to split a block at cursor position, the original │
│ block was not updating with the text before the cursor, causing │
│ duplication. Fixed by: │
│ │
│ - Modified Block.tsx to pass currentBlockContent to onCreateNewBlock │
│ - Enhanced handleCreateNewBlock to update both blocks atomically │
│ - Fixed TypeScript errors in meeting-details page
* Fix missing transcripts issue with comprehensive race │
│ condition handling │
│ │
│ Resolved race condition where late-arriving transcripts (e.g., │
│ sequence ID 10) were being lost during recording stop. The frontend's │
│ completion detection was finishing before the backend completed all │
│ transcription processing. │
│ │
│ Key improvements: │
│ - Extended late transcript wait time from 1s to 4s for backend │
│ processing completion │
│ - Increased inactivity threshold from 5s to 8s for more conservative │
│ completion detection │
│ - Enhanced buffer processing to handle recent out-of-order │
│ transcripts (2-5s old) │
│ - Removed conflicting LATE transcript listener that competed with │
│ main buffered system │
│ - Added final buffer flush that processes ALL remaining transcripts │
│ regardless of timing │
│ - Enhanced diagnostic logging with comprehensive timing information │
│ │
│ The multi-layered approach ensures no transcripts are lost through │
│ extended wait periods, improved buffer processing, and a final safety │
│ net flush.
"
* Update version to 0.0.5 and enhance UI components
- Updated the frontend version from 0.0.4 to 0.0.5 in package.json and related files.
- Added new logo images for the application.
- Introduced custom scrollbar styles in globals.css for improved UI experience.
- Enhanced the meeting details page with accessibility improvements.
- Added new About and Info components to provide application details and contact options.
- Updated Sidebar to include new Info and Logo components for better branding and user engagement.
- Refactored SettingTabs to include an About tab for user information.
This release focuses on UI enhancements and version updates, ensuring a smoother user experience.
* Revise About component content and structure
- Updated the version display to "Meetily — v0.0.5 (Pre‑release)" and added a new description highlighting the application's features.
- Changed the section title from "Why Meetily?" to "What makes Meetily different" and refined the bullet points for clarity and impact.
- Introduced a new section titled "Take the next step" to encourage user engagement.
- Updated the call-to-action button text to "Talk to the Zackriya team" for better alignment with the new content.
These changes enhance the clarity and appeal of the About page, providing users with a more engaging overview of the application.
* Refactor Logo component for improved display logic
- Updated the Logo component to conditionally render either a collapsed logo or a text button based on the isCollapsed prop.
- Simplified the button structure for the collapsed state and introduced a new text button for the expanded state, enhancing user interaction and branding.
These changes improve the visual representation of the logo and provide a clearer user experience.
* Refactor ModelSettingsModal to use Tauri API for model configuration and loading
- Replaced fetch calls with Tauri's invoke method for retrieving model configuration and model list, improving integration with the backend.
- Enhanced error handling for fetching model configuration to ensure better debugging and user feedback.
These changes streamline the data fetching process and align the component with the Tauri architecture.
* Fix backend startup script to properly activate virtual environment │
│ │
│ Ensures that Python dependencies are properly accessible by activating │
│ the virtual environment before starting the FastAPI application.
* Replace println! with proper logging in Tauri API module
Improves debugging and monitoring by using structured logging
(log_info, log_error, log_warn, log_debug) instead of println!
statements throughout the API request handling.
* Add proper audio stream cleanup on transcription errors
Implements comprehensive cleanup of microphone and system audio
streams when transcription errors occur, preventing resource leaks
and ensuring clean state recovery.
* Redesign About component with compact grid layout and enhanced UX
Transforms the About page into a more engaging interface with:
- Compact feature highlights in an interactive 2x2 grid
- Updated branding and messaging
- Improved call-to-action for business inquiries
- Better visual hierarchy and hover effects
* Update TranscriptView and Sidebar components for improved UI consistency and functionality
- Simplified the styling in TranscriptView by removing conditional classes for partial transcripts, ensuring a uniform appearance.
- Commented out unused elements in Sidebar to streamline the component and improve readability.
- Updated timestamp formatting in the backend to utilize a new utility function for consistency across the application.
These changes enhance the user interface and maintain a cleaner codebase.
* Add transcript saving functionality with fresh state handling
- Introduced a new state variable to manage the saving status of transcripts.
- Implemented a ref to maintain the current transcript state, addressing stale closure issues during saving.
- Enhanced the saving process to log fresh transcript data, improving debugging and user feedback.
- Added a loading indicator for the saving process to enhance user experience.
These changes improve the reliability of transcript saving and provide better user feedback during the process.
* Add developer console toggle functionality for Windows and macOS
- Hide console window by default on Windows release builds using windows_subsystem attribute
- Add runtime console toggle commands (show/hide/toggle) for both platforms
- Windows: Direct console window manipulation using WinAPI
- macOS: Terminal.app integration with filtered log stream
- Add ConsoleToggle UI component in Settings > Developer section
- Document console usage in README with multiple access methods
- Console remains visible in debug builds for development
* Add Meetily logo to About component and include app icons
- Replace text header with logo image in About component
- Add 128x128 and 32x32@2x app icon assets
- Center logo and maintain clean layout
* Add recording controls state management for improved user experience
- Introduced a new state variable to manage recording disable status in the Home component.
- Updated RecordingControls to conditionally disable the recording button based on the new state.
- Enhanced the handling of recording start and stop actions to ensure proper state transitions.
These changes improve the user interface by preventing unintended interactions during recording processes.
* Add comprehensive Docker infrastructure with enhanced user
experience
- Add multi-platform Docker support (CPU, GPU, macOS builds)
- Implement interactive setup with model/language selection
- Add database migration assistant for existing Meetily installations
- Create enhanced PowerShell scripts with preferences system
- Add comprehensive documentation and setup guides
- Implement smart model management with progress tracking
- Add health monitoring and service management tools
* Update Docker infrastructure and add development documentation
- Enhanced Dockerfile.server-cpu and Dockerfile.server-gpu configurations
- Updated build-docker.ps1 with improved build process and error handling
- Modified docker-compose.yml for better service orchestration
- Enhanced run-docker.ps1 with GPU detection and container management
- Updated setup-db.ps1 for improved database initialization
- Added CLAUDE.md with development workflow documentation
* Reorganize backend documentation and enhance script infrastructure
## Major Documentation Improvements
### README.md Complete Restructure
- Add clear table of contents with navigation links
- Reorganize content flow: Quick Start → Docker → Native → Manual → Troubleshooting
- Create user-focused sections with decision support
- Add comprehensive Docker vs Native comparison table
- Include model size guide with recommendations
- Provide platform-specific instructions (Windows/macOS)
- Add interactive setup features documentation
- Include complete script reference appendix
### New Documentation Files
- **CLAUDE.md**: Project guidance for Claude Code AI assistant
- Architecture overview and key components
- Common commands and workflows
- Development guidelines and troubleshooting
- **SCRIPTS_DOCUMENTATION.md**: Comprehensive script options reference
- All build and run script parameters
- Environment variables and configuration
- Database migration and advanced features
## Script Infrastructure Cleanup
- Remove obsolete legacy scripts:
- check_status.cmd
- run_build_whisper.ps1
- run_clean_start_backend.ps1
- start_with_output.cmd
- Consolidate functionality into modern Docker-based scripts
- Improve transcript processor error handling
## User Experience Enhancements
- Clear deployment approach comparison (Docker vs Native)
- Step-by-step setup instructions for all platforms
- Comprehensive troubleshooting section
- Interactive setup documentation
- Model selection guidance with size/accuracy trade-offs
- Port configuration and conflict resolution
- Database migration support
This update transforms the backend documentation from fragmented information
into a comprehensive, user-friendly guide that supports both beginners and
advanced users with clear decision points and complete reference material.
* Consolidate documentation into unified README with improved Docker
guidance
- Merge Docker and Windows-specific documentation into main README.md
- Add comprehensive prerequisites section with platform-specific requirements
- Simplify Docker setup with clear Quick Start instructions
- Add model size guide and recommendations for better user experience
- Include detailed troubleshooting for both Docker and native installations
- Add Docker script reference with complete command documentation
- Remove redundant backend/DOCKER_README.md and backend/README-Windows.md
- Improve clarity and organization of setup instructions
* Enhance Docker infrastructure with improved permissions and platform compatibility
Major improvements to the Docker setup for better production readiness and cross-platform support:
**Container Security & Permissions:**
- Add gosu for safe user switching in Dockerfile.app
- Implement runtime permission fixing for mounted volumes
- Create proper entrypoint script to handle data directory permissions
- Ensure non-root user execution while maintaining data access
**Database Management:**
- Add automatic fresh database initialization
- Improve database file creation with proper permissions
- Handle cases where sqlite3 is not available in host system
- Create data directory structure automatically
**Platform Compatibility:**
- Enhance macOS support with proper profile detection
- Add fallback to default profile for Linux/Windows
- Improve docker-compose vs docker compose command detection
- Add comprehensive directory creation and permission handling
**Development Experience:**
- Add git submodule update to build process
- Ensure required directories (data, models, config) exist before operations
- Improve error handling and user feedback
- Add better GPU support configuration in docker-compose
**Infrastructure Robustness:**
- Switch to persistent volumes for model storage
- Add health checks and proper service dependencies
- Improve logging and service management
- Enhanced script reliability across different environments
These changes significantly improve the Docker infrastructure's reliability, security, and cross-platform compatibility while maintaining ease of use for
developers.
* Update README with privacy-first messaging and enterprise focus
- Rebrand as Privacy-First AI Meeting Assistant
- Add enterprise solutions and partnership sections
- Highlight data sovereignty and compliance benefits
- Include team information and mission statement
- Reorganize content with enterprise positioning
* Fix: MAc OS GPU specific code issue
* Add chunk drop warning feature and improve audio chunk handling
- Introduced a new state for managing chunk drop warnings in the Home component.
- Set up a listener for 'chunk-drop-warning' events to display alerts when audio chunks are dropped.
- Added a counter for dropped chunks in the backend to track and log occurrences.
- Updated audio collection logic to emit warnings when chunks are dropped due to queue overflow.
- Cleaned up commented-out code in various components for better readability.
These changes enhance user awareness of transcription performance issues and improve overall audio handling.
* Enhance summary data processing and formatting for meeting details
- Updated backend logic to preserve section order and handle duplicate section names in summary data.
- Improved frontend components to ensure consistent formatting and null content handling in summary sections.
- Added comprehensive null checks and error handling during summary data processing to enhance robustness.
- Ensured that blocks are properly initialized and mapped, preventing potential errors in rendering.
These changes improve the reliability and user experience of the meeting summary display.
* Add analytics consent feature and improve scroll area component
- Introduced a new AnalyticsConsentSwitch component to manage user preferences for analytics data collection.
- Integrated the ScrollArea component from Radix UI to enhance scrolling behavior in the About component.
- Updated the AnalyticsProvider to handle analytics consent state and initialization.
- Added functionality to disable analytics when the user opts out, ensuring compliance with user preferences.
These changes enhance user control over data collection and improve the overall user experience in the application.
* Add privacy policy document and update README for setup options
- Introduced a new PRIVACY_POLICY.md file outlining data processing, user data ownership, and analytics practices.
- Updated README.md to clarify setup options, emphasizing manual setup as the recommended approach and detailing performance considerations for Docker.
- Enhanced instructions for Docker setup, including prerequisites and performance warnings, to improve user experience and transparency regarding data handling.
These changes reinforce our commitment to user privacy and provide clearer guidance for application setup.
* Add privacy policy link to AnalyticsConsentSwitch component
- Implemented a button to open the privacy policy document, enhancing user access to important information regarding data handling.
- Updated the layout to include the button within the existing privacy message, improving user experience and clarity.
These changes reinforce our commitment to transparency and user control over data privacy.
* Disable speaker diarization feature in Docker scripts and PowerShell files
- Commented out the diarization option in both run-docker.ps1 and run-docker.sh scripts, indicating that the feature is not available yet.
- Updated related preference loading and saving logic to reflect the disabled state of the diarization feature, ensuring consistency across the application.
These changes clarify the current limitations of the application and prevent user confusion regarding the availability of the diarization feature.
* Feat: Install windows dependencies with a single script
* Updated the ollama python version in backend
* Updated the README for backend install
* Updated the README: Structured and updated
* Implement schema validation for database initialization
- Added a new SchemaValidator class to handle database schema validation and automatic fixes.
- Updated DatabaseManager to utilize SchemaValidator during database initialization, ensuring schema integrity.
- Enhanced error handling and logging for database initialization processes.
These changes improve the robustness of the database setup and ensure compatibility with expected schema structures.
---------
Co-authored-by: Sujith S <[email protected]>
Co-authored-by: athulchandroth <[email protected]>
Co-authored-by: Ebin Babu Thomas <[email protected]>1 parent a34e272 commit b2599b8Copy full SHA for b2599b8
File tree
Expand file treeCollapse file tree
101 files changed
+17377
-2209
lines changedFilter options
- backend
- app
- docker
- frontend
- public
- src-tauri
- config
- src
- audio
- src
- app
- meeting-details
- settings
- components
- AISummary
- Sidebar
- molecules/form-components
- ui
- lib
- types
- whisper-server-package
- public
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Expand file treeCollapse file tree
101 files changed
+17377
-2209
lines changed+20Lines changed: 20 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
55 | 55 |
| |
56 | 56 |
| |
57 | 57 |
| |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
58 | 78 |
|
PRIVACY_POLICY.md
Copy file name to clipboard+125Lines changed: 125 additions & 0 deletions
- Display the source diff
- Display the rich diff
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + |
0 commit comments