- Updated the client submodule to the latest commit for enhanced features and stability.
- Cleared previous linting errors, resulting in zero errors and warnings in the linting reports.
- Added a new documentation file outlining cross-stack wiring gaps and implementation checklists for gRPC RPCs.
- Refactored constants into domain-specific modules for better organization and maintainability.
- Introduced new test smell collectors to improve test quality enforcement.
- Updated test fixtures to utilize centralized constants, enhancing consistency across tests.
- Added rules to block modifications in protected directories to safeguard test infrastructure.
All quality checks pass.
- Updated client submodule reference to the latest commit.
- Refactored calendar settings to distinguish between integration and trigger settings, renaming `CalendarSettings` to `CalendarIntegrationSettings` and introducing `CalendarTriggerSettings`.
- Enhanced asset deletion logic in `MeetingService` to utilize the correct asset path.
- Updated tests to reflect changes in calendar settings and asset management.
All quality checks pass.
- Updated client submodule reference to the latest commit.
- Added asyncio import for improved asynchronous handling in tests.
- Refactored mock implementations in `conftest.py` to use `__dict__` for better clarity and consistency.
- Updated the `memory_servicer` fixture to return `NoteFlowServicer` type for improved type safety in tests.
All quality checks pass.
- Mark cancelled diarization jobs as failed during servicer shutdown to ensure proper state management.
- Increase timeout for audio flush thread shutdown to 3 seconds for graceful resource cleanup.
- Explicitly release pipeline references in diarization sessions to facilitate garbage collection and GPU memory release.
- Enhance webhook executor to include timeout handling during HTTP client closure, preventing hangs on slow connections.
- Introduce a memory-based servicer fixture for faster unit testing of concurrency and state management.
All quality checks pass.
- Introduced a new `AssetRepository` interface for managing binary assets, including a `FileSystemAssetRepository` implementation for deleting meeting assets.
- Updated the `RetentionService` and `MeetingService` to utilize the new asset management functionality, ensuring proper cleanup of associated assets during meeting deletions.
- Added versioning to the `Meeting` entity to handle concurrent modifications.
- Updated unit and integration tests to cover new asset management features and ensure robust functionality.
All quality checks pass.
- Introduced gRPC endpoints for user preferences synchronization: GetPreferences and SetPreferences.
- Completed implementation of preferences sync infrastructure, including ETag conflict detection and handling.
- Updated roadmap to reflect the completion status of Sprint 14: Preferences Sync.
- Enhanced documentation for preferences sync, including detailed descriptions of request and response messages.
- Added comprehensive tests for PreferencesMixin, covering retrieval, updates, and conflict resolution scenarios.
All quality checks pass.
- Introduced new settings for OAuthManager and calendar settings, including redirect URI, sync hours ahead, max events, and sync interval minutes.
- Updated tests to reflect these new parameters, ensuring consistency across the integration and unit tests.
All quality checks pass.
- Updated `pyproject.toml` to include `authlib` as a dependency for OAuth integration.
- Modified `uv.lock` to reflect the addition of `authlib` and its versioning.
- Updated documentation to clarify existing components and their statuses in the calendar sync and webhook integration sprints.
- Refactored various methods and properties for improved clarity and consistency in the meeting and export services.
- Enhanced test coverage for export functionality, including assertions for PDF format.
- Updated client submodule reference to ensure alignment with the latest changes.
Backend:
- Extract gRPC client into modular mixins (_client_mixins/)
- Add StreamingSession class for audio streaming lifecycle
- Add gRPC config and type modules
- Fix test smells across test suite
Frontend (submodule update):
- Fix code quality issues and eliminate lint warnings
- Centralize CSS class constants
- Extract Settings.tsx sections into components
- Add code quality test suite
Quality:
- Add tests/quality/ suite for code smell detection
- Add QA report and correction plan documentation
- Added environment file support and a command for the server in `compose.yaml`.
- Updated the database image in `compose.yaml` to use `pgvector/pgvector:pg15`.
- Modified `pyproject.toml` to include additional dependencies for enhanced functionality.
- Updated `uv.lock` to reflect new package versions and added new packages for improved features.
- Enhanced migration scripts to ensure the `noteflow` schema exists before running migrations.
- Improved error handling in the `OllamaSummarizer` to include a new exception type.
- Refactored the `calendar` trigger to streamline imports and improve code clarity.
- Added module-level mocks in test configurations to handle missing dependencies gracefully.
- Added `asset_path` to the `Meeting` entity for audio asset storage.
- Implemented `AudioValidationResult` for audio integrity checks during recovery.
- Updated `RecoveryService` to validate audio file integrity for crashed meetings.
- Enhanced `SummarizationService` to include consent persistence callbacks.
- Introduced new database migrations for `diarization_jobs` and `user_preferences` tables.
- Refactored various components to support the new asset path and audio validation features.
- Improved documentation in `CLAUDE.md` to reflect changes in recovery and summarization functionalities.
- Created .dockerignore to exclude unnecessary files from Docker builds.
- Added .repomixignore for managing ignored patterns in Repomix.
- Introduced Dockerfile.dev for development environment setup with Python 3.12.
- Configured docker-compose.yaml to define services, including a PostgreSQL database.
- Established a devcontainer.json for Visual Studio Code integration.
- Implemented postCreate.sh for automatic dependency installation in the dev container.
- Added constants.py to centralize configuration constants for the project.
- Updated pyproject.toml to include new development dependencies.
- Created initial documentation files for project overview and style conventions.
- Added tests for new functionalities to ensure reliability and correctness.
- Introduced `SummarizationService` and `TriggerService` to orchestrate summarization and trigger detection functionalities.
- Added new modules for summarization, including citation verification and cloud-based summarization providers.
- Implemented trigger detection based on audio activity and foreground application status.
- Updated configuration settings to support trigger functionalities.
- Created tests for summarization and trigger services to ensure reliability and correctness.
- Added documentation in `CLAUDE.md` for guidance on using the new services.