Performing this change so the vue3 migration script can modify all @input, @v-model of components without changing plain elements. This will reduce the number of vue3 compiler errors.
* wip
* add logout action according to logic (SAML - logoutAll) + add modal to prompt user to select SLO logout type when logging out of Dashboard
* update authProvidersInfo method to allow for a getter usage in order to make it store reactive
* wip - missing final plumbing for the finalRedirectUrl
* bug fix for non-reactive header logout when auth provider is enabled
* adjust slo UI elements to match expected UI/UX
* minor adjustments + pr cleanup
* cleanup
* handle promise rejection for standard users (apparently they cannot get the schema)
* Updates
- Tweaked text (to be reviewed)
- Removed some code smells
- Ensure rancher logout via modal uses same process as normal logout
- Use async buttons in logout modal
- Add cancel to log out modal
- Fix logout on fail-whale page
* Add error handling (WIP with Andreas, does not currently reach final redirct / verify route)
* Fix check for IS_SLO
* Only allow optional auth provider log out if logged in auth provider
* Fix error message (SLO failures still result in rancher log out)
* check complete slo flow + add special copy when doing a slo logout
* Update shell/dialog/SloDialog.vue
Co-authored-by: Phillip Rak <rak.phillip@gmail.com>
* Update shell/edit/auth/saml.vue
Co-authored-by: Phillip Rak <rak.phillip@gmail.com>
* update syntax from phil pr review
* Fix logout modal on diangostics, about, etc pages that use plain template
* Remove PromptRemove from diagnostic page
- it uses the plain template which now contains it
- caused x2 modals to show
---------
Co-authored-by: Richard Cox <richard.cox@suse.com>
Co-authored-by: Phillip Rak <rak.phillip@gmail.com>
* Add support for individual banners
* Fixes
* Add tags to e2e tests
* Update e2e tests
* Revert changed
* Fix lint issues with trailing spaces
* Update e2e tests for login consent banner
* Update test for re-factor
* Fix lint
* Fix e2e banner tests
* Don't run individual banner tests for the standard user
* Ensure after hook runs after the standard tests, not the individual banner tests
* Fix updating existing ui-banners setting
* Changes for new design
- New visuals
- Pagination controls --> load more
- finished testing of label select with pagination off
# Conflicts:
# shell/edit/provisioning.cattle.io.cluster/__tests__/Basics.tests.ts
* Changes following review
* Update Node list to support server-side pagination
- Setup pagination headers for the node type
- Define a pattern for fetching custom list secondary resources
- Major improvements to the way pagination settings are defined and created
- Lots of docs improvements
- Handle calling fetch again once fetch is in progress (nuxt caches running request)
- Validate filter fields (not all are supported by the vai cache
- General pagination fixes
* Lint / test / fixes
* Improvements to configmap e2e test & Improve pagination disabled
* Beef up validation
* Fix missing name column in non-server-side paginated node list
* Fix PR automation actions
- fix syntax
- catch scenario where a pr has no fixed issue
> There's duplication between files, see https://github.com/rancher/dashboard/pull/10534
* CI bump
* Fixes post merge
* Wire in 2.9.0 settings for server-side pagination
- Everything is gated on `on-disk-steve-cache` feature flag
- There's a backend in progress item to resolve a `revision` issue, until then disable watching a resource given it
- Global Settings - Performance
- Added new setting to enable server side pagination
- this is incompatible with two other performance settings
* Integrate pagination with configmaps in cis clusterscanbenchmark edit form
Also
- improved labeled select pagination
- gate label select pagination functinality on steve cache being enabled
* - harvester machine-config
- project monitoring (and bug fixes)
* Disable workload screen if vai cache is on
- temp step until we get new overview
* TODOs and TEST
* Conditionally remove fetch of all secrets from SelectOrCreateAuthSecret
* TODOs and TEST
* Update SimpleSecretSelector
- only used in monitoring.coreos.com.alertmanagerconfig context
* View and Edit ingress - secrets
* node detail page - pods list
* Backup/Restore: Secrets (WIP)
* Backup/Restore: Secrets, and other usages of SimpleSecretSelector / SelectOrCreateAuthSecret
* Edit: Service account
* Add comments for remaining items
* Paginate Secret selection for logging providers
- Allow `None` option in Paginationed LabelSelect
- Optionally classify pagination response
* WIP
* fixes arfter merge
* Don't suggest container names, not practical
- previously all pods were fetched... and we scrapped all container names from them
- this is a scaling nightmare, user now must just enter the name/s to match
* Avoid findAll secrets in SimpleSecretSelector
* tidying up
* Move LabeledSelect/index.vue back to LabeledSelect.vue to not break extensions
* changes after self review... 1
* changes after self review... 2
* ooof
* changes after self review... 3
* fix formatting
* Link new paginated label select with pagination setting
* Work around failing kubewarden unit tests in check-plugins gate
* Fix backup.spec e2e test
* fix formatting, paginationUtils.isSteveCacheEnabled --> paginationUtils.isEnabled
* Don't fetch all secrets on cloud creds page
* Fix backup.spec e2e test
* TODO tidying / tracking
* don't getch ALL workloads for hacky way to get a link to a service's workload
* Fix bad merge
* Create a convienence wrapper called ResourceLabelSelector that hides most of the complexity
* fix unit test
* Updates following review
* changes following self review
* Fix bottom bar of edit backup, edit restore pages
* revert temp change
* changes following self review
* Workaround for kubewarden unit tests in check plugin gate
* bump
* Fix e2e
* Update shell/components/nav/TopLevelMenu.vue
Co-authored-by: Phillip Rak <rak.phillip@gmail.com>
* fix lint error with Trailing spaces not allowed in TopLevelMenu + add sneaky fix for cluster and project members side nav item not being highlighted
* make sure local cluster appears always on top of pinned and unpinned cluster lists in main nav menu + add unit tests
---------
Co-authored-by: Phillip Rak <rak.phillip@gmail.com>
* fix issue with double active main menu items in app bar + add e2e test to prevent regression
* Update shell/components/nav/TopLevelMenu.vue
Co-authored-by: Phillip Rak <rak.phillip@gmail.com>
* fix lint error with Trailing spaces not allowed in TopLevelMenu + add sneaky fix for cluster and project members side nav item not being highlighted
---------
Co-authored-by: Phillip Rak <rak.phillip@gmail.com>
* fixes i18n and small UX
* new layout design for the modal
* enables edit badge from cluster explorer
---------
Signed-off-by: scures <scurescu@suse.com>
* add mgmt cluster description to prov cluster description as fallbacks in home cluster list and main side nav clusters
* address pr comments
* add e2e to test description for rke1 cluster in home page
* address pr comments
* Fix race condition in loadCluster
* Revert new error and comments
* Improve navigation performance for products within the explorer product
* Remove unused getter
* Fix issue with not loading nwe cluster when changing clusters
* Fix bug where sidenav take a short time to update (was using queueUpdate)
* Fix lint issues
* Address PR feedback
- fixed scenario exposed by the project virtual type where call to allTypes ruled out all virt / spoofed types if basic mode has an inavalid entry (!groupForBasicType)
- however also removed the project virtual type. the nav item comes from `Project` group specified in `basicTypes` call)
- fixed a few things around the project group
- add label for project group
- explicitely set project group root of app
- fixed display of namespace icon for a menu item if there are no counts
* add logic to handle key combos + add route change on key combo press
* fix issue with tooltip position + add correct icon for when key combo pressed + added all logic to make key combo capture and route change work
* final adjustments + bug fix with width of text in side nav which caused horizontal scroll
* add e2e test
* finish key combo logic + finish e2e tests
* fix icon in dark mode
---------
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
* Removing everything related to scrollTrigger.
The latest vue router seems to behave exactly as it does with the modified scrollBehavior so it can all be removed.
* Removing unused $nuxt.{suffixes} that I found
- routeChanged (didn't find any watches of this event)
- nbFetching (The only place reading this was a computed property which wasn't used anywhere)
* Replace the use of Vue[installKey]
* Removing some ssr rehydration code since we're not doing ssr
* Remove the remaining $nuxt.$on,$off,$emit and replace with the use of our primary store which already had related code
* Replacing usages of the .$nuxt on vue instances with globalApp references
* Removing SSR dead code
* Fixing an issue where extensions could still be referencing window.$nuxt. This now provides a deprecation warning.
* Migrating another $nuxt over to the window.$globalApp
* Removed the usage of Vue.config.$nux
* Removed the usage of Vue.util.defineReactive
- Saw that the Nuxt component wasn't needed any longer so I removed it instead of trying to work around Vue.util.defineReactive
* Re-run missing check
---------
Co-authored-by: cnotv <giuseppe.leo@suse.com>
* add logic to change copy of logout screen when logging out with an auth provider different than local
* fex e2e test
---------
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
* add cluster description to home page cluster list and side menu clusters
* working on tooltip for long descriptions
* add tooltip to description on side menu
* remove console logs
* add tooltip to description on side menu + fine tune tooltip position
* finish tests
* fix e2e
* address test flakiness of repeated use of toggling main nav menu and not waiting for transitions
* address failing e2e tests + add missing array brackets to tests that only had tag as string (were not running)
* fix bug where clicking on home link wouldn't close the main nav + fix e2e
* update home link e2e getter with correct structure
* address #8854
* break long strings to next line
---------
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
* resource edit AS yaml
* fix cruresource (yaml from form)
- lazy load the schemaDefinitions when needed, avoids sync all to createYaml before we have an async chance to fetch schemaDefinitions
* Fix questions
- there are only four places we use questions, none of which use schema, this is just to be safe
* cluster scan, plugins/fieldsForDriver, defaultFor, validationErrors
* pathExistsInSchema
- used to optionally show conditions tab/list in resource detail view
- logs of things in ingress list/edit
* createPopulated / defaultFor
defaultFor requires resourceFields, it's only used by createPopulated in one place to support machine configs without components
* wip
* WIP MONITORING.SPOOFED
- these aren't spoofed types, but secondary schemas
- testing fix blocked, primary schema's have resourceFields
* Move steve specific (resourceField) code to steve models
- create models for steve schemas and apply to cluster and management stores
- move resoureField based validationto steve model
- move pathExistsInSchema to steve store getter
- don't fetch schemaDefinitions on start up when saving prefs (not needed and blocking)
* comments / improvements
* (untested) refactoring
* Fix alertmanager definitions, add retry definition fetch
* Fix pathExistsInSchema for path length > 2
* Fix questions that accept schemas
- tested by adding Questions to random page and the node schema
* Fix to saving configmap part 1
- the save works but doesn't show data. the yaml is the same as before. debug info added
* Validation by resourceFields is a norman specific thing, so make it such
* small refactor
* Tidying up
* Remove rebase junk
* fix linting and unit tests
* fix unit tests
* fix linting from fix for test....
* Tidying up, fix alertmanagerconfig
* Remove unit test todos
* add unit tests for resource fields
* sdssdf
* Add unit tests for pathExistsInSchema
* JS --> TS
* Store schemas in local singleton cache to avoid hitting store
* fix minor changes from review
* cruresource changes following review
- improvement - remove spurious canDiff
- createResourceYaml - pass in resource to use instead of calc in code
* WIP changes to parseType
* Fix generic cloud credential and node driver forms
* handle missing reactivity given schema definitions not in store
* fix and add unit tests for `parseType`
* Fix create-yaml test
* Changes following review
- improved comments
- SchemaDefinitionCache is now per store (and is reset as such)
- typeRef now uses parseType
* Fix dep loop by moving route based helps in auth out to utils file
* fix unit tests
* Changes following review
- Improve performance of allTypes fn
- This consumed the majority of time within getGroups
- Reduced execution time by a half
- Change from running allTypes products * modes times, run it once per product
- Reduce the amount of times getGroups is called
* support old ui-banner setting structure + update unit test to cover this scenario
* fix lint issue
---------
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
* add method to add class to highlight main menu items based on current route + make fleet routes use 'blank' cluster
* update e2e tests to check for active class on main nav menu in strategic specs that cover the main nav
* fix merge conflicts
* fix lint issue
* move higlight check to burguer menu po + remove duplicate condition check
* address pr comments
---------
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
* fix(ContainerLogs): fix display error if log is truncated
* test(ContainerLogs): adding test cases for truncated log processing
* add test for empty string
---------
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
* Remove conditional chaining in template
* Prevent app to break if no setting available
* Prevent to break if no mgmt cluster
* Prevent sidebar to break if no kube cluster
* Prevent breaking if no product available
* Prevent sort utils to break if no value is provided
* Add markup comments
* Replace getter mapping
* Prevent error if missing label for the inspected cluster
* Add tests for sidebar
* Initial Example
* Add toggle expand all
* Add panel resize
* Fix close and open after resize
* Fix expand all
* POC: Kubectl explain interface
* Fix some lint issues
* First version of the kubectl explain UI
* Improvements
* Fix lint
* Tidy up Open API data fetch
* Tidy up code for parsing OpenAPI
* Many tidy ups and simplifications
* Add error message if we can't load Open API Data
* Ensure action appears only when there is a resource
* Fix lint issue
* Test e2e
* e2e
* e2e
* USe canary browser
* Use firefox
* Try chrome version
* Auto accept prompt
* Accept
* Last try
* Install Chrome
* Run as root
* Fix paths
* Add quiet flag, fix paths
* Use browser path
* Try debugging port
* Further attempts
* Set path
* Add debug env var
* Try edge
* Use specific version
* Add allow downgrades
* Use Chrome
* Remove WIP
* Adderss PR feedback
* Fix for no cluster
* Address PR feedback
* Fix lint issue
* Fix position with banners enabled. Restrict products for which this is shown
* Fix lint issue
---------
Co-authored-by: Richard Cox <richard.cox@suse.com>
* Fixed app bar overlaps issue and active group highlight bug in firefox
* Fix group highlight for Cluster Management and other section
* Fixed overlap issues in home and other pages
* Fixed lint and revert test changes
* Added getter for showTopLevelMenu
* Added a showTopLevelMenu getter
* Fixed lint
```
`preventOverflow` modifier is required by `hide` modifier in order to work, be sure to include it before `hide`!
```
- Needed `hide` - https://popper.js.org/docs/v2/modifiers/hide/
* Added group highlight
* Made active group header bold
* Added active color variable
* Added namespace icon
* Added new spacing, style
* Fixed lint and cluster group highlight issue
* Fixed sub accordion style
* Change icon style
* Fixed icon alignment
* Fixed spacing issue
* Fixed spacing and lint
* Highlight active header when it is close
* When execing into a container, try linux and windows commands when we can't determine if the node is windows
* Fix lint
* Lint: Remove trailing white space
* Use error message rather than last error
* extra failover, caching last working os against pod, errors, tests
* add __mocks__ folders to eslint ignore patterns
* standard user test fix
* removed unnecessary try/catch logic
* Revert "removed unnecessary try/catch logic"
This reverts commit c263131927.
---------
Co-authored-by: Sean <sean.mchugh@suse.com>
- Moving the store setting to enable/disable filtering in the store to a function in a computed property caused havoc for churn
- Make this much neater by moving flag to the setup stage for both ns filter
- Given forced filtering is now not resource dependent have a high level utils function to determine if enabled
- This should have opened up the door to setting a nicer default then ALL_USER, however it's actually initially applied somewhere other than ns filter
- Fixed a bug where the all option [] was valid
> This uses a new endpoint that has yet to merge. See https://github.com/rancher/rancher/issues/40140
WIP
- Contains console.warns (via custom logger, can be disabled)
- Waiting for final BE endpoint changes to merge
- Contains TODOs to resolve on final enpoint changes delivered
Pertinent Points
- Incompatible with incremental loading / manual refresh
- Harder to get counts (need to sum up from different namespaces)
- Requires use of new steve pagination
- Enforced NS threshold has been removed
- The threshold only applies to the primary resource. This has issues when loading a low count primary (daemon sets) which depends on a very high count secondary (pods)
- Fixing this would involve knowing all secondary resources a list uses, which isn't currently possible (each resource is requested individually, need to know them all first)
- There is no way to subscribe to multiple namespaces (one or all)
- We mock this in subscribe by only persisting changes to resources from within target namespaces
- Everything should work with Advanced Worker enabled
* performance page spec file
* performance page spec file: fixed linting errors
* modified checkbox and radio-group-input files
* added components to support preference page testing
* added class for clusterrepo resource list component
* preferences page objects file
* user menu page objects
* small change to preferences test
* cr updates for button-group functions
* PreferencePagePo inherit from PagePo updates to manage url etc
* update validation for table rows per page test
* accidentally removed line of code
* update validation for Number of clusters to show
* minor lint fixes
* update validation for time format test
* update validation for date format test
* banner class and lint issues fixed
* dropbox po refactor
* button-group po refactor
* radiobutton po refactor
* checkbox po refactor
* updated comments in test file
* refactor dropdown pref page tests and listed box functionality folded into labeled-select.po
* ReposListPagePo class added and prefpage tests updated
* refactored ClusterManagerListPagePo to take clusterId as argument and updated spec files
* refactor user-menu.po and tests that use it
* update intercept logic to aliasing individual requests
* update data-testid to use kebab case (value has quotes inside selector)
* removed extra validation (causing flakiness)
* added scrollIntoView to checkVisible function
* consolidated files for ReposListPagePo and updated files which use the class
* made updates to pref page spec file: simplified intercept logic, added ckeckVisible, skip login landing page test, etc.
* fixed lint issues and updated intercept function
* fix waitForGoTo function and readded removed code
---------
Co-authored-by: Yonas Berhe <yberhe@Yonass-MacBook-Pro.local>