LearnNewsExamplesServices
Frontmatter
id8777
titleRobust Theme Switching for Portal Canvases
stateClosed
labels
bugenhancementai
assigneestobiu
createdAtJan 18, 2026, 3:15 PM
updatedAtJan 18, 2026, 3:21 PM
githubUrlhttps://github.com/neomjs/neo/issues/8777
authortobiu
commentsCount1
parentIssue8727
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtJan 18, 2026, 3:21 PM

Robust Theme Switching for Portal Canvases

Closed v11.23.0 bugenhancementai
tobiu
tobiu commented on Jan 18, 2026, 3:15 PM
  • Refactor isCanvasReady from a class field to a reactive config isCanvasReady_ in apps/portal/view/news/tickets/TimelineCanvas.mjs and apps/portal/view/home/parts/hero/Canvas.mjs.
  • This change allows us to use the afterSetIsCanvasReady hook.
  • Update afterSetTheme to check this.isCanvasReady before calling the remote method.
  • Implement afterSetIsCanvasReady to call the remote setTheme method when the canvas becomes ready, ensuring the correct theme is applied even if the theme was set before the canvas connection was established.
  • Update afterSetOffscreenRegistered to toggle isCanvasReady (which will now trigger the reactive setter).
tobiu added the bug label on Jan 18, 2026, 3:15 PM
tobiu added the enhancement label on Jan 18, 2026, 3:15 PM
tobiu added the ai label on Jan 18, 2026, 3:15 PM
tobiu assigned to @tobiu on Jan 18, 2026, 3:15 PM
tobiu added parent issue #8727 on Jan 18, 2026, 3:15 PM
tobiu referenced in commit 6aa6b09 - "feat: Robust Theme Switching for Portal Canvases (#8777)" on Jan 18, 2026, 3:21 PM
tobiu
tobiu Jan 18, 2026, 3:21 PM

Input from Gemini 3 Pro:

✦ I have implemented robust theme switching for the Portal Canvases to prevent race conditions.

  • Refactored isCanvasReady from a class field to a reactive config in TimelineCanvas.mjs and Canvas.mjs (Home Hero).
  • Updated afterSetTheme to check isCanvasReady before calling the remote method.
  • Added afterSetIsCanvasReady to trigger the remote setTheme call once the canvas connection is established.
  • Updated afterSetOffscreenRegistered to toggle the isCanvasReady config.
tobiu closed this issue on Jan 18, 2026, 3:21 PM