Skip to content

feat: add implicit UI plugin companions#111

Merged
OwendB1 merged 1 commit into
mainfrom
fix-abstraction-usage
Jul 3, 2026
Merged

feat: add implicit UI plugin companions#111
OwendB1 merged 1 commit into
mainfrom
fix-abstraction-usage

Conversation

@OwendB1

@OwendB1 OwendB1 commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

This pull request introduces a new generic companion plugin request/response channel between Quasar UI plugins and Magnetar plugins, formalizing how UI plugins can communicate with server-side Magnetar companions. It updates documentation to describe this new architecture and deployment flow, and adds new protocol types and interfaces. Additionally, it clarifies and improves the plugin build, deployment, and communication process, especially for UI-plugin-owned Magnetar companions.

Companion Plugin Communication Channel

  • Added new protocol types and interfaces for generic companion plugin requests and responses:
    • Introduced IQuasarCompanionRequestHandler interface for Magnetar plugins to handle requests from Quasar UI plugins (Magnetar.Protocol/Bridge/IQuasarCompanionRequestHandler.cs).
    • Added CompanionPluginRequest and CompanionPluginResponse types to carry JSON payloads and metadata for plugin communication (Magnetar.Protocol/Model/CompanionPluginRequest.cs, Magnetar.Protocol/Model/CompanionPluginResponse.cs). [1] [2]

Documentation Updates for Plugin System and Build/Deployment

  • Updated documentation to describe the new companion plugin build, deployment, and communication process, including:
    • How UI plugin manifests can declare owned Magnetar companions, which are built and deployed alongside the UI plugin (Docs/BuildingAndDevelopment.md, Docs/QuasarPluginSystem.md). [1] [2] [3] [4] [5]
    • The new generic channel for plugin communication, replacing feature-specific endpoints, and the envelope fields for requests/responses (Docs/QuasarPluginSystem.md). [1] [2]
    • Clarified how companion plugins are enabled/disabled and how their deployment is managed with UI plugins (Docs/QuasarPluginSystem.md).
    • Updated deployment instructions for Linux and Windows to account for UI-plugin-owned Magnetar companions (Docs/LinuxDeploymentAndUpdates.md, Docs/WindowsDeploymentAndUpdates.md). [1] [2]

Agent and API Behavior

  • Updated the agent state machine documentation to clarify that the agent now dispatches inbound PluginRequest commands for companion dispatch (Docs/StateMachines/AgentConnection.md).

Entity Viewer and GridBackups Plugin Guidance

  • Updated documentation to clarify that Entity Viewer and GridBackups should communicate through the companion channel, and that Quasar core does not ship viewer-specific APIs or DTOs (Docs/QuasarPluginSystem.md). [1] [2]

Protocol Simplification

  • Simplified the EntitySummary DTO by removing the world matrix fields, as the protocol assembly no longer needs to support future renderer requirements directly (Magnetar.Protocol/Model/EntitySummary.cs). [1] [2]

@OwendB1
OwendB1 merged commit 1a33109 into main Jul 3, 2026
3 checks passed
@OwendB1
OwendB1 deleted the fix-abstraction-usage branch July 3, 2026 12:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant