Skip to content

Commit c65c80e

Browse files
pjdotsonLham42emilbon99
authored
Synnax v0.39 (#1133)
* Auto Update JSON File * SY-1887 Embedded Control Sequences (#1093) * [driver] - built embedded lua * [computron] remove computron, replace with lua interperter. roughly working but not fully tested * [computron] fails nested calcs rn * [driver] - sequences initial commit * check * checkpoint * checkpoint * rough impl * space * checkpoint * undo state source complexity * formatting * checkpoint * [driver] - improved sequence implementation * [driver] - fixed lua build * [driver] - adjusted build * temp remove installer * [driver] - fixed initialization order * [driver] - corrected WORKSPACE to build on windows * [ni] builds * [drift] - tuning to BUILD.bazel * [driver/ni] refactor channel parsing * [driver/ni] formatting * [driver/ni] missed public keyword * [driver/ni] writer tests * [driver/ni] format test * [driver/ni] - updated APIs to use function pointers * [driver] - extracted NI apis into a DLL * [driver] - adjusted daqmx libs * [driver] - adjusted ni build flags * [driver/ni] dig write test * [driver] - fixed linux build issues * [driver] - updated version * [driver] - updated version * [driver] - adjusted ubuntu version * [driver] - adjusted ubuntu version * [driver] - updated version * [driver] - updated version * updated linux version * [driver] -checkpoint * [driver] -checkpoint * [driver] - fixed windows build * [driver] - adjusted sequencing tools * [driver/ni] task * [driver] - fixed ubuntu build issues * [driver/ni] formatting * [driver] - cleaned up shared library implementations * [driver] - re-added labjack integration * [driver] - removed extra log * [synnax] - added sequence to embedded driver integrations * [synnax] - removed branch from synnax deploy * checkpoint * [driver/ni] fix some issues * [driver] - fixed synnax build on windows * [driver] - removed vs comunity from build * build issues * rename * [driver/ni] series * [driver] - cleaned up various ni implementations * [driver] - improved channel source and set operator implementations' * dedup state source * [driver/ni] - lots of code cleanup and cleanliness refactoring * [driver] - ubuntu build issues and improvements * [driver/ni] - fix test case compiling * [driver/ni] checkpoint * [driver] - added embedded state checking on bootup * [driver/ni] still state writing issue * [driver/ni] update test * [driver/ni] checkpoint * [driver/ni] checkpoint * [driver] - fixed issues with merge * [hardware] - fixed rack otg definitions * [synnax] - fixed rack ontology creation * [console] - allowed user to select control sequence rack * [checkpoint] working * [driver/sequence] - added tests for the channel set operator * [driver] - implemented updated specs for setting control authorities on channels * [driver/ni] moved writer related interfaces to writer.h * [driver/sequence] - added correct conversion from numeric to boolean values * [driver/ni] refactor writer and writer channel config parsing * [driver/ni] refactor channels code * [driver/ni] code dedup for sink and tasks * [driver/ni] white space * [driver/ni] format * [driver/ni] comments * [driver/ni] comment * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * [driver] - added daemon implementation for ni linux rt * updated gh release info * [driver] refactor default breaker config * checkpoint * checkpoint * [driver] - cleaned up daemon implementation s * checkpoint * [driver] - updated daemon commands * checkpoint * [driver] - added log tracking commands * [driver] - checkpoint * [driver] - cleaned up main program file * [synnax] - added modal prompting to name sequence * [driver] - resolved build issues with linking systemd * [driver] - improved log tailing functionality * [driver] - added better file system checks * [driver] - updated persisted state location * [driver] - updated persisted state storage path * [driver] - improved install and uninstall logic * [driver] - checkpoint * [driver/ni] update naming of devices * [driver/ni] missed a couple breaker configs * [driver] - updated daemon * [driver/ni] refactor some of the read code * [synnax/pkg/hardware] - improved rack documentation and APIs * [driver] - removed unneeded sys config property * [driver] - checkpoint * [driver] - fixed ni sys cfg prod implementation * [driver] - adjusted chassis filter properties * [driver] - fixed ni sys cfg prod implementation * [driver] - fixed ni sys cfg prod implementation * [driver] - checkpoint * [driver] - fixed filter property in sys cfg * [driver] - checkpoint * [driver] - checkpoint * checkpoint * checkpoint * [driver] pr touchups * [driver/ni] format * [driver/ni] todo * [driver] - fixed windows build and improved sequence state communication * [driver] missed some merge conflicts * [synnax/pkg/hardware] - added tests for embedded rack migrations * [synnax] - implemented tests for moving devices between racks * [driver] - finished refactoring sequence operators * [driver] merge conflict touchups * [driver] fix scanner.cpp * [driver] remove unnecessary logs * [driver] fix digital writes * [driver] - cleaned up sequencing code and test * [driver] - cleaned up pipeline tests * [sequence] - added channel receive tests * [driver/pipeline] - refactored pipeline headers for better test mocking * [client/cpp/telem/series] - cleaned up implementations * [ops/cpp] - fixed issues with test cases * [driver] - added version command * [driver] - fixed GLOG import * [driver] - fixed binary installation issues * [driver] - cached open62541 build * [client/py] - fixed task tests * [console] - fixed lint issues * [ops] - pr adjustments * [synnax] - fixed bazel genrul * [ops] - adjusted embedded driver build * [ops] - tuned github workflow * [ops] - tuned github workflow * [ops] - synnax. added nilinuxrt build * [ops] - synnax. added nilinuxrt build * [ops] - fixed build caching * [ops] - fixed synnax deploy script * [driver] pr touchups * [ops] - addressed PR comments * [console] - refactored task configure modal * [driver] - updated cpp statuses * [ops] - removed .bazelversion file * [ops] - bumped platform version * [driver] - added colorful output to init script logging * [driver] - checkpoint * PR Touchups * [ops] - added driver install script to deployment * [driver] - added colorful output to init script logging * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * [driver] - updated daemon to create pidfile if missing * [driver] - adjusted persisted state reading * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * [driver/opc] - adjusted reinterpret cast * [driver/opc] - fixed SAN value --------- Co-authored-by: emilbon99 <ebonilla@synnaxlabs.com> Co-authored-by: Emiliano Bonilla <56323762+emilbon99@users.noreply.github.com> Co-authored-by: pjdotson <patrick@synnaxlabs.com> * Auto Update JSON File * [cd] update synnax build to remove redundant server build * Fix Commanding Channels with Indexes (#1094) * [driver] - fixed index based series work * [client/cpp] - fixed formatting * [driver] - removed copt ignore * [client/cpp] - fixed series test * [driver] - fixed cpp type tests * [driver] - reverted config changes * Auto Update JSON File * Auto Update JSON File * [ni] error handling * Sy 1335 console support for ni analog writer (#1095) * Change barrel exporting format * Remove unique `Chan` type, rename `Chan` to `Channel * checkpoint * more refactoring * client and ontology changes * rearrange hardware folders * checkpoint * change zod unions to zod enums * update opc configure layout * commit * checkpoint * Checkpoint * Analog Write Task Checkpoint * PR updates * Add support for automatically filling in device when a task is created from the ontology * checkpoint * Updated `useDesiredState.ts` * type assertions * Fix vitest * Changes * More touchups * Add Copy Buttons * Correct casing * Remove console.log * remove unneeded ts expect error * Rename ...props to ...rest * Add back fix * Apply task migrations for analog read * update analog read task schema * touchups * intermediate opc tasks * Edits and working opc tasks * Fix build issues * Update form files * collapse spacing * more touchups * cut lines in enriched.json * More touchups * touchups * updates * edit enable / disable button * checkpoint * More touchups * touchups * NI digital items * touch up digital types * more touchups * fixes * Remove setAltKey logic * Add rack creation logic * More touchups * Rename Configure.tsx to Sequence.tsx * Rename Ontology.BASE_SERVICE to Ontology.NOOP_SERVICE * Rename ontology.RootID to ontology.ROOT_ID * Add type hinting for devices * Rename noneSelectedElement to noneSelectedContent * Add parseWithoutKeyConversion utility function * Rename task generic type names to be more verbose * Change loading symbols to h4 * Add emptyContent checker to list component * Fix pluto build issue * Rename `generateEmpty` to `createEmptyService` * Add types for client ontology types * Add error handling for placing snapshots from range overview * Less verbose naming * Proper key for useCreate * Used component instead of render prop * Add common NULL_CLIENT_ERROR for error handling * Add copyright header * Fix typo * Keep a prop in the `rest` syntax * move COLUMNS to a constant * Naming issues * Add Issue ID to comment * Simplify getOpenPort * Rename `zeroProperties` to `initialProperties` * Use shorthands for analog / digital input / output * [console] - improved null client error' * [console] - css tuning of read tasks * [console] - fixed channel removal behavior * [console] - cleaned up task type definitions --------- Co-authored-by: pjdotson <patrick@synnaxlabs.com> * Auto Update JSON File * SY-1970 Fix Driver Behavior on Server Shutdown (#1098) * Change barrel exporting format * Remove unique `Chan` type, rename `Chan` to `Channel * checkpoint * more refactoring * client and ontology changes * rearrange hardware folders * checkpoint * change zod unions to zod enums * update opc configure layout * commit * checkpoint * Checkpoint * Analog Write Task Checkpoint * PR updates * Add support for automatically filling in device when a task is created from the ontology * checkpoint * Updated `useDesiredState.ts` * type assertions * Fix vitest * Changes * More touchups * Add Copy Buttons * Correct casing * Remove console.log * remove unneeded ts expect error * Rename ...props to ...rest * Add back fix * Apply task migrations for analog read * update analog read task schema * touchups * intermediate opc tasks * Edits and working opc tasks * Fix build issues * Update form files * collapse spacing * more touchups * cut lines in enriched.json * More touchups * touchups * updates * edit enable / disable button * checkpoint * More touchups * touchups * NI digital items * touch up digital types * more touchups * fixes * Remove setAltKey logic * Add rack creation logic * More touchups * Rename Configure.tsx to Sequence.tsx * Rename Ontology.BASE_SERVICE to Ontology.NOOP_SERVICE * Rename ontology.RootID to ontology.ROOT_ID * Add type hinting for devices * Rename noneSelectedElement to noneSelectedContent * Add parseWithoutKeyConversion utility function * Rename task generic type names to be more verbose * Change loading symbols to h4 * Add emptyContent checker to list component * Fix pluto build issue * Rename `generateEmpty` to `createEmptyService` * Add types for client ontology types * Add error handling for placing snapshots from range overview * Less verbose naming * Proper key for useCreate * Used component instead of render prop * Add common NULL_CLIENT_ERROR for error handling * Add copyright header * Fix typo * Keep a prop in the `rest` syntax * move COLUMNS to a constant * Naming issues * Add Issue ID to comment * Simplify getOpenPort * Rename `zeroProperties` to `initialProperties` * Use shorthands for analog / digital input / output * [console] - improved null client error' * [console] - css tuning of read tasks * [console] - fixed channel removal behavior * [console] - cleaned up task type definitions * [ontology/tree] - fixed tree item location * [synnax] - added validation checks for racks with devices still attached * [synnax] - added rack deletion validation checks * [driver] - added transient channel checking to fgrpc * [driver] - checkpoint * [driver] - major refactor for code quality * [driver] - cleaned up config parsing * [driver] - improved task manager implementation * [ops/cpp] - removed usage of float_t * [driver] - fixed linux build issues * [driver] - corrected bazel build rule * [driver] - added cluster key validation * [driver] - fixed cluster identity change checks * [driver] - resolved merge conflicts with RC * [x/cpp] - fixed OS headers * [driver] - fixed embedded build * [driver] - fixed windows build * [driver] - added missing labjack deps * [driver] - fixed labjack windows build * [ops] - fixed formatting and linting issues * [driver] - added tests for x package * [cpp] - fixed freighter and x tests * [x/cpp] - improved flaky loop tests * [driver] - documented config package --------- Co-authored-by: pjdotson <patrick@synnaxlabs.com> * [driver] - fixed ninlinuxrt systemd service * [cd] test windows installer on rc * SY-2041 Clean Up Task Styles (#1099) * [console] - cleaned up console channel name styles * [console] - increased element color contrast * [console] - re-commented CSS file * [console] - fixed accell sensitivity units field style * [console] - fixed task toolbar outlines * [console] - cleaned up overflow styles * [console] - fixed linting issues * Auto Update JSON File * Fix Adding Channels to LabJack tasks, Improve Read Task Forms, Add More Zod Warnings (#1100) * Auto Update JSON File * Replace useContext with use and <Context.Provider> with <Context> * Refactor status aggregator to use two different contexes * Fix effect key * Move schema definition outside of wrapped component * Better describe Form state * Revert commits that should not have gotten pushed * Auto Update JSON File * SY-2052 - Cleaned Up Task Details View (#1104) * [console] - cleaned up task details view * [console] - cleaned up channel list * Auto Update JSON File * SY-1998 Persist Task State on Server Restart (#1101) * [console] - cleaned up console channel name styles * [console] - increased element color contrast * [console] - re-commented CSS file * [console] - fixed accell sensitivity units field style * [console] - fixed task toolbar outlines * [console] - cleaned up overflow styles * [synnax] - persist tast state * [synnax] - implemented persisted tracking for task state * [console] - removed unused import * [cesium] - made control tests more robust * [x/go] - improved PluralName and added specs * SY-1990 Task Manager Refactor, Fix Moving Cards Between Racks (#1102) * [driver] - added skipping of foreign racks * Fix Adding Channels to LabJack tasks, Improve Read Task Forms, Add More Zod Warnings (#1100) * Auto Update JSON File * [driver] - supplemented task manager tests * Replace useContext with use and <Context.Provider> with <Context> * [driver] - refactored task manager to the point where it's more sustainable * [driver] - added shutdown checking package * [driver] - implemented tests for task manager * [driver] - added heartbeat * [driver] - cleaned up heartbeat * [driver] - added tests to CI workflow * [driver] - added driver tests to CI * [driver] - fixed tests in CI * [driver] - removed labjack tests * Refactor status aggregator to use two different contexes * Fix effect key * Move schema definition outside of wrapped component * Better describe Form state * Revert commits that should not have gotten pushed * Auto Update JSON File * [driver] - fixed win32 winsock include issues * [driver] - cleaned up rack implementation * [driver] - cleaned up rack implementation * [driver] - switch fatal log to error log * [driver] - improved xshutdown handling * [x] - fixed linking issues with xshutdown package * [x/cpp] - cleaned up shutdown code * [driver] - improved startup logging * [ops/cpp] - fixed driver testing * [x] - fixed windows shutdown build and added maxium retry interval to breaker * [driver] - cleaned up code * [driver] - updated OPC UA ci builds * [driver] - uncommented OPC tests * [client/cpp] - cleaned up code and fixed out of memory bounds bug * [freighter] - cleaned up implementations * [x] - cleaned up breaker implementation * [driver] - cleaned up config tests * [driver] - cleand up config tests * [driver] - dropped base sequence control authority * [client/cpp] - fixed formattting issues --------- Co-authored-by: Patrick Dotson <123601024+pjdotson@users.noreply.github.com> Co-authored-by: pjdotson <pjdotson@users.noreply.github.com> Co-authored-by: pjdotson <patrick@synnaxlabs.com> Co-authored-by: Elham Islam <elham@synnaxlabs.com> * [x/cpp] - fixed breaker tests * [freighter] - fixed tests * [client/cpp] - fixed framer test cases * [tracker] - fixed test timeout --------- Co-authored-by: Patrick Dotson <123601024+pjdotson@users.noreply.github.com> Co-authored-by: pjdotson <pjdotson@users.noreply.github.com> Co-authored-by: pjdotson <patrick@synnaxlabs.com> Co-authored-by: Elham Islam <elham@synnaxlabs.com> * Auto Update JSON File * SY-2038 Fix Task Layout Key Issues, Refactor Layouts, Add Control Sequence Creation Options (#1107) * Auto Update JSON File * Rename error overlay module * Allow passing optional keys into layouts * Refactor channel layouts * Refactor cluster layouts * Refactor docs layout * Refactor label layouts * Update device layouts * Update task layouts * Update hardware layouts * Refactor visualization layouts * Refactor layouts in Layouts module * Update modal layouts * Update permissions layouts * Update user layouts * Update workspace layouts * Refactor range layouts * Update version layout * Add Visualization selector layout and refactor selectors * Add options for creating sequences from rack and from the command palette * Add setting alt keys to tasks * Minor touchups * Change Selector order * Naming changes * [console] - fixed typos --------- Co-authored-by: Emiliano Bonilla <56323762+emilbon99@users.noreply.github.com> * SY-2050 Refactor Pluto Status Aggregator Rendering, Upgrade to React 19 Context (#1103) * Revert "Revert commits that should not have gotten pushed" This reverts commit 036c189. * Performance improvements in aggregator * remove unneeded typing * [pluto] - cleaned up status aggregator --------- Co-authored-by: Emiliano Bonilla <56323762+emilbon99@users.noreply.github.com> * Auto Update JSON File * [pluto] - fixed status text * Auto Update JSON File * Replace `...props` with `..rest` and remove unneeded children destructuring (#1109) * Replace `...props` with `..rest` and remove unneeded children destructuring * Fix failing form unit tests * Auto Update JSON File * Remove `synnax` CLI Command from Python Client (#1108) * SY-2064 Fix Sequence Control Acquisition (#1106) * [console] - cleaned up console channel name styles * [console] - increased element color contrast * [console] - re-commented CSS file * [console] - fixed accell sensitivity units field style * [console] - fixed task toolbar outlines * [console] - cleaned up overflow styles * [synnax] - persist tast state * [synnax] - implemented persisted tracking for task state * [console] - removed unused import * [cesium] - made control tests more robust * [x/go] - improved PluralName and added specs * [driver] - added skipping of foreign racks * [driver] - supplemented task manager tests * [driver] - refactored task manager to the point where it's more sustainable * [driver] - added shutdown checking package * [driver] - implemented tests for task manager * [driver] - added heartbeat * [driver] - cleaned up heartbeat * [driver] - added tests to CI workflow * [driver] - added driver tests to CI * [driver] - fixed tests in CI * [driver] - removed labjack tests * [driver] - fixed win32 winsock include issues * [driver] - cleaned up rack implementation * [driver] - cleaned up rack implementation * [driver] - switch fatal log to error log * [driver] - improved xshutdown handling * [x] - fixed linking issues with xshutdown package * [x/cpp] - cleaned up shutdown code * [driver] - improved startup logging * [ops/cpp] - fixed driver testing * [x] - fixed windows shutdown build and added maxium retry interval to breaker * [driver] - cleaned up code * [driver] - updated OPC UA ci builds * [driver] - uncommented OPC tests * [client/cpp] - cleaned up code and fixed out of memory bounds bug * [freighter] - cleaned up implementations * [x] - cleaned up breaker implementation * [driver] - cleaned up config tests * [driver] - cleand up config tests * [driver] - dropped base sequence control authority * [driver] - dropped base sequence control authority * [x] - added eventually macros to improve test cases * [x/cpp] - implemented xlua package and added test cases * checkpoint * [driver] - consolidated sequence test case mocks * [driver] - more sequence code cleanup * [synnax] - added rack liveness tracking to task state * state tracker fixes * [driver/heartbeat] - cleaned up implementation and added tests * [cesium] - added gleak testing * [synnax] - cleaned up hardware service * [synnax] - fixed issues with filtering racks with internal tasks * [driver] - fixed issues with arg parsing in config tests * [x/cpp/xargs] - fixed regressions in xargs implementations * [driver] - supplemented sequence tests * [cpp] - fixed issues with test cases * [driver] - fixed issues with multiple lua main defs * [x] - fixed xargs build * [driver] - added server container * [driver] - added server container * [driver] - fixed packages publish * [driver] - fixed packages publish * [driver] - fixed packages publish * [driver] - fixed tests * [console] - fixed palette build issues * update mbedtls linux build * fix duplicate * bazel * [synnax] - addressed pull request issues * [driver] - fixed ubuntu tests on other operating systems * [driver] - cleaned up mbedtls dep * checkpoint * [console] - language server is mostly functional * [pluto] - improved touched behavior in forms * [console] - cleaned up calculated channels * [ops] - refactored vendor libraries * [ops] - updated synnax deploy caching * [console] - fixed linting issues * [ops] - moved OPC build into bazel * updated open62541 build bazel * [ops] - windows build changes * [ops] - windows build changes * [ops] - windows build changes * added rules foreign cc * added rules foreign cc * [console] - fixed dev deps * [console] - updated deploy CI * [console] - updated deploy CI * [console] - updated deploy CI * [console] - updated deploy CI * [console] - updated deploy CI * [console] - updated deploy CI * [x/cpp] - loosened up target thresholds * [console] - fixed sign CI * [console/editor] - fixed iconography --------- Co-authored-by: Elham Islam <elham@synnaxlabs.com> Co-authored-by: Elham Islam <32990373+Lham42@users.noreply.github.com> * Auto Update JSON File * [cesium] - addded open signaling to cesium test cases * [synnax] - fixed race conditions in tracker tests * [synnax] - commented mixed scenarios back in * [synnax] - commented mixed scenarios back in * [synnax] - commented mixed scenarios back in * [ops] - switched to ginkgo for go tests * SY-2099 Fix Dead Rack Warning (#1117) * [driver] - fixed embedded driver options and color logging * [synnax] - fixed control key * [console] - fixed ci on pull requests * Auto Update JSON File * SY-2047 - Remove Circular Dependencies from TypeScript codebase (#1110) * Remove circular dependencies * Add `madge`, a dev tool for checking internal dependencies * Auto Update JSON File * SY-1982 - Update Minimum Python Version on Documentation Site and `pyproject.toml`s (#1111) * SY-2049 - Fix Labjack Port Override (#1121) * Auto Update JSON File * SY-2100 - Make Sure Geist Mono Gets Correctly Imported into Windows Text Editor (#1118) * [console] - maded sure geist mono gets correctly imported on windows * [console/ops] - added lsp mocking on pull request * [console/ops] - added lsp mocking on pull request * Auto Update JSON File * SY-2101 - Fix Range Layout Not Found On Delete (#1120) * [console] - fixed layout remover and added test cases * [console] - fixed OPC UA read task styles * [synnax] - fixed back token test file * [ops/ts] - addressed merge conflicts * [console] - fixed build * PR Touchups --------- Co-authored-by: pjdotson <patrick@synnaxlabs.com> * SY-1951 - Implement Proper Tests & Handling of Expired Tokens (#1119) * [synnax] - implemented proper tests and handling of expired tokens * [client/cpp & synnax] - fixed build issues * [x/xerrors] - removed variadic matches function * [x/cpp/errors] - fixed linting issues * [client/py & client/ts] - implemented auth token retry * [client/py] - fixed merge conflicts * Auto Update JSON File * SY-2098 Show Port Alias Instead of Port for LabJack DIO Ports (#1124) * Switch shown LabJack ports to port aliases * Update rendering based off of device model instead of device * Auto Update JSON File * Minor Task Touchups (#1130) * Auto Update JSON File * SY-1992 Show Rack on Task Form (#1129) * Add <Hardware.Common.Task.Rack> component * [console] - improved rack indicator display --------- Co-authored-by: Emiliano Bonilla <56323762+emilbon99@users.noreply.github.com> * Auto Update JSON File * Fix Workspaces Failing to Save Visualizations from bad UUIDs (#1128) * Fix Workspaces Failing to Save Visualizations from bad UUIDs * Make selector layouts for visualizations generate UUIDs * Auto Update JSON File * SY 2058: Fix `useDesiredState`, pausing / playing tasks, and tasks toolbar (#1123) * Auto Update JSON File * Format freighter/py/freighter/mock.py * Fix incorrect config file * SY-1999 Update Task Configuration Schemas (#1126) * Auto Update JSON File * Fix Palette Switching and Update Pluto Dialog Hook (#1132) * Auto Update JSON File * SY-2108 Refactor NI, Labjack, and OPC UA Drivers (#1131) * [driver/sequence] - improved data type coersion/errors * [driver/sequence] - improved data type coersion error messages * [driver/sequence] - fixed long long tests * [xlua] - fixed integer max implementation * [client/cpp] - implemented clock skew checking in C++ client * test commit * [x/cpp] - fixed clock skew build * remove needless typing from tasks * update cargo lockfile * [synnax] - implemented proper tests and handling of expired tokens * [client/cpp & synnax] - fixed build issues * [x/xerrors] - removed variadic matches function * [x/cpp/errors] - fixed linting issues * checkpoint * checkpoint * checkpoint * checkpoint * [driver] - continued to make progress on driver refactor * [driver/ni] - more cleanup * checkpoint * [driver/ni] - moved channels into their own package and refactored scanner * [driver/ni] - started work on error parsing * [driver/ni] - started work on error parsing * [driver] - fixed bugs with read task * [client/py & client/ts] - implemented auth token retry * [client/py] - fixed merge conflicts * [x] - implemented tests for linspace * checkpoint * [driver/ni] - refactored read task to remove threading * Remove console.log statements * Finish Refactoring Toolbar.tsx * [driver/ni] - tightened up task configuration logic * [driver/ni] - further consolidation and cleanup * [driver/ni] - fixed high water marking * [driver] - added pipeline source error handling functionality * [driver/ni] - improved error buffer allocation * [driver/ni] - minor task refactoring * [driver/ni] - added will reconfigure checks * [driver/ni] - checkpoint * [driver/ni] - refactored channel names * Update * [driver/ni] - implemented tests for write tasks * [driver/ni] - added write task tests * [driver/ni] - fixed digital read config * [driver/ni] - fixed device retrieval * [driver/ni] - added stop write propagation * [driver/ni] - more cleanup and better specs * [driver/ni] - cleaned up error type handling * [driver/ni] - more cleanup * [x/cpp/telem] - cleaned up telem.h file * [driver/ni] - more refactoring and standardization * [driver/ni] - added tests for scaling * [driver/ni] - implemented tests for state lifecycle handling * [driver/ni] - improved documentation * [x/cpp] - added infinite retry to breaker * [driver] - fixed compilation * [driver/ni] - fixed software timing * [driver/ni] - cleaned up read task sample clock * [driver/ni] - adjusted sample clock * [driver/ni] - added loop gauge checking * [vendor] - fixed cached vendoring issues with open62541 * [driver] - fixed telem tests * [driver] - fixed test cases * [x/cpp/telem] - added vector timestamp construction * [client/cpp] - adjusted frame specs * [client/cpp] - adjusted frame specs * [client/cpp] - adjusted frame specs * [client/cpp] - adjusted frame specs * [client/cpp] - adjusted frame specs * [x/cpp] - cleaned up telemetry primitives * cat * cat * checkpoint * checkpoint * [x/cpp] - fixed telem definitions * [x/cpp/telem] - fixed issues with invalid stack index * [client/cpp] - cleaned up framer * [driver] - fixed timespan build problems * [driver] - fixed labjack queue * checkpoint * [driver/labjack] - major refactor * [driver/labjack] - more refactoring * [driver/labjack] - more refactoring * [driver/labjack] - checkpoint * [driver/labjack] - added ljm dynamic lib loading * [driver/labjack] - fixed build issues * [driver/labjack] - more cleanup * [drive/opc] - added static mbedtls build * Update Cargo lockfile * Update type hintings for `useMutation * Update Sequence code to match Common.Task.Form code * [driver] - fixed mbedtls build * [driver/labjack] - fixed scanner compilation issues * abstract parseState out * Minor simplifications in Toolbar.tsx * Update Toolbar to use state values instead * [driver/labjack] - fixed initialization * [driver/labjack] - touchups * [driver/labjack] - added sample interpolation * [driver/labjack] - ljm cleanup * [driver/labjack] - more cleanup * [driver/opc] - started refactor * Updates * [driver] - continued to improve integration cleanliness * [driver/task/common] - implemented thorough tests for common read task * [driver] - improved write task tests * [driver/labjack] - added connection retries * [driver/labjack] - retry improvements * [driver/ni] - improved disconnected device retry * [driver/ni] - added device reset functionality * [driver/ni] - retry handling * [driver] - fixed tests * [driver] - added tests for task retries * [driver] - consolidated scan task * [x/cpp] - fixed xjson parse * [driver/common] - added tests for scan task * [x] - improved test cases * [driver] - implemented proper scaling and added tests * [driver] - fixed LJM build on ubuntu * [driver] - various tasking improvements * [driver] - code cleanup * [xtest] - added chrono duration to eventually nil --------- Co-authored-by: pjdotson <patrick@synnaxlabs.com> Co-authored-by: Elham Islam <elham@synnaxlabs.com> * Auto Update JSON File * [synnax] - fixed default integration start flags * Auto Update JSON File * SY-2119 Fix Failed to Expand Group Error (#1135) * Auto Update JSON File * SY-2121: Fix TypeScript Hardware Client Encoders / Decoders (#1134) * Auto Update JSON File * Auto Update JSON File * SY-2124 Update Rust, TypeScript Dependencies (#1136) * Upgrade Rust dependencies * Update TypeScript dependencies * Make useThemeProvider more concise * Update pnpm lockfile * Auto Update JSON File * SY-2128: Fix Driver Heartbeat (#1138) * [driver] - fixed data type inference * [driver] - fixed heartbeat construction * [synnax] - upgraded to macos 15 * SY-2122 Fix OPC UA Read Task Configuration (#1140) * Add integer schema to x * Change encoders / decoders * commit * more opc task fixes * Update Scan Names * Merge schema and zodutil into one zod package * merge * Remove console.log * Update python modules (#1139) * Auto Update JSON File * SY-2144 Update Go Deps, Migrate to Pebble v2 (#1141) * SY-2169: Fix LabJack T4 Ports (#1144) * Auto Update JSON File * [driver/ni] - fixed device scanner not ignoring certain models (#1148) * [x/ts] - fixed issues with bigint series construction (#1142) * Auto Update JSON File * [client/py] - fixed stream writing example * SY-2155: Bound Schematic Control Authority Selector (#1143) * SY-2156 - Properly Handle Disabled Channels in Scale Transform (#1145) * [driver] - omitted scale parsing for disabled channels * [driver] - implemented tests for disabled channels in scale transform * [driver/transform] - renamed variables * Auto Update JSON File * SY-2076 - Add Sequence Steps to QA, Implement tests for timing plugins, and add auto-complete to sequence editor (#1153) * SY-2174 - Fix Padding on User Registration Dialog (#1155) * SY-2172 - Disable Copying Schematic Snapshot (#1156) * Auto Update JSON File * Correctly place task name from layouts (#1158) * Auto Update JSON File * SY-2179 - Fix Shutdown Panic: Missing Cancel Error #1146 - [freighter/go] - fixed invalid context propagation * SY-2181 - Python Client Better Communication of Writer Errors (#1149) * [client/py] - improved writer error handling mechanisms * [client/py] - improved writer error handling docs * [client/py] - code formatting * [client/py] - updated write protocol * SY-2164 - Fix Auto Complete Not Working On Calc Channels (#1147) * [freighter/go] - fixed invalid context propagation * [console] - fixed auto-complete in calculated channels dialogP * [console] - various PR tweaks * SY-2103 - Rename Handle Exception to Handle Error (#1151) * [console] - added bounding to control authority input * [ops/ts] - fixed authority constant typo * [console] - fixed various small control issues * [ops/ts] - renamed exceptionHandler to errorHandler * [pluto/status] - renamed various variables from exception -> error * [console] - fixed various error handling renames * [console] - fixed calculations * Fix User Permissions Dialog (#1159) Co-authored-by: Emiliano Bonilla <56323762+emilbon99@users.noreply.github.com> * Auto Update JSON File * SY-2183 - Fix Channel Null Pointers When Configuring Read Tasks (#1152) * [driver] - fixed invalid channel type in read task * [console] - fixed missing channel types for digital inputs/outputs * [driver] - improved validation test cases * SY-2133 - Fix Cmd+Enter in Configure Device Modals (#1157) * Auto Update JSON File * SY-1116 - Fix Bleve Race Condition on Server Startup (#1154) * Remove Max Voltage Field from LabJack Read Task Thermocouple Channels (#1163) * SY - 2187 - Fix Rack Renaming (#1160) * [client/ts] - fixed and added specs for rack renaming * Update client/ts/src/hardware/rack/payload.ts Co-authored-by: Patrick Dotson <123601024+pjdotson@users.noreply.github.com> * [client/ts] - fixed rack payload --------- Co-authored-by: Patrick Dotson <123601024+pjdotson@users.noreply.github.com> * SY-2182 - Typescript Client Better Communication of Writer Errors (#1150) * [client/ts] - improved writer error handling * [client/ts & docs/ts] - updated write documentation * [docs/site] - added error handling section to write data docs in typescript client * Auto Update JSON File * SY-2188 - Fix Named Parameter Convention in Range Docs (#1164) * SY-2130 - Fix LabJack Thermocouple #1162 * SY-2160: Add Duplicate Channels to Task Channel List Context Menu (#1161) * Add duplicate channels to Tasks * Only select newly created channels after the selection * Auto Update JSON File * SY-2104 - Improved Driver & Server Early Shutdown Mechanics (#1165) * SY-2192: Fix Bad Event Listener Cleanup (#1168) * Auto Update JSON File * SY-2166 - Task Rename Synchronization in Console (#1166) * [console] - improved task renaming semantics * Update console/src/layout/selectors.ts Co-authored-by: Patrick Dotson <123601024+pjdotson@users.noreply.github.com> * [synnax] - fixed task snapshot rename mechanisms * [driver] - supplemented task manager test --------- Co-authored-by: Patrick Dotson <123601024+pjdotson@users.noreply.github.com> * Auto Update JSON File * Remove extra divider from context menu * Auto Update JSON File * SY-2153 Fix Blank Task Status Message, SY-2163 Fix Sequence Flashing, SY-2171 Update Status Colors on Task Toolbar (#1167) * Fix task issues * Add explainer comment in Task.tsx * [console] - improved task parent snapshotted client --------- Co-authored-by: Emiliano Bonilla <56323762+emilbon99@users.noreply.github.com> * Auto Update JSON File * [console] - fixed read task load * Auto Update JSON File * SY-2177: Fix OPC UA Read Task Configuration Logic (#1169) * Clean up OPC UA Write Task * Update read task configuration * [driver] - added optional array size validation * [driver/task/common] - fixed read task tests * [x/cpp] - fixed unsupported data type error (#1171) * [driver] - opc - fixed array sampling * Touchups * [console] - task styling --------- Co-authored-by: Emiliano Bonilla <56323762+emilbon99@users.noreply.github.com> * Hide import schematic command * Auto Update JSON File * [driver] - fixed opc write task to pull from command channel * Fix OPC UA Write Task TypeScript Channel Parsing * Auto Update JSON File * [synnax] - added device migrations to correct folders * Upload Windows installer in driver/server CD * SY-2200 - Change DAQmx Default Sampling Mode (#1173) * [driver/ni] - changed DAQmx default sampling mode * [driver/ni] - reverted scan task * [synnax] - improved CI * [synnax] - fixed ubuntu build * [ops/synnax] - fixed synnax deploy on ubuntu latest * Choose better names for LabJack Write Channels * Auto Update JSON File * [x/cpp] - fixed windows shutdown * [x/cpp] - cleanup * [driver] - fixed test ubuntu deps --------- Co-authored-by: pjdotson <pjdotson@users.noreply.github.com> Co-authored-by: Elham Islam <32990373+Lham42@users.noreply.github.com> Co-authored-by: emilbon99 <ebonilla@synnaxlabs.com> Co-authored-by: Emiliano Bonilla <56323762+emilbon99@users.noreply.github.com> Co-authored-by: emilbon99 <emilbon99@users.noreply.github.com> Co-authored-by: Elham Islam <elham@synnaxlabs.com>
1 parent a79ffdc commit c65c80e

File tree

1,430 files changed

+79671
-62366
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,430 files changed

+79671
-62366
lines changed

.bazelrc

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
# Specifies compilation with c++ version 17.
22
# build --action_env=BAZEL_CXXOPTS="-std=c++20" --enable_runfiles
33
build --enable_platform_specific_config
4-
build:macos --cpu=darwin_arm64 --cxxopt=-std=c++20 --host_cxxopt=-std=c++20
4+
build:macos --cpu=darwin_arm64 --cxxopt=-std=c++20 --host_cxxopt=-std=c++20
5+
build:macos --copt=-w --host_copt=-w
56
build:linux --cxxopt=-std=c++17 --host_cxxopt=-std=c++17 --copt=-Wno-error
67
build:windows --enable_runfiles --cxxopt=/std:c++20 --host_cxxopt=/std:c++20
7-
# startup --output_user_root=C:/tmp
8+
#startup --output_user_root=C:/tmp

.clang-format

+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Generated from CLion C/C++ Code Style settings
2+
---
3+
Language: Cpp
4+
BasedOnStyle: LLVM
5+
AccessModifierOffset: -4
6+
AlignConsecutiveAssignments: false
7+
AlignConsecutiveDeclarations: false
8+
AlignOperands: true
9+
AlignTrailingComments: false
10+
AlwaysBreakTemplateDeclarations: Yes
11+
BraceWrapping:
12+
AfterCaseLabel: false
13+
AfterClass: false
14+
AfterControlStatement: false
15+
AfterEnum: false
16+
AfterFunction: false
17+
AfterNamespace: false
18+
AfterStruct: false
19+
AfterUnion: false
20+
AfterExternBlock: false
21+
BeforeCatch: false
22+
BeforeElse: false
23+
BeforeLambdaBody: false
24+
BeforeWhile: false
25+
SplitEmptyFunction: true
26+
SplitEmptyRecord: true
27+
SplitEmptyNamespace: true
28+
BreakBeforeBraces: Custom
29+
BreakConstructorInitializers: AfterColon
30+
BreakConstructorInitializersBeforeComma: false
31+
ColumnLimit: 88
32+
CompactNamespaces: true
33+
ConstructorInitializerAllOnOneLineOrOnePerLine: false
34+
ContinuationIndentWidth: 8
35+
IncludeCategories:
36+
- Regex: '^<.*'
37+
Priority: 1
38+
- Regex: '^".*'
39+
Priority: 2
40+
- Regex: '.*'
41+
Priority: 3
42+
IncludeIsMainRegex: '([-_](test|unittest))?$'
43+
IndentCaseLabels: true
44+
IndentWidth: 4
45+
InsertNewlineAtEOF: true
46+
MacroBlockBegin: ''
47+
MacroBlockEnd: ''
48+
MaxEmptyLinesToKeep: 2
49+
SpaceAfterCStyleCast: true
50+
SpaceAfterTemplateKeyword: false
51+
SpaceBeforeRangeBasedForLoopColon: false
52+
SpaceInEmptyParentheses: false
53+
SpacesInAngles: false
54+
SpacesInConditionalStatement: false
55+
SpacesInCStyleCastParentheses: false
56+
SpacesInParentheses: false
57+
TabWidth: 4
58+
...

.github/PULL_REQUEST_TEMPLATE/rc.md

+26
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,32 @@ I can successfully:
439439
- Visualization Toolbar
440440
- Range Details Overview
441441

442+
### Control Sequences
443+
444+
I can successfully:
445+
446+
- [ ] Create a new control sequence from the mosaic.
447+
- **Search and Command Palette**
448+
- [ ] Create a new control sequence.
449+
- [ ] Open an existing control sequence.
450+
- **Context Menu**
451+
- [ ] Rename a control sequence.
452+
- [ ] Delete a control sequence.
453+
- **Sequence Editing**
454+
- [ ] Edit a control sequence and see auto-complete suggestions for channels.
455+
- [ ] Edit a control sequence and see auto-complete suggestions for the following
456+
built-in functions:
457+
- [ ] `elapsed_time_within`
458+
- [ ] `elapsed_time`
459+
- [ ] `iteration`
460+
- [ ] `set`
461+
- [ ] `set_authority`
462+
- [ ] Accept channel auto-complete suggestions and see the correct channel populated
463+
in the "read_from" or "write_to" fields.
464+
- [ ] Manually configure the `read_from` and `write_to` fields.
465+
- [ ] Set the sequence control rate.
466+
- [ ] Configure, start, and correctly operate a minimal bang bang control sequence.
467+
442468
### Tasks
443469

444470
I can successfully:

.github/workflows/deploy.console.yaml

+27-2
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,16 @@ jobs:
149149
- name: Checkout Repository
150150
uses: actions/checkout@v4
151151

152+
- name: Update Submodules on Push
153+
if: github.event_name == 'push'
154+
run: git submodule update --init --recursive
155+
156+
- name: Mock Resources on Pull Request
157+
if: github.event_name == 'pull_request'
158+
run: |
159+
mkdir -p vendor/lua-language-server
160+
touch vendor/lua-language-server/placeholder.txt
161+
152162
- name: Set up pnpm
153163
uses: pnpm/action-setup@v4
154164

@@ -175,7 +185,7 @@ jobs:
175185
uses: Swatinem/rust-cache@v2
176186
with:
177187
workspaces: console/src-tauri -> target
178-
key: ${{ runner.os }}
188+
shared-key: ${{ runner.os }}
179189

180190
- name: Turbo Cache
181191
uses: actions/cache@v3
@@ -194,6 +204,21 @@ jobs:
194204
# We need to build the console separately WITHOUT turbo repo because of strange
195205
# incompatibility issues with rust builds.
196206

207+
- name: Pre-sign Embedded lua-language-server (Before Build)
208+
if: matrix.os == 'macos-latest' && github.event_name == 'push'
209+
env:
210+
APPLE_SIGNING_IDENTITY: ${{ env.CERT_ID }}
211+
run: |
212+
# Adjust this path to point to the embedded binary in your repository.
213+
EMBEDDED_BIN_REPO="vendor/lua-language-server/bin/macOS/lua-language-server"
214+
if [ ! -f "$EMBEDDED_BIN_REPO" ]; then
215+
echo "Embedded binary not found at $EMBEDDED_BIN_REPO"
216+
exit 1
217+
fi
218+
echo "Pre-signing embedded binary at $EMBEDDED_BIN_REPO..."
219+
codesign --force --options runtime --timestamp --sign "$APPLE_SIGNING_IDENTITY" "$EMBEDDED_BIN_REPO"
220+
codesign --verify --verbose "$EMBEDDED_BIN_REPO"
221+
197222
- name: Build
198223
env:
199224
NODE_OPTIONS: "--max_old_space_size=4096"
@@ -324,4 +349,4 @@ jobs:
324349
default_author: github_actor
325350
message: Auto Update JSON File
326351
pull: --commit --no-edit
327-
push: origin main --force
352+
push: origin main --force

0 commit comments

Comments
 (0)