Frontmatter
| id | 8795 |
| title | Refactor Portal Canvases: Standardize render loop exit with canRender() |
| state | Closed |
| labels | airefactoring |
| assignees | tobiu |
| createdAt | Jan 19, 2026, 2:13 AM |
| updatedAt | Jan 19, 2026, 2:17 AM |
| githubUrl | https://github.com/neomjs/neo/issues/8795 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Jan 19, 2026, 2:17 AM |
Refactor Portal Canvases: Standardize render loop exit with canRender()
tobiu assigned to @tobiu on Jan 19, 2026, 2:16 AM

tobiu
Jan 19, 2026, 2:16 AM
Input from Gemini 3 Pro:
✦ Implemented
canRenderas a read-only getter inPortal.canvas.Base. All subclasses (HomeCanvas,ServicesCanvas,HeaderCanvas,TicketCanvas) now useif (!this.canRender) return;to standardize their render loop exit conditions. This ensures consistentcontextandisPausedchecks across the board.
tobiu closed this issue on Jan 19, 2026, 2:17 AM
Standardize the render loop exit conditions by implementing a
canRender()helper method inPortal.canvas.Base.Goals:
canRender()toPortal.canvas.Base: This method should returntrueifthis.contextexists AND!this.isPaused.HeaderCanvas,HomeCanvas,ServicesCanvas, andTicketCanvasto callif (!this.canRender()) return;at the start of theirrender()loops.