- Add new Settings view with form controls for server, watchdog and notification settings
- Implement API endpoints for getting and saving settings
- Add settings route and sidebar navigation item
- Update button styles to include text color variable
- Change default app target to local development address
- Update theme variables and styles for light/dark modes
- Implement SF Pro font family across all components
- Redesign cards, buttons, forms, and scrollbars
- Add backdrop filters and improve visual hierarchy
- Optimize spacing, typography, and interactive elements
The editConfig function was refactored to use existing local data instead of making an API call. This simplifies the logic while maintaining the same functionality.
- Display actual error messages from API responses instead of generic messages
- Include instance name in success messages where applicable
- Add success notifications for previously silent operations
- Add new API endpoints for modifying and deleting proxies
- Implement UI components for edit and delete actions
- Update proxy form to handle both create and edit modes
- Add confirmation modal for delete operation
Implement consistent scrollbar styling across Home, SideBar, and InstanceDetail components using CSS variables for theming. The styling includes track and thumb colors with hover effects for better visual feedback.
Implement WebSocket connection for instance logs to enable real-time updates instead of periodic API polling. Remove deprecated API endpoints and update log display styling with level-specific backgrounds. Add cleanup on component unmount to prevent memory leaks.
refactor(config): use APP_TARGET constant for backend URL configuration
Centralize backend URL configuration by introducing APP_TARGET constant in vite.config.js and using it for both WebSocket connection and API proxy. This improves maintainability by having a single source of truth for the backend address.
Replace multiple API calls with a single call and simplify the data mapping. The new implementation directly uses the status field from the list response instead of making separate info requests for each instance.
- Add new getInstanceInfo API endpoint to fetch complete instance details
- Refactor instance loading logic to use single API call instead of multiple
- Update Instances.vue and InstanceDetail.vue to use new endpoint
- Remove redundant status/config loading functions
Ensure consistent string type for instanceID parameter in API calls to prevent potential type-related issues. Also update status display to use more descriptive 'running'/'stopped' values.
Implement instance deletion feature with confirmation notification and navigation back to instances list. Also adjust header layout to accommodate the new button.
- Change API endpoint from POST to GET for instance status
- Update proxy target URL in vite config
- Add instance name display and remove initSystem from detail view
- Improve instance data handling in InstanceDetail component
feat(instanceDetail): add instance status display and restart && stop/start control
- Change instance identification from name to ID in API endpoints and routes
- Add instance status management functionality with start/stop/restart
- Implement user type checks for instance operations
- Update UI to reflect instance status changes
- Remove completed TODO notes for implemented APIs
- Change API endpoint and parameter from instanceName to instanceID for getInstanceProxies
- Update proxy list UI with type badge and structured details display
- Add async/await for mounted lifecycle hooks
- Improve proxy item styling with better spacing and visual hierarchy
- Add createProxy API method to instanceApi
- Implement proxy creation form in InstanceDetail view
- Add modal for proxy creation with required fields
- Include validation for port numbers
- Move form styles from Instances.vue to common.css for reusability
- Add edit configuration modal with form handling
- Rename back-btn to common-btn for consistent styling
- Implement configuration update logic with API calls
Change log display to show newest first by using unshift instead of push. Fix log truncation to remove oldest entries by using pop instead of shift when exceeding 100 logs.
- Update Home.vue to use flex layout and proper scrolling
- Enhance Logs.vue scrollbar styling and remove redundant padding
- Set Vite server to listen on all network interfaces
Implement WebSocket connection to receive live log updates instead of periodic API polling. The changes include:
- Add WebSocket connection management with token authentication
- Implement computed property for log filtering
- Maintain only the latest 100 logs in memory
- Handle WebSocket events and errors appropriately
Update session property names to match backend API (Username, UserID, CreateAt, ExpireAt).
Add left margin to session info and update font family for session ID.
refactor(auth): rename login-token to token for consistency
Update all token references from 'login-token' to 'token' across the application. Also enhance TopBar with user menu functionality including logout and settings options.
- Standardize token cookie name for better maintainability
- Add dropdown menu to TopBar with logout functionality
- Implement click-outside behavior for menu
- Improve TopBar styling and user interaction
- Change user property names to match API response (UserID, Username, Type, CreatedAt)
- Remove lastActive field from display
- Add error handling for user list loading
- Improve UI styling with better padding and background
- Add null checks for Username display
Implement a modal dialog for creating new instances with comprehensive form fields for different authentication methods (token/OIDC). Includes form validation, loading states, and success/error handling. Also adds consistent card styling across views and updates the add user button with an icon.
Add api-backend.md to gitignore to prevent accidental commits of local documentation.
Extract duplicated styles across multiple components into a common CSS file and import it where needed. This improves maintainability by reducing code duplication and centralizing style definitions.
Add Font Awesome dependency and replace all emoji icons with corresponding Font Awesome icons across components. This provides better visual consistency and scalability.