feat(ui): enhance WebSocket event handling and polling logic

- Introduced a new `useEventRecency` hook to track the recency of WebSocket events, allowing for conditional polling based on event activity.
- Updated `AgentInfoPanel` to utilize the new hook, adjusting polling intervals based on WebSocket activity.
- Implemented debounced invalidation for auto mode events to optimize query updates during rapid event streams.
- Added utility functions for managing event recency checks in various query hooks, improving overall responsiveness and reducing unnecessary polling.
- Introduced debounce and throttle utilities for better control over function execution rates.

This enhancement improves the application's performance by reducing polling when real-time updates are available, ensuring a more efficient use of resources.
This commit is contained in:
Shirone
2026-01-21 14:57:26 +01:00
parent c3e7e57968
commit aac59c2b3a
9 changed files with 1000 additions and 22 deletions

View File

@@ -105,3 +105,12 @@ export {
type LearningEntry,
type SimpleMemoryFile,
} from './memory-loader.js';
// Debounce and throttle utilities
export {
debounce,
throttle,
type DebounceOptions,
type ThrottleOptions,
type DebouncedFunction,
} from './debounce.js';