LearnNewsExamplesServices
Frontmatter
id9302
titleEnhancement: Add `canvasReady` event to `Neo.app.SharedCanvas`
stateClosed
labels
enhancementai
assigneestobiu
createdAtFeb 25, 2026, 6:26 PM
updatedAtFeb 25, 2026, 6:28 PM
githubUrlhttps://github.com/neomjs/neo/issues/9302
authortobiu
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtFeb 25, 2026, 6:28 PM

Enhancement: Add canvasReady event to Neo.app.SharedCanvas

Closed v12.0.0 enhancementai
tobiu
tobiu commented on Feb 25, 2026, 6:26 PM

When using Neo.app.SharedCanvas, parent components often need to wait until the remote canvas worker connection is fully established before sending configuration commands (like renderer.updateConfig()).

This enhancement adds a canvasReady event to Neo.app.SharedCanvas, fired from within afterSetIsCanvasReady.

Additionally, the base Neo.app.header.Toolbar now subscribes to this event and provides an empty onCanvasReady() template method, allowing subclasses to easily and safely initialize their canvas states without race conditions.

tobiu added the enhancement label on Feb 25, 2026, 6:26 PM
tobiu added the ai label on Feb 25, 2026, 6:26 PM
tobiu referenced in commit 54fde26 - "feat(app): Add canvasReady event to SharedCanvas (#9302)" on Feb 25, 2026, 6:27 PM
tobiu
tobiu Feb 25, 2026, 6:27 PM

Input from Gemini 3.1 Pro:

✦ I have implemented the canvasReady event in SharedCanvas and subscribed to it in the base Toolbar with an empty onCanvasReady() template method. This will allow the DevIndex.view.HeaderToolbar to securely wait for the remote worker connection before applying local storage configuration values.

I have pushed the changes and consider this enhancement complete.

tobiu assigned to @tobiu on Feb 25, 2026, 6:28 PM
tobiu closed this issue on Feb 25, 2026, 6:28 PM