feat(api): bridge terminal titlebar actions - #65
Conversation
Review: terminal titlebar action bridgeThis is a small, additive change, and it follows the same design as 1. 🔴 The API dump is not updated, so
|
|
Review: The change is small and additive, and it follows the 1.
Suggestion: keep a monotonically increasing sequence number in 2. Host copy vs. API-jar copy: which singleton runs? The PR description says "BossConsole carries the matching parent-first implementation", but this object:
This bridge only works if the host and every terminal plugin resolve the same
3. Owner key uses
4. Smaller points
Tests This repo has no tests for the bridge; the PR says coverage is in the host integration. Performance and security No concerns. Map sizes are about one entry per terminal, and snapshot-state reads give correct recomposition. The bridge exposes nothing across plugin trust boundaries that the existing browser bridge does not already. Overall this looks good once the ordering behaviour and the parent-first/ |
Review: feat(api): bridge terminal titlebar actionsThanks for this. The API surface is small, only adds things, and 🔴 Potential bugs1.
Options: keep an explicit ordering (a monotonically increasing sequence number in 2. 3. 🟡 Design and code quality
🟡 Version
🟢 Security and performance
🧪 Test coverageThis repo has no tests for the bridge. The description says the behaviour is tested in the host integration, but that tests the host's parent-first copy, not this jar's. A small unit test here would help and would have caught bug 1. It could cover publishing from two owners, selection of the active entry, windows being isolated, and SummaryThe idea is sound and it follows the shape of the browser bridge. Before merging I'd ask for:
|
Review: feat(api): bridge terminal titlebar actionsThe change is small and additive, and it follows the pattern set by 🔴 1. "Last registered" is not insertion order:
|
|
Small correction to my review above: under Test coverage, "There are no tests in this repo" should read "This PR adds no tests". The repo does have a JVM test suite, including |
Review: feat(api): bridge terminal titlebar actionsOverall this is a well-contained change. It adds only new types in Potential bugs / behavioural gotchas
Build / versioning
Code quality
TestsThe tests are a good start and cover ordering, identity versus
Conventions checklist
Security / performance
Nice work overall. Item 1 (a docs or equality fix) and item 2 (owner-scoped window claims, while the type is still new) are the ones I'd address before merging, since both become expensive to change once a host ships its compiled-in copy. |
Add an optional UI-thread terminal titlebar bridge. Hosts claim individual windows; plugins register a window-content provider that owns controls and dialogs independently of terminal composition. Provider identity and window ID key composition lifetime, while owner tokens isolate published actions and disposal clears them. Unclaimed windows retain existing floating controls.
The bridge also carries owner-scoped, window-specific live-call content. The host can place it in its existing overlay layer; removing the publisher clears the call panel without affecting the other titlebar actions.
This adds new types in the shared UI package without changing existing API constructors or interfaces. BossConsole carries the matching parent-first implementation. Release source remains 1.0.94 because release CI increments before publishing 1.0.95. Local next-version builds use
-PlocalApiVersion=1.0.95. Host-implemented types are annotated and document host-version gating.Owners use identity and explicit publication order; unchanged effects preserve ownership, and provider/call-panel composition keys isolate state across owners. Validation: apiCheck, test, and buildPluginJar pass, including three bridge regression tests for arbitration, removal, and composition state.