- Updated LLMClient to include CODEX in web search checks.
- Simplified web search logic in generate_ppt_outline to improve clarity and efficiency.
- Ensured consistent usage of web search settings across methods.
- Changed DEFAULT_CODEX_MODEL to "gpt-5.1-codex-mini" in multiple files.
- Updated CHATGPT_MODELS to reflect the new model naming conventions and removed deprecated entries.
- Added methods to enable web search based on user settings and LLM provider.
- Updated presentation outline generation to utilize prefetched web facts.
- Modified system prompts to clarify web search usage.
- Improved UI text in advanced settings to better inform users about web search controls.
- 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
- Added logging to track the start and completion of document conversions in DocumentConversionService.
- Implemented detailed error logging for subprocess failures in both DocumentConversionService and LiteParseService.
- Introduced helper functions for logging command strings and output snippets to improve debuggability.
- Updated DocumentsLoader to log file processing details and fallback parsing attempts.
- 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.
- Moved the legacy database URL conversion function to improve clarity.
- Introduced a new function to handle legacy database stamping before migrations.
- Updated error handling during migration to ensure legacy databases are properly managed.
- Cleaned up redundant code and improved comments for better maintainability.
- Introduced functions to handle legacy database stamping and migration.
- Added a new Alembic migration script for initializing the database schema.
- Enhanced the migration process to check for unversioned databases and apply necessary stamps before upgrades.
- Created new migration files for adding a theme column to presentations.
- Introduced a new Alembic migration to add a 'theme' column to the 'presentations' table.
- Updated migration scripts to handle unversioned databases more gracefully.
- Added a script for programmatically deleting local SQLite database files and running migrations.
- Enhanced database initialization logic to conditionally run migrations based on environment settings.
- 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)
- Introduced a helper function `_to_sync_database_url` to standardize the conversion of async database URLs to sync URLs in `env.py` and `migrations.py`.
- Added `_ensure_sqlite_parent_dir` function in `db_utils.py` to create the parent directory for SQLite databases if it doesn't exist, ensuring compatibility with Windows paths.
- Updated the `get_database_url_and_connect_args` function to call `_ensure_sqlite_parent_dir` before processing the database URL.
- Simplified the `sync_export_runtime.js` script by removing the build step and directly using committed runtime artifacts, ensuring a smoother export process.
- Updated the success and state mismatch HTML pages in openai_codex.py for a better user experience during authentication, including new styles and auto-reload functionality.
- Modified ChartWithBulletsSlideLayout.tsx to disable animations for various chart components and adjusted the layout for better responsiveness.