Repository navigation
fix(ext): rewrite extension JS → Rust/WASM — delete all handwritten JS (Closes #156) - #158
Merged
Merged
Conversation
4 tasks done
gHashTag
force-pushed
the
fix/rust-only-extension-156
branch
from
April 20, 2026 20:44
1676528 to
06222c1
Compare
gHashTag
force-pushed
the
fix/rust-only-extension-156
branch
from
April 20, 2026 20:52
06222c1 to
1f517a6
Compare
… refs #156) Operator Bridge (#157): - Replace HTTP REST operator with WebSocket /operator endpoint - 7 operator MCP methods: ping, extension/state, send_chat, click, screenshot, agent/list, health - Token auth via TRIOS_OPERATOR_TOKEN (auto-generated on start) - ExtensionState tracking for Comet/AI operator testing - 9 new tests (26 total for trios-server) - trios-operator-smoke binary for connection testing Extension WASM (#156): - Delete extension/sidepanel.js, style.css (JS violation) - Rust/WASM DOM builder: Total Black, gold accent, tabs, chat - MCP WebSocket client to trios-server:9005 - Chrome sidePanel API via JS interop (bg.rs) - WASM builds with wasm-pack --target web - 8 tests pass, clippy = 0 on wasm32 target
Closes #156) - Delete extension/sidepanel.js, background.js, style.css (L9 violation) - Add crates/trios-ext/src/dom.rs: full UI builder (Total Black, gold accent) - Add crates/trios-ext/src/mcp.rs: WebSocket MCP client to trios-server:9005 - Add crates/trios-ext/src/bg.rs: Chrome sidePanel API via JS interop - Update manifest.json: WASM service worker, content security policy - Update sidepanel.html: loads WASM module (no inline logic) - Add extension/bg-sw.js: 3-line WASM loader (auto-glue, not handwritten logic) - WASM builds with wasm-pack --target web - 8 tests pass, clippy = 0 warnings on wasm32 target
… CI artifact checks - Delete scripts/build_phase2a.sh and scripts/test_real_bpb.sh (L1 violation) - Add CI step to check no handwritten JS in extension/ outside dist/ (L9) - Remove CI checks for deleted background.js and style.css - Refs #156
gHashTag
force-pushed
the
fix/rust-only-extension-156
branch
from
April 21, 2026 04:51
f51e837 to
c4e23f7
Compare
This was referenced Apr 21, 2026
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Rewrites the entire Chrome Extension from handwritten JavaScript to Rust → WASM via
wasm-bindgen+web-sys.Changes
extension/sidepanel.jsextension/background.jsextension/style.csscrates/trios-ext/src/dom.rscrates/trios-ext/src/mcp.rsws://localhost:9005/wscrates/trios-ext/src/bg.rssidePanel.setPanelBehaviorvia JS interopcrates/trios-ext/src/lib.rsextension/manifest.jsonextension/sidepanel.htmlextension/bg-sw.jsVerification
Architecture
Laws satisfied
.shfiles.jsin extension/ (only auto-generated glue inwasm/)Closes #156
Refs #155, #157, #143