- Replaced `get_container_db_async_session` with `async_session_maker` for improved session handling in background tasks.
- Refactored chat memory services to utilize a shared `mem0` client for better memory management.
- Introduced new methods for retrieving and storing chat history, integrating with SQL and memory layers.
- Enhanced error handling and response management in chat-related services.
- Cleaned up unused code and improved overall structure for maintainability.
- Added MAX_NUMBER_OF_SLIDES constant to limit slide generation.
- Updated GeneratePresentationRequest model to allow optional slide count and language detection.
- Implemented language resolution in edit_slide and generate_presentation_outlines utilities.
- Enhanced user prompts to include optional parameters for slide count and table of contents.
- Introduced outline utilities for managing table of contents and slide outlines.
- Improved image and icon processing in slides to utilize outline image URLs.
- Updated frontend components to resolve backend asset URLs for icons and images.
- Refactored upload components to handle optional slide count and language selection.
- Enhanced API utility functions to resolve backend asset URLs correctly.
- Added @sentry/nextjs dependency to package.json
- Created sentry.edge.config.ts for edge feature initialization
- Created sentry.server.config.ts for server-side initialization
- Configured Sentry with DSN, tracesSampleRate, logs, and PII settings
- Updated the decomposeDocuments method in PresentationGenerationApi to accept an optional language parameter.
- Modified the UploadPage component to pass the selected language from the config when calling the decomposeDocuments method.
- Add configurable pool settings via environment variables:
DB_POOL_SIZE, DB_MAX_OVERFLOW, DB_POOL_TIMEOUT, DB_POOL_RECYCLE,
DB_POOL_PRE_PING (defaults: 5, 10, 30s, 1800s, true)
- Enable pool_pre_ping by default to detect and recycle stale connections
- Add dispose_engines() called during FastAPI lifespan shutdown to
release all connections back to the database
- Skip pool configuration for SQLite (uses file-lock, not connection pools)
- Apply changes to both servers/ and electron/ FastAPI instances
Fixes#453 (stale connections exhausting pool)
Fixes#454 (missing pool configuration)
- Added Codex-related fields to UserConfig and LLMConfig for managing OAuth tokens and model settings.
- Implemented Codex authentication endpoints and integrated them into the application.
- Enhanced LLMClient to support Codex as a valid provider, including token management and refresh logic.
- Updated UI components to include Codex configuration options and authentication status handling.
- Refactored environment variable utilities to accommodate Codex-specific settings.