Commit Graph
16 Commits
Author SHA1 Message Date
Xubin Ren 60993597de refactor(webui): unify shared shape system 2026-08-14 19:55:25 +09:00
aiguozhi123456 e07ecc8cc5 fix(weixin): persist QR-login token to config.json on connect
When config.json has no channels configuration, the WebUI QR login
connect flow obtained a token but only saved it to account.json (state
file). The subsequent post-connect enable step (set_channel_config_enabled)
read config.json, found no weixin section, and wrote back a default
config with token="" - silently losing the freshly obtained credential.

Add _persist_connect_credentials to _commit_account so the token and
base_url are written to config.json before the enable step runs. This
covers both the WebUI connect flow and the CLI QR login path, mirroring
the established Feishu save_registration_result pattern.
2026-08-13 11:04:16 +08:00
chengyongru 686dd0603e fix(webui): restore session drag and review findings 2026-08-12 17:26:13 +08:00
chengyongru 5d733b1c7c fix(webui): move mutations to authenticated websocket requests 2026-08-10 16:23:47 +08:00
chengyongru 8dd2059be3 fix(weixin): require fresh credentials for forced login 2026-08-10 13:48:49 +08:00
KDB 7b1646f58c fix(weixin): honor forced QR login 2026-08-10 13:48:49 +08:00
chengyongru bd8d3ad5b6 fix(channels): preserve global progress defaults 2026-08-07 17:19:14 +08:00
chengyongru 332c159b93 fix(weixin): harden protocol delivery, streaming, and login (#5263) 2026-08-07 16:53:31 +08:00
chengyongru ff6deda178 fix: modernize dependency recovery guidance (#5282) 2026-08-07 13:58:13 +08:00
chengyongru 2fe135db3e feat(webui): add integrated Vite dev mode (#5239) 2026-08-04 16:14:32 +08:00
chengyongru 971b977a84 fix(weixin): recover refreshed state after session expiry (#5196) 2026-08-01 00:28:21 +08:00
chengyongru 757ad9c764 refactor: enforce BasedPyright strict type checking (#5158) 2026-07-29 21:37:11 +08:00
Xubin Ren b55b76d755 fix(streaming): preserve recovered segments across channels 2026-07-27 01:39:46 +08:00
chengyongru 27a00c7a4f fix(webui): merge length recovery stream segments 2026-07-27 01:39:46 +08:00
KDB 4835814746 fix(channels): ignore confirmations after connect cancellation 2026-07-27 01:00:12 +08:00
chengyongru 462a0dfb0f refactor(channels): make built-in channels self-contained (#4908)
* refactor(channels): own setup and instance contracts

* refactor(channels): isolate management contracts

* refactor(channels): normalize activation contracts

* fix(channels): enforce management contracts

* refactor(channels): finish setup ownership migration

* fix(channels): harden management contracts

* fix(channels): enforce lazy loading and runtime ownership

* fix(feishu): make multi-instance startup idempotent

* fix(webui): render channel setup contracts cleanly

* fix(feishu): stop websocket clients cleanly

* fix(channels): enforce persistence and activation gates

* fix(channels): preserve global feature action scope

* fix(channels): apply defaults for single plugins

* fix(channels): enforce management contract boundaries

* refactor(feishu): remove identity helper indirection

* fix(channels): preserve management setup contracts

* refactor(channels): generalize instance settings UI

* refactor(channels): package channel plugins with web UI metadata

* refactor(channels): make built-ins self-contained packages

* test(channels): colocate tests with channel packages

* fix(dingtalk): use official brand icon

* feat(channels): colocate webui translations

* docs(channels): clarify plugin ownership

* test(exec): remove output wait race

* refactor(channels): unify plugin descriptors

* fix(channels): enforce descriptor-owned contracts

* refactor(channels): finish package-owned plugin setup

* refactor(channels): use repository-owned packages only

* fix(channels): self-describe dependencies and runtime state

* fix(channels): warn about legacy entry points
2026-07-19 23:30:49 +08:00