Commit Graph

39 Commits

Author SHA1 Message Date
Alexandre Alves 6637583874
remove "process." mentions from Dashboard and adjust code (#10119)
* remove process.client and process.server mentions and adjust code

* fix a couple of missing conditions for process.server

* remove commented line

* remove process.static

* fix lint errors

* uncomment code

---------

Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
2023-12-13 08:41:26 +00:00
wujun f4856ffccc fix circular dependency 2023-07-26 17:45:27 +08:00
Giuseppe Leo 01eeb0548f
Add recommended lint rules globally (#8997)
* Update configuration

* Create default config for eslint

* Restore plugin:vue/recommended

* Add exceptions and overrides

* Correct manually remaining issues

* Adding further picked exceptions groupped up

* Fix or disable specific cases manually and singularly

* Add naming linting exception

* Remove unused variable in component

* Move rules to default

* Autocorrect rancher/components linting issues

* Configure VSCode to use multiple files, to display linting for rancher components

* Disable jest lint hook restriction for string list component

* Autofix
2023-06-23 17:02:55 +02:00
Richard Cox d5c5e6aa7c Fix log in --> redirect to log out
- This occurred because..
  - The user tries to access resource with 401 --> onLogout dispatched
  - onLogout unbsubscribes to all stores
  - stores are waiting for mgmt stores to be ready
  - user still redirected to log in page
  - user logs in
  - mgmt stores ready
  - stores now unblocked from waiting for mgmt --> continue in original onLogOut action
- Fix is to ensure we exit the wait early if we get the call to unsubscribe
2023-05-23 12:09:37 +01:00
Richard Cox 9fada7f0b6 Remove richards-logger 2023-05-18 14:28:28 +01:00
Richard Cox 281fb6672c Simplify forced filtering setting
- 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
2023-05-18 14:28:28 +01:00
Richard Cox 7e5ad5de34 Expand enforced namespace filtering to multiple namespaces and projects
> 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
2023-05-18 14:28:28 +01:00
Sean-McQ e256669e74
cluster and rancher stores now use advanced worker (#8717)
* cluster and rancher stores now use advanced worker

* Addressing feedback

* addressing PR feedback and unit tests

* Fixed sticky footer in Helm Chart Install Yaml (#8497)

* Remove dependency: nuxt

Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>

* Remove dependency @nuxt/types

Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>

* fix lint

Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>

* Remove dependency: @nuxt/typescript-build

Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>

* Remove dependency: @nuxtjs/eslint-module
Remove dependency: @nuxtjs/proxy
Remove dependency: @nuxtjs/style-resources

Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>

* align package.log

Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>

* Storybook, add vue-loader dependency

Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>

* Added placeholder in url input (#8036)

* Added placeholder in url input

* Added format checker for Url input

* Update test

* Fixed lint

* Fixed breaking for other providers

* Fixed lint

* Update vue options to preserve whitespace (#8742)

* Update vue options to preserve whitespace

* Bug fix with tidy-up

* Fix response times for multiple clusters (#8720)

* Update extensions publish workflow for assets in gh-pages branch (#8618)

* Update extensions workflow to move assets into gh-pages branch

Fix gh-pages check

* Move bundle execution - add default basename and ext version

* Fix basename op

* PR changes

* [v2.7] Update Chinese translation (#8731)

* Upgrade to Vue 2.7 (#8654)

* upgrade @vue/cli-xxx

* Update Vue to latest 2.7

* Update eslint-plugin-vue

* Disable new linting rules

* Remove linting issue

* Pin Dom purify library version

* Add resolution to avoid conflicts with packages

* Update yarn/lock after the enforced resolution

* Exclude node 16 types resolution

* Fixed extra space bug in the generic cluster-page (#8626)

* Fixed extra space bug in the generic cluster-page

* Fixed space issue in banner

* Revert changes

* Removed extra div

* Fixed selected rows counter (#8419)

* Fixed selected rows counter

* Fixed lint

* Fixed counter in selection.js

* Small fix in toAdd condition

* Lints

* Fixed condition for selected row counter

* Changes in focusAdjacent function

* Fixed lints

* Improve OPA Gatekeeper constraint detail page (#8586)

This adds the following functionality to the violations list on the OPA Gatekeeper constraint detail page:

* Add a namespace column to the violations
* Make the violations list searchable
* Allow to download the violations as a CSV, similar to CIS scanner violations

Signed-off-by: Bastian Hofmann <mail@bastianhofmann.de>

* Increase memory on build (#8751)

* Remove extension autoLoad functionality (#8700)

* fix(BrandImage): remove async fetch method (#8432)

* Removed hasClass method (#8752)

* Removed hasClass method

* Clean code

* Two minor tweaks
- supported store types now a const
- WORKERMODES --> WORKER_MODES

* Fix two bugs
- Ensure advanced worker runs in cluster manager with no current cluster context
- Ensure `resource.stop` from advanced worker successfully kicks off watch


Also
- make rancher, managment and cluster store names a const

* Tweaks
- Fix some comments (jsdoc --> standard, todos)
- Made the web worker redispatch requirement clearer

* Fix unit tests

* Fix resource.stop / resource.error TOO_OLD bugs

- Persist watcher error state after resource.stop
  - this will ensure the resource.stop given alongside the resource.error TOO_OLD is ignored
- Ensure any errors are cleared when we succesfully connect (given above)
  - Should fix the next resource.stop being ignored after recovering from TOO_OLD
- Fix resync watch params
  - these weren't correct, so the resync after TOO_OLD never worked
  - the format could be slimmer, but i thinkg it matches how other socket's data works

Note - I manufactored the TOO_OLD by setting a revision of 1 in subscribe resource.stop if it came from the advanced worker

---------

Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
Signed-off-by: Bastian Hofmann <mail@bastianhofmann.de>
Co-authored-by: richa <richa.bisht@suse.com>
Co-authored-by: Francesco Torchia <francesco.torchia@suse.com>
Co-authored-by: Neil MacDougall <nwmac@users.noreply.github.com>
Co-authored-by: Jordon Leach <40806497+jordojordo@users.noreply.github.com>
Co-authored-by: vickyhella <vickyhella@hotmail.com>
Co-authored-by: Giuseppe Leo <giuseppe.leo@suse.com>
Co-authored-by: Bastian Hofmann <mail@bastianhofmann.de>
Co-authored-by: LiuYan <361112237@qq.com>
Co-authored-by: Richard Cox <richard.cox@suse.com>
2023-05-17 03:48:10 -04:00
Cody Jackson bbb7eebc90 Removing nuxt 2023-03-03 11:49:26 +00:00
Sean 3a414723f9 Sockets subscribe with namespaces and other filters and also unsubscribe 2023-02-27 10:10:04 +00:00
Richard Cox 855dc131ab Avoid suprious console.error
- when we recieve a `too old` socket watch error we kick off a resync which will watch with a valid revision
- we'll get a resource.stop event following the previous error. socket is in error though so we correctly abort
- the error for this was misleading


Can be trigger with a fake revision on cluster list
In subscription `watch`
```
    if (!trigger && type === 'management.cattle.io.fleetworkspace') {
      trigger = true;
      revision = 1;
    }
```
2023-02-24 11:54:52 +00:00
Richard Cox e73c55c782 Fix issue where gap between resource.stop and resource.start lead to missed resource changes
- changes cover create, change and remove
- resource.stop events happen
  - we unusb
  - after socket errors (that rancher sends, like revision `too old`)
  - after resource type permissions change
- there would be a gap between resource.stop (fetch latest revision, wait 5 seconds) and resource.start
- this could lead to missed resource changes and stale info on screen

Linking a couple of pertinent changes

- forceWatch partially implemented - 14862b2924 (diff-42632b5ed3c30e60abade8a67748b16d45e0778091713dd71a46d4bbe9211d2c)
- too old originally removed https://github.com/rancher/dashboard/pull/3743/files
  - this was implemented before the backend fixed their spam

Note - resource.stop can be forced with CATTLE_WATCH_TIMEOUT_SECONDS=300 (on v1 will resource.stop every 5 mins)
Note - Too old can be forced by editing resource.stop with
      // const revision = type === '' ? undefined : 1;
      // dispatch('watch', { ...obj, revision });
2023-02-21 16:56:31 +00:00
Richard Cox 6ce6632e13 Fix update of machines/pools in cluster detail Pools tab
- fix issue where ..
  - state 1 - X machines + Y fake machines = total
  - state 2 - X+1 machines + Y-1 fake machines = same total
- same total meant sortable table `arrangedRows` value wasn't updating
- fix is to ensure the sort generation changes so `arrangedRows` doesn't return the cached rows
- this is the same method used for the project/namespace list
2023-02-20 17:09:52 +00:00
Richard Cox 1a448de513 Disassociate the steve worker file from the steve store
- Alternative fix to https://github.com/rancher/dashboard/pull/8064
- Assign the steve worker creator to the store via plugin
- This avoids package build errors (in harvester) due to the package build process missing web worker specific build config
- On the downside this means rancher/steve specific stuff is applied at a more global level
2023-02-14 13:42:08 +00:00
Sean-McQ ca1b810c7b
Moves sockets into the advanced worker (#7760)
* Moves sockets into the advanced worker

* worker can die peacefully now, making switching between cluster work.

* Make waitFor generic, wire in to waitForTestFn

* General Changes
- Fixes for switching cluster
  - includes using common getPerformanceSetting
  - avoid new code to unsub before socket disconnect
- handle `watch` `stop` requests
- lots of TODO's (questions, work, checks, test, etc)
- use common

* Switch socket fixes
- isAdvancedWorker should only be true for cluster store
- advancedWorker to be wired in

* Fix socket id for cluster workers
- sockets use an incremented local var for id
- when we nuke the socket file within the worker this resets, so they all ahve id of 1
- work around this by applying the unix time

* Fix handling of new partical counts response
- seen in dex cluster explorer dashboard
- count cards would be removed when partial counts response received

* Make resourceWatcher the sole location for watch state
- getters canWatch, watchStarted now are worked around (they look at state in the UI thread)
  - we now don't call resource.stop or restart.start in subscription
- tidied up `forgetType`
- moved clearFromQueue from steve mutations into subscription mutations (better location)
- added and removed some TODOs
- fixed watch (stop handler should be higher up, include force watch handling)

* pushes the csrf value into worker and adds it to fetch request headers.

* refactors batchChanges to address ref concerns and be more performant

* Maintain schema reference whilst updating
- This change mutates input in a function, which is bad...
- but ensures the reference isn't broken, which is needed to maintain similar functionality as before

* Fix waitForTestFn
- Seen when creating or viewing clusters

* On unwatch ensure any pending watch requests are removed from the queue
- the probably would have been a problem if the worker wasn't nuked
- however as the codes there lets make it safe

Also added `trace` feature in advanced worker, will probably bring out to other places as well

* Fix navigation from cluster manager world to any cluster
- Ensure that we handle the case where the advanced worker was created but the resource watcher wasn't
- ... but fix case where this was happening (aka ensure that a blank cluster context is ignored)

* Tidy some TODOs

* Add perf settings page
- This will help test normal flow (when advanced worker is disabled)
- Note - setting is now in a bag. This may help us better support further settings (enable client side pagination, etc)
  ```
  advancedWorker: { enabled: false },
  ```

* FIX - Nav from cluster dashboard --> specific event --> cluster dashboard and events not re-subbed
- Ensure we block default handling of resource.start (keep state in resource watcher)

* Tidying up some TODOs

* Adds in a cache and uses it to validate SCHEMA messages before batching.

* Forgot to actually save CSRF to the resourceWatcher when instantiated.

* an empty resource in a batchChange to signal remove

* Move addSchemaIndexFields to and created removeSchemaIndexFields in new file
- this avoids bringing class files into the worker

* Fix disconnect/reconnect
- Remove `syncWatch` (do the watch/unwatch straight away)
- Test/Fix re-sub on reconnect
- Test/Fix growls on disconnect

* Tidying up some TODO's
- including clean of workerQueue on resource.stop (this is SUPER defensive)

* batchChanges will now handle aliases

* Fix pods list - WIP
- ensure podsByNamespace is updated on batchChange

TODO
- the final update to the pod is ignored
- removing a namespace cleans the cache correctly
- disabling advanced worker still works

* Fix pods list - fixes
- ensure podsByNamespace is updated on batchChange

Tested / Fixed
- the final update to the pod is ignored
- removing a namespace cleans the cache correctly
- disabling advanced worker still works

* Tidying TODOs

* Remove default same-origin header
- https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials

* Fixed TODO description

* Refactor subscribe, make it clear which vuex feature relates to what

* Lots of Fixes
- batchChanges fixes
  - fix index is 0 issues (!/!!index)
  - only `set` if we have to
  - ensure we set the correct index after pushing to list
  - ensure map is updated after reducing list size with limit
- podsByNamespace fixes
  - ensure when ew replace... we don't use the same referenced object
- general service resource fixes
  - ensure service's pods list stays up to date with store

* Multiple improvements/fixes
- resourceCache - store the hash instead of the whole object. This means longer load time be reduces memory footprint
- resourceWatcher
  - don't re-sub on socket reconnect if watcher is in error
  - don't sub if watcher is in error
  - don't unwatch for 'failed to find schema' and 'too old' errors
    - this clears the error, we won't to keep it to ensure we don't watch
- Remove #5997 comments, follow on work #7917

* toggle debug, remap alias types, cleaned up comments and console

* Unit tests for batchChanges
Much more scope for some crazy content

* Logging tweaks
- disable logging by default
- initWorker comes in too late to affect initial trace, so just rely on the `debug` to toggle at runtime

Co-authored-by: Richard Cox <richard.cox@suse.com>
2023-01-13 16:03:00 -05:00
Neil MacDougall 7d54fa51e4
Workaround for backend issue where ws.error is sent as ws.resource.change (#7900) 2023-01-11 12:47:04 +00:00
Nancy 1e2b3291d9
Allow for partial count updates via websocket (#7647)
* account for partial count updates through ws; do not debounce

* move count resource update logic to steve store
2022-12-14 09:14:49 -07:00
Richard Cox befc7021fd Changes following review
- Update variable names
- Improved comments
2022-12-12 09:40:26 +00:00
Richard Cox cfbb0af997 Improve handling of steve socket watch timeout
- Steve socket times out watches every 30 minues and we get a `resource.stop` event
- Previously we attempted to re-watch with a dodgy revision causing a `too old` error and the dashboard then fetching all resources for that type
- Avoid this by tracking latest revision which we should be up to date with
2022-12-09 15:29:54 +00:00
Phillip Rak 3d410d0974 Apply linter auto-fixes
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2022-11-16 18:38:20 -07:00
Giuseppe Leo 75c01c7ab7
Validation for the minimum length requirement for user password setting (#6897)
* Convert Rancher settings into Typescript and add interface

* Allow Rancher settings to be validated

* Add Rancher Settings min password length validation

* Replace settings number input with labeled input of type number for validation; Added missing required, focus, locale and labels attributes

* Add min/max/between value/length cases to global validation cases

* Correct validation syntax

* Add tests for the global settings

* Correct naming and assign directly rules to the inputs

* Create initial tests for CreateEditView

* Prevent Settings view to break if no setting is found for given ID

* Add max password length validation

* Add i18n to settings validation

* Add form validation to the CRUD component

* Prevent form to fail for resource types without validation

* Add test for no validation cases

* Remove form validation in favor of local view logic, due complexity issues

* Correct validator linting issue

* Correct i18n; Add types; Correct min/max/between validations i18n and combine the last

* Add translation type

* Correct validation translation types and definitions

* Replace custom validations with predefined rules

* Reintroduce form validation in abstracted configuration to pass settings through

* Add tests for new generic form validations

* Correct between values and length validation

* Split tests to use pre-existing rulesets due complexity and different cases

* Cleanup jsdoc in form validation

* Cleanup form validation mixin

* Add global settings test for generating rules from config

* Replace value.value with value for validating the resource

* Correct validation call and test instantiation

* Add note about value.value exception

* Disable faulty test due lacks of information

* Replace min/max value validation with between

* Add missing type for settings getter

* Move type folder within shell

* Move settings logic from config to utils
2022-11-15 15:32:02 +01:00
Sean 60c4d5f890 Incorrectly referencing workers when destroying workers 2022-10-03 08:52:16 -04:00
Nancy 3e1460e6b4
keep trying to reconnect sockets when not sending growls about it; refactor performance setting getting logic (#6993) 2022-09-28 08:22:07 +01:00
Nancy 40914198bf
fix disable growl notification and default to true (#6968) 2022-09-22 15:53:25 -07:00
Sean e6913d84d3 Fixes issue with 'loadSchemas' message misnaming, removes comment 2022-09-20 10:48:04 -04:00
Sean 632b30a964 Merge branch 'master' into feature/performance/simple_webworker_sans_comlink 2022-09-20 10:37:17 -04:00
Sean 25e64c04f6 Adjusts timing, messaging, control, etc of websocket growls. 2022-09-20 06:54:50 -04:00
Sean 488962c113 Web Worker without comlink, just switches to using postmessage 2022-09-19 11:32:08 -04:00
Sean 1e07ec5400 Adjusts timing, messaging, control, etc of websocket growls. 2022-09-16 07:42:02 -04:00
Jordon Leach 57c78b80a7
Add global setting to disable websocket notification growls (#6814)
* Add setting to disable websocket notifications

* websocket notification default setting

* Fix json parsing of perfSetting for websocket notifications
2022-09-07 08:11:25 -04:00
Richard Cox 4c16f368a3 Fix web worker
Inline worker bits to avoid CORS issues in chrome when dashboard is `-head`
2022-08-01 13:19:49 +01:00
Richard Cox 7a03119c5c Revert "Merge pull request #6553 from mantis-toboggan-md/revert-6421"
This reverts commit c86abfae23, reversing
changes made to 57f9a3706c.
2022-08-01 12:04:41 +01:00
Nancy 46401c0ecd Revert "Use web worker to throttle counts and schema changes (#6421)"
This reverts commit 4687fbca17.
2022-07-29 16:23:54 -07:00
Neil MacDougall 4687fbca17
Use web worker to throttle counts and schema changes (#6421)
* Use web worker to throttle counts and schema changes

* Delete nodes.md

* Address PR feedback

* Small tidy up

* Fix dependencies for plugins

* Address PR feedback

* Fix lint issue
2022-07-29 17:06:56 +01:00
Nancy Butler fa07efe15b delay showing and removing socket disconnects 2022-07-19 15:55:06 -07:00
Nancy Butler 33b3ee857e re-add console error when websocket fails to connect initially 2022-07-15 09:16:08 -07:00
Nancy Butler 84dfff0ea8 websocket disconnect growl
websocket reconnect close growl

rm redundant websocket console error
2022-07-15 09:15:52 -07:00
Richard Cox 50aed3eb9e New Epinio pkg, and updates to dashboard (core, pkg process) (#5637)
* Doc

* v0.7.0

* v0.7.1

* v0.7.2

* Add creators

* v0.1.14

* v0.1.17

* Add Yarn link

* Tidy ups and typos

* Allow models to be loaded from plugins

* v0.1.15

* v0.1.18

* v0.6.6

* Improve readme, fix cyperss log msg

* v0.1.17

* v0.1.19

* v0.6.7

* v0.6.8

* Fix logo ref when in shell

* Fix lint issues

* Fix error in example

* Fix script to work on linux

* Add ability to revert moves without losing changes

* Fix bug with custom models in a plugin

* Fix build of UI packages

* Add dist-pkg to .eslintignore

* Pull out util from extend-router to prevent router being pulled in UI packages

* Update PLUGINS.md

* Remove duplicate dependency

* Reduce size of built UI packages

* Share codemirror. Other tidy ups

* Further improvements

* Tidy ups to support i18n in plugins

* Clen up add comments

* More clean-ups and comments added

* Rename from extension to plugin

* Missed file in rename

* v0.6.9

* TIdy ups following rename

* v0.1.20

* v0.1.21

* More refactor and tidy up

* v0.1.22

* v0.1.18

* v0.1.19

* v0.1.23

* v0.6.10

* Version Packages. Improve naming. Unload.

* v0.6.11

* v0.1.20

* v0.1.21

* v0.1.24

* v0.6.12

* v0.1.25

* v0.1.22

* v0.6.13

* Fix issues when plugin is builtin

* Add missing files

* Fix lint issues and watcher ignores

* Fixes following review

* v0.1.28

* v0.1.31

* v0.6.20

* Fix coer.js version

* Fix bug where plugins included via npm don't work

* Changes post merge

* Move plugins doc to dev guide, add note at top of README

* Update cypress version

* Add note about the reset --hard in rejig -d

* Fixes post merge

* Rename @ranch to @rancher and ad plugins

* Improve routes support, add package assets support

* Add uninstall hooks and pass interal opts

* Fix rejig script

* Minor fixes

* disable consent banner text overflow wrap

* add additional metadata to workload detail view

* minor css tweak

* Routing tweaks
- attempted to improve `addRoutes` typing, failed a lot
- improved typings in plugins.ts
- added "@pkg/*" entry and vue-shim (for importing components) to the pkg creator
- fixed some linting
- safely fail when Verdaccio isn't running
- fixed some typos

* Remove frontmatter-markdown-loader reference from nuxt-config

* Add annotation to stop upgrades for managed charts

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Use correct name for Network Attachment Definition Resource (#5579)

* Fix heading levels in Account and API keys page (#5563)

* SortableTable Performance: Optimise row mouse over/leave handlers (#5550)

Co-authored-by: Richard Cox <richard.cox@suse.com>

* Keep the check for fleet bundle ID

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Revert "Remove frontmatter-markdown-loader reference from nuxt-config"

This reverts commit 29ef6f2f7b.

* Exclude creators from dashboard build

* Revert "Exclude creators from dashboard build"

This reverts commit 8ede93ee7c.

* Ingore creators via tsconfig
- We're still susceptible with vue shims in multiple packages
- Need to determine why packages can't use shim from route
- Probably need to move `./vue-shim.d.ts` in to `./shell`. Needs testing with a pkg that imports a component

* warn on adding windows node to cutom cluster

* Display custom error message when login fails. (#5582)

* change rke2 upgradeStrategy to 1 concurrent controlplane and worker (#5580)

Co-authored-by: Alexandre Alves <aalves@AlexandresMBP2.lan>

* update endpoint display, fix ready status for daemonset type

* Fix Sortable Tble SSR (#5599)

* Sortable Table: Fix broken props to slot (#5600)

* expanded error check to include simple type

* fixed error check logic

* Fix async buton wobble with spinner (#5586)

* Add Pod restart count to workload detail page

* Can scale workload from workload detail page

* Enable source map in Nuxt/Webpack configuration for debugging (#5590)

* Move hardcoded values for roles in his own config file

* Allow to set default values also for Clusters and Namespaces

* Allow local cluster to be hidden

* Initialize always auth errors as empty list

* Add translation for snapshot group

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Enable s3 storage in rke2 cluster config

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Group by snapshot location

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* After rejig

* Prevent injection of malformed errors in the generic resource form component

* New Epinio pkg, and updates to dashboard (core, pkg process)

* Remove epinio-select

* correct @shell// reference

* Fix filtering issue
- store/index suffered a bad merge

* Add hide-local-cluster to the settings page

* Fix node table column sorting (#5611)

* Fix issue where private registry auth can be changed in view mode (#5617)

* Change title of support block on home page when custom link set (#5547)

* Tidying up

* Add feedback to the copy kubeconfig header button (#5628)

* Add feedback to the copy kubeconfig header button

* Minor improvement

* Get rke3 and k3s latest versions from settings (#5608)

* Revert previous change and avoid watching spoofed types

* Move the group-by string to computed prop

Signed-off-by: Phillip Rak <rak.phillip@gmail.com>

* Use computed instead of method, use Array.isArray instead of lodash isArray

* Ensure auth provider note appears consistently within form instead of new floating button section
- some auth providers already had this
- possibly better ux to add to top, but that area is already busy

* Fix bug where delay loading only worked on scroll with live columns (#5635)

* Inconsistencies with Cluster metrics across the UI (#5542)

* fix num pods being displayed on the homepage cluster list + set mem to gib for ram on homepage cluster list

* show total number of nodes rather that useful nodes in cluster dashboard view + remove reserved info for CPU and MEM in cluster table in homepage + fix pods usage in nodes list view + clear console logs

* cleanup

* correctly wire PodsUsage as a formatter + display N/A when usage is zero in nodes list values for CPU, MEM, PODS

* add loader icon to PodsUsage formatter

* add string translation to n/a in percentageBar formatter

* add delayedLoading to PodsUsage formatter

Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro-2.local>
Co-authored-by: Alexandre Alves <aalves@AlexandresMBP2.lan>

* Enable filtering by project name on project/namespaces paeg (#5636)

* Fixes post merge

* Rename core-store to dashboard-store
- contains TODO: RCs to resolve

* Tidy up/imporve nav hooks

* Fix some todo's, epinio routing product

* refactor detailtop

* Hide NeuVector product if `cattle-neuvector-system` does not exist
- As per request at https://github.com/rancher/dashboard/issues/5556#issuecomment-1098270110
- fixes #5556
- alternative to #5604

* Fix a number of areas where the sticky footer consumes large amounts of space
- Fixes #5643
- Mostly caused by non-standard ways the CruResource was being used

Effected Areas / Places to test
Note - Only need to visit pages, shouldn't need to make any changes to resources
- Cluster create/import screens (types, credentials (create new / existing), import, rke2)
- Auth providers (shortest form is keycloak saml)
- Create/Edit resource types - project, namespace, some random others
- Create/Edit resource types that have sub-types (secrets, workloads, OPA Gateway / Constraints)

Also Addressed
- Only show top border of the footer if CruResource is in edit view
- Fixed hide of errors

* Fix conditional showing of Group `Assign To` and `Refresh` buttons

Buttons should only show if
- There is a non-local auth provider enabled
- The user has the correct permissions for the relevent action

Fixes #4897

* Fix live expiry badge used on api keys table

* Hide local cluster in LandingPagePreference and api key (token) list

* HARVESTER: Fix Grafana metrics reload failure

* Address some TODOs

* minor fixes

* Rename i18n to l10n, make use of default folders

* Improve adding multiple routes

* Config map view inconsistent for binary data (#5602)

* Fix Config map view inconsistent for binary data

Co-authored-by: Alexandre Alves <aalves@AlexandresMBP2.lan>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro-2.local>

* check for existance of limit prop so that deleting a project doesnt silently fail (#5661)

Co-authored-by: Alexandre Alves <aalves@AlexandresMBP2.lan>

* Changes following review

* Fix CruResource `Edit as Yaml` feature
- ensure sticky buttons are stuck at bottom
- doesn't apply sticky buttons to direct `Edit as Yaml` feature outside of CruResource

* Fix navigation & ns filter bugs
- nav from explorer to epinio cluster (errors in console)
- nav from epinio cluster to explorer (ns filter broken)

* Remove epinio ns and config validation
- this was the process that will be replaced with Sean's work
- it's suffered bit rot and was broken after the merge
  - not running in places
  - it visually broke the labelled select (in multiple places)

* remaining todos

* fixes following validation change

* fix bad yarn lock file

Co-authored-by: Neil MacDougall <nmacdougall@suse.com>
Co-authored-by: Neil MacDougall <nwmac@users.noreply.github.com>
Co-authored-by: Neill Somerville <neill.somerville@gmail.com>
Co-authored-by: Phillip Rak <rak.phillip@gmail.com>
Co-authored-by: Nancy Butler <42977925+mantis-toboggan-md@users.noreply.github.com>
Co-authored-by: Shavin Fonseka <Shavindra@users.noreply.github.com>
Co-authored-by: Alexandre Alves <97888974+aalves08@users.noreply.github.com>
Co-authored-by: Alexandre Alves <aalves@AlexandresMBP2.lan>
Co-authored-by: Catherine Luse <catherine.luse@gmail.com>
Co-authored-by: Giuseppe Leo <giuseppe.leo@suse.com>
Co-authored-by: cnotv <giuseppe.leo@suse.de>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro-2.local>
Co-authored-by: n313893254 <n313893254@126.com>
# Conflicts:
#	shell/assets/translations/en-us.yaml
#	shell/components/CruResource.vue
#	shell/components/ResourceDetail/Masthead.vue
#	shell/components/ResourceList/Masthead.vue
#	shell/components/SortableTable/index.vue
#	shell/components/form/KeyValue.vue
#	shell/components/form/LabeledInput.vue
#	shell/components/form/NameNsDescription.vue
#	shell/components/form/NotificationSettings.vue
#	shell/components/formatter/PodsUsage.vue
#	shell/components/nav/Header.vue
#	shell/config/product/neuvector.js
#	shell/detail/workload/index.vue
#	shell/edit/provisioning.cattle.io.cluster/CustomCommand.vue
#	shell/models/cluster.x-k8s.io.machinedeployment.js
#	shell/models/harvester/kubevirt.io.virtualmachineinstance.js
#	shell/models/workload.js
#	shell/pages/c/_cluster/settings/banners.vue
#	shell/plugins/steve/actions.js
#	shell/store/type-map.js
2022-05-10 10:04:04 +01:00
Richard Cox 25acc1f8eb Plugins: Rejig files to new shell locations (#5623)
* Doc

* v0.7.0

* v0.7.1

* v0.7.2

* Add creators

* v0.1.14

* v0.1.17

* Add Yarn link

* Tidy ups and typos

* Allow models to be loaded from plugins

* v0.1.15

* v0.1.18

* v0.6.6

* Improve readme, fix cyperss log msg

* v0.1.17

* v0.1.19

* v0.6.7

* v0.6.8

* Fix logo ref when in shell

* Fix lint issues

* Fix error in example

* Fix script to work on linux

* Add ability to revert moves without losing changes

* Fix bug with custom models in a plugin

* Fix build of UI packages

* Add dist-pkg to .eslintignore

* Pull out util from extend-router to prevent router being pulled in UI packages

* Update PLUGINS.md

* Remove duplicate dependency

* Reduce size of built UI packages

* Share codemirror. Other tidy ups

* Further improvements

* Tidy ups to support i18n in plugins

* Clen up add comments

* More clean-ups and comments added

* Rename from extension to plugin

* Missed file in rename

* v0.6.9

* TIdy ups following rename

* v0.1.20

* v0.1.21

* More refactor and tidy up

* v0.1.22

* v0.1.18

* v0.1.19

* v0.1.23

* v0.6.10

* Version Packages. Improve naming. Unload.

* v0.6.11

* v0.1.20

* v0.1.21

* v0.1.24

* v0.6.12

* v0.1.25

* v0.1.22

* v0.6.13

* Fix issues when plugin is builtin

* Add missing files

* Fix lint issues and watcher ignores

* Fixes following review

* v0.1.28

* v0.1.31

* v0.6.20

* Fix coer.js version

* Fix bug where plugins included via npm don't work

* Changes post merge

* Move plugins doc to dev guide, add note at top of README

* Update cypress version

* Add note about the reset --hard in rejig -d

* Fixes post merge

* Rename @ranch to @rancher and ad plugins

* Improve routes support, add package assets support

* Add uninstall hooks and pass interal opts

* Fix rejig script

* Minor fixes

* Routing tweaks
- attempted to improve `addRoutes` typing, failed a lot
- improved typings in plugins.ts
- added "@pkg/*" entry and vue-shim (for importing components) to the pkg creator
- fixed some linting
- safely fail when Verdaccio isn't running
- fixed some typos

* Remove frontmatter-markdown-loader reference from nuxt-config

* Revert "Remove frontmatter-markdown-loader reference from nuxt-config"

This reverts commit 29ef6f2f7b.

* Exclude creators from dashboard build

* Revert "Exclude creators from dashboard build"

This reverts commit 8ede93ee7c.

* Ingore creators via tsconfig
- We're still susceptible with vue shims in multiple packages
- Need to determine why packages can't use shim from route
- Probably need to move `./vue-shim.d.ts` in to `./shell`. Needs testing with a pkg that imports a component

* After rejig

Co-authored-by: Neil MacDougall <nmacdougall@suse.com>
Co-authored-by: Neil MacDougall <nwmac@users.noreply.github.com>
2022-05-10 10:04:02 +01:00