* refactor(sftp): Optimize file download logic and SSH command execution handling
Replace manual chunked downloads with a more concise `sftp.download` method
Consistently use `utf8.decode` to process SSH command output
Remove redundant code and comments, and simplify the logic
* chore: Update `dartssh2` submodule
* feat (Temperature Display): Added an option to switch between degrees Celsius and millicelsius
Allows users to switch temperature units in server settings, resolving the issue of incorrect temperature display on some devices
* chore: Add a participnt
* fix(sftp): Fixed a resource leak issue during file downloads and SSH command execution
Ensured that remote and local file handles are properly closed during file downloads to prevent resource leaks. Additionally, improved error handling during SSH command execution to ensure that all streams are either successfully completed or properly handled in the event of an error.
* fix: Added logging to exception handling
Added detailed error logging to exception handling across multiple files, including exception information and stack traces, to facilitate troubleshooting.
* refactor(logging): Standardize logging output methods
Replace existing debugPrint and lprint with Loggers.app.warning to enhance logging consistency and maintainability.
* refactor: Remove redundant debug log prints
Clean up unnecessary log print statements in debug code
* feat(i18n): Added internationalization support for the logging feature
* 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>
- apt/yum if not root, auto try saved pwd
- ServerPrivateInfo.authorization: Object => String pwd
- fix apt parse: caused by irrelevant output
- serverprovider replace _servers[idx] with s