mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-15 22:03:45 +00:00
fix(widgets): add max line limit and document multi-hook behavior
- Limit total widget lines to 10 to prevent viewport overflow/flicker - Show '... (widget truncated)' when limit exceeded - Document that multiple hooks stack widgets vertically - Add caution about keeping widgets small
This commit is contained in:
parent
f6b728a6e5
commit
9b53b89bd5
2 changed files with 14 additions and 2 deletions
|
|
@ -633,6 +633,9 @@ export class InteractiveMode {
|
|||
this.renderWidgets();
|
||||
}
|
||||
|
||||
// Maximum total widget lines to prevent viewport overflow
|
||||
private static readonly MAX_WIDGET_LINES = 10;
|
||||
|
||||
/**
|
||||
* Render all hook widgets to the widget container.
|
||||
*/
|
||||
|
|
@ -645,10 +648,18 @@ export class InteractiveMode {
|
|||
return;
|
||||
}
|
||||
|
||||
// Render each widget
|
||||
// Render each widget, respecting max lines to prevent viewport overflow
|
||||
let totalLines = 0;
|
||||
for (const [_key, lines] of this.hookWidgets) {
|
||||
for (const line of lines) {
|
||||
if (totalLines >= InteractiveMode.MAX_WIDGET_LINES) {
|
||||
// Add truncation indicator and stop
|
||||
this.widgetContainer.addChild(new Text(theme.fg("muted", "... (widget truncated)"), 1, 0));
|
||||
this.ui.requestRender();
|
||||
return;
|
||||
}
|
||||
this.widgetContainer.addChild(new Text(line, 1, 0));
|
||||
totalLines++;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue