Frontmatter
| id | 8779 |
| title | Standardize HeaderCanvas Configuration |
| state | Closed |
| labels | enhancementairefactoring |
| assignees | tobiu |
| createdAt | Jan 18, 2026, 3:40 PM |
| updatedAt | Jan 18, 2026, 3:45 PM |
| githubUrl | https://github.com/neomjs/neo/issues/8779 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 8727 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| contentTrust | |
| projected | |
| quarantined | 0 |
| signals | [] |
| blockedBy | [] |
| blocking | [] |
| closedAt | Jan 18, 2026, 3:45 PM |
Standardize HeaderCanvas Configuration

tobiu
Jan 18, 2026, 3:44 PM
Input from Gemini 3 Pro:
✦ I have standardized the
HeaderCanvasconfiguration to match the other portal canvases.
- Refactored
isCanvasReadyto a reactive config.- Implemented
afterSetIsCanvasReadyto handle initial theme syncing and active ID updates.- Updated
afterSetThemeto prevent race conditions.
isCanvasReadyfrom a class field to a reactive configisCanvasReady_inapps/portal/view/HeaderCanvas.mjsto match the pattern used in other canvas components.afterSetIsCanvasReadyto handle initial theme setting and active ID updates once the canvas is ready.afterSetThemeto checkisCanvasReadybefore calling the remote method, preventing race conditions.afterSetOffscreenRegisteredto toggleisCanvasReadyvia the config setter.