Peter Steinberger
85fa33d9d7
style: apply formatter drift
2026-04-11 14:08:55 +01:00
Tak Hoffman
cc5c691f00
feat(ui): render assistant directives and add embed tag ( #64104 )
...
* Add embed rendering for Control UI assistant output
* Add changelog entry for embed rendering
* Harden canvas path resolution and stage isolation
* Secure assistant media route and preserve UI avatar override
* Fix chat media and history regressions
* Harden embed iframe URL handling
* Fix embed follow-up review regressions
* Restore offloaded chat attachment persistence
* Harden hook and media routing
* Fix embed review follow-ups
* feat(ui): add configurable embed sandbox mode
* fix(gateway): harden assistant media and auth rotation
* fix(gateway): restore websocket pairing handshake flows
* fix(gateway): restore ws hello policy details
* Restore dropped control UI shell wiring
* Fix control UI reconnect cleanup regressions
* fix(gateway): restore media root and auth getter compatibility
* feat(ui): rename public canvas tag to embed
* fix(ui): address remaining media and gateway review issues
* fix(ui): address remaining embed and attachment review findings
* fix(ui): restore stop control and tool card inputs
* fix(ui): address history and attachment review findings
* fix(ui): restore prompt contribution wiring
* fix(ui): address latest history and directive reviews
* fix(ui): forward password auth for assistant media
* fix(ui): suppress silent transcript tokens with media
* feat(ui): add granular embed sandbox modes
* fix(ui): preserve relative media directives in history
* docs(ui): document embed sandbox modes
* fix(gateway): restrict canvas history hoisting to tool entries
* fix(gateway): tighten embed follow-up review fixes
* fix(ci): repair merged branch type drift
* fix(prompt): restore stable runtime prompt rendering
* fix(ui): harden local attachment preview checks
* fix(prompt): restore channel-aware approval guidance
* fix(gateway): enforce auth rotation and media cleanup
* feat(ui): gate external embed urls behind config
* fix(ci): repair rebased branch drift
* fix(ci): resolve remaining branch check failures
2026-04-11 07:32:53 -05:00
Jacob Tomlinson
c5c10adc02
gateway: trim control UI bootstrap payload ( #57727 )
2026-03-30 15:08:19 +01:00
Val Alexander
a96eded4a0
feat(csp): support inline script hashes in Control UI CSP ( #53307 ) thanks @BunsDev
...
Co-authored-by: BunsDev <68980965+BunsDev@users.noreply.github.com >
Co-authored-by: Nova <nova@openknot.ai >
2026-03-23 21:35:33 -05:00
Peter Steinberger
a3ece09d19
refactor: share control ui hardlink asset setup
2026-03-13 18:38:12 +00:00
Peter Steinberger
91d4f5cd2f
test: simplify control ui http coverage
2026-03-13 18:03:35 +00:00
Radek Sienkiewicz
4f42c03a49
gateway: fix global Control UI 404s for symlinked wrappers and bundled package roots ( #40385 )
...
Merged via squash.
Prepared head SHA: 567b3ed684
Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com >
Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com >
Reviewed-by: @velvet-shark
2026-03-09 01:50:42 +01:00
ademczuk
3e9c8721fb
fix(gateway): let non-GET requests fall through controlUi routing when basePath is set
...
When controlUiBasePath is set, classifyControlUiRequest returned
method-not-allowed (405) for all non-GET/HEAD requests under basePath,
blocking plugin webhook handlers (BlueBubbles, Mattermost, etc.) from
receiving POST requests. This is a 2026.3.1 regression.
Return not-control-ui instead, matching the empty-basePath behavior, so
requests fall through to plugin HTTP handlers. Remove the now-dead
method-not-allowed type variant, handler branch, and utility function.
Closes #31983
Closes #32275
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 00:11:13 +00:00
SidQin-cyber
c4711a9b69
fix(gateway): let POST requests pass through root-mounted Control UI to plugin handlers
...
The Control UI handler checked HTTP method before path routing, causing
all POST requests (including plugin webhook endpoints like /bluebubbles-webhook)
to receive 405 Method Not Allowed. Move the method check after path-based
exclusions so non-GET/HEAD requests reach plugin HTTP handlers.
Closes #31344
Made-with: Cursor
2026-03-02 16:06:48 +00:00
Tyler Yust
f918b336d1
fix: agent-only announce path, BB message IDs, sender identity, SSRF allowlist ( #23970 )
...
* fix(agents): defer announces until descendant cleanup settles
* fix(bluebubbles): harden message metadata extraction
* feat(contributors): rank by composite score (commits, PRs, LOC, tenure)
* refactor(control-ui): move method guard after path checks to improve request handling
* fix subagent completion announce when only current run is pending
* fix(subagents): keep orchestrator runs active until descendants finish
* fix: prepare PR feedback follow-ups (#23970 ) (thanks @tyler6204)
2026-03-01 22:52:11 -08:00
Gustavo Madeira Santana
8e69fd80e0
Gateway: harden control-ui vs plugin HTTP precedence
2026-03-01 22:38:14 -05:00
Sid
c1428e8df9
fix(gateway): prevent /api/* routes from returning SPA HTML when basePath is empty ( #30333 )
...
Merged via squash.
Prepared head SHA: 12591f304e
Co-authored-by: Sid-Qin <201593046+Sid-Qin@users.noreply.github.com >
Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com >
Reviewed-by: @velvet-shark
2026-03-01 22:23:54 +01:00
Peter Steinberger
6970c2c2db
fix(gateway): harden control-ui avatar reads
2026-02-22 22:40:22 +01:00
Peter Steinberger
296b19e413
test: dedupe gateway browser discord and channel coverage
2026-02-22 17:11:54 +00:00
Peter Steinberger
b0f6f18569
test(gateway): dedupe control-ui not-found fixture assertions
2026-02-22 07:44:57 +00:00
bmendonca3
6ac89757ba
Security/Gateway: harden Control UI static path containment ( #21203 )
...
* Security/Gateway: harden Control UI static path containment
* gateway: block control-ui symlink escapes
* CI: retrigger flaky node test lane
---------
Co-authored-by: Brian Mendonca <brianmendonca@Brians-MacBook-Air.local >
2026-02-21 23:47:51 +01:00
Peter Steinberger
4ef4aa3c10
refactor(gateway): streamline control-ui secure file serving
2026-02-21 23:36:55 +01:00
Peter Steinberger
7c500ff623
fix(security): harden control-ui static path resolution
2026-02-21 23:10:55 +01:00
Peter Steinberger
b8b43175c5
style: align formatting with oxfmt 0.33
2026-02-18 01:34:35 +00:00
Peter Steinberger
31f9be126c
style: run oxfmt and fix gate failures
2026-02-18 01:29:02 +00:00
cpojer
d0cb8c19b2
chore: wtf.
2026-02-17 13:36:48 +09:00
Sebastian
ed11e93cf2
chore(format)
2026-02-16 23:20:16 -05:00
cpojer
90ef2d6bdf
chore: Update formatting.
2026-02-17 09:18:40 +09:00
Peter Steinberger
93ca0ed54f
refactor(channels): dedupe transport and gateway test scaffolds
2026-02-16 14:59:31 +00:00
Peter Steinberger
2f621876f1
test(gateway): cover basePath bootstrap config endpoint
2026-02-16 02:56:23 +00:00
Peter Steinberger
8985f23de7
test(gateway): move Control UI http coverage
2026-02-16 03:50:39 +01:00