synnax icon indicating copy to clipboard operation
synnax copied to clipboard

Synnax v0.31.0 RC

Open pjdotson opened this issue 1 year ago • 1 comments

Release Candidate Pull Request Template

Key Information

  • Platform Version: Synnax v0.31

Versioning

Public Packages

Version Consistency

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

  • [x] x/ts
  • [x] alamos/ts
  • [x] freighter/ts
  • [x] client/ts
  • [x] alamos/py
  • [x] freighter/py
  • [x] client/py
  • [x] synnax server
  • [x] drift
  • [x] pluto
  • [x] console
  • [x] root package.json file

Version Conflicts

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

CI Tests

  • [ ] I have verified that all CI tests pass.

CD Builds

  • [ ] I have verified that all CD builds pass.

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. If not, I will note why the documentation has been left stale.

  • [x] reference/concepts
  • [x] reference/cluster
  • [x] reference/python-client
  • [x] reference/typescript-client
  • [x] reference/console
  • [x] reference/control
  • [x] reference/pluto
  • [x] reference/device-drivers/opcua
  • [x] reference/device-drivers/ni

Examples

I have verified that code examples for each of the following services run correctly after releasing new versions of the corresponding packages:

  • [x] client/py - still need to test NI
  • [x] client/ts
    • [x] version number in examples/node is up-to-date
  • [x] pluto

Console

Auto Update

  • [x] I have verified that the nightly builds of the console are able to auto-update correctly.

Cluster Connection

I can successfully:

  • [x] Open connect a cluster dialog from cluster toolbar.
  • [x] Open connect a cluster dialog from command search bar.
  • [x] Test a cluster connection from connect a cluster dialog.
  • [x] Connect a cluster by selecting it from cluster toolbar.
  • [x] Connect a cluster by opening context menu from cluster toolbar.
  • [x] Disconnect from a cluster by selecting it from cluster toolbar.
  • [x] Disconnect a cluster by selecting it from the cluster toolbar.
  • [x] Copy a link to a cluster and open it from outside Synnax.
  • [x] Remove a cluster.
  • [x] Rename a cluster.

Labels

  • [x] I can successfully open the label editing dialog from the command palette.
  • [x] I can add a new label.
  • [x] I can edit an existing label.

Ranges

I can successfully:

  • [x] Create Range Modal
    • [x] Create a new local range.
    • [x] Create a new persisted range.
    • [x] Set parent range
    • [x] Add labels
    • [x] Rename existing range
    • [x] Change times on existing range
  • [x] Range Layout
    • [x] Rename range.
    • [x] Rename range from tab.
    • [x] Change start and end times.
    • [x] Add labels.
    • [x] Set metadata.
    • [x] Delete metadata.
    • [x] Add child ranges.
    • [x] Open snapshots.
    • [x] Navigate to and from child ranges
  • [x] Search and Command Palette
    • [x] Open an existing range window
    • [x] Open create range dialog
  • [x] Range Toolbar
    • [x] Open create range modal from toolbar link when no range exists
    • [x] Switch the active range by clicking
    • [x] Context Menu
      • [x] Open create range modal
      • [x] Rename range
      • [x] Set active range
      • [x] Open create range modal with child range
      • [x] Add to active line plot
      • [x] Add to new line plot
      • [x] Remove from range toolbar
      • [x] Delete persisted range
      • [x] Copy link of persisted range
      • [x] Save local range to Synnax
  • [x] Resources Toolbar
    • [x] Open the range overview dialog by clicking on a range
    • [x] Context Menu
      • [x] Set active range
      • [x] Rename range
      • [x] Open create range modal with child range
      • [x] Group ranges
      • [x] Add to active line plot
      • [x] Add multiple ranges to active line plot
      • [x] Add to new line plot
      • [x] Add multiple ranges to new line plot
      • [x] Delete range
      • [x] Delete multiple ranges
      • [x] Copy link to range
  • [x] Open a range from its url
  • [x] Make changes to a range with resources toolbar, overview, and ranges toolbar open and see changes propagate to all three.

Channels

I can successfully:

  • [x] Create a new channel from the search bar.
  • [x] Create several channels with the 'Create More' flag set to true.
  • [x] Rename a channel in the resources view.
  • [x] Delete a channel in the resources view.
  • [x] Delete multiple channels in the resources view.
  • [x] Set the alias for a channel under a range.
  • [x] Clear the alias for a channel under a range.
  • [x] Copy a link to a channel in the resources view and open it from outside Synnax.

Line Plots

I can successfully:

  • [x] Create a new line plot from the mosaic.
  • [x] Move the line plot to a new mosaic.
  • [x] Rename a line plot from the resources view.
  • [x] Rename a line plot from its tab title.
  • [x] Copy the link to a line plot and open it from the resources view.
  • [x] Create a new line plot from the search bar.
  • [x] Create a new line plot from a workspace in the resources view.
  • [x] Plot a historical range of data.
  • [x] Plot a live range of data.
  • [x] Move channels between axes.
  • [x] Adjust the thickness of a line.
  • [x] Re-label a line.
  • [x] Set the title of the plot.
  • [x] Download a range as a CSV.
  • [x] Create a range from line plot selection.
  • [x] Use the measuring tool on the line plot.
  • [x] I can repeatedly start and stop an acquisition read task, and tooltips will appear in the correct location.

Schematics

I can successfully:

  • [x] Create a new schematic from the mosaic.
  • [x] Create a new schematic from the workspace context menu in the resources view.
  • [x] Create a new schematic from the command search bar.
  • [x] Move the schematic to a new mosaic.
  • [x] Download a schematic from the context menu.
  • [x] Drag a schematic from the files folder into the mosaic and have it load.
  • [x] Rename a schematic in the resources view.
  • [x] Delete a schematic in the resources context menu.
  • [x] Snapshot a schematic in the resources context menu.
  • [x] Copy a schematic in the resources context menu.
  • [x] Create a new schematic from the search bar.
  • [x] Add a value to the schematic and display live data.
  • [x] Add a valve to the schematic and actuate it.

Workspaces

I can successfully:

  • [x] Create a new workspace.
  • [x] Switch workspaces in the selector.
  • [x] Switch workspaces in the resources view.
  • [x] Delete a workspace in the resources view.
  • [x] Create a new line plot in a workspace.
  • [x] Create a new schematic in a workspace.
  • [x] Import a schematic from the context menu.
  • [x] Rename a line plot in a workspace.
  • [x] Rename a schematic in a workspace.
  • [x] Delete a line plot in a workspace.
  • [x] Delete a schematic in a workspace.
  • [x] Create a workspace in a previous version of Synnax, add visualizations, and open it in the release candidate.

Resources

I can successfully:

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

Documentation

I can successfully:

  • [x] Open the documentation from the command search bar.
  • [x] Open the documentation from the question mark icon.

Devices

I can successfully:

  • [x] Group devices in the resources view.
  • [x] Rename a device in the resources view.
  • [x] Delete a device in the resources view.

Tasks

I can successfully:

  • [x] Group tasks in the resources view.
  • [x] Rename a task in the resources view.
  • [x] Delete a task in the resources view.

OPC UA

Configuration

I successfully:

  • [ ] Updated the license on TwinCat/Beckhoff before continuing QA

I can successfully:

  • [x] Enable and disable OPC UA integration when starting the server.
  • [x] Connect to an OPC UA server running unencrypted.
  • [ ] Connect to an OPC UA server running encrypted.
  • [ ] Create additional channels and move them to existing sampling groups.
  • [x] Move and rename channels.
  • [x] Save the device configuration.

Read Task

I can successfully:

  • [x] Single Sampling - Read from multiple channels.
  • [x] Single Sampling - Auto-generate timestamps on the driver.
  • [x] Single Sampling - Read timestamps from the OPC UA server.
  • [x] Array Sampling - Read from multiple channels in array-sampling mode.
  • [x] Array Sampling - Read from multiple channels in array-sampling mode with different array sizes.
    • [x] 1
    • [x] 10
    • [x] 100
  • [x] Array Sampling - Auto-generate timestamps on the driver.
  • [x] Array Sampling - Read timestamps from the OPC UA server.
  • [x] Array Sampling - The driver will not crash if I specify an improper array size.
  • [x] Channel Selection - The read task dialog will recommend synnax channels based on the configured OPC UA node.
  • [ ] Connect to a physical device and read data from it.
  • [ ] Maintain operation of the driver when a device is disconnected or a channel is removed from the device while it is running.
  • [ ] Enable and disable data saving at will.
  • [ ] Leave a task paused for an hour and resume it again without needing to reconfigure.

Write Task

I can successfully:

  • [ ] Perform control and see changes reflected on the connected OPC UA server.
  • [ ] Stop, start and reconfigure task at will.
  • [ ] Enable and disable data saving at will.
  • [ ] Leave a write tasking played but idle for an hour and perform control without losing connection.
  • [ ] Perform a write on an encrypted server.

National Instruments

Configuration

I can successfully:

  • [ ] Enable and disable NI integration when starting the server.
  • [x] Recognize and connect to a National Instruments device available on local machine.
  • [x] Recognize and connect to a National Instruments devices available on network.
  • [x] Recognize and connect to physcial and simulated devices.
  • [ ] Disconnect a physical device from the machine with a task running without faulting.
  • [x] Save device configuration.
  • [ ] Not see chassis devices connected to the machine
  • [ ] See devices connected to a chassis
  • [x] Run the driver without the Daqmx and Syscfg libraries installed on the machine.
  • [ ] Get feedback when trying to create an NI task on a machine that doesn't have the required libraries installed.

Read Task

I can successfully:

  • [x] Plot live data from an analog read task.
  • [x] Plot live data from a digital read task.
  • [x] Stop, start and reconfigure task at will.
  • [ ] Disconnect a device while tasks are active and provide meaningful feedback in the task dialogue.
  • [ ] Begin several tasks at different times and see them all plotting live data.
  • [ ] Enable and disable data saving at will.
  • [ ] verify there is no lag between sensor input and data written to sever.
Special Purpose Channels
  • [ ] I can succesfully configure and run an analog read task for each of the following channels:
    • [x] Acceleration
    • [ ] Acceleration 4 wire
    • [ ] Bridge
      • [ ] All bridge configurations
    • [ ] Charge
    • [ ] Current
    • [ ] Force bridge polynomial
    • [ ] Force bridge table
    • [ ] Force bridge two point linear
    • [ ] Force iepe
    • [x] Microphone
    • [ ] Pressure bridge polynomial
    • [ ] Pressure bridge table
    • [x] Pressure bridge two point linear
    • [ ] Resistance
    • [ ] RTD
      • [ ] All RTD types.
      • [ ] All resistance configs.
    • [ ] Strain gauge
      • [ ] all strain guage configurations
    • [ ] Built in temperature sensor
    • [x] Thermocouple
      • [x] All thermocouple types.
      • [x] All cjc options.
    • [ ] Torque bridge polynomial
    • [ ] Torque bridge table
    • [ ] Torque bridge two point linear
    • [ ] Velocity iepe
    • [ ] Voltage
      • [ ] All terminal configurations.
  • [ ] I can sucessfully configure the following scales:
    • [ ] Linear
    • [ ] Map

Write Task

I can successfully:

  • [ ] Begin a digital write task and perform control actions with a schematic.
  • [ ] Stop, start and reconfigure task at will.
  • [ ] Disconnect a device while tasks are active and provide meaningful feedback in the task dialogue.
  • [ ] Configure response time based on state rate specified:
    • [ ] 1 Hz (should have visible delay in response)
    • [ ] 20 Hz (should feel almost immediate)

General Usage

I can successfully:

  • [ ] Run multiple types of tasks on a single device
  • [ ] Run multiple tasks across multiple devices simultaneously
  • [ ] Reliably stream data at the following sample rates:
    • [ ] 1 Hz
    • [ ] 10 Hz
    • [ ] 50 Hz
    • [ ] 100 Hz
    • [ ] 500 Hz
    • [ ] 1 kHz
    • [ ] 2 kHz
    • [ ] 5 kHz
  • [ ] Configure the following stream rates:
    • [ ] 1 Hz
    • [ ] 5 Hz
    • [ ] 10 Hz
    • [ ] 20 Hz
    • [ ] 30 Hz

Error Handling

I can successfully:

  • [ ] Pass in an invalid device configuration and receive meaningful feedback.
    • [ ] Invalid ports
    • [ ] Invalid task type for devices (e.g. analog read on a analog output device)
    • [ ] Out of range values
    • [ ] Multiple tasks using the same channel
  • [ ] Shut down the driver with an embedded driver without receiving an error from the driver routine.

Other

I can successfully:

  • [x] Toggle the color theme from the command search bar.
  • [ ] Run the driver for long periods of time with minimal memory leakage.

pjdotson avatar Oct 03 '24 19:10 pjdotson

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

Codecov Report

Attention: Patch coverage is 25.43651% with 1879 lines in your changes missing coverage. Please review.

Project coverage is 45.80%. Comparing base (f48a104) to head (44b8393). Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
pluto/src/vis/schematic/primitives/Primitives.tsx 0.00% 572 Missing :warning:
pluto/src/vis/schematic/Symbols.tsx 0.00% 302 Missing :warning:
pluto/src/vis/schematic/registry.ts 0.00% 162 Missing :warning:
pluto/src/vis/schematic/Forms.tsx 0.00% 135 Missing :warning:
synnax/cmd/start.go 0.00% 92 Missing :warning:
pluto/src/menu/Item.tsx 6.84% 68 Missing :warning:
pluto/src/vis/schematic/SelectOrientation.tsx 0.00% 67 Missing :warning:
pluto/src/vis/diagram/Diagram.tsx 0.00% 44 Missing :warning:
pluto/src/vis/lineplot/Legend.tsx 0.00% 37 Missing :warning:
synnax/pkg/api/framer.go 0.00% 31 Missing :warning:
... and 54 more

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

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #840      +/-   ##
==========================================
- Coverage   46.33%   45.80%   -0.54%     
==========================================
  Files        1088     1103      +15     
  Lines       67897    69895    +1998     
  Branches     3513     3551      +38     
==========================================
+ Hits        31461    32014     +553     
- Misses      35384    36823    +1439     
- Partials     1052     1058       +6     
Flag Coverage Δ
aspen 50.40% <ø> (ø)
cesium 75.53% <ø> (ø)
clientpy 86.04% <ø> (ø)
clientts 62.90% <92.24%> (+1.54%) :arrow_up:
drift 26.27% <50.00%> (-0.03%) :arrow_down:
freightergo 26.30% <0.00%> (+0.37%) :arrow_up:
freighterpy 81.03% <ø> (ø)
freighterts 83.25% <ø> (ø)
gox 60.06% <ø> (-0.07%) :arrow_down:
pluto 33.99% <14.64%> (-1.34%) :arrow_down:
synnax 28.94% <0.00%> (+0.35%) :arrow_up:

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov-commenter avatar Oct 03 '24 19:10 codecov-commenter