* refactor(server): Move the SSH import and discovery features from the server edit page to the settings page
* feat (SSH Configuration): Added a feature to automatically import SSH configurations upon first launch
Checks for and prompts the user to import SSH configurations upon the first launch on the desktop
Optimized the SSH server import logic, adding duplicate detection and name conflict handling
Fixed an issue with mount status checks that could occur during the import process
* refactor (UI): Adjust the placement of the QR code scanning and SSH configuration import features
Move the QR code scanning feature from the server editing page to the settings page, and display different access points based on the platform
Optimize the SSH configuration import logic to ensure the status is updated correctly after the configuration is read for the first time
* refactor(ssh): Refactor server import logic and extract common methods
Extract server import logic into the `ServerDeduplication` class
Use the `importServersWithNotification` method consistently to handle imports
Remove duplicate `_importServers` and `_resolveServers` methods
Add checks for existing server IDs
* refactor(SSH): Optimized server import logic and fixed permission issues
- Moved the SSH configuration import logic from `edit.dart` to `actions.dart`
- Removed redundant checks for the `mounted` parameter
- Added handling for file permission exceptions
- Improved logic for resolving server name conflicts
* fix(ssh): Fixed an issue with message display during SSH configuration import
- Modified the format of the import success message to display the number of servers successfully imported
- Added a prompt for manual selection when permissions are denied
- Optimized the server deduplication logic to display an “already exists” message based on the original count
* fix(ssh): Fixed an issue with the count display when importing SSH configurations
Adjusted the server's deduplication logic to ensure the correct original count is used when displaying the number of imports
Removed unnecessary flag settings for the first read of SSH configurations
* fix: Fixed an issue where the “first read” flag was not updated when SSH configuration access was denied
When SSH configuration access is denied, set the “first read” flag to false to prevent repeated prompts
* fix(server): Optimized the logic for checking existing servers when importing SSH configurations
Moved the logic for checking existing servers to an earlier stage to avoid unnecessary parsing of SSH configurations
* fix: Resolved boundary condition issues in string processing
Addressed null and length checks during string splitting across multiple model classes to prevent potential null pointer exceptions and array out-of-bounds errors
* fix: Throw exceptions instead of silently returning when package manager output formats are invalid
Modified the _pacman, _opkg, and _apk parsing methods to throw exceptions when input formats are invalid, rather than silently returning, to prevent potential error handling issues.
* feat: win compatibility
* fix
* fix: uptime parse
* opt.: linux uptime accuracy
* fix: windows temperature fetching
* opt.
* opt.: powershell exec
* refactor: address PR review feedback and improve code quality
### Major Improvements:
- **Refactored Windows status parsing**: Broke down large `_getWindowsStatus` method into 13 smaller, focused helper methods for better maintainability and readability
- **Extracted system detection logic**: Created dedicated `SystemDetector` helper class to separate OS detection concerns from ServerProvider
- **Improved concurrency handling**: Implemented proper synchronization for server updates using Future-based locks to prevent race conditions
### Bug Fixes:
- **Fixed CPU percentage parsing**: Removed incorrect '*100' multiplication in BSD CPU parsing (values were already percentages)
- **Enhanced memory parsing**: Added validation and error handling to BSD memory fallback parsing with proper logging
- **Improved uptime parsing**: Added support for multiple Windows date formats and robust error handling with validation
- **Fixed division by zero**: Added safety checks in Swap.usedPercent getter
### Code Quality Enhancements:
- **Added comprehensive documentation**: Documented Windows CPU counter limitations and approach
- **Strengthened error handling**: Added detailed logging and validation throughout parsing methods
- **Improved robustness**: Enhanced BSD CPU parsing with percentage validation and warnings
- **Better separation of concerns**: Each parsing method now has single responsibility
### Files Changed:
- `lib/data/helper/system_detector.dart` (new): System detection helper
- `lib/data/model/server/cpu.dart`: Fixed percentage parsing and added validation
- `lib/data/model/server/memory.dart`: Enhanced fallback parsing and division-by-zero protection
- `lib/data/model/server/server_status_update_req.dart`: Refactored into 13 focused parsing methods
- `lib/data/provider/server.dart`: Improved synchronization and extracted system detection
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor: parse & shell fn struct
---------
Co-authored-by: Claude <noreply@anthropic.com>