[PR #136] [MERGED] Fix(#134) Solid empty scroll box issue #316

Closed
opened 2026-03-02 23:45:56 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/anomalyco/opentui/pull/136
Author: @Adictya
Created: 9/4/2025
Status: Merged
Merged: 9/4/2025
Merged by: @Adictya

Base: mainHead: fix-solid-empty-child-issue


📝 Commits (1)

📊 Changes

1 file changed (+4 additions, -0 deletions)

View changed files

📝 packages/core/src/renderables/ScrollBox.ts (+4 -0)

📄 Description

Fixes: #134

Was caused be asymmetry in add/remove child methods directly passing through to content renderable but not getChildren resulting in an infinite loop in solid reconciler when solid tries to get the first child of scroll box but isn't able to remove it and tries again and again:

logs:

[Reconciler] No next sibling found for node: box-2
[Reconciler] Removing node: box-1 from parent: scrollbox-1
[Reconciler] Getting first child of node: scrollbox-1
[Reconciler] First child found: renderable-3 for node: scrollbox-1
[Reconciler] Removing node: renderable-3 from parent: scrollbox-1
[Reconciler] Getting first child of node: scrollbox-1
[Reconciler] First child found: renderable-3 for node: scrollbox-1
[Reconciler] Removing node: renderable-3 from parent: scrollbox-1
[Reconciler] Getting first child of node: scrollbox-1
[Reconciler] First child found: renderable-3 for node: scrollbox-1
[Reconciler] Removing node: renderable-3 from parent: scrollbox-1
[Reconciler] Getting first child of node: scrollbox-1
[Reconciler] First child found: renderable-3 for node: scrollbox-1
[Reconciler] Removing node: renderable-3 from parent: scrollbox-1
[Reconciler] Getting first child of node: scrollbox-1
[Reconciler] First child found: renderable-3 for node: scrollbox-1
[Reconciler] Removing node: renderable-3 from parent: scrollbox-1
[Reconciler] Getting first child of node: scrollbox-1

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/anomalyco/opentui/pull/136 **Author:** [@Adictya](https://github.com/Adictya) **Created:** 9/4/2025 **Status:** ✅ Merged **Merged:** 9/4/2025 **Merged by:** [@Adictya](https://github.com/Adictya) **Base:** `main` ← **Head:** `fix-solid-empty-child-issue` --- ### 📝 Commits (1) - [`fc8af35`](https://github.com/anomalyco/opentui/commit/fc8af357f9e83079b3a4243b24a8eb6f001d3caf) quick fix for scroll box ### 📊 Changes **1 file changed** (+4 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `packages/core/src/renderables/ScrollBox.ts` (+4 -0) </details> ### 📄 Description Fixes: #134 Was caused be asymmetry in add/remove child methods directly passing through to content renderable but not getChildren resulting in an infinite loop in solid reconciler when solid tries to get the first child of scroll box but isn't able to remove it and tries again and again: logs: ```logs.txt [Reconciler] No next sibling found for node: box-2 [Reconciler] Removing node: box-1 from parent: scrollbox-1 [Reconciler] Getting first child of node: scrollbox-1 [Reconciler] First child found: renderable-3 for node: scrollbox-1 [Reconciler] Removing node: renderable-3 from parent: scrollbox-1 [Reconciler] Getting first child of node: scrollbox-1 [Reconciler] First child found: renderable-3 for node: scrollbox-1 [Reconciler] Removing node: renderable-3 from parent: scrollbox-1 [Reconciler] Getting first child of node: scrollbox-1 [Reconciler] First child found: renderable-3 for node: scrollbox-1 [Reconciler] Removing node: renderable-3 from parent: scrollbox-1 [Reconciler] Getting first child of node: scrollbox-1 [Reconciler] First child found: renderable-3 for node: scrollbox-1 [Reconciler] Removing node: renderable-3 from parent: scrollbox-1 [Reconciler] Getting first child of node: scrollbox-1 [Reconciler] First child found: renderable-3 for node: scrollbox-1 [Reconciler] Removing node: renderable-3 from parent: scrollbox-1 [Reconciler] Getting first child of node: scrollbox-1 ``` --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-02 23:45:56 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/opentui#316
No description provided.