feat: integrate omnibus-ts library for DAQ communication#8
feat: integrate omnibus-ts library for DAQ communication#8
Conversation
- Rename channels → series, useOmnibusStore → useLastDatapointStore - Change timeRangeMs → timeRangeSec (use seconds instead of milliseconds) - Split useEffect to clear data only on channelName change - Rewrite tests: use real store, test behavior not implementation - Remove unnecessary mocks and comments - Add ResizeObserver mock, delete redundant vitest-env.d.ts
Use useRef to prevent data loss when timeRangeSec changes. Previously, both effects ran when timeRangeSec changed, causing setData([]) to discard the filtered data.
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing touches🧪 Generate unit tests (beta)
Tip 📝 Customizable high-level summaries are now available in beta!You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.
Example instruction:
Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@danielcwq is this still being worked on? |
|
hey @ChrisYx511 i apologize, i've dropped the ball on this one and am rather swamped right now unfortunately, should i hand it off to someone else to do? |
Summary
Refactors the WebSocket integration to use the official
@waterloorocketry/omnibus-tslibrary instead of direct Socket.IO implementation.Key changes:
communicator()API from omnibus-tsonReceiveDAQcallback for processing DAQ messagessubscribeWithSelectorfor efficient graph updatesTechnical Details
allowExposeSocket: truetemporarily for connection status events (to be removed when library exposes these natively)socket.io-msgpack-parserfor proper Omnibus protocoltoCamelCase()conversionTest Plan
npm run dev:backend+npm run dev)