Summary
PG/MySQL/SQLite TreeObjectFilterBar.onChanged and sidebar “Filter connections…” call setState on every keystroke. Filter is items.where(contains).toList() plus pin-sort — O(N) string scans and a full subtree rebuild with no debounce (grid filter already uses 150ms).
Scope
- Debounce filter text (same order as data_grid_filter_bar).
- Keep virtualized itemExtent lists; debounce only the query/rebuild.
- Sidebar connection search should not rebuild the whole ConnectionsPanel per character if a cheaper local filter exists.
Out of scope
- Capping listTables / listBrowsableRelations (unbounded metadata on expand — separate if needed).
Reactions are currently unavailable
Summary
PG/MySQL/SQLite TreeObjectFilterBar.onChanged and sidebar “Filter connections…” call setState on every keystroke. Filter is items.where(contains).toList() plus pin-sort — O(N) string scans and a full subtree rebuild with no debounce (grid filter already uses 150ms).
Scope
Out of scope