Skip to content

Canvas Panel — WebView2-based canvas viewer in tray app #5

Description

@shanselman

Summary

Add a Canvas panel to the tray app using WebView2, similar to the existing WebChat panel. This would let Clawdbot's canvas output (HTML renders, visualizations, interactive content) display directly in the Windows companion app without needing a browser.

Background

The WebChat panel (already implemented) proves WebView2 works well as an embedded viewer. Canvas is Clawdbot's feature for rendering rich HTML content — things like data visualizations, interactive tools, status dashboards, or any UI the agent builds on the fly.

Implementation Ideas

  • Add a new CanvasPanel form/control with an embedded WebView2 instance
  • Subscribe to canvas events from the gateway (similar to how WebChat subscribes to messages)
  • Navigate the WebView2 to the canvas URL when content is presented
  • Support multiple canvas instances or tab-like switching if multiple canvases are active
  • Consider a menu item or hotkey to toggle the canvas panel visibility
  • Could share WebView2 environment/profile with the existing WebChat panel to reduce resource usage

Acceptance Criteria

  • Canvas panel opens from tray menu or system event
  • Renders Clawdbot canvas HTML content correctly
  • Updates when new canvas content is pushed
  • Can be shown/hidden independently from WebChat
  • Doesn't leak GDI handles or WebView2 processes on close

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions