Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Synnax v0.34.0 RC #914

Merged
merged 28 commits into from
Nov 13, 2024
Merged

Synnax v0.34.0 RC #914

merged 28 commits into from
Nov 13, 2024

Conversation

Lham42
Copy link
Contributor

@Lham42 Lham42 commented Nov 11, 2024

Release Candidate Pull Request

Key Information

  • Version Number:

QA Template

  • I have verified that any changes to the rc.md template in this diff have been manually added to this pull request.

Versioning

Version Consistency

I have verified that the following files have the same minor version number:

  • alamos/py
  • alamos/ts
  • client/py
  • client/ts
  • console
  • drift
  • freighter/py
  • freighter/ts
  • media
  • pluto
  • server
  • x/ts
  • Root package.json file

Version Conflicts

I have verified that, when released, the following packages will not conflict with any previously released packages:

User Documentation

Content Changes

I have verified that user-facing documentation for each of the following services has been updated to match any changes in the release candidate:

  • reference/cluster
  • reference/concepts
  • reference/console
  • reference/control
  • reference/device-drivers/labjack
  • reference/device-drivers/ni
  • reference/device-drivers/opc-ua
  • reference/pluto
  • reference/python-client
  • reference/typescript-client

Examples

I have verified that code examples for each of the following services run correctly:

  • client/py
  • client/ts
    • Version number in examples/node is up-to-date
  • drift/electron
  • drift/tauri
  • pluto

Release Notes

  • I have verified that release notes exist for this release.

Console

Channels

I can successfully:

  • Create Channel Modal
    • Create a new channel from the command palette.
    • Create multiple channels with the "Create More" flag set to true.
  • Resources Toolbar
    • Open a channel plot by double-clicking it.
    • Drag and drop a channel onto a line plot.
    • Drag and drop a channel onto the line plot toolbar.
    • Context Menu
      • Rename a channel.
      • Delete a channel.
      • Delete multiple channels.
      • Group channels.
      • Add a channel to an active plot.
      • Add multiple channels to an active plot.
      • Add a channel to a new plot.
      • Add multiple channels to a new plot.
      • Set an alias for a channel under a range.
      • Clear an alias for a channel under a range.
      • Copy a link to a channel.
  • Search and Command Palette
    • Open a channel plot by its name.
    • Open the "Create Channel" modal.
  • Open a channel plot from a link.
  • Rename a channel and ensure the change synchronizes properly across:
    • Resources Toolbar
    • Line Plot Visualization Toolbar
    • Log Visualization Toolbar
    • Schematic Visualization Toolbar
    • Task Configuration Dialog
  • Set an alias for a channel and ensure the change synchronizes properly across:
    • Resources Toolbar
    • Line Plot Visualization Toolbar
    • Log Visualization Toolbar
    • Schematic Visualization Toolbar
    • Task Configuration Dialog
  • Remove an alias for a channel and ensure the change synchronizes properly across:
    • Resources Toolbar
    • Line Plot Visualization Toolbar
    • Log Visualization Toolbar
    • Schematic Visualization Toolbar
    • Task Configuration Dialog

Clusters

I can successfully:

  • Connect Cluster Modal
    • Test a cluster connection.
    • Connect to a cluster.
  • Dropdown
    • Add a new cluster.
    • Connect to a cluster by selecting it.
    • Disconnect from a cluster by selecting it.
    • View the default local cluster in the selector.
    • View the default demo cluster in the selector.
    • Context Menu
      • Connect to a cluster.
      • Disconnect the active cluster.
      • Rename a cluster.
      • Remove a cluster.
      • Copy a link to a cluster.
  • Search and Command Palette
    • Open the "Connect Cluster" modal.
  • Open a cluster from a link.
  • Receive meaningful feedback when a cluster connection fails.

Devices

I can successfully:

  • Resources Toolbar
    • Context Menu
      • Group devices.
      • Configure an unconfigured device.
      • Rename a device.
      • Delete a device.

Documentation

I can successfully:

  • Open documentation from the command palette.
  • Open documentation from the question mark icon.
  • Close and reopen documentation.

Labels

I can successfully:

  • Open the "Edit Label" modal from the command palette.
  • Add a new label.
  • Edit an existing label's name.
  • Change the color of an existing label.
  • Rename a label and ensure the change synchronizes with the range toolbar.
  • Change a label's color and ensure the change synchronizes with the range toolbar.

Layout

I can successfully:

  • Drag and drop a mosaic leaf into a new window.
  • Split a mosaic horizontally.
  • Split a mosaic vertically.
  • Rename a tab by double-clicking its name.
  • Close layout tabs by clicking the close icon.
  • Context Menu
    • Split a mosaic horizontally.
    • Split a mosaic vertically.
    • Focus on a leaf.
    • Open a leaf in a new window.
  • Rename a tab with Cmd + R.
  • Close layout tabs with Cmd + W.
  • Focus using Cmd + F.
  • Open in a new window with Cmd + O.
  • Search and Command Palette
    • Toggle the color theme.

Line Plots

I can successfully:

  • Create a new line plot from the mosaic.
  • Visualization
    • Plot a historical range of data.
    • Plot a live range of data.
    • Move channels between axes.
    • Adjust the line thickness.
    • Relabel a line.
    • Set the plot title.
    • Download a range as a CSV.
    • Create a range from line plot selection.
    • Use the measuring tool on the line plot.
    • Rename a line plot from its tab title.
    • Export a line plot.
    • Copy a link to a line plot.
  • Resources Toolbar
    • Open a plot by selecting it.
    • Drag a plot onto the mosaic.
    • Context Menu
      • Rename a plot.
      • Delete a plot.
      • Delete multiple plots.
      • Export a plot.
      • Export multiple plots.
      • Copy a link to a plot.
  • Search and Command Palette
    • Open an existing line plot.
    • Create a new line plot.
    • Open the "Import Line Plot" dialog.
  • Open a line plot from its link.
  • Import a line plot.
  • Rename a line plot and ensure synchronization across:
    • Resources Toolbar
    • Mosaic Tab
    • Visualization Toolbar

Logs

I can successfully:

  • Create a new log from the visualization selector.
  • Visualization
    • Rename a log from its mosaic tab title.
    • Scroll to view historical data.
    • Stream data from a virtual channel.
    • Stream data from a persisted channel.
    • Pause and resume scrolling using the streaming icon in the top right.
    • Switch the logging channel and observe data switching.
    • Preserve log data from a virtual channel in the buffer.
    • Copy a link to a log.
  • Resources Toolbar
    • Open a log by selecting it.
    • Drag a log onto the mosaic.
    • Context Menu
      • Rename a log.
      • Delete a log.
      • Delete multiple logs.
      • Group logs.
      • Copy a link to a log.
  • Search and Command Palette
    • Create a new log.
    • Open an existing log.
  • Open a log from its link.
  • Rename a log and ensure synchronization across:
    • Visualization Toolbar
    • Resources Toolbar
    • Mosaic Tab Name

Ontology

I can successfully:

  • Create a new group and move resources to it.
  • Move resources between groups.
  • Rename a group.
  • Delete a group.

Permissions

I can successfully:

  • As a user without schematic permissions:
    • Cannot open the "Create Schematic" dialog from the command palette.
    • Cannot create a new schematic from the workspace resources toolbar.
    • Cannot import a schematic from the workspace resources toolbar.
    • Cannot import a schematic via drag-and-drop.
    • Can actuate valves on a schematic.
    • Cannot switch to edit mode on a schematic.
  • As a user without admin permissions:
    • Cannot open the "Register User" dialog from the command palette.
    • Cannot delete users, open the permissions dialog, or change a username from the resources toolbar.

Ranges

I can successfully:

  • Create Range Modal
    • Create a new local range.
    • Create a new persisted range.
    • Create a range with a parent range.
    • Add labels while creating a range.
  • Range Details
    • Rename a range.
    • Rename a range from the tab name.
    • Change start and end times.
    • Add labels.
    • Set metadata.
    • Open a link from metadata.
    • Delete metadata.
    • Add child ranges.
    • Open snapshots.
    • Navigate to and from child ranges.
  • Search and Command Palette
    • Open an existing range layout window.
    • Open the "Create Range" dialog.
  • Range Toolbar
    • Open the "Create Range" modal from the toolbar.
    • Switch the active range by clicking it.
    • Context Menu
      • Open the "Create Range" modal.
      • Open the range layout tab.
      • Set an active range.
      • Remove an active range.
      • Rename a range.
      • Open the "Create Range" modal with a child range.
      • Add to the active line plot.
      • Add to a new line plot.
      • Remove from the range toolbar.
      • Delete a persisted range.
      • Copy a link to a persisted range.
      • Save a local range to Synnax.
  • Resources Toolbar
    • Open the range overview dialog by double-clicking a range.
    • Context Menu
      • Set an active range.
      • Remove an active range.
      • Open the range layout.
      • Rename a range.
      • Open the "Create Range" modal with a child range.
      • Group ranges.
      • Add to the active line plot.
      • Add multiple ranges to the active line plot.
      • Add to a new line plot.
      • Add multiple ranges to a new line plot.
      • Delete a range.
      • Delete multiple ranges.
      • Copy a link to a range.
  • Open a range from its link.
  • Rename a range and ensure synchronization across:
    • Resources Toolbar
    • Range Overview
    • Range Overview Tab Name
    • Ranges Toolbar
  • Change the time of a range and ensure synchronization across:
    • Range Details
    • Ranges Toolbar
  • Add or remove child ranges and ensure synchronization across:
    • Resources Toolbar
    • Range Details
  • Snapshot a schematic or task and ensure synchronization across:
    • Resources Toolbar
    • Range Details
  • Ensure channel aliases synchronize correctly across:
    • Resources Toolbar
    • Line Plot
    • Line Plot Toolbar
    • Task Configuration Dialog
    • Schematic Value Tooltip

Schematics

I can successfully:

  • Create a new schematic from the mosaic.
  • Visualization
    • Display live data on a value.
    • Actuate a valve.
    • Select and change the color of multiple elements.
    • View the list of writers in control on the schematic.
    • Acquire absolute control over an autosequence.
    • Copy a link.
    • Export a schematic.
  • Resources Toolbar
    • Double-click a schematic to load it.
    • Drag a schematic onto the mosaic to load it.
    • Context Menu
      • Export a schematic.
      • Export multiple schematics.
      • Rename a schematic.
      • Delete a schematic.
      • Delete multiple schematics.
      • Snapshot a schematic to the active range.
      • Snapshot multiple schematics to the active range.
      • Make a copy of a schematic.
      • Copy multiple schematics.
      • Copy a link to a schematic.
  • Search and Command Palette
    • Open an existing schematic.
    • Open the "Create Schematic" dialog.
  • Rename a schematic and ensure synchronization across:
    • Mosaic Tab
    • Resources Toolbar
    • Visualization Toolbar
  • Rename a schematic snapshot and ensure synchronization across:
    • Mosaic Tab
    • Resources Toolbar
    • Visualization Toolbar
    • Range Details Overview

Tasks

I can successfully:

  • Resources Toolbar
    • Open task configuration by double-clicking.
    • Context Menu
      • Snapshot a task to the active range.
      • Snapshot multiple tasks to the active range.
      • Rename a task.
      • Group tasks.
      • Delete a task.
      • Delete multiple tasks.
      • Copy a link to a task.
  • Tasks Toolbar
    • Pause and play a task.
    • Open task configuration by double-clicking.
    • Context Menu
      • Pause a task.
      • Start a task.
      • Open task configuration.
      • Copy a link to a task.
  • Search and Command Palette
    • Open an existing task configuration.
  • Open a task configuration from a link.
  • Rename a task and ensure synchronization across:
    • Resources Toolbar
    • Task Toolbar
    • Task Configuration Tab Name
    • Task Configuration Title
  • Rename a task snapshot and ensure synchronization across:
    • Resources Toolbar
    • Task Toolbar
    • Task Configuration Tab Name
    • Task Configuration Title

Users

I can successfully:

  • Resources Toolbar
    • Open the "Permissions" dialog.
    • Rename a user.
    • Delete a user.
    • Delete multiple users.
  • Search and Command Palette
    • Register a new user.
  • Grant permissions to a user from the resources toolbar.
  • Change a user's username and log in with the new username.

Workspaces

I can successfully:

  • Create a new workspace.
  • Workspace Selector
    • Create a new workspace.
    • Switch workspaces in the selector.
    • Clear workspaces from the selector.
  • Resources Toolbar
    • Switch workspaces in the resources view.
    • Context Menu
      • Rename a workspace.
      • Delete a workspace.
      • Create a new line plot in a workspace.
      • Create a new log in a workspace.
      • Create a new schematic in a workspace.
      • Import a line plot.
      • Import a schematic.
  • Open a workspace from a link.
  • Search and Command Palette
    • Open the "Create Workspace" dialog.
    • Open an existing workspace.
  • Rename a workspace and ensure synchronization across:
    • Resources Toolbar
    • Workspace Selector
  • Create a workspace in a previous version of Synnax, add visualizations, and open it in the release candidate.

Version

I can successfully:

  • View the correct version in the bottom navbar.
  • Verify that the auto-update functionality works correctly.

Driver

General

I can successfully:

  • Run the driver for long periods with minimal memory leakage.
  • Handle invalid device configurations and receive meaningful feedback:
    • Invalid ports.
    • Incorrect task type for devices (e.g., analog read on an analog output device).
    • Out-of-range values.
    • Multiple tasks using the same channel.
    • Device disconnection during a running task.
  • Shut down the server (Ctrl + C) without errors from the driver routine.

LabJack

I can successfully:

  • Enable and disable LabJack integration when starting the server.
  • Recognize and connect to a LabJack device available locally.
  • Save device configuration.
  • Run the driver without the LabJack library installed.
  • Read Task
    • Plot live analog data.
    • Plot live digital data.
    • Tare data from multiple channels on a device.
    • Plot data with a linear scale applied.
    • Stop, start, and reconfigure tasks multiple times.
    • Enable and disable data saving.
    • Ensure no lag between sensor input and data written to the server.
    • Configure and run a read task for a thermocouple.
    • Run a read task with thermocouples, digital, and analog channels.
    • Disconnect a device while reading, reconnect it, and read data after reconfiguration.
    • Reliable data plotting at the following sample rates:
      • 1 Hz
      • 10 Hz
      • 100 Hz
      • 1 kHz
      • 10 kHz
      • 50 kHz
  • Write Task
    • Begin a write task and perform control actions with a schematic:
      • Actuate a valve via a digital input.
      • Set an analog output to a specific voltage via a setpoint.
    • Stop, start, and reconfigure the task.
    • Disconnect a device while writing, reconnect it, and read data after reconfiguration.
    • Configure response time based on the specified state rate:
      • 1 Hz (should have a visible delay)
      • 20 Hz (should be nearly immediate)
  • Configure simultaneous write and read tasks and stop or delete either without affecting the other.

NI

I can successfully:

  • Enable and disable NI integration when starting the server.
  • Recognize and connect to a National Instruments device locally.
  • Recognize and connect to National Instruments devices over the network.
  • Recognize and connect to physical and simulated devices.
  • Disconnect a physical device while a task is running without causing faults.
  • Ignore chassis and view devices connected to it.
  • Run the driver without NI-DAQmx and SysCfg libraries installed.
  • Receive feedback when trying to create an NI task on a machine lacking the necessary libraries.
  • Handle invalid device configurations and receive meaningful feedback:
    • Invalid ports.
    • Incorrect task type for devices.
    • Out-of-range values.
    • Multiple tasks using the same channel.
  • Shut down the driver without errors during embedded operation.
  • Run various tasks on a single device.
  • Run multiple tasks across multiple devices concurrently.
  • Reliable data streaming at the following sample rates:
    • 1 Hz
    • 10 Hz
    • 100 Hz
    • 1 kHz
    • 5 kHz
  • Configure the following stream rates:
    • 1 Hz
    • 10 Hz
    • 30 Hz
  • Analog Read Task
    • Plot live data.
    • Tare data.
    • Handle device disconnection during active tasks with appropriate feedback.
    • Start multiple tasks at different times and view live data.
    • Enable and disable data saving.
    • Ensure no lag between sensor input and server data recording.
    • Configure and run an analog read task for the following channels:
      • Current (NI-9203)
      • Resistance (NI-9219)
      • RTD (NI-9217)
        • All RTD types and resistance configurations.
      • Built-in temperature sensor (USB-6289)
      • Thermocouple (NI-9211A)
        • All thermocouple types and CJC options.
      • Voltage (USB-6000)
        • Terminal configurations:
          • Default (USB-6000)
          • Reference Single-Ended (USB-6000)
          • Non-Referenced Single-Ended (NI-9206)
          • Differential (NI-9206)
          • Pseudo-Differential (NI-9234)
    • Apply the following scales:
      • Linear
      • Map
  • Digital Read Task
    • Plot live data.
    • Stop, start, and reconfigure tasks.
    • Enable and disable data saving.
  • Digital Write Task
    • Perform control actions using a schematic.
    • Stop, start, and reconfigure tasks.
    • Handle device disconnection during active tasks with feedback.
    • Configure response time for specified state rates:
      • 1 Hz (visible delay)
      • 20 Hz (near-instant response)

OPC UA

I can successfully:

  • Enable and disable OPC UA integration when starting the server.
  • Connect to an unencrypted OPC UA server.
  • Connect to an encrypted OPC UA server.
  • Move and rename channels.
  • Save the device configuration.
  • Read Task
    • Single Sampling
      • Read from multiple channels.
      • Autogenerate timestamps on the driver.
      • Read timestamps from the OPC UA server.
    • Array Sampling
      • Read from multiple channels.
      • Test the following array sizes:
        • 1
        • 10
        • 100
      • Autogenerate timestamps on the driver.
      • Read timestamps from the OPC UA server.
      • Avoid driver crashes when improper array sizes are specified.
    • Obtain recommended Synnax channels based on the configured OPC UA node.
    • Connect to and read data from a physical device.
    • Maintain driver operation during device disconnection or channel removal while a task is running.
    • Enable and disable data saving.
    • Pause a task for an hour and resume without reconfiguration.
  • Write Task
    • Perform control and verify changes on the connected OPC UA server.
    • Stop, start, and reconfigure tasks.
    • Enable and disable data saving.
    • Leave a write task idle for an hour and perform control without losing connection.
    • Perform a write operation on an encrypted server.

pjdotson and others added 16 commits November 5, 2024 23:25
* [synnax] - fixed issues with renaming multiple channels of different types (virtual, free virtual, persisted)

* [synnax] - improved naming
* [cesium] - test focusing on the happy path in delete

* [ops] - added code to run windows tests on pushes on this branch

* [ops] - added code to run windows tests on pushes on this branch

* [ops] - changed order of testing on different OS

* [ops] - changed order of testing on different OS

* [cesium] - added one more test case for the case where no writer was ever opened

* [cesium] fixed 3 bugs:
1. first cause of unable to delete is because index persist is not closed upon unary server close
2. second bug fix was after an unsuccessful unaryDB close, the db is marked as close even though the close failed, leading it be marked as closed although file handles are still open.
3. test cases asserting on opening a pre-existing DB in an FS does not close the DB.

* [cesium] fixed flakey tests and windows List() fs

* [cesium] fixed various leaking resources in tests and meta file handle

* [server] removed blocking windows deletes

* edited workflow files for aspen, cesium, and synnax

* added back in quotes

* ops(x): run x workflows on CI

* fix file path

* ops(go): remove fail-fast from go test ci workflows

* [cesium] - addressed load race condition and fixed counter test

* [x] - fixed a flakey test

* [x] - fixed a flakey test

* [x] - fixed a flakey test

* [server] - skipped a failing test on windows

* remove hyphens

* [cesium] - concurrency patch for cesium DB

* [cesium] - concurrency patch for cesium DB

* [cesium] - changed db close mechanism so that closed is only marked as false when it fails in a nominal case

* [cesium] - added comment explaining close conditions in unary close

* [cesium] - added comment explaining db close

---------

Co-authored-by: Synnax Windows EC2 <ebonilla@synnaxlabs.com>
Co-authored-by: pjdotson <patrick@synnaxlabs.com>
…909)

* [driver/labjack] move open call to constructor to shift work from start to configure

* checkpoint

* checkpoint

* got notation working

* formatting

* move value telem form to two lines

---------

Co-authored-by: Elham Islam <elham@synnaxlabs.com>
* [driver/labjack] move open call to constructor to shift work from start to configure

* [driver/labjack] global map for serial nums and handles

* [HOTFIX]  SY-1441 Update NI channel config for the python client (#896)

* [client/py/ni] update ni channel config on python

* [ops] bump py client version

* [ops] bump py client version

* [client/py] update ni tests

* [client/py] - added default device check to NI

* [client/py] - remove unused imports and formattting

---------

Co-authored-by: Emiliano Bonilla <56323762+emilbon99@users.noreply.github.com>

* [driver/labjack] append last 4 digits of ser number to dev name

* [console] - fixed issues with task dialog flashing (#900)

* [console] - fixed issues with task dialog flashing

* [console] - rollback windows gen schema

* Sy 1461 fix issues with improper window shutdown throwing errors (#901)

* [console] - fixed issues with task dialog flashing

* [console] - updated various layout hooks to tolerate delayed main window closure

* [console] - updated store to disable debug

* [console] - rollback windows gen schema

* [ops] version bumps

* [console] - added aliases to labjack port selection (#905)

* [driver/labjack] refactor open for writer as well

* SY-1435 Fix Add to New Plot on Line Plot Range Highlight (#899)

* fix open new plot on range highlight

* ops: bump version

* [console] - updated windows schema to match the one one main

* SY-1444 Fix Taring on Multiple Channels (#898)

* [driver/labjack] create device manager

* [client/py] - added type coersion for primitive non-string values in … (#903)

* [client/py] - added type coersion for primitive non-string values in range KV

* [client/py] - updated range kv to accept any stringer

* [pluto] - improved value font sizing and spacing (#902)

* [pluto] - improved value font sizing and spacing

* [pluto] - updated value positioning

* [pluto] - updated value text positioning and cnsolidated units level

* [pluto] - adjusted value positioning to smoothly handle negatives

* [ops] bump pluto version

* [driver/labjack] format code

* [ops] bump drift version

* [driver/labjack] fix handling disconnected devices while write/read tasks are actively running

* [console] missed merge conflict

* [console] accepted wrong changes

* [driver/labjack] remove commented out code

* [driver/labjack] add other read errors that are caused by disconnect

* [driver/labjack] change error sent

* [driver/labjack] format code

---------

Co-authored-by: Emiliano Bonilla <56323762+emilbon99@users.noreply.github.com>
Co-authored-by: Patrick Dotson <123601024+pjdotson@users.noreply.github.com>
@codecov-commenter
Copy link

codecov-commenter commented Nov 11, 2024

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

Attention: Patch coverage is 56.45161% with 54 lines in your changes missing coverage. Please review.

Project coverage is 45.52%. Comparing base (a590ac7) to head (0a39e4f).
Report is 4 commits behind head on main.

Files with missing lines Patch % Lines
drift/src/tauri/index.ts 0.00% 15 Missing ⚠️
drift/examples/tauri/src/App.tsx 0.00% 6 Missing ⚠️
drift/examples/electron/src/main/index.ts 0.00% 4 Missing ⚠️
pluto/src/aether/aether/aether.ts 50.00% 4 Missing ⚠️
drift/examples/electron/src/renderer/src/App.tsx 0.00% 3 Missing ⚠️
drift/src/state.ts 0.00% 3 Missing ⚠️
drift/src/sync.ts 0.00% 3 Missing ⚠️
client/ts/src/ranger/payload.ts 0.00% 2 Missing ⚠️
drift/examples/electron/electron.vite.config.ts 0.00% 2 Missing ⚠️
drift/examples/electron/src/renderer/src/main.tsx 0.00% 2 Missing ⚠️
... and 9 more

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #914      +/-   ##
==========================================
+ Coverage   45.47%   45.52%   +0.04%     
==========================================
  Files        1121     1124       +3     
  Lines       69098    68968     -130     
  Branches     3597     3604       +7     
==========================================
- Hits        31424    31395      -29     
+ Misses      36607    36501     -106     
- Partials     1067     1072       +5     
Flag Coverage Δ
clientpy 86.04% <ø> (ø)
clientts 62.18% <83.33%> (+0.07%) ⬆️
drift 26.37% <6.97%> (+0.18%) ⬆️
freightergo 26.61% <ø> (+0.45%) ⬆️
freighterpy 81.03% <ø> (ø)
freighterts 82.46% <100.00%> (-0.41%) ⬇️
pluto 32.94% <71.42%> (+0.10%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

* [ops] use deploy key to checkout code so github runner can push to main

* [ops] remove fake param
@Lham42 Lham42 added the RC Synnax release candidate rc label Nov 12, 2024
* [console] - fixed LabJack port indices

* [console] - reverted default parameter in LabJack write task

* [console] - fixed LabJack DI ports
* [driver/ni] add device mutex for scanner

* [driver/ni] undo mutex

* [driver/ni] white space

* [driver/ni] ws

* [console] - implemented NI task toggling

* [driver] verify can disable scanner

* [driver] first join thread before releasing ni handles

* [console] invert scanner toggle message

---------

Co-authored-by: Emiliano Bonilla <56323762+emilbon99@users.noreply.github.com>
@Lham42 Lham42 merged commit d0fd114 into main Nov 13, 2024
84 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
RC Synnax release candidate rc
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants