* skeleton for comps
* more scaffolding
* more drafts
* worker ready
* telemetry is null for some reason
* can add two sin waves
* adding works
* exact values enabled
* subscriptions work
* slowing adding gui
* fix plots
* rudimentary expression editor
* correctly persist
* parameters
* can take arbitrary expressions
* styles and timing for loading worker
* ui works kinda
* need to figure out ranger
* works with time
* timesystem works
* get rid of batch for now
* gui still leaking data
* memory conserved
* styles
* fix initial load
* expression validator
* fix test data
* do not persist
* persist after adding
* fix editing issues
* mutate when parameters or expression changes
* implement output format
* implement output format
* be consistent with output key
* add icons and fix errant telemetry
* lint
* lint
* use key instead of name
* Style enhancements for Derived Telemetry object
- Closes#7823
- Font files updated - do not merge!
- New glyph and data URI background for object.
* Style enhancements for Derived Telemetry object
- Closes#7823
- Tweak to object description.
* Enhancements for Derived Telemetry object
- Closes#7823
- Added new `ObjectPathString.vue` UI component, based on `ObjectPath.vue`.
* Style enhancements for Derived Telemetry object
- Closes#7823
- Significant mods for style and CSS classing. Still WIP, more coming.
* Enhancements for Derived Telemetry object
- Closes#7823
- Code cleanup and tweaks.
* do not apply test data when edit mode changes to false
* Revert "do not apply test data when edit mode changes to false"
This reverts commit eac4676cad.
* trying this again without blowing away the very pretty styling
* clean up composition effects
* allow deleting of parameters
* can chain and plot derived data
* can delete properly
* Enhancements for Derived Telemetry object
- Closes#7823
- Updated Derived Telemetry glyph design.
- Set `CompsViewProvider.js` to use the correct icon.
* handle arrays and add skeleton tests
* Enhancements for Derived Telemetry object
- Closes#7823
- Final sanding and polishing.
- New discrete item style `c-output-featured` added to controls.scss
- Applied to 'Current Output' section of both Derived Telemetry and Condition Sets.
- TODOs:
- [ ] Check for low-risk regressions in Condition Sets browse and edit modes.
- [ ] New tests for ObjectPathString.vue component.
* add tests
* ensure output format propagates
* add output format test
* add some basic object path label tests
* good job code scanner. changing to or condition
* refactor aria labeling
* pass options on request to underlying collections
* ensure derived DERIVED telemetry loads in the proper order. also have telemetry collections prioritize request options over clock
* fix domains
* ensure we only ask for latest for comp editor
* improvement in loading
* fix slow loading errors
* more telemetry collection changes to acommodate bound changes
* more debug just in case
* stacked plots are overriding telemetry object configurations
* some changes
* add new flag to deal with plots asking for zoomed out data that should be ignoring clock
* works
* add sample size
* check if sample size greater than zero
* ensure number for sample size
* ensure we have a reference value before we slice
* can do derived derived accumulated comps now
* ensure we are checking for not equal
* add a few more awaits
* allow blank test values for arrays
* check for blank test values
* change to just value
* impute requested data properly
* fix output and add accumulation label
* update output when comp changes
* remove unused function
* add placeholder
* support lambda values
* reduce size
* widen size to accomodate sample size
* removing debug statements for PR review
* Closes#7823
- Markup/CSS sanding and shimming for derived telemetry front-end.
- Toggle switch CSS improved to use `gap` instead of left margin.
* Update package lock for new package versions
* Move composition policy to it's own file. Fix expression evaluation bug for truthy/falsy
* fix lint spelling
* Use the telemetry collection's timeKey for timestamps
* Revisit code to use bounds provided by options to telemetryCollections
* Refactor bounds handling to clarify intent. Remove TelemetryCollection.load() returning a promise and use event handlers instead.
* destroy and reload the telemetry collection on reload
* Update package-lock.json:
* Fix lint error
* Clean rebuild of package-lock.json
* Update e2e package lock as well
* Don't use method calls in vue templates
* fix linting issue
* Change plugin name to Derived Telemetry
* Install the derived telemetry plugin for tests before running them
* Tweaks to spacing to correct visual regression.
---------
Co-authored-by: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Co-authored-by: Scott Bell <scott@cynthia-macbook.fritz.box>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Shefali <simplyrender@gmail.com>
Co-authored-by: Andrew Henry <andrew.k.henry@nasa.gov>
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
* Add canvas width based utc time ticks with predictable nice ticks
* Make dynamic ticks work for all x-axis types
* Adds support for non-numeric x-axis values
* Fix e2e tests to property assert ticks given the improved dynamic count algorithm
* Increase priority of operator status indicator
* Add additional assertion to ensure there are multiple indicators
* Added some assertions to tighten up the test
* Updated playwright
* Updated package-lock.json after recent changes
* Fixed flakey notebook test
* Fixed janky test
* Fix text jank
* Playwright broke our test
* Fix timer test that cannot possibly have worked
* Fix flake in visual tests
* Remove networkIdle wait. It's not super reliable to begin with, and seems to behave differently in recent Playwright
* Retire impossible test
* Remove redundant search test
* Fixed non-deterministic network test
* Added requestfinished to dictionary
* Restore eslint exception for networkidle
* Fixed lint error
* use clear() instead of fill('')
* Don't use nth
* Use text identifiers rather than indexes to reference cells
* Fix typo
* Tighten up network delay
Resolved multiple high/critical security vulnerabilities (targeting axios, express, qs, node-forge) and upgraded Node.js engines to 20.x LTS for better stability and performance.
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Dry run new Github actions
* Remove legacy CircleCI configuration
* Fix flake
* Optimizations
* Disabled unstable snapshot test.
* Speed up builds
* Increase sharding
* Fix label
* Fix git directory ownership issue
* Clean up and optimization
* Use deps from more jobs
* Remove label trigger
* Updated browserlist finally
* Fix playwright issue
* Bump timeout slightly since the runner is under a little more pressure now
* Build unit tests from scratch
* Fixed flakey test
* Increase sharding again
* Remove references to Circle CI
* Trying to optimize workflow
* Fix dependency issue
* Try again
* Remove third party dependency
* Fix git check issue
* Add an option to do a clean build:
* Added dependencies back in
* Fixing bugs
* Removed MMOC project
* Start again
* Need to check out first
* Cache hit check
* Check if cache hit
* debugging
* Debugging
* Reuse cache key job
* Adding should build flag to support forced clean builds
* Simplifying logic
* Simplify again
* Remove label if needed
* Run unit tests
* Cache dist as well
* Update label
* parameterize node version
* Add dist to the cache path
* Github restore
* Add e2e tests
* Cleaning up e2e run configuration
* Oops, remove circleci reference
* Remove playwright container
* Playwright install
* Use playwright container for caching
* Remove chrome install step. Assume already available from playwright container
* Trying to cache playwright browsers
* Don't use playwright container for unit tests
* Fixed flakey telemetry table test
* Restore visual, mem, and perf tests
* Always run couch tests
* Restore e2e node modules as well
* Cache paths have to match because they are part of the cache version information
* Add Percy token
* Always upload artifacts
* More descriptive names
* Removed nightly for now, will come back to it
* add clearStaleness method since === SKIP_CHECK flag
* fix logic for updating staleness
* should be inclusive to start and end bounds
* should respect prior to start bounds if stale
* should not show staleness for after end bounds
* add `ExampleStalenessProvider`
update telemetry api jsdocs for staless provider
* move sine wave staleness tests into appropriate folder location
* convert `StateGenerator` into class
* clean up coding style
* use timesystem key and now() from openmct time api
* fix `ExampleStalenessProvider` initial conditions
install `ExampleStalenessProvider` by default in index.html
* Revert "fix logic for updating staleness"
To allow contribution from marcelo-earth
This reverts commit 3baef169f7.
* Refactor shouldUpdateStaleness to accept updates based on timestamp
* clarify comment
remove unused code
* fix import paths
* clean up staleness provider
write e2e test for staleness
* fix 404s to example imagery breaking e2e tests
---------
Co-authored-by: Marcelo Arias <hello@marceloarias.com>
* adding the plugin file
* adding to available plugins list
* this update makes it so you can see the items selected for correlation in the edit form, previously they would be blank
* fixed incorrect formatting for locator field vue compnent, removed unnecessary openmct arg from correlation plugin
* spelling fix
* add test for correlated telemetry, update subscribe to telemetry util function and move to app actions
* checking timestamps match so we are correctly checking correlated telemetry
* Rename utility function to align with its implementation details
---------
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Andrew Henry <andrew.k.henry@nasa.gov>
* Enhancements for better wrapping of Status Area icons
- Added `headCanWrap` stored property, and toggle button.
- CSS mods, cleanup.
* Enhancements for better wrapping of Status Area icons
- New glyphs for `icon-multiline` and `icon-singleline`.
- Refinements to button labels and titles for clarity.
* Enhancements for better wrapping of Status Area icons
- Add code and CSS for toggling single/multiline display of indicators.
- Add code to detect overflow state of indicators.
* Enhancements for better wrapping of Status Area icons
- WIP, but is working!
- TODOs:
- Make sure this is a good way to do things.
- Cleanup code.
- Tests.
* Enhancements for better wrapping of Status Area icons
- Fixed CSS classing on collapse/expand button.
- New method added for storing head props in local storage.
- TODOs:
- Make sure using Update hook is performant.
- Tests.
* Code cleanup.
* - Now uses Watch instead of Update to handle changes from containing AppLayout.vue component.
- Code cleanup, console.log removals.
* - Fixed CSS which was causing the head to collapse when browser window is very small and Indicators running to multiple lines.
- Fixed CSS which was causing the height and alignment problems in the head.
* use `resizeObserver` instead of window listeners
safer access to `localStorage` initial state
ie. legacy localStorage having `expanded` but not `multiline`
* framework for e2e tests
* add aria-label to `Status Indicators`
* e2e test for expand and collapse indicators
* e2e test for single line mode
* reuse `firstIndicator` locator
* e2e test for overflow indication
refactor to reuse variables
refactor to use `test.step`s instead of comments
* e2e test for both toggles working in conjunction
* e2e test for `localStorage` persistence
* new visual snapshots
* time conductor - add single/multi line toggle button
* autoscale - 1 more pixel in status area
* Fix tests that relied on changed button text
* Hide clock for percy snapshots
* Hide clock for percy snapshots take 2
---------
Co-authored-by: David Tsay <david.e.tsay@nasa.gov>
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
Co-authored-by: Andrew Henry <andrew.k.henry@nasa.gov>
* Add root composition provider, and support dynamic root objects
* Support providers with an 'appliesTo' function instead of namespace
* lint stuff
* eval source maps for testing new providers
* remove eval source map
* Only emit root remove event when root is actually removed
---------
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
* add missing licensing comment
* use vue component naming convention
* script, template, style
* Revert "script, template, style"
This reverts commit c8f8a098f2.
* create useTimeSystem composable
* forgot to push useTimeSystem
* extend useTimeSystem to return reactive formatters
* return reactive isUTCBased
* add useTimeMode composable
fix listener in useTimeSystem
* add useTimeBounds composable
* add useClockOffsets composable
documentation update to useTimeBounds
* WIP change replication in time api calls to use composables
many things broken
will need refactor to account for independent time conductor
* missed file in commit
* use composables for conductor mode
* create useClock composable
code clean up
* whoops. mistook prettier red squiggly for code not used red squiggly.
* vue naming convention
* change composables to allow for timeContexts
* change timeContexts to be reactive to objectPath
reactivity fixes to composables
* reactivity and non fixes
* use `shallowRef` for clock object
* WIP: get independent time contexts working again
* vue component naming conventions
* WIP: mostly fixed independent time conductor
* provide timecontext even if its the global/timeapi for shared components
* incorporate provided timecontext into independant time conductor components
* better jsdoc message
* fix missing clock on independent time mode change
* switch to reactive formatter for zoom
* use reactive timecontext in fixed inputs
* use reactive clock props
cleanup unused variables
* edit for clarity
* remove unused injection
* change ITC to use composables
* update to use composables
* rename because need both datetime and time inputs
* make message universal to all timeSystems
* only change time options if independent conductor enabled
re-use timeContext across composables
* make date time only for supporting time systems
* fix css for bounds single inputs
* time formats can specify date/time delimiters
* move history out of form
remove unused gear icon
remove debugging code
* handle toggle independent time
* v-if logic one component up
* add back date selector
* fix datetime fixed validation
* combine time composables into one
lint fix
* fix single datetime fixed input validation
clean up shouldDismiss modal behavior
* correct jsdocs
* this v-if is not in use
* optional `formatDate` method can be defined to split date and time
refine `UTCTimeFormat`'s `format` method and valid formats
* fix split date time inputs test
* copy and paste into split date time inputs
* fix validation and reporting of inputs on paste
* validate against same start and end fixed time bounds
alter verbiage for validation of offsets to match that of bounds
* better jsdocs
* remove deprecated file
* vue component name linting
* fix e2e test label locator
* more specific locator
* fix reactivity for independent time conductor
* convert `IndependentTimeConductor.vue` to use vue3 composition api
* fix throttle on bounds
* safety check on dom element
* follow mode properly in ITC
* fix standard time conductor not having a `useIndependentTime` value
* provide and use `currentValue`
* change timeOptions on path change
lint fix
* fix saved `timeOptions` `bounds` being overwritten by `bounds`
* no more settings icon for independent time conductor pop-up
* fix warning message verbiage
* remove timeout since time conductor is now reactive
* add copy/paste functionality to single datetime inputs
* computeds don't need to be manually set
* explain `formatDate` in documentation
* allow pasting millisecond precision into split date/time inputs
* remove log per review comment
https://github.com/nasa/openmct/pull/7818#discussion_r2535418644
* add tsdoc to plugin
* deprecate records in configuration.menuOption
* reconds should be in configuration
* pass time conductor configuration to independent TC
https://github.com/nasa/openmct/pull/7818#discussion_r2535711788
* fix limit validation
requires provide of `timeSystemKey` and `configuration`
* ensure matching clock and timesystem on change
* make switch clock and time system more resilient
* fix failing notebook visual test
* update visual snapshots
diff - remove gear icon
diff - add history icon
---------
Co-authored-by: Shefali Joshi <simplyrender@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Ensure the body is loaded before trying to bootstrap Open MCT
* null vs undefined. It's just not worth it ECMA, it's really not.
* Support specifying target element by selector so that resolution can be deferred until after the body is loaded
* Add test to verify that Open MCT bootstrapping works as expected
* Update API doc on bootstrapping Open MCT
* Add black starting page to support bootstrapping Open MCT from scratch
* Tweaked docs
* Fixed prettier problems
* Added additional validity checks and fail-fast paths for developers
* Initial prototype of UTC timestamp ticks
* draft tick changes
* Refactor time-series ticks
* Add e2e test for time ticks
* Better comments and variable names and some formatting
* Fix tests broken due to new implementation of ticks
* All telemetry criteria bug (#8084)
* Reference telemetry map as a Map, not associative array
* Only normalize once
* Another cheeky createNormalizedDatum
* Fix unit tests that were broken by removal of createNormalizedDatum
* Fixed failing test
* Don't double stringify requests to views
* Add E2E test to catch 400 errors due to double stringification
* Removed files AGAIN
* Use design documents in testing
* Allow user to set machine-based preferences for main object views.
- WIP
- BrowseBar.vue now stores view selection when viewSwitcher component is invoked as localstorage object 'openmct-stored-view-prefs'.
- Browse.js in `#viewObject` looks for an existing value in 'openmct-stored-view-prefs' and uses it.
- TODO: stored pref currently overrides `view` querystring parameters, but shouldn't.
* Allow user to set machine-based preferences for main object views.
- Browse.js now sets currentViewKey in the right spot.
- Changes in #viewObject reset.
* Allow user to set machine-based preferences for main object views.
- Style tweaks to `c-list-view` when used in object-type folder.
- Added missing copyright header to list-view.scss.
* Fixed linting errors
* Add test for Folder 'List View' persistence
- Closes#1395.
- Update .gitignore to not check in Webstorm test config file.
---------
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Markup and CSS changes for expanded Activities in Time List
- Significant markup and CSS changes.
- Activities now use Plan colors.
- Greatly improved narrow space and wrapping.
- Added new global data uri's for status icons.
- Added new global `gear-spinner` animation for in-progress Activity status icon.
- Added new global `absCenter` mixin.
- Revised and greatly simplified execution status and time context labels.
- Revised, refined past/current/future styling and theme colors.
- Status icon coloring added to theme constants.
- Updated other themes constants for new approach to bg/fg/em.
- Smoke tested in Espresso and Snow themes.
* Remove unused imports
* Remove unused and commented out code
* Remove progress pie tests as that widget no longer exists
* lint fix
* remove tests for progress pie as it no longer exists
---------
Co-authored-by: Shefali <simplyrender@gmail.com>
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
* Move ResizeHandle to reusable ui location
* Changes for user-settable swimlane heights.
* resize widths for all swimlane labels
* make drag resizer more scalable
* add resize handles to time strip views
* Moved many CSS defs from flexible-layout.scss into new mixin `resizeHandleStyle`.
---------
Co-authored-by: David Tsay <david.e.tsay@nasa.gov>
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
* add filename argument and update default name
* add filename argument and update default name
* allow the invoke function to accept a filename to pass to the view actions
* tests
* remove invalid chars from filenames, another test for that
* replace periods with underscores as they may be useful in a name
* added getTypes to types api, modifying which tabs are shown, working on annoatation tab
* moving hasNumericTelemetry to an api method
* updated types api to return all types, updated annotations api to return annotatable types, cleaned up use of hasNumericTelemetry elsewhere in the code
* Changes for tabs visibility and priority
- Alphanumeric formatting tab set to default priority while editing, low priority during browse.
- Good styling for Format tab contents in browse mode.
- Properties tab set to low priority during editing, default during browse.
- Make Elements pool visible in browse mode, omit edit capabilities.
- Edit and browse mode priorities for Properties and Elements.
- Adjusted edit and browse mode priorities for Properties and Elements.
- Priority set for Gantt view.
- Priorities set for Graph, Lad Table, Scatter Plot, Telem Tables and Time List views.
- Changed several Inspector tab names to 'Config'; tests and other code changed to target `key` instead of `name`:
- LAD Table
- Time List - will need regression testing for change noted re. `key` above.
- Created browse mode read-only Inspector views:
- LAD Table, Lad Table set.
- Telemetry Table.
and `showTab` functions; `showTab` has just been set to true for now.
to prevent it from displaying when no filters can be set.
- Plot plugin.js now adds configuration.objectStyles {} for overlay and stacked plots on initialize.
- FiltersView now displays a message for telem sources that don't have filter criteria available.
- Annotations tab now set to never display when a view is being edited.
- Added `objectStyles: {}` to initialize functions for multiple objects:
- Condition Widget
- Gauge
- LAD Table
---------
Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Remove short-circuit logic
* Revert change to remove short-circuit logic
* Restore short-circuit evaluation, pass in current values
* V2, restore short-circuit eval
* Added timestamp checking for individual criteria
* Some optimizations
* Co-authored-by: Pranaykarvi<pranaykarvi@gmail.com>
* Fixed bug that prevented test data from working at all
* Fixed bug introduced by refactor. Oops.
* Fixed bug with test data
* Provided clarification in test description
* Replaced legacy tests with new e2e test of correct telemetry evaluation
* some markup changes to improve testability
* Address review comments
* Fixed linting error
* Fixed broken tests
* Fixed long-standing bug with evaluating enums
* Fixed broken tests
* Fixed linting error
* remove commented code
test name grammar fix
---------
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
* Defined search index for object names. Add index for searching by object type
* Feature detect if views are defined to support optimized search. If not, fall back on filter-based search
* Suppress github codedcov annotations for now, they are not accurate and generate noise.
* Allow nested describes. They're good.
* Add a noop search function to couch search folder object provider. Actual search is provided by Couch provider, but need a stub to prevent in-memory indexing
* Adhere to our own interface and ensure identifiers are always returned by default composition provider
* Account for right y-axes when calculating now line position.
Don't show the now line if it's out of bounds of the time axis
* Add test for now marker in realtime and out of bounds modes
* Ensure that the mode set when independent time conductor is enabled/disabled is propagated correctly.
Also ensure that global time conductor changes are not picked up by the independent time conductor when the user has enabled it at least once before
* Use structuredClone instead of deep copy
* Add e2e test
* Assert that you're in fixed mode after sync time conductor
* Comment explaining new time context test
* Change test to be a little less complicated
* Fix linting errors
* Allow highlights and locking highlight points for plots in compact mode, but still disallow pan and zoom.
* Remove unnecessary watch on cursor guides and grid lines
* Test for cursor guides in compact mode
* moving rename methods to appActions
* importing back into original test
* reverting
* add the ability to change the name in the browse bar
* add test to verify entries are not being lost
* addding aria labels for tests
* when an object is changed, store the whole new object, not just the name
* typo!
* initial implementation
* cleaning up a bit
* adding the hash method back as we dont want gigantic keys
* adding a line
* added filtering to state generator, updated filters readme to fix error, more robust hash function
* removing unnecessary changes in wrong file
* adding a test to confirm each endpoint has a separate subscription based of filtering
* lint
* adding back in hints, accidentally removed
* remove some redundant code and convert sanitization method into a replacer function for stringify
* tweaking serialize replacer to handle arrays correctly, adding more determinative row addition check to test
* more focused selector for the table
* simplified the serialization method even further and added some more docs
* checking if the metadata exists before acting on it
* added a test to catch missing object errors in gauges
* remove waitForTimeout and add in check for time conductor successful start offset update
* hardening the test by checking for the time before the time change
* add "pageerror" to cspell
* Use the disabled attribute on a valid tag - the button.
* Add e2e test to check for add criteria button being enabled
* Improve test
* Check for add criteria button to have attribute disabled
* Remove focused test
* Add new utility to encode urls.
Use the encode urls utility to encode all background images in css
* need a commit to pull exampleimagery from
* skip and fix on otherside
---------
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* Initialize alignment offset to 0. (it was undefined). Also handle a small bug with swimlane configuration not getting replaced when the plan used by a gantt chart was changed
* lint: fix
* test: update visual tests to mock clock and show now line
---------
Co-authored-by: Mazzella, Jesse D. (ARC-TI)[KBR Wyle Services, LLC] <jesse.d.mazzella@nasa.gov>
* adding telemetry collections to condition manager
* handling telemetry collection data not datum
* adding from maaster
* addressing PR comments
* update unit test to work with telemetry collections
* fixing tests
* removing unnecessary addition
* removing focused describe
* removing focused it
* fix weird test bleed
* adding test for conditional styling
* removing some auto fix es-lint
* got a bit overzealous
* clarification
* using raf utility which handles it correctly and moving visiblity handling into the raf for consistency and performance
* using raf correctly
* removing raf, was causing issues
* move the test and add some determinism
* oops only
* missed lint
* got it!
* fix comments
* test(condStyling): stabilize test
---------
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
* refactor: clean up FaultManagementView code
* feat: providers can now provide "Shelve Duration" options
* fix(exampleFaultSource): support `getShelveDurations`
* a11y: aria label for fault management list item
* a11y(FaultManagement): more labels
* refactor: eliminate some faultUtils and refactor locator() out of tests
* docs: add some more docs to fault management api
* refactor: make for loop more readable
* test: use static faults when testing
* fix: set a timestamp for static faults and subtract so we get faults in order
* refactor: autoformat
* chore: add missing copyright header
* fix: use as default parameter to get value as method is called
* refactor: make magic number a const
* fix(codecov): use codecov github action to upload
* fix: generate the report
* build: update circleci yml to use codecov orb
* build: remove codecov scripts and package
* build: don't use the orb because things can't be easy
- nasa org disallows "third party" orbs
* build: only use `sudo` if we ain't da root user
---------
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* Simplifies the implementation of telemetry buffering in Open MCT.
* Switches from per-parameter buffering to a shared queue. Per-parameter buffering is too easily overwhelmed by bursts of telemetry from high-frequency parameters. A single shared buffer has more overhead to grow when a burst arrives without overflowing, because the buffer is shared across all parameters.
* Removes the need for plugins to pass serialized code to a worker.
* Switched to a "one-size-fits-all" batching strategy removing the need for plugins to define a batching strategy at all.
* Captures buffering statistics for display in the PerformanceIndicator.
* Closes#7820
- Fix 0 opacity fill in theme constants files for Gauge type needle.
* move gauge plugin to its own suite
* add two more snapshots
* driveby: fix some flake
* bug: update linting rule
---------
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
* more readable
* unpause explicitly
* fix jsdoc
* e2e testing multiple image removal
* prettier
* fix to remove multiple images from history
* move tests that use playwright clock api into own file
* fix playwright clock tests
* add aria-label to element
* prevent straggler debounced function call on unmount
* clean up and fix tests
* update paths
* lint fix
* lint fix
---------
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* fix: apply `is-style-invisible` className to image and alphanumeric items
* test: generate storagestate file with basic condition set
* refactor: small a11y additions for Toolbars
* test: add suite for display layout conditional styling
* fix: make condition true half of the time
* fix: use a period of 5 so tests are more stable
* test: mark as slow
* test: use inline base64 image text instead of a url
* fix: use vue reactivity system to conditionally show these objects
* test: use tiny base64 image
* fix: condition for v-show
* fix: use both v-if and v-show to toggle visibility
* refactor: convert to ES6 class
* fix: remove focused test
* fix: switch back to a div due to visual artifacts. settle for an aria role instead
- IT'S CALLED COMPROMISE!