94 Commits
Author SHA1 Message Date
RockChinQandmultica-agent d45b0a3957 feat(cloud): add configurable Cloud-only WebUI notice banner
Cloud deployments need a way to tell readers what is happening to the
instance they are using (maintenance windows, service notices) without
shipping a release per notice.

Add a cloud.banner config block (switch, tone, dismissal, link targets and
per-language copy) and expose the resolved banner on the unauthenticated
/api/v1/system/info payload so the WebUI can render it before login. The
banner resolves to null on OSS deployments, so a self-hosted copy of
config.yaml never shows managed-service copy. Copy is plain text; only
absolute http(s) link targets are rendered.

The WebUI renders it once from the root layout, offsets the fixed app shell
and the wizard through --cloud-banner-height, and keeps a dismissal bound to
the notice it dismissed so new copy reappears.

Co-authored-by: multica-agent <[email protected]>
2026-10-21 16:26:43 +00:00
RockChinQandmultica-agent d13ae56ea5 fix: bot routing setup and busy-session response checks (#2728)
Apply group response rules before busy-session steering. Initialize usable private-message and group-mention routes for new bots, including Wizard-created pipelines, and preserve member-configured rules across saves and retries.

Fix empty pipeline configuration, refresh the processor sidebar after automatic creation, and show creation feedback. Align routing regressions and use Node 24 for the browser CI job.

Correct the task's erroneous agent attribution while preserving every code tree and the original human contribution.

Co-authored-by: multica-agent <[email protected]>
2026-10-20 21:22:53 +08:00
Chin Rockandmultica-agent c28ae761ac fix(web): format migration diagnostics and tolerate wrapped translations
Co-authored-by: multica-agent <[email protected]>
2026-10-20 09:09:41 +00:00
Chin Rock 40d40204cf fix(install-diagnostics): Sanitize plugin installation network diagnostics (LANG-132) 2026-10-20 07:53:56 +00:00
RockChinQandmultica-agent d9e4e7d9df fix(pipeline): decouple Runner from extension permissions (LANG-54) (#2723)
* fix(pipeline): decouple runner from extension allowlist

Co-authored-by: multica-agent <[email protected]>

* fix(pipeline): complete runner diagnostics and real runtime coverage

Co-authored-by: multica-agent <[email protected]>

---------

Co-authored-by: multica-agent <[email protected]>
2026-10-19 23:07:11 +08:00
huanghuoguoguo 3a026cc7dc Merge pull request #2699 from langbot-app/test/quality-account-ui-oracles-20261017
test(web): replace account and privacy source checks with browser behavior
2026-10-17 20:35:41 +08:00
huanghuoguoguo c3792e7a21 test(web): merge master into account UI contracts 2026-10-17 20:18:13 +08:00
huanghuoguoguo 8dfdb4fc45 test: preserve session and quota contracts when merging master 2026-10-17 20:14:10 +08:00
huanghuoguoguo 9eba8cc4fd Merge pull request #2700 from langbot-app/test/quality-workspace-ui-oracles-20261017
test(web): replace Workspace source checks with runtime assertions
2026-10-17 20:13:11 +08:00
huanghuoguoguo a9957afc13 Merge pull request #2670 from langbot-app/test/workspace-quota-boundaries
test(web): verify workspace switching and quota failure boundaries
2026-10-17 20:12:51 +08:00
huanghuoguoguo d2c2a9dc65 Merge pull request #2668 from langbot-app/test/quality-frontend-behavior
test(web): replace source guards with browser behavior checks
2026-10-17 20:12:46 +08:00
huanghuoguoguo 8834a04045 Merge pull request #2696 from langbot-app/test/quality-web-marketplace-wizard-20261017
test(web): exercise marketplace installs and wizard behavior
2026-10-17 20:12:40 +08:00
huanghuoguoguo c49f7c7c07 Merge pull request #2686 from langbot-app/test/quality-web-resource-contracts-20261017
test(web): assert resource persistence and recovery behavior
2026-10-17 20:11:36 +08:00
huanghuoguoguo c14bc0a45a test(web): replace Workspace source checks with runtime assertions 2026-10-17 16:38:21 +08:00
huanghuoguoguo 61758c8727 test(web): replace account source checks with browser assertions 2026-10-17 16:31:51 +08:00
huanghuoguoguo 837fa1d4fc test(web): verify session pagination and workspace quota contracts 2026-10-17 16:31:20 +08:00
huanghuoguoguo 8e447dae09 test(web): exercise marketplace installs and wizard contracts 2026-10-17 16:09:23 +08:00
huanghuoguoguo f7c4194b3d test(web): verify resource writes and recovery through behavior 2026-10-17 15:42:39 +08:00
huanghuoguoguo 20daecc9cf test(web): replace self-confirming progress checks and remove duplicates 2026-10-17 15:00:41 +08:00
huanghuoguoguo b5ea5f88c3 test(web): verify workspace switching and quota failure boundaries 2026-10-17 05:06:33 +00:00
huanghuoguoguo 342d843622 test(web): replace source guards with browser behavior checks 2026-10-17 04:08:51 +00:00
RockChinQandClaude Opus 5.5 624d8efd97 test(web): align frontend checks with the plan comparison dialog
- Use LangBot Account wording in the Japanese checkout handoff copy.
- Assert the Workspace Settings plan entry opens CloudPlansDialog.
- Format revision tests with Prettier.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-17 01:54:05 +08:00
RockChinQandClaude Opus 5.5 16cfb6f8bd feat(cloud): show purchased plan revision alongside the latest revision
- Expose the workspace's purchased plan revision from the entitlement
  snapshot.
- Stack the purchased revision card in front of the latest revision in
  the plan comparison dialog; both cards share the same layout, and the
  purchased card's copy and prices come from the Space revision endpoint
  while benefits stay on the entitlement snapshot.
- Add a cancel-first tooltip for subscribing to the newer revision.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-17 00:25:41 +08:00
RockChinQ ececcb8749 feat(cloud): display unavailable plans without checkout actions 2026-10-16 17:11:00 +08:00
RockChinQ aabcaedf15 fix(cloud): retire beta banner and use production subscription links 2026-10-15 22:50:24 +08:00
RockChinQ 978db1701b feat(cloud): add plan comparison and subscription management entry 2026-10-15 21:29:05 +08:00
RockChinQ 625ee67113 fix(ci): align workspace fixtures and constrain mobile tours 2026-10-15 05:31:04 +00:00
RockChinQ b8d292c94d fix(websocket): recover debug connections and resolve backend URLs consistently 2026-10-15 05:31:04 +00:00
Hyu 353b452453 fix(ci): align SDK dependency and validate acceptance migrations 2026-10-11 00:59:51 +08:00
Dongchuan FuandRockChinQ 339dd56722 fix(web): hide duplicate connection mode control (#2621)
* fix(web): hide duplicate connection mode control

* fix(web): restore event processor guide target

---------

Co-authored-by: RockChinQ <[email protected]>
2026-10-10 18:52:52 +08:00
RockChinQ f96f663a80 feat(assistant): add streaming background sessions and refresh workspace UI 2026-10-08 13:24:46 +08:00
Hyu 9f76037e64 feat(monitoring): unify execution views and trace tool calls 2026-10-07 22:36:10 +08:00
Hyu af9011f237 fix(web): load installed plugin icons through the authenticated route
Multi-Workspace deployments fail the public plugin icon route closed (404), so plain <img src> icons broke everywhere locally and for the runner picker in production. A shared cached hook fetches the authenticated icon for installed plugins and leaves marketplace surfaces on the cloud URL.
2026-10-02 01:34:52 +08:00
TyperBody 03f50d1afc style(web): apply prettier formatting and drop an unused import
Run prettier over the assistant files and the new dock unit test so the
web lint job passes, and remove the unused ASSISTANT_BUTTON_SIZE import
flagged by code quality review.
2026-09-25 13:38:23 +08:00
TyperBody e6e1958fc5 fix(web): let the docked assistant button collapse again
`shouldCollapseRail` was keyed on `!railExpanded`, mirroring the expand
helper instead of negating it. Once a hover revealed the button it could
never collapse back into the rail, so the collapse looked broken after the
first restore.

Key the predicate on `railExpanded` being true, restore the mirror
relationship with `shouldExpandRail`, and add regression coverage for the
expand -> leave -> collapse round trip. Also lengthen the rail strip.
2026-09-25 13:22:18 +08:00
TyperBody 88257fe0e2 Merge origin/master into experiment/in-process-assistant
Resolve conflicts in the workspace assistant integration:

- DynamicFormItemComponent: keep HEAD's compact model selector and
  `disabled` field support while adopting master's `sortModelsByCatalog`
  ordering and `MODEL_SELECT_TRIGGER_CLASS`.
- i18n (en-US, ja-JP, zh-Hans): keep both the `assistant` namespace from
  HEAD and master's `sidebarGuide` / `pipelineMigration` additions.

Add 0030_merge_assistant to join the assistant conversations branch with
the released chain so the migration graph converges on a single head.
Rename it from 0030_merge_assistant_conversations to stay within the 32
character revision limit enforced by test_migrations.

Also add assistant button docking (long-press drag, edge collapse to a
short blue rail, hover restore) with pure helpers in assistant-dock.ts
and unit coverage, plus auto-collapse for finished tool result cards.
2026-09-25 13:17:44 +08:00
RockChinQ 9b589a8f08 merge: integrate 4.11 into master 2026-09-24 02:01:00 +08:00
RockChinQ fd940a3a06 Merge pull request #2559 from Rapeter/codex/fix-storage-analysis-menu-icon
fix(web): add storage analysis menu icon
2026-09-23 18:17:21 +08:00
RockChinQ a8d291e581 fix(plugins): retain Host progress fallback after master merge 2026-09-21 17:04:57 +00:00
RockChinQ 5d9684731e merge(4.11): integrate master marketplace updates preserving Runner lifecycle 2026-09-21 16:58:35 +00:00
Zhong 74a0aa3563 fix(web): add storage analysis menu icon 2026-09-21 21:00:55 +08:00
RockChinQ 44ee0e8d71 test(web): align bot form assertion with responsive grid layout 2026-09-21 11:35:19 +00:00
TyperBody 163dac48b0 fix(plugins): correct install progress bounds, skill identity, and stage accuracy
Addresses review feedback on the marketplace installed-state change.

- Progress: byte-derived progress no longer has time-based drift layered on
  top, and fallback drift is clamped to the current stage range, so the bar
  cannot exceed the download band. 90/100 bytes at 40s elapsed used to report
  61% against a declared 5-45% band; it now reports 41%. Drift is measured
  from when the stage was entered rather than from task start.
- Skills: a marketplace skill is no longer reported installed from a bare
  skill name. The backend names skills from their own SKILL.md and records no
  publisher, so alice/review and bob/review install identically; matching the
  bare name marked every publisher's skill as installed. Skill cards now
  resolve to not-installed until the installed skill carries a publisher.
- Stages: "installing plugin dependencies" and "launching plugin" described
  work this task context cannot observe (installation persistence ran under
  the former; the runtime installs dependencies and starts the plugin inside
  apply_plugin_installation under the latter). They become "persisting the
  installation" and "installing or starting plugin", and the frontend maps
  that combined step to the dependency stage rather than the launch stage.
- Removed the per-dependency progress fields: the backend never populated
  them, so the UI could never have displayed them.

The stage mapping and progress maths move to install-progress.ts, and the
installed-state matching to a React-free marketplace-installed.ts, so both
are covered by executable tests (+9).

Verified: ruff, tsc --noEmit, prettier --check, eslint (0 errors), 98/98 unit
tests.
2026-09-21 00:40:23 +08:00
RockChinQ 79cac0c6a3 fix(reasoning): apply explicit per-call levels without runner config caching 2026-09-19 00:05:49 +08:00
RockChinQ da4b0d6ca2 fix(wizard): prepare default Local Agent and refine Runner setup 2026-09-18 19:27:56 +08:00
RockChinQ bece2aa554 fix(wizard): restore message pipeline setup and page bot preview 2026-09-18 16:01:55 +08:00
RockChinQ 60606e1997 fix(migration): improve runner migration and plugin installation feedback 2026-09-18 13:10:32 +08:00
RockChinQ 8c119bc4b6 feat: add verified manual pipeline migration for plugin runners 2026-09-16 18:13:11 +00:00
RockChinQ 273b1ea3cf Merge master into dev/4.11.x and preserve plugin runner architecture
Reconcile migration branches without rewriting published revisions; retain additive Codex, monitoring, provider and platform fixes. Keep dynamic runner schemas and Host ownership, restore compatibility regressions, and preserve safe model-test error handling.
2026-09-16 08:13:07 +00:00
dadachann f8123ead0a feat(telemetry): add isolated beta quality diagnostics and release identity 2026-09-15 09:35:01 +00:00