Skip to content

perf(connections): debounce tree object filter and sidebar search #878

Closed

Description

@ZhuchkaTriplesix

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).

Activity

  1. added
    frontendTheme parser epic label: frontend
    performanceTheme parser epic label: performance
    uiUser interface components and widgets
    connectionsDatabase connections, URI parsing, pools
    on Sep 20, 2026
  2. added a commit that references this issue on Sep 25, 2026
  3. ZhuchkaTriplesix commented on Sep 27, 2026

    @ZhuchkaTriplesix
    MemberAuthor

    Resolved by #976 (already merged into dev; not auto-closed since this repo's default branch is main and PRs merge into dev).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

connectionsDatabase connections, URI parsing, poolsfrontendTheme parser epic label: frontendperformanceTheme parser epic label: performanceuiUser interface components and widgets

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions