Commit Graph
1117 Commits
Author SHA1 Message Date
Qiu Yuzhou f3ba330cf4 refactor: centralize subscription automatic update transitions 2026-10-25 22:06:39 +08:00
Qiu Yuzhou 34caebf322 feat: add GUI-scoped subscription automatic updates (#1516)
* feat: add GUI-scoped subscription automatic updates

* fix: drain newly due subscription updates during a batch

* style: use segmented subscription update pickers
2026-10-25 20:21:06 +08:00
Qiu Yuzhou 2241d3f7f9 fix(window): stop policy bouncing during launch activation
Keep regular policy while windows remain open to avoid repeated Dock registration. Share the activation retry budget across visibility events and stop permanently after exhaustion.
2026-10-25 17:50:18 +08:00
Qiu Yuzhou 0fade3a17a fix: use semantic subscription prompt style 2026-10-25 17:06:42 +08:00
Qiu Yuzhou 171e889a04 fix: align subscription sheet styling 2026-10-25 17:06:42 +08:00
Qiu Yuzhou 59ce386bad test(rules): strengthen isolation and remove redundant checks 2026-10-25 14:32:12 +08:00
Qiu Yuzhou 86909bee13 refactor(rules): centralize document commits 2026-10-25 14:32:12 +08:00
Qiu Yuzhou 06e9fddb59 test(rules): align fixtures with preset ownership
Select presets explicitly so document stores, runtime preparation,
and browsing assertions use the intended rule sources.
2026-10-25 14:32:12 +08:00
Qiu Yuzhou 32709333f5 refactor(rules): require explicit preset selection
Remove lossy default-action writes that can replace china-proxy
with gfwlist. Preserve legacy preference reads and derive the
default action from the selected preset.

Update tests to use explicit presets and verify identity,
legacy compatibility, and no-op reselection.
2026-10-25 14:32:12 +08:00
Qiu Yuzhou 168ff2e93e feat(rules): reorder presets and default to GFWList 2026-10-25 14:32:12 +08:00
Qiu Yuzhou 813ae99090 style(ui): refine picker presentation 2026-10-25 14:32:12 +08:00
Qiu Yuzhou f6abd4343e feat(rules)!: add isolated routing presets
Add Mainland China proxy routing with independent rule workspaces.
Preserve existing routing choices through equivalent preset mappings.

BREAKING CHANGE: existing custom rules and enablement settings are
not migrated. Recreate them in the appropriate preset.
2026-10-25 14:32:12 +08:00
Qiu Yuzhou e3d38718c0 test: make HTTP and plugin checks deterministic 2026-10-24 14:16:34 +08:00
Qiu Yuzhou 0757af988f docs: explain NG2 process architecture 2026-10-24 13:43:58 +08:00
Qiu Yuzhou 3dbc7546ed docs: add contribution guidelines 2026-10-24 13:27:12 +08:00
Qiu Yuzhou 48c1a95f8e docs: make issue tracker configuration contributor-local 2026-10-24 12:14:52 +08:00
Qiu Yuzhou 768c925a9b chore: add .gitignore for skills and include hooks.json in codex 2026-10-24 12:13:18 +08:00
Qiu Yuzhou aaa16ebf9f test(http): shorten first-byte timeout check 2026-10-24 03:35:29 +08:00
Qiu Yuzhou 5d6b8f433f test: move process lifecycle checks to smoke 2026-10-24 03:27:28 +08:00
Qiu Yuzhou 1003b904dc test(doh): remove CI timing assumptions
CI scheduling can exhaust the fallback budget or exceed the elapsed-time
assertion. Separate record filtering and control deadline delivery so
tests verify fallback and request cancellation directly.
2026-10-24 03:14:03 +08:00
Qiu Yuzhou 2e5c159d51 docs: streamline agent guidance in English 2026-10-24 02:56:36 +08:00
Qiu Yuzhou 2365befbfe ci: run smoke tests and retain failure evidence 2026-10-24 02:51:51 +08:00
Qiu Yuzhou b7648ceecd test(smoke): stop on missing deployment receipt 2026-10-24 02:51:39 +08:00
Qiu Yuzhou ca9215099b fix(tests): restore strict test compilation 2026-10-24 02:51:27 +08:00
Qiu Yuzhou 366bb43711 test(agent): replace timed reload integration test 2026-10-24 02:51:15 +08:00
Qiu Yuzhou c708cd8d19 feat(ui): debounce transient status rows via shared display gate
The home run-control card and the menu-bar status card render the agent
and system-proxy status rows straight from snapshot replacements, so fast
operations (e.g. proxy mode switches) flash transient states like
"applying" before settling.

Add a presentation-layer debounce shared by both surfaces:

- TransientDelayGate: per-stream gate where stable values display
  immediately, transient values (starting/applying/repairing) display
  after 400 ms and are dropped when superseded, and displayed transients
  are held for at least 400 ms.
- StatusDisplayModel: app-level shared model deriving agent and
  system-proxy payloads (row + detail + hint) from workflow snapshots
  through two independent gates; domain facts keep their cadence.
- Wire the model through the composition root into RuntimeControlCard
  and StatusCardView; toggles, approval actions, the difference view and
  target/mode rows keep reading the raw snapshot.
2026-10-24 02:22:39 +08:00
Qiu Yuzhou 2fdcb5ab93 refactor(test): drop source-scanning openWindow guard 2026-10-24 00:50:07 +08:00
Qiu Yuzhou 1262d17d61 feat(agent): omit sslocal log timestamps 2026-10-24 00:13:58 +08:00
Qiu Yuzhou 4845cbf673 fix(logging): detect upstream levels case-insensitively 2026-10-23 23:54:54 +08:00
Qiu Yuzhou c602ca334a feat(menu): add diagnostics window entry 2026-10-23 19:43:25 +08:00
Qiu Yuzhou e88eb335b8 refactor(diagnostics): remove status cards 2026-10-23 19:39:53 +08:00
Qiu Yuzhou c3a5cccb09 feat(home): add runtime status dots 2026-10-23 19:31:30 +08:00
Qiu Yuzhou d3faf610c1 feat(diagnostics): add selectable log table 2026-10-23 19:25:33 +08:00
Qiu Yuzhou 3a6225e9a6 docs: clarify prerequisites and bundled plugins 2026-10-23 16:23:32 +08:00
Qiu Yuzhou 888d184c69 ci: enforce strict compiler warnings 2026-10-23 05:42:37 +08:00
Qiu Yuzhou 71d333090e chore: suppress intentional classic keychain deprecation warnings 2026-10-23 05:36:43 +08:00
Qiu Yuzhou 69a1257430 fix: resolve non-deprecation unit test build warnings 2026-10-23 05:32:38 +08:00
Qiu Yuzhou d48a21b2c8 fix(agent): extend listener readiness deadline 2026-10-23 05:15:17 +08:00
Qiu Yuzhou d3f01ce708 ci: cache Homebrew tool downloads 2026-10-23 05:15:06 +08:00
Qiu Yuzhou b5aa827958 ci: stream lint, test, and build logs 2026-10-23 05:09:51 +08:00
Qiu Yuzhou fd1ffd2433 ci: omit xcresult from validation artifact 2026-10-23 03:49:28 +08:00
Qiu Yuzhou 09e4d2e097 fix(tests): avoid blocking async test workers 2026-10-23 03:46:19 +08:00
Qiu Yuzhou 17848b6fde ci: add NG2 validation workflow and format checks 2026-10-23 03:05:14 +08:00
Qiu Yuzhou 3baee572ac fix: restore compilation after file extraction 2026-10-23 02:50:13 +08:00
Qiu Yuzhou a3d53e5813 chore(hooks): adopt pre-commit framework 2026-10-23 01:27:32 +08:00
Qiu Yuzhou b6b9349d64 style: resolve SwiftLint violations 2026-10-23 01:10:40 +08:00
Qiu Yuzhou a7ad08b5b1 docs: update project status in readmes 2026-10-23 00:11:24 +08:00
Qiu Yuzhou ad9942d4d4 docs: update release download links 2026-10-22 21:16:14 +08:00
Qiu Yuzhou c76832b5e8 feat(release): add Taskfile publish workflow v2.0.0-alpha.1 2026-10-22 20:49:48 +08:00
Qiu Yuzhou d940e4ef94 docs: add bilingual end-user readmes 2026-10-22 19:18:56 +08:00