* docs(l10n): fix un-updated English translation
* feat(container): Add support for requiring a sudo password
Add support for sudo password verification for Docker container operations, including:
1. Added ContainerErrType.sudoPasswordRequired error type
2. Add password prompt text in multi-language files
3. Modify the SSH execution logic to correctly handle the input of sudo password
4. Implement password caching and verification mechanism
* feat(container): Add sudo password error handling logic
Add a new error type `sudoPasswordIncorrect` to handle situations where the sudo password is incorrect
Modify the password verification logic in the SSH client, and return a specific error code when a password error is detected
Update multilingual files to support password error prompt information
* fix(ssh): Remove unnecessary stderr parameter and improve sudo command handling
Clean up the no longer needed stderr parameter in the SSH client, which was originally used to handle sudo password prompts
Unify the sudo command construction logic, always use the _buildSudoCmd method, and add stderr redirection
Clear cached passwords when passwords are incorrect
* fix(container): Improved sudo command handling and Podman simulation detection
Fix the sudo command processing logic, remove the masking of stderr to capture password errors
Override the detection logic simulated by Podman
Refactor the command building logic to support sh wrapping of multi-line commands
* fix(container): Improve the prompt message for sudo password errors
Update the sudo password error prompt messages for all languages to more accurately reflect situations of incorrect password or lack of permission
Fix the password error detection logic for both the SSH client and container providers simultaneously
* refactor(container): Remove unused sudo and password parameters in exec method
Simplify the exec method signature by removing the sudo and password parameters that are no longer needed, as these functions are no longer in use
* feat: Add new contributors and optimize container command handling
Add two new contributors to the GithubIds list and refactor the container command processing logic:
1. Simplify the command wrapping logic and uniformly use `sh -c` for processing
2. Specific error handling when adding a sudo password incorrectly
3. Remove redundant conditional checks and temporary variables
* fix(ssh): Modify the return type of execWithPwd to include the output content
Adjust the return type of the `execWithPwd` method to `(int?, String)` so that it can simultaneously return the exit code and output content
Fix the issue in ContainerNotifier where the return result of execWithPwd is not handled correctly
Ensure that server operations (shutdown/restart/suspend) are correctly pending until the command execution is completed
* refactor(container): Change single error handling to multiple error lists
Support the simultaneous display of multiple container operation errors, enhancing error handling capabilities
* fix(container): Adjust the layout width and optimize the handling of text overflow
Adjust the width calculation for the container page layout, changing from subtracting a fixed value to subtracting a smaller value to improve the layout
Add overflow ellipsis processing to the text to prevent anomalies when the text is too long
* Revert "refactor(container): Change single error handling to multiple error lists"
This reverts commit 72aaa173f5.
* feat(container): Add Podman Docker emulation detection function
Add detection for Podman Docker emulation in the container module. When detected, a prompt message will be displayed and users will be advised to switch to Podman settings.
Updated the multilingual translation files to support the new features.
* fix: Fix error handling in SSH client and container operations
Fix the issue where the SSH client does not handle stderr when executing commands
Error handling for an empty client in the container addition operation
Fix the issue where null may be returned during server page operations
* fix(container): Check if client is empty before running the command
When the client is null, directly return an error to avoid null pointer exception
* fix: Revert `stderr` ignore
* fix(container): Detect Podman simulation in advance and optimize error handling
Move the Podman simulation detection to the initial parsing stage to avoid redundant checks
Remove duplicated error handling code and simplify the logic
* fix(container): Fix the error handling logic during container command execution
Increase the inspection of error outputs, including handling situations such as sudo password prompts and Podman not being installed
* refactor(macOS): Remove unused path_provider_foundation plugin
* 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
* 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>