Motivation & Problem
In lib/features/workspace/data_grid_filter_bar.dart (lines 162–165), _onChanged immediately fires widget.onFilterChanged(val) on every single keystroke. When a user types a search term (e.g. "active_users"), this triggers 12 sequential full-dataset filter passes back-to-back in rapid succession.
Proposed Solution
- In _DataGridFilterBarState:
- Introduce a 150ms debounce Timer (_debounceTimer).
- Reset the timer on each keystroke and only fire widget.onFilterChanged after the user pauses typing.
- Immediately flush and cancel the timer on submit (Enter key) or when the widget is disposed.
- Update data_grid_filter_bar_test.dart with tests for debounced change notifications.
Acceptance Criteria
- Rapid typing triggers only one final filter notification after the debounce delay.
- Pressing Enter immediately applies the filter without waiting for debounce.
- No timer leaks on widget disposal.
Reactions are currently unavailable
Motivation & Problem
In lib/features/workspace/data_grid_filter_bar.dart (lines 162–165), _onChanged immediately fires widget.onFilterChanged(val) on every single keystroke. When a user types a search term (e.g. "active_users"), this triggers 12 sequential full-dataset filter passes back-to-back in rapid succession.
Proposed Solution
Acceptance Criteria