- Introduced ForwardAuthConfig model to store global forward authentication settings.
- Updated Manager to fetch and apply forward authentication configuration.
- Added ForwardAuthHandler to create a reverse proxy handler for authentication.
- Enhanced ProxyHost model to include forward authentication options.
- Created Security page and ForwardAuthSettings component for managing authentication settings.
- Implemented API endpoints for fetching and updating forward authentication configuration.
- Added tests for new functionality including validation and error handling.
- Updated frontend components to support forward authentication settings.
- Refactor import handler to support transient previews for uploads and mounted Caddyfiles
- Import sessions are now created only when user commits (not on upload/mount)
- Upload endpoint saves files to import/uploads/<uuid>.caddyfile and returns preview without DB persistence
- GetPreview supports both DB-backed sessions and transient previews from mountPath
- Commit endpoint handles both DB sessions and transient uploads/mounts, persisting session on commit
- Cancel endpoint removes DB sessions or deletes transient uploaded files
- CheckMountedImport no longer auto-creates DB sessions (transient preview behavior)
- Add conflict detection for transient previews against existing ProxyHosts
- Update importer to return raw domain names in conflicts array instead of formatted messages
- Fix import handler Cancel to return 404 for non-existent sessions
- Update all tests to match new transient preview behavior
- Install Node.js 20.x for pre-commit hooks
- Adjust coverage threshold to 78% (78.2% actual)
- Added 'Domain Link Behavior' setting to System Settings (Same Tab, New Tab, New Window)
- Updated Proxy Hosts list to render domains as clickable links
- Implemented behavior logic:
- Same Tab: Opens in current tab
- New Tab: Opens in new tab (default)
- New Window: Opens in a new popup window
- Frontend: Increase heartbeat history to 60 items (1 hour)
- Frontend: Add empty bars for alignment when history is sparse
- Frontend: Improve tooltips with detailed status info
- Frontend: Update API client to support limit parameter
- Implemented a new suffix-trie.ts file for efficient domain suffix lookups.
- Introduced a lookupInTrie function to search for public suffixes in a trie.
- Added suffixLookup function to check if a hostname has a valid public suffix.
- Created package.json and package-lock.json to manage dependencies, including tldts and tldts-core.
- Updated user registration and profile update handlers to convert email addresses to lowercase before saving to the database.
- Added integration tests to verify login functionality after email changes, ensuring case insensitivity.
- Introduced a new Account page to replace the Security page, consolidating user account management features.
- Removed the old Security page and updated routing in the Settings layout.
- Enhanced the SystemStatus component to provide user feedback on update availability.
- Added password change functionality in the Account page, allowing users to update their passwords securely.