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