Commit Graph

53 Commits

Author SHA1 Message Date
lollipopkit🏳️‍⚧️
12a243d139 feat: import servers from ~/.ssh/config (#873) 2025-08-31 19:33:29 +08:00
lollipopkit🏳️‍⚧️
53a7c0d8ff migrate: riverpod + freezed (#870) 2025-08-31 00:55:54 +08:00
lollipopkit🏳️‍⚧️
95f8e571c1 feat: ability to disable monitoring cmds (#840) 2025-08-09 12:37:30 +08:00
lollipopkit🏳️‍⚧️
3a615449e3 feat: Windows compatibility (#836)
* 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>
2025-08-08 16:56:36 +08:00
lollipopkit🏳️‍⚧️
66ecb02d9e migrate: freezed v3 2025-06-10 14:27:27 +08:00
lollipopkit🏳️‍⚧️
176cb7da03 feat: disk smart info (#773) 2025-06-05 07:31:45 +08:00
lollipopkit🏳️‍⚧️
7127c960f7 opt.: server detail page columns 2025-06-04 17:29:03 +08:00
lollipopkit🏳️‍⚧️
0c1ada0067 fix: cloud sync (#769) 2025-06-04 00:11:31 +08:00
lollipopkit🏳️‍⚧️
d88e97e699 new: use generated ids for servers (#765)
* new: use generated ids for servers
Fixes #743

* fix: deps.

* fix: migrate related settings

* fix: restore servers from json
2025-05-16 21:50:44 +08:00
lollipopkit🏳️‍⚧️
8627ff823f optimization: desktop UI (#747) 2025-05-13 04:57:37 +08:00
lollipopkit🏳️‍⚧️
c062c12a0e opt.: redesigned settings page (#587) 2024-09-21 22:37:42 +08:00
lollipopkit🏳️‍⚧️
eb83d05c81 fix: ssh alter url (#554) 2024-08-27 15:22:26 +08:00
lollipopkit🏳️‍⚧️
931c5f0bf6 opt.: alterUrl (#550) 2024-08-25 22:52:47 +08:00
lollipopkit🏳️‍⚧️
d7ae8b75b8 feat: custom net dev (#543) 2024-08-17 21:57:39 +08:00
lollipopkit🏳️‍⚧️
38366a2ef3 refactors (#539) 2024-08-16 01:24:43 +08:00
lollipopkit🏳️‍⚧️
7e5bb54c98 opt.: hide logo if distribution == null (#536) 2024-08-15 18:02:31 +08:00
lollipopkit🏳️‍⚧️
7ce3854392 opt.: use json_serializable 2024-08-15 16:44:13 +08:00
lollipopkit🏳️‍⚧️
195ddd2bcc refactor: SSHClientX.exec 2024-08-15 11:27:22 +08:00
lollipopkit🏳️‍⚧️
267b0b0a69 opt.: sftp home & back (#533) 2024-08-14 19:01:44 +08:00
lollipopkit🏳️‍⚧️
46d5840276 feat: share server via qrcode (#530) 2024-08-13 20:04:01 +08:00
lollipopkit🏳️‍⚧️
610f46da0d opt.: bulk import servers (#512) 2024-08-03 14:52:39 +08:00
lollipopkit🏳️‍⚧️
e4dbc3ba12 feat: set envs in term (#485) 2024-07-23 21:34:34 +08:00
lollipopkit
336b11b808 chore: change dart pkg id 2024-06-11 22:06:29 +08:00
lollipopkit
6dc5536c48 fix: batch import 2024-06-04 19:57:56 +08:00
lollipopkit
e2ddd48a79 feat: Wake On LAN 2024-05-09 23:27:05 +08:00
lollipopkit
f5d5bf9c37 fix & opt.
- fix: db type err
- opt.: server detail page `customCmd` card
2024-03-28 11:10:12 +08:00
lollipopkit
b6a797c993 new: custom cmds (#313) 2024-03-25 15:03:39 +08:00
lollipopkit
26264ecdea new: pve (#307) 2024-03-18 18:34:25 +08:00
lollipopkit
f654557fae fix: NAS disk amount 2024-03-16 10:55:12 +08:00
lollipopkit
f2edd14117 fix: sftp mission error display 2023-10-31 18:50:37 +08:00
lollipopkit
bff799afd9 fix: jump server (#190) 2023-10-30 17:10:29 +08:00
lollipopkit
307ec25524 new: jump serevr (#190) 2023-10-22 14:20:13 +08:00
lollipopkit
4d06a52e99 new & opt.
- new: support suspend and WOL #172
- opt.: `execWithPwd` when cancel
- opt.: extentions
2023-09-25 18:51:14 +08:00
lollipopkit
f2981c5b15 fix #168 2023-09-23 10:36:30 +08:00
lollipopkit
c07958fa73 new: Providers 2023-09-14 15:13:11 +08:00
lollipopkit
b55b8bf831 opt.: performance 2023-09-07 18:41:18 +08:00
lollipopkit
191ffe0173 #155 new: option autoConnect 2023-09-05 21:14:39 +08:00
lollipopkit
8057c24947 opt. 2023-08-13 22:19:08 +08:00
lollipopkit
1af7271a06 fix: alterUrl will change spi's props 2023-08-13 21:19:16 +08:00
lollipopkit
33932f7428 fix: import backup 2023-08-01 13:41:00 +08:00
lollipopkit
e13c5910ec #78 opt.: alter url 2023-07-29 16:53:57 +08:00
lollipopkit
389d1753c4 #78 new: alter host 2023-07-28 13:59:32 +08:00
lollipopkit
ed3201db6d new: delete all servers btn 2023-07-27 13:04:49 +08:00
lollipopkit
0d5707a1df #76 new: switch net view 2023-07-21 14:25:07 +08:00
lollipopkit
5a5e2fd1d1 #73 fix & opt.
- fix: reorder list default drag
- opt.: android home widget grey text
2023-07-20 18:26:17 +08:00
lollipopkit
472a441c8e new: server tag 2023-05-30 22:44:45 +08:00
lollipopkit
20ef9d4575 opt. 2023-05-26 17:01:52 +08:00
lollipopkit
82ed2e70dc #40 new: docker container restart 2023-05-16 16:45:46 +08:00
lollipopkit
3feef3936c new & opt
new: support set maxRetryCount of server reconnection
opt: server detail UI
opt: server provider
opt: `ssh` page on Android
2023-02-03 13:12:39 +08:00
Junyuan Feng
398c49bb99 使用 Hive Object 2022-11-05 23:08:56 +08:00