* 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!
* test: fix broken locator in imagery perf test
* Prevent this from happening
* make rule explicit
* test: maintain `locator()` pattern for contract tests
* test(couchdb): try some new techniques to stabilize the test
* Revert "test(couchdb): try some new techniques to stabilize the test"
This reverts commit 9aa1ea95a1.
* chore: revert to `networkidle` and disable eslint rule
* test: add `@network` annotation for tests with real network requests
---------
Co-authored-by: Hill, John (ARC-TI)[KBR Wyle Services, LLC] <john.c.hill@nasa.gov>
* fix: update broken locator
* update eslint package
* first pass of lint fixes
* update package
* change ruleset
* update component tests to match linting rules
* driveby
* start to factor out bad locators
* update gauge component
* update notebook snapshot drop area
* Update plot aria
* add draggable true to tree items
* update package
* driveby to remove dead code
* unneeded
* unneeded
* tells a screenreader that this is a row and a cell
* adds an id for dragondrops
* this should be a button
* first pass at fixing tooltip selectors
* review comments
* Updating more tests
* update to remove expect expect given our use of check functions
* add expand component
* move role around
* update more locators
* force
* new local storage
* remove choochoo steps
* test: do `lint:fix` and also add back accidentally removed code
* test: add back more removed code
* test: remove `unstable` annotation from tests which are not unstable
* test: remove invalid test-- the "new" time conductor doesn't allow for millisecond changes in fixed time
* test: fix unstable gauge test
* test: remove useless asserts-- this was secretly non-functional. now that we've fixed it, it makes no sense and just fails
* test: add back accidentally removed changes
* test: revert changes that break test
* test: more fixes
* Remove all notion of the unstable/stable e2e tests
* test: eviscerate the flake with FACTS and LOGIC
* test: fix anotha one
* lint fixes
* test: no need to wait for save dialog
* test: fix more tests
* lint: fix more warnings
* test: fix anotha one
* test: use `toHaveLength` instead of `.length).toBe()`
* test: stabilize tabs view example imagery test
* fix: more tests be fixed
* test: more `toHaveCount()`s please
* test: revert more accidentally removed fixes
* test: fix selector
* test: fix anotha one
* update lint rules to clean up bad locators in shared fixtures
* update and remove bad appActions
* test: fix some restricted notebook tests
* test: mass find/replace to enforce `toHaveCount()` instead of `.count()).toBe()`
* Remove some bad appActions and update text
* test: fix da tree tests
* test: await not await await
* test: fix upload plan appAction and add a11y
* Updating externalFixtures with best practice locators and add missing appAction framework tests
* test: fix test
* test: fix appAction test for plans
* test: yum yum fix'em up and get rid of some dragon drops
* fix: alas, a `.only()` got my hopes up that i was done fixing tests
* test: add `setTimeConductorMode` test "suite" which covers most TC related appActions
* test: fix arg
* test(couchdb): fix some network tests via expect polling
* Stabalize visual test
* getCanasPixels
* test: stabilize tooltip telemetry table test, better a11y for tooltips
* chore: update to use `docker compose` instead of `docker-compose`
* New rules, new tests, new me
* fix sort order
* test: add `waitForPlotsToRender` framework test, passthru timeout override
* test: remove `clockOptions` test as we have `page.clock` now
* test: refactor out `overrideClock`
* test: use `clock.install` instead
* test: use `clock.install` instead
* time clock fix
* test: fix timer tests
* remove ever reference to old base fixture
* test: stabilize restricted notebook test
* lint fixes
* test: use clock.install
* update timelist
* test: update visual tests to use `page.clock()`, update snapshots
* test: stabilize tree renaming/reordering test
* a11y: add aria-label and role=region to object view
* refactor: use `dragTo`
* refactor: use `dragTo`, other small fixes
* test: use `page.clock()` to stabilize tooltip telemetry table test
* test: use web-first assertion to stabilize staleness test
* test: knock out a few more `page.click`s
* test: destroy all `page.click()`s
* refactor: consistently use `'Ok'` instead of `'OK'` and `'Ok'` mixed
* test: remove gauge aria label
* test: more test fixes
* test: more fixes and refactors
* docs: add comment
* test: refactor all instances of `dragAndDrop`
* test: remove redundant test (covered in previous test steps)
* test: stabilize imagery operations tests for display layout
* chore: remove bad unicorn rule
* chore(lint): remove unused disable directives
---------
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
* fix(#7791): tc form shouldn't submit bounds changes on dismiss
* test(e2e): add tests for validating time conductor popup
- update appAction for setting time conductor in fixed mode
- add a11y to time conductor in fixed mode
- update tests using `setTimeConductorBounds`
* fix(#7791): actually fix the problem. Also, add a test.
* test: add annotation to regression test
* docs: comments
* test: fix the reset image button flake ONCE AND FOR ALL
- wait for the rightmost image thumbnail to be in the viewport :D
* test: add tests for `setTimeConductorMode` and `setTimeConductorBounds`
* DRAFT - alignment for axes
* Use alignmentContext to manage tick widths instead of passing around as props
* Remove log statements
* Add ability to remove alignment widths for a given y axis
* Fix computation of left margin and width of plan when in the timestrip
* Remove excess padding when there is no left y axis
* Use alignment composable to adjust left margin and width of time system axis
* Fix now marker visibility
* refactor: use built in `Map()` data structure
* refactor: improve readability and conciseness
* docs: improve jsdocs
* refactor: move jsdoc typedefs to bottom of file
* refactor: axis to use vue reactivity
* fix: return alignment as an object of refs
* alignmentMap needs to be shared state, move it out of the useAlignment composable.
* Fix now marker offset
* Add new visual test for time strips
* update with animation stabilization
* Fix failing test due to changed injected property (path -> objectPath)
* change injected property from path to objectPath
* Fix spelling
* Remove unused arguments to function call
---------
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
Co-authored-by: Hill, John (ARC-TI)[KBR Wyle Services, LLC] <john.c.hill@nasa.gov>
* For telemetry that cannot have it's own configuration, ensure that it is correct initialized by the parent.
* stacked plot test checks that config properties for immutable telemetry points are applied correctly
* add tab navigation to inspector tabs
* add accessibility metadata to this component
* Update title to be on the correct component. Add expand/collapse logic
* clean up test
* refactor: better a11y for plot forms, fix "expand by default" test, refactor out `plotActions.js`
* a11y: aria label for plotOptionsItem
* refactor(a11y): PlotOptionsBrowse structure to have better a11y
* fixed tests
* address comment
* reverted to match previous commit
---------
Co-authored-by: Hill, John (ARC-TI)[KBR Wyle Services, LLC] <john.c.hill@nasa.gov>
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* update imagery to be static
* bump versions
* doesn't do anything
* does this do anything
* undo only
* update the hardcoded urls
* add ignore CI logs push
* downgrade to test
* update the package lock
* Add some more noise reduction
* move to elements tab so that there is no time-based component
* stability
* re-enable main test
* Enable tests and fix some failing ones
* revert accidental changes
* test(a11y): on failure, take a screenshot to disk
* test(visual): wait for the snapshot indicator to stop flashing
* Fix all failing tests
* test: disable a11y checks for planning suite
* lint:fix
* fix pathing issues
* build: increase visual-a11y parallelism from 2 to 4
* test: darkmatter theme a11y checks + snapshots-- ACTIVATE!
* test: fix file name and path
* fix(#7317): scott bell prophecy
* jk no credit for u
* chore: disable parallelism until we figure out what's going on
* chore: set parallelism to 2 in hopes it fixes percy
---------
Co-authored-by: Hill, John (ARC-TI)[KBR Wyle Services, LLC] <john.c.hill@nasa.gov>
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
* Use setMode API to set the time span as well as the bounds instead of the old bounds time API.
* Add test for synchronized time conductor via plots
* Fix linting issue
* If we're paused, don't purge data out of bounds
* Refactor auto scale utility functions for reuse
* Create new test spec for plot controls
* Move plot related actions into it's own file
* Fix typo for imports
* Remove named exposedFunction as it is causing errors when the method is used on the same page more than once.
* Fix spelling
* clear any staleness subscriptions before viewing a new object
* add checkbox to options for createDomainObjectWithDefaults, update swg staleness provider to use new time api, add test
* revert
* modified for simplification and to remove the need to update helper methods
* consistent naming convention
* Update e2e/tests/functional/staleness.e2e.spec.js
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* adding back vars that were removed
---------
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* run scroll method to scroll to top after initial load of historical data
* clarifying comment
* added e2e test to make sure tables auto scroll on mount
* adding descriptive comments
* adding in ascending check as well
* added new appAction for navigating to/in realtime, using it in table scroll test
* lint
---------
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
* this is 2024. `*` observers no more.
* add edit and save domain object helper functions
* add aria-labels and fix e2e tests to use new labels
* generate and save in local storage a condition set with telemetry and condition
* rename const
* move creation code out of generateLocalStorage since it is immutable
* remove function abstractions
* remove @localStorage test label
* Update e2e/tests/functional/plugins/conditionSet/conditionSet.e2e.spec.js
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* Update e2e/tests/functional/plugins/conditionSet/conditionSet.e2e.spec.js
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* Update e2e/tests/functional/plugins/conditionSet/conditionSet.e2e.spec.js
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* Update e2e/tests/functional/plugins/conditionSet/conditionSet.e2e.spec.js
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* remove unneccesary aria text
* remove unneccessary aria text
* use recommended playwright locators
* lint fix
* remove unneccesary steps now that child created directly in parent
---------
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* Closes#7635
- More specific approach to CSS class application for column vs. row layouts.
- Added layout direction CSS classing to `c-fl-container__frames-holder`.
- Switched toolbar icon and titling for better parity with
'toggle' approach used elsewhere.
- Cleaned up duped property def in mixin.
* Addressing PR change requests
- Updated e2e test.
- New computed properties for layout direction.
- CSS code cleanup.
* fix selector in test
* fix more bad selectors
* fix changed title
---------
Co-authored-by: David Tsay <david.e.tsay@nasa.gov>
* enable eval source maps for debugging
* split image and text paste handling
better event handling
* change back source maps
* image takes precedence over text
* break up notebook entry functions for re-use
* create hotkeys utils
add clipboard functions
* add notebook paste test
* add test for pasting to selected but not editing entry
* link tests to issue
* jsdoc addition
* jsdocs
* no need to import then export
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* fix changed path
---------
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
* fix: remove mystery webpack code
* fix: remove type:module and specify exports
- we aren't a module... yet
* fix: rename webpack*.js to webpack*.mjs so we can use import/export. fix imports
* fix: exports format
* fix: woops, need to add `start` script back
* chore: split e2e into its own module
* fix: use normal Painterro import
* fix: update e2e pathing
* fix: copy over helper functions
* chore: specify `cwd` for playwright configs so that openmct npm commands work as intended in any environment
* chore: add pretest script to e2e package.json
* chore: don't package e2e
* refactor: tidy up webpack common config
* chore: compile types to a single file
* chore: fix visual test npm scripts
* chore: fix import pathing
* chore: define package exports, move test specific dependencies to the subpackage
* chore: export test framework from openmct-e2e
* chore: export baseFixtures also
* chore: let `openmct` and `openmct-e2e` share `node_modules/`
* chore: use `--workspace`, remove pretest script
* Revert "fix: remove mystery webpack code"
This reverts commit eb14d52569ffa27ab1a090b883694f4707b59cd0.
* chore: update package-lock
* chore: add `.npmignore`
* fix: *js -> mjs
* fix: resize conductor properly
* refactor: more computed properties, unregister listener
* fix: beforeUnmounted hook
* test(visual): add time conductor visual test for fixed mode
* fix: initialize to `null`
* feat: extend the base `screenshot` function to mask elements which will always create variance in an Open MCT screenshot
* docs: add types for fixtures
* fix: remove unneeded await
* chore: add sinon timers types package back
* docs: remove unused docs
* doc: remove unused docs
* test: add visual realtime url, update imports
* feat: provide wrapped page.screenshot fixture that applies defaults
* test: add basic timeConductor snapshot tests
* chore: update eslint config
* lint: remove unused disable directives
* test: remove redundant navigation
* fix: remove listeners
* fix: maybe stabilize unit tests
* docs: remove
* fix: provide sourcemaps in unit tests
* test: add regression snapshot test for time conductor axis
* lint: remove unused imports
* feat(e2e): add fixture to manually tick the clock and use it
* test: reactivate test now that we don't use deploysentinel :(
* test: update snapshots
* test: add test for clockOptions and tick fixtures
* test: add afterEach stub and fixme
* test: try and stabilize fault management flake
* lint: defy the word gods
* chore: ignore `*-darwin.png` screenshots
* chore: remove darwin screenshot binaries
* docs: markdownlint
* docs: remove MacOS specific instructions from snapshot testing
* fix: remove a11y
* chore: update tsconfig to target modern ES
* docs: update UserProvider
* docs: update UserAPI, make openmct private
* docs: update StatusAPI
* refactor: convert ViewRegistry to ES6 class
* docs: finish type imports for openmct api
* docs: minor doc improvements
* docs: add UserIndicator readme
* docs: add User API section to API docs
* docs: document Mission Status
* docs(JSDoc): primitive types should be lowercase, otherwise TitleCase
* request telemetry when subscribing to data in case we have cached subscription
* change back to >=
* revert
* update tests
* fixing tests
* add metadata
* fix test
* another mock required
* one more function needed
* attempt to fix some afterall errors
* add fixme for e2e test
* fail fast on request
---------
Co-authored-by: Andrew Henry <akhenry@gmail.com>
https://github.com/nasa/openmct/pull/7565 Modified Stacked Plots to not show Missing Objects. Added a check in Telemetry Collections for missing objects before displaying telemetry metadata time system error.
* fix: painterro import
* test(snapshotAnnotation): add minimal e2e test
* chore: add e2e test annotation
* fix: notebook snapshot test
* refactor: put `v-else` on template
* small changes to the test and a visual one
* additional a11y
* fix: html structure
* test(e2e): fix notebook snapshot tests
* Update documentation for file download and JSON testing
* Update stubs and add jpg/png export
* refactor(TimelistComponent): tidy up
---------
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* allow content to scroll vertically
* add framework for inspector content scrollable e2e test
* fix paths and spelling error
* add aria-label to properties list
* add scroll check to test
* use click, which scrolls if needed
* use scrollbar to scroll
* Closes#7566
- Fixed scrolling to only apply to the area below the Inspector tabs.
- Removed unneeded padding in pane.scss.
- Alignment fixes to related scroll elements in tree.
* cspell: ignore this file because it doesn't understand latin
* fix selectors and test
* lint fix
* driveby: wait for thumbnail bar to finish scrolling before taking snapshot
---------
Co-authored-by: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
* refactor: url tools use named exports
* fix: refactor method and remove customUrlParams
* test(e2e): verify bounds are preserved in data pivoting
* test: remove test as feature is no longer needed
- dataVisualization logic has moved from MMGIS plugin to the open source. As such, we can just use the time conductor bounds
* refactor: autoformat keeps changing this so i'mma just commit it
* refactor: remove unnecessary code
* refactor: simplify, add docs
* Revert "refactor: remove unnecessary code"
This reverts commit 87aef35c510230835fb682b80e89a6006ef2d923.
* a11y: improve aria labels for ITC
* fix: simplify url method
* fix: update ITC app actions
* test: add test to generate test data for display layout w/ overlay plot + ITC enabled
* test(e2e): add suite + test for open in new tab from subobject
- needs cleanup
* a11y: various a11y improvement drivebys
* a11y: clock indicator needs to be quiet
* a11y: add `aria-live` to SuperMenu details
* a11y: greatly improve a11y of Menus and SuperMenus
* test(e2e): clean up test
* fix: improve a11y for context menus, fix test
* chore: remove nop-longer-recommended extension
* feat: provide one more bound option for example data viz
* fix: no need for `mount`, use dynamic rendering instead
* Revert "fix: simplify url method"
This reverts commit b24c7dabc783a9a1c3f2460eada99f452259f566.
* fix: correct time conductor bounds when opening in a new tab from a plot in the inspector
* test: fix e2e tests
* Revert "test: remove test as feature is no longer needed"
This reverts commit 759ebd4667bffb1979d5f62af6b47f349dcd9f77.
* test: move 2p annotation to test
* test: fix e2e
* fix: no words for the word god today
* test: fix e2e
* fix: e2e test
* test: fix test
* driveby: fix perf test
* fix: revert required prop change
---------
Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* Initial changes to refactor Time Conductor
* Finish refactor using grid-template
* Finish total refactor of Time Conductor
* Initial mobile changes
* Fix TC on mobile by changing grid template
* Fix more mobile stuff
* Add ellipsize to TC popup options and rearrange popup inputs and labels
* Small final changes so TC is adaptive to extreme cases
* Add e2e mobile test
---------
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* refactor: merge FaultManagementListView into FaultManagementView
* refactor: make `selectedFaults` a computed property
* refactor: use named exports
* fix: reset fault map AFTER selectedFaults have been acknowledged
* a11y: add aria labels for fault management toolbar buttons
* refactor: use named import/exports
* a11y: add label
* a11y: add aria label for checkboxes
* fix: acknowledging or shelving single fault from context menu should only apply to selected fault
* refactor: use change event instead of input event for checkbox
* test: fix e2e tests, remove expect.softs
* test: stabilize fault management e2e tests
* d3 implementation of progress pie chart
* Handle 0% and 100% cases
* PR #7485
- Minor tweaks to `s-selected` styling.
* add in-progress class for compact view
* Fix issue where updating progress for pie chart wasn't working till at least one clock tick.
Write tests for progress pie
* update documentation for clock annotation
* Update clock annotation in tests
* split long testfile
* driveby missing test
* driveby fix flake
* temp: fix flake and prep for visual test
* Fix linting errors
* this should be resolved
* these keep popping up
* moving some of this around
* moving this around
* the test
* Fix imports for tests
* no longer need constant
* move to front
* Stabalize name
* test(missionStatus): fix visual test
---------
Co-authored-by: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
* Fix error when removing staleness subscription due to incorrect parameter
* On resize, clear the drawing API to reset the height and width for point calculation.
* Add e2e test to test limit lines after resizing the plot view.
* We need to update viewport when drawing limits in case there is no data for plots.
* Address review comments. change event naming convention and reduce debounce time.
* Use limit line and label seriesKeys to make ids unique
* Improve locator for limit lines checkbox
* Add a check for network requests when limit lines are redrawn
* Make overlay messages centered
* Fix changes so that only dialogs and not forms are affected
* Fix buttons such that they are right-aligned
* Reduce to one worker for stability
* Add test to cover new capabilities
* lint fixes
* Closes#7343
- Fixed an oversight that caused the top of form dialogs to
be scrolled out of view by default.
- Fixed approach to vertical centering for `-fit` type confirmation dialogs.
- Reduced size of confirmation dialog icons.
- Smoke tested in Chrome mobile emulator in a large variety of mobile
viewport sizes and orientations.
* Closes#7343
- Removes extra margin unintentionally added to `l-overlay-large`.
---------
Co-authored-by: John Hill <john.c.hill@nasa.gov>
Co-authored-by: Charles Hacskaylo <charles.f.hacskaylo@nasa.gov>
* Add the disabled class instead of the disabled property
* Add test for condition set test data
* Use computed property for css class
* Use array syntax for class instead of computed value
* Fix .getByTitle locators to use .getByLabel instead
---------
Co-authored-by: Scott Bell <scott@traclabs.com>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
* fix(#7456): check if object is an identifier
* refactor: use v-show, remove unnecessary deep copy, set yAxes array to empty in a way that preserves reactivity
* refactor: use ESM exports
* refactor: use ESM imports
* test(e2e): add test for element item removal from overlay plot
* a11y: add accessible name for object labels
* refactor: move overlayPlot creation to beforeAll, use getByLabel
* Add status area back to mobile
* Make search results responsive to width
* Make clear search button always visible, regardless of hover
* Make clear search button visible, and fix weird margin in top left corner
* Fix input width, add logic to make close button work properly, fix margin on results so there is room for close button, fix various landscape mode issues
* update mobile testing
* Fix dropdown sizes, remove shadows and corners to make it look less like a popup and more full screen
* Add animation and persist search bar in mobile
* Fix linting issues
* Fix padding in Desktop
* fix padding in status area
* fix bad merge
* lint fixes
* fix bad merge... again
* again
* fixes to mobile
* update tests
* lint fix
* test fixes
---------
Co-authored-by: John Hill <john.c.hill@nasa.gov>