- Added a ref to track if the user has selected a prompt.
- Updated prompt selection logic to prevent overriding the default prompt if the user has already made a selection.
- Ensured the dropdown button is explicitly set as a button type for better accessibility.
- Created a Swiss International Style dropdown component.
- Implemented visual features including hard borders and shadows.
- Added interactive behavior and keyboard/click handling.
- Updated Tailor and Settings pages to use the new dropdown.
- Ensured design compliance with accessibility support.
- Created a custom dropdown component for selecting prompt options.
- Implemented prompt configuration endpoints in the backend.
- Added new prompt templates for resume improvement with different tailoring intensities.
- Updated frontend settings and tailor pages to utilize the new prompt configuration.
- Enhanced internationalization support for prompt options in multiple languages.
Previously, clicking "Test Connection" after selecting OpenRouter and entering
an API key would fail with "Provider: openai | Model: gpt-4o-mini | API key not
configured" because the test endpoint only read from saved config, not the form.
Changes:
- Backend: /llm-test endpoint now accepts optional request body with config values
- Frontend: testLlmConnection() sends current form values to backend
- Frontend: Settings page passes provider, model, api_key, api_base to test
- Backend: Fix OpenRouter model prefix - always prepend "openrouter/" for proper
LiteLLM format (e.g., "anthropic/claude-3.5-sonnet" → "openrouter/anthropic/claude-3.5-sonnet")
Closes RES-199
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Implement endpoint to delete all API keys with confirmation.
- Add endpoint to reset the database with confirmation.
- Introduce ResetDatabaseRequest schema for request validation.
- Update frontend API calls to include confirmation tokens.
- Implemented clear_all_api_keys function to remove all API keys from the config.
- Added reset_database function to truncate all tables and clear uploads.
- Created API endpoints for clearing API keys and resetting the database.
- Enhanced settings page with options to clear API keys and reset the database, including confirmation dialogs.
- Updated translations for new features in multiple languages.
- Added config.json to .dockerignore and .gitignore to prevent committing sensitive API keys.
- Modified start.sh to remove unnecessary dependencies during Playwright installation.
- Updated README to include a table for resume templates with previews and descriptions.
- Added new PDF and image files for modern and classic templates.
- Removed outdated two-column template from assets.
- Updated the internal update flag reset logic to use setTimeout for proper timing through the render cycle.
- This change prevents potential issues with state updates during rendering.
- Replaced 'dompurify' and 'jsdom' with 'isomorphic-dompurify' for better compatibility in both browser and Node.js environments.
- Removed server-side rendering logic that utilized JSDOM, simplifying the sanitizeHtml and stripHtml functions.
- Updated package dependencies in package.json and package-lock.json to reflect the changes.
- Updated accent color selection to include 'modern-two-column' template.
- Refactored CSS variables for accent colors to improve consistency.
- Improved rendering logic in rich text editor for safer link insertion.
- Enhanced HTML sanitization for server-side rendering compatibility.
- Added robust server-side fallback for HTML stripping.
- Added `modern-two-column` template type to the TemplateType union.
- Updated TEMPLATE_OPTIONS to include the new template.
- Enhanced formatting controls section with accent color options for modern templates.
- Included new typography classes for improved subtitle visibility.
- Updated key files section to reference new modern templates.
- Introduced a new 'modern-two-column' template option for resumes.
- Enhanced PDF generation to accept an accent color parameter.
- Updated existing templates to support the new layout and styling.
- Added styles for the modern two-column layout, including responsive design elements.
- Improved type definitions and template settings to include the new template.