65 Commits
Author SHA1 Message Date
Qiu Yuzhou 9ccee1fc53 refactor(servers): simplify latency details 2026-10-27 01:19:35 +08:00
Qiu Yuzhou 35c74d40c5 feat: bundle offline dependency provenance and license metadata 2026-10-26 19:06:38 +08:00
Qiu Yuzhou f3ba330cf4 refactor: centralize subscription automatic update transitions 2026-10-25 22:06:39 +08:00
Qiu Yuzhou b6b9349d64 style: resolve SwiftLint violations 2026-10-23 01:10:40 +08:00
Qiu Yuzhou 1a98f0e7f5 feat(plugins): show plugin versions and links 2026-10-21 17:22:50 +08:00
Qiu Yuzhou ba01e305c5 feat(servers): mark groups containing the active target with a hollow bolt
Ancestor groups of the active target now show a hollow bolt beside the
existing filled bolt on the target itself, in the servers tree, the
favorites table and the home target browser; the node detail subtitle
shows "含活动目标". The derivation lives in
CatalogTreeSnapshot.ancestors(of:) so every surface shares one rule
while activeTargetID stays a runtime fact outside the catalog
projection. Groups activated directly keep the filled bolt and leave
their member rows unmarked.
2026-10-20 01:03:54 +08:00
Qiu Yuzhou d39b896192 fix(ui): avoid feedback state isolation warnings 2026-10-19 09:51:58 +08:00
Qiu Yuzhou 507917ab67 refactor(ng2): store secrets directly in server library records 2026-10-18 17:58:30 +08:00
Qiu Yuzhou d8a11f7b6b feat: encrypt persistent server library 2026-10-18 07:57:10 +08:00
Qiu Yuzhou 7bd0cb44cb refactor(ui): share detail feedback timing lifecycle 2026-10-16 01:46:01 +08:00
Qiu Yuzhou 1be0976bc6 feat: show subscription usage in detail properties footer 2026-10-16 01:01:56 +08:00
Qiu Yuzhou d123497fe4 refactor(ui): reorganize server node context menu 2026-10-16 00:31:38 +08:00
Qiu Yuzhou 309e81c003 feat(ng2): add icon to subscription update button 2026-10-15 22:36:08 +08:00
Qiu Yuzhou 3f900b7b03 fix: remove bulk connectivity test controls 2026-10-15 21:08:29 +08:00
Qiu Yuzhou 4a85cf41f7 feat(localization): cover all app-facing text in Chinese and English 2026-10-15 20:03:37 +08:00
Qiu Yuzhou 8319aa8ca9 fix(servers): separate detail actions into two rows 2026-10-15 19:36:45 +08:00
Qiu Yuzhou ea064a5c8a refactor(servers): remove list sorting 2026-10-15 00:45:52 +08:00
Qiu Yuzhou a8fedace16 fix(servers): show subscription creation in subscription toolbar 2026-10-14 23:30:40 +08:00
Qiu Yuzhou 9bccdf460a feat(servers): manage subscription root links 2026-10-14 23:08:42 +08:00
Qiu Yuzhou 9aeff1602b feat(servers): add activation icon to catalog detail 2026-10-14 22:36:36 +08:00
Qiu Yuzhou 41ed96f966 fix(servers): use standard node detail action buttons 2026-10-14 22:26:19 +08:00
Qiu Yuzhou 9adbdccd5c refactor(servers): move activation hints into detail feedback 2026-10-14 22:18:15 +08:00
Qiu Yuzhou e535e31b16 fix(connectivity): show latency test progress 2026-10-14 21:47:51 +08:00
Qiu Yuzhou fba9e0250f feat(servers): add subscription update with inline feedback 2026-10-14 21:37:20 +08:00
Qiu Yuzhou ea66ead10b feat(servers): show subscription details in server view 2026-10-14 17:39:44 +08:00
Qiu Yuzhou 287cc5d5d5 refactor(servers): remove timestamp table columns 2026-10-14 17:15:04 +08:00
Qiu Yuzhou d5f32ec83d fix(servers): compact connectivity table layout 2026-10-14 17:11:34 +08:00
Qiu Yuzhou 2a0ac4dd2d fix(connectivity): move latency test into node actions 2026-10-14 16:37:09 +08:00
Qiu Yuzhou 6bf2f760a5 style(servers): emphasize activation action 2026-10-14 16:36:56 +08:00
Qiu Yuzhou 100795fd15 fix(connectivity): rename test button to latency test 2026-10-14 16:20:00 +08:00
Qiu Yuzhou a619a82a7f fix(connectivity): leave untested results blank 2026-10-14 11:39:36 +08:00
Qiu Yuzhou a5a341edc4 fix(home): improve selected target contrast 2026-10-14 11:36:35 +08:00
Qiu Yuzhou 790e2a26fa feat(home): add target catalog and connectivity testing 2026-10-14 11:19:07 +08:00
Qiu Yuzhou a5206c78ff fix(connectivity): simplify toolbar progress 2026-10-14 01:09:41 +08:00
Qiu Yuzhou ebcd7ab2e2 feat(connectivity): add manual server connectivity tests 2026-10-14 00:53:52 +08:00
Qiu Yuzhou c49d605a5b chore(ng2): remove fork issue references from comments 2026-10-13 00:38:06 +08:00
Qiu Yuzhou 523cba3801 fix(plugins): give plugin paths the full row width 2026-10-12 00:12:49 +08:00
Qiu Yuzhou f72c50dceb feat(plugins): configure plugin transport mode 2026-10-11 23:58:47 +08:00
Qiu Yuzhou b2059135c8 style(plugin): improve editor field spacing 2026-10-11 21:40:40 +08:00
Qiu Yuzhou b8fb419d22 fix(plugin): align settings button styles 2026-10-11 21:32:06 +08:00
Qiu Yuzhou 155934523f fix(plugin): align argument editor button heights 2026-10-11 21:24:44 +08:00
Qiu Yuzhou 84c292eb7f feat(plugin): support aliases and local startup arguments 2026-10-11 21:04:59 +08:00
Qiu Yuzhou 1390449e06 fix(plugins): 安全检查详情整行响应点击展开 2026-10-11 18:28:46 +08:00
Qiu Yuzhou 245ed3c5b2 fix(servers): restore native group drag and drop
Use native Table row and insertion callbacks instead of an outer drop
receiver. Resolve server rows and insertion lines to their containing
group, and root insertion points to the catalog root.

Verify insertion and server-row targets with regression tests.
2026-10-10 00:07:20 +08:00
Qiu Yuzhou e950f9974f fix(servers): preserve width when switching lists 2026-10-09 23:36:57 +08:00
Qiu Yuzhou 45ebd00dc5 ui: 调整服务器详情视图的内容padding 2026-10-09 23:36:34 +08:00
Qiu Yuzhou e50f671975 feat(servers): add ordered favorites 2026-10-09 23:20:11 +08:00
Qiu Yuzhou 80ae1299bb fix: preserve detail pane width when switching nodes
Keep a stable container as the HSplitView child so node identity changes only recreate the detail session rather than resetting the user's divider position.

Validated with eight native split-view transitions including empty selection: width stayed at 519 points. Debug build passed; existing file-length lint warning remains.
2026-10-09 20:29:24 +08:00
Qiu Yuzhou a7c5d80309 refactor: unify server and group detail presentation
Render saved node details through a shared property view with injected link actions. Keep metadata, activation feedback, and plugin parameter loading outside the renderer; retain specific plugin failures and scope command feedback to its target.

Preserve ordered and repeated plugin parameters, distinguish flags and empty values, and retain opaque raw text. Add bilingual detail copy and conversion coverage.

Validation: 981 hostless tests and 21 offline rule checks passed; Debug build passed. Native renderer checked at 720 and 360 point widths using synthetic data. Existing 22 lint warnings remain.
2026-10-09 20:05:03 +08:00
Qiu Yuzhou 2296143fc3 fix(servers): focus table on mouse click 2026-10-09 19:30:19 +08:00