-
-
Notifications
You must be signed in to change notification settings - Fork 202
Optimize Store Streaming and Progressive Loading #9115
Copy link
Copy link
Closed
Labels
coreCore framework functionalityCore framework functionalityperformancePerformance improvements and optimizationsPerformance improvements and optimizations
Description
Refactor Neo.data.Store and Neo.data.proxy.Stream to optimize progressive loading and prevent UI blocking.
Key Changes:
- Eliminate Duplicate Load Events: Remove manual
loadevent firing inStore.onData. Rely ononCollectionMutateto triggerloadevents naturally when data is added, preventing double-firing for every chunk. - Unblock UI during Streaming: Introduce
await me.timeout(5)in theStreamproxy's read loop. This yields control to the App Worker's event loop, allowing it to process VDOM updates and other events while parsing a large stream. - Track Streaming State: Introduce
isStreamingflag on the Store (managed via the Proxy) to distinguish between intermediate progressive updates and the final load completion. - Base Proxy Enhancement: Add
storeconfig toNeo.data.proxy.Baseto give proxies direct access to their owner store.
Goal: Ensure smooth, progressive rendering for large datasets (e.g., DevIndex) without freezing the UI.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
coreCore framework functionalityCore framework functionalityperformancePerformance improvements and optimizationsPerformance improvements and optimizations