Commit Graph

42 Commits

Author SHA1 Message Date
GT610
9ac866644c ref:Refactor Settings UI and Fix Performance Issues (#1026)
* refactor(Settings page): Simplify the click handling logic of the cancel button

* fix(backup_service): Add a cancel button in the restore backup dialog

* refactor(Settings Page): Refactor the ordered list component and optimize state management

- Extract the logic for building list items into a separate method to improve maintainability
- Add animation effects to enhance the dragging experience
- Use PageStorageKey to maintain the scroll position
- Optimize the state management logic of the checkbox
- Add new contributors in github_id.dart

* fix: Add SafeArea to the settings page to prevent content from being obscured

Add SafeArea wrapping content in multiple settings pages to prevent content from being obscured by the navigation bar on certain devices, thereby enhancing user experience

* refactor: Extract file list retrieval method and optimize asynchronous loading of iOS settings page

Extract the `_getEntities` method from an inline function to a class member method to enhance code readability

Preload watch context and push token in the iOS settings page to avoid repeatedly creating Futures

* fix: Add a `key` attribute to the ChoiceChipX component to avoid rendering issues

* refactor(Settings page): Refactor the platform-related settings logic and merge the Android settings into the main page

Migrate the Android platform settings from a standalone page to the main settings page, and remove redundant Android settings page files

Adjust the platform setting logic, retaining only the special setting entry for the iOS platform

* build: Update fl_lib dependency to v1.0.363

* feat(Settings): Add persistent disable state for cards and virtual keys

Add persistent storage functionality for server detail cards and SSH virtual key disable status

Modify the logic of relevant pages to support the saving and restoration of disabled states

* refactor(setting): Simplify save logic and optimize file sorting performance

In the settings page, remove the unnecessary `enabledList` filtering and directly save the `_order` list

Optimize the sorting logic on the local file page by first retrieving the file status before proceeding with sorting

* fix: Optimize data filtering and backup service error handling on the settings page

Fix the data filtering logic in the settings page to only process key-value pairs with specific prefixes
Add error handling to the backup service, capture and display merge failure exceptions

* fix(Settings page): Fixed the issue where disabled items were not included in the order settings and asynchronously saved preference settings

Fix the issue where disabled items in the virtual keyboard and service details order settings are not included in the order list

Change the preference setting saving method to an asynchronous operation, and add a mounted check to prevent updating the state after the component is unmounted

* refactor: Optimize the reordering logic and remove redundant sorting methods

Narrow the scope of state updates in the reordering logic to only encompass the parts where data is actually modified

Remove the unused sorting methods in `_local.dart` to simplify the code

* refactor(view): Optimize the refresh logic of the local file page

Refactor the refresh method that directly calls setState into a unified _refresh method

Use the `_entitiesFuture` to cache the list of files to obtain results and avoid redundant calculations

* Update lib/view/page/storage/local.dart

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-01-25 18:43:57 +08:00
GT610
84a1bd5519 fix(sftp): FIx Permission Denied While Accessing SFTP (#1019)
* fix(storage): Set the initial SFTP path based on the user's role

When the user is not root, set the initial path to `/home/$user`. For root users, use `/root` as the path

* chore: Add issue participants into github_id

* fix(sftp): Improved the logic for obtaining the initial path and asynchronously processed directory listings

Attempt to obtain the user's home directory path by executing a command, and fall back to the default path if it fails. At the same time, change the _listDir call to asynchronous to avoid potential issues.

* fix(storage): Fixed the logic for determining the initial path of SFTP

Change the condition from checking if the path is not equal to '~' to checking if the path starts with '/', to ensure the correct user home directory path is obtained
2026-01-22 13:49:48 +08:00
GT610
29a57ad742 fix(container): Modify container execution commands to prioritize bash or ash (#995) 2026-01-08 09:11:23 +08:00
lollipopkit🏳️‍⚧️
860c11d4a8 bump: v1262 2025-10-10 09:18:38 +08:00
lollipopkit🏳️‍⚧️
bb3e3b4848 opt.: no Tag Switcher on desktop (#932) 2025-10-08 21:21:23 +08:00
lollipopkit🏳️‍⚧️
12a243d139 feat: import servers from ~/.ssh/config (#873) 2025-08-31 19:33:29 +08:00
lollipopkit🏳️‍⚧️
a97b3cf43e opt.: bak pwd is optional (#872) 2025-08-31 11:11:47 +08:00
lollipopkit🏳️‍⚧️
9c9648656d fix: macOS ssh term unusable (#838) 2025-08-08 18:59:25 +08:00
lollipopkit🏳️‍⚧️
8c3302cf0d chore: update script location in Attention notice (#825)
Fixes #824
2025-07-21 16:42:16 +08:00
lollipopkit🏳️‍⚧️
176cb7da03 feat: disk smart info (#773) 2025-06-05 07:31:45 +08:00
lollipopkit🏳️‍⚧️
50af289574 migrate: fl_lib 2024-09-21 11:01:41 +08:00
lollipopkit🏳️‍⚧️
fe566e97ca chore: README 2024-08-11 23:29:11 +08:00
lollipopkit🏳️‍⚧️
432d76f024 fix: builtin editor (#503) 2024-07-28 15:06:34 +08:00
lollipopkit🏳️‍⚧️
5db1253ab8 fix: termux compatibility (#495) 2024-07-26 22:31:17 +08:00
lollipopkit🏳️‍⚧️
6a0254623f opt.: json input experience 2024-07-26 20:22:30 +08:00
lollipopkit🏳️‍⚧️
426e5689f8 fix: uploaded file's path on windows (#484) 2024-07-23 19:59:58 +08:00
lollipopkit🏳️‍⚧️
ddaf916170 feat: intro page (#416)
Fixes #415
2024-06-24 00:43:52 +08:00
lollipopkit🏳️‍⚧️
190da74f66 chore: add participants (#410)
Fixes #409
2024-06-23 00:27:26 +08:00
lollipopkit
8121eef839 opt.: RNode 2024-06-08 15:35:19 +08:00
lollipopkit
ccab4040b1 new: github actions 2024-05-25 19:29:18 +08:00
lollipopkit
5bc28a0560 opt.: sensors 2024-05-10 21:02:36 +08:00
lollipopkit
d0523c1e54 feat: keyboard-interactive auth (#349) 2024-05-07 15:22:31 +08:00
lollipopkit
b80bf51a61 new: update in browser (#337) 2024-04-16 00:07:00 +08:00
lollipopkit
57fc8c2687 chore: README 2024-04-12 00:26:00 +08:00
lollipopkit
dacc042a85 fix: repeatedly auth (#294 #320) 2024-03-28 11:48:01 +08:00
lollipopkit
58f0a1fade fix #298 2024-03-08 14:06:19 +08:00
lollipopkit
8e484a575c readd: server tab double column (#277) 2024-02-20 18:02:08 +08:00
lollipopkit
e20adee0e2 opt.: seq settings (#273) 2024-02-15 16:44:41 +08:00
lollipopkit
3093230400 new: participants 2024-01-30 16:20:30 +08:00
lollipopkit
b9640c380f opt.: debug page (#259) 2024-01-28 15:43:11 +08:00
lollipopkit
7414dcc8da new: snippet fmt 2024-01-21 17:42:43 +08:00
lollipopkit
7156f08eb8 new: control server detail page cards 2024-01-19 17:32:03 +08:00
lollipopkit
7032677def chore: add contributors 2024-01-06 13:39:17 +08:00
lollipopkit
dd2555fc3f fix: sftp upload (#175) 2023-12-18 16:17:57 +08:00
lollipopkit
ad49593fe3 opt. 2023-11-27 17:35:15 +08:00
lollipopkit
f9f419f03f new: edit docker host on err 2023-11-23 22:22:56 +08:00
lollipopkit
307ec25524 new: jump serevr (#190) 2023-10-22 14:20:13 +08:00
lollipopkit
4984953287 default: mac window size & opt.: snippet result 2023-10-18 19:57:47 +08:00
lollipopkit
09576285c9 #168 fix 2023-09-21 10:13:23 +08:00
lollipopkit
603e226995 tidy: settings page 2023-09-17 14:30:34 +08:00
lollipopkit
eb158e63a2 opt.: mem usage 2023-09-13 15:22:48 +08:00
lollipopkit
278d5984b2 opt. 2023-09-13 14:28:02 +08:00