54 Commits

Author SHA1 Message Date
claire bontempo
b0a9ad2236
UI: Generalize Clients::Table component (#31439)
* generalize test selectors

* generalize table component

* update tests, add component test

* delete unused selectors

* add coverage for yielded empty state

* update sync selector

* update to advanced table

* rename key to "namespace_path"
2025-08-11 11:36:56 -07:00
Jordan Reimer
8700becc45
[UI] Ember Data Migration - API Property Casing (#31325)
* updates api client vars to snake_case for custom messages

* updates api client vars to snake_case for tools

* updates api client vars to snake_case for sync

* updates api client vars to snake_case for secrets engine

* updates api client vars to snake_case for auth

* updates api client vars to snake_case for usage

* updates api client dep to point to gh repo

* fixes custom-messages service unit tests

* fixes configure-ssh test

* fixes configure-ssh test...again
2025-07-18 09:32:01 -06:00
Angel Garbarino
a51c5ed362
Clean up button test selectors (#30694)
* clean up selectors file and then update testButton to buttonByAttr

* a lot but not really in the scheme of things

* fix component test failures

* fix acceptance test failures

* fix namespace selector

* clean up remaining tests

* another test

* last test

* small changes, but I have test failures

* a mess in custom messages, really hard to test because of test pollution.

* make data-test-submit vs data-test-save

* change other-methods to sign in with other methods

* clean up of failing test

* buttonByAttr to button

* clean up test pollution on config messages

* sweep of clean ups

* another round of small cleanups

* fix some message things, remaining oidc issue?

* use a runCmd to better delete things

* fix to amend for recent auth test changes

* remove skip
2025-06-10 16:25:34 -04:00
Jordan Reimer
ed67e9e59e
[UI] Ember Data Migration - Sync Cleanup (#30634)
* removes namespace param from activation flags endpoint in api client

* updates sync activation modal to use api service

* updates sync destination sync page to use api service

* removes ember data type deps from sync engine and updates tests

* updates sync activation modal to always override namespace header in activate request
2025-05-15 11:15:18 -06:00
Jordan Reimer
771d8c6e7f
[UI] Ember Data Migration - Sync Destination Create/Edit (#30620)
* adds field group support to forms

* adds forms for sync destination types

* adds type for sync destination form

* adds readonlyParams to sync-destinations helper and error handling to findDestination util

* updates sync destinations create/edit routes to use forms

* updates sync create-and-edit component to use form class and api service

* updates sync destinations tests
2025-05-14 20:00:28 -06:00
Cristiano Rastelli
e9faec3832
[VAULT-34873] UI: improve FormField test coverage for fields migrated to HDS (#30345)
* [UI] added `data-test-form-field-doc-link` attribute to `<DocLink>` instances in `FormField` (#34873)

* [UI] renamed a few `data-test` attributes in `FormField` for consistency (#34873)

* [UI] added integration tests for `FormField` with editType='password' (#34873)

* [UI] added integration tests for `FormField` with editType='select' (#34873)

* [UI] added integration tests for `FormField` with editType='checkboxList' (#34873)

* [UI] tweakings per review comments (#34873)

* [UI] standardized template code and data attributes for `form-field` + added general selectors + updated/standardized integration tests (#34873)

* fixed a couple of broken tests (selector needed to be updated)
2025-05-13 20:59:13 +01:00
Jordan Reimer
23ab4d924c
[UI] Ember Data Migration - Sync Details/Secrets (#30554)
* more updates to api-client for sync

* updates sync destination-header component to use api service

* updates to sync types

* updates sync destination route to use api service

* updates sync destination mirage factory and handler

* refactors sync setup-models test helper and removes store

* refactors sync destination details route to function with api service data

* refactors sync destination secrets route to function with api service data

* adds sync destination edit route
2025-05-08 14:31:01 -06:00
Jordan Reimer
712d3338b7
[UI] Ember Data Migration - Sync Overview/Destinations (#30524)
* improves path handling in capabilities service

* converts has-capability to class helper and adds pathKey and params args

* adds api service to sync engine

* updates sync types

* improves typings in paginate-list util

* adds api client error handling to error page component

* adds api utils for sync

* updates sync overview route and page component to use api service

* updates sync destinations route and page component to use api service

* adds missing copyright header

* fixes paginate-list regression

* fixes return type for has-capability helper

* Apply suggestions from code review

Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>

* fixes page error tests

* resolves suggestions from review

* fixes has-capability usage errors

* fixes comment in capabilities service

* more test fixes

---------

Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
2025-05-07 10:53:56 -06:00
claire bontempo
629b04c003
UI: Separate flag and version service concerns (#30001)
* move sync activation and capabilities from flag service to version service and components

* cleanup unnecessary args

* remove permissions service

* un-nest (some) modules

* simplify overview test so logic is easier to follow

* modal test

* update service tests

* change back to 403 because maybe it is permissions related?

* fix tests running on CE

* small cleanup

* fix logic based on feedback

* add logic for hvd specifically, update cluster tests
2025-03-25 10:24:11 -07:00
Alex
42552f6303
Migrate FlightIcon to Hds::Icon (#28979)
* Migrate `FlightIcon` to `Hds::Icon`

* Update getter name for Icon component
2024-11-26 17:52:57 +00:00
claire bontempo
1fbbf9d76b
UI: Ember-data upgrade 5.3.2 prep: use custom service instead of extending ember-data store (#28695)
* rename store to pagination, remove store extension

* initial update of service test

* remove superfluous helper

* replace store with pagination service in main app

* update kmip engine syntax

* add pagination to kmip engine

* update to pagination in config-ui engine

* update sync engine to use pagination service

* use pagination service in kv engine

* use pagination service in ldap engine

* use pagination in pki engine

* update renaming clearDataset functions

* link to jira VAULT-31721

* remove comment
2024-10-17 10:00:57 -07:00
claire bontempo
71422d4cdd
UI: Fix oidc auth method missing default_role field (#28539)
* add auth-config/oidc to openapi model helper

* alphabetize

* update maskedinput selector to be standard data-test-input

* add test

* add changelog

* fix maskedinput test and kv selector

* final textarea selector!
2024-10-01 09:21:16 -07:00
claire bontempo
30da9aef46
UI: Build KV v2 overview page (#28106)
* move date-from-now helper to addon

* make overview cards consistent across engines

* make kv-paths-card component

* remove overview margin all together

* small styling changes for paths card

* small selector additions

* add overview card test

* add overview page and test

* add default timestamp format

* cleanup paths test

* fix dateFromNow import

* fix selectors, cleanup pki selectors

* and more selector cleanup

* make deactivated state single arg

* fix template and remove @isDeleted and @isDestroyed

* add test and hide badge unless deactivated

* address failings from changing selectors

* oops, not ready to show overview tab just yet!

* add deletionTime to currentSecret metadata getter
2024-08-16 14:40:23 -07:00
claire bontempo
e88b6b117e
UI: update overview card action handling (#27785)
* yield all overview card actions

* yield remaining overview card content to the correct block

* close overview card in test

* fix typo

* fix route typo, add selectors where needed

* fix class typo add one more selector
2024-07-16 12:40:35 -07:00
Angel Garbarino
84aeec0513
Create sections for Secrets sync destination fields for create/edit view (#27538)
* initial shuffling of credentials and advanced configuration options

* update all destination models

* wip changelog

* Update 27538.txt

* remove custom_tags from gh

* missed vercel and remove custom_tags from base

* refactor conditional logic on templace

* things

* test coverage and dynamic subText

* add assert to not see enableInput on create

* clean up

* remove extra parens

* test clean up to clarify what the header subtext vs breadcrumb transition are testing
2024-06-27 12:46:24 -06:00
Angel Garbarino
66e78db425
Mask obfuscated Secret sync create/edit fields (#27348)
* wip not working on edit view

* changelog

* vercel and fix tests

* need conditional to not break all the things:

* create test coverage and add for other obfustcaed fonts, still missing one.

* Update 27348.txt

* remove meep

* comment

* test coverage
2024-06-18 14:20:22 -06:00
Angel Garbarino
927da859f7
UI Hide Secrets Sync from nav if not on license and/or no policy permissions (#27262)
* intial changes, haven't tested client counts or done test coverage

* client count rename getter to clairfy

* fix has-permission api-paths

* wip

* wip

* fix: explicitly refresh vault.cluster model to re-fetch activatedFeatures after actication

* tests: fix # of assertions for verifying that activation was called

* tests: tidy overview-test

* add additional api permission path and move fetch back to application

* add test coverage for the service

* cleanup

* remove test that checked for upsell without license or on community

* small comment change

* welp missed component getter

* flaky test fix

* flaky test

* small nit changes from pr reviews

* add defaults to sync mirage handler

* Gate sync overview route for users without access (#27320)

* routes: add redirect if user does not have access to sync

* tests: verify redirect on sync overview page happens

* tests: organize tests modules to ensure enterprise is explicitly set up

* add type enterprise required now because we do a check for this first

* fix oss test

---------

Co-authored-by: Noelle Daley <noelledaley@users.noreply.github.com>
2024-06-11 08:20:01 -06:00
Noelle Daley
3841f20410
fix: show tier-releated error msg for HVD clusters upon sync activation (#27189)
* fix: show tier-releated error msg for HVD clusters upon sync activation

* fix: clear activation errors upon re-attempting to activate

* tests: ensure only 1 error banner shows for non HVD clusters
2024-05-24 00:06:31 +00:00
Noelle Daley
c5a0040886
[Secrets Sync] split activation modal into separate component (#26822)
* add new SyncActivationModal component

* secrets overview: use SyncActivationModal

* tests: add SyncActivationModal tests

* int/sync/secrets/overview-test: remove redundant tests now handled by modal tests

* cleanup: reorganize sync selectors

* chore: will i ever remember copyright headers? nah
2024-05-21 18:50:19 -07:00
Angel Garbarino
bec696316c
Add in missing Kmip scopes create breadcrumb (#27051)
* bandaid on a slew of problems

* lower case to match KVv2

* return to uppercase

* us kmipBreadcrumbs because of testing reasons

* test coverage

* add test coverage for breadcrumbs roles
2024-05-16 09:09:37 -06:00
Angel Garbarino
077c70fc1f
Enabling Secrets Sync for HVD (#26841)
* Allow Managed clusters to see Secrets Sync Overview and Sidebar nav (#26649)

* update badge text and allow hvd on secrets sync views

* update logic in Secrets Sync overview and cta for hvd.

* spacing

* rearrange based on pr feedback

* fix return on badgeText and cluster nav test

* fix landing cta tests

* update test to reflect new changes

* moved call to feature-flags from application route to the service to match patterns

* add managed test coverage on overview component test and remove premium feature so cta message appplies to both managed and non-managed clusters

* missed service name and unskip admin test

* clean up

* fix tests

* flags test fix

* Rename isManaged and managedNamespaceRoot (#26697)

* renames

* lowercase HVD to match

* missed some

* test failure

* [Secrets Sync] enable access to Sync clients page for HVD clusters (#26713)

* feat: split client counts navbar into separate component

* acceptance/clients/counts/overview-test: remove tests now covered by int tests

* clients counts route: rename isSecretsSyncActivated to showSecretsSync

* sync clients page: show unactivated state unless sync client history or feature is activated

* client counts navbar: show sync tab only if client history or is /able to be/ activated

* clients overview page: only show sync charts if activated

* fix: rename isManaged to isHvd

* acceptance/counts/overview-test: add HVD tests

* acceptance/counts/overview-test: clean up unused cruft

* aceptance/clients/counts/overview-test: ensure we dont get false negatives

* chore: move Clients::Error to Clients::Counts::Error

* chore: calculate showSecretSync in page component instead of route

* chore: add copyright headers

* acceptance/clients/counts/overview-test: stub activated flags to fix test

* [Secrets sync] update sync test selectors (#26824)

* acceptance/clients/counts/overview-test: use imported test selectors

* general-selectors: add missing emptyStateSubtitle property

* acceptance/clients/counts/sync: nest tests in top level module for easier test runs

* Add permissions check to show/hide activate button (#26840)

* add permissions check to flags service and consume in overview template

* add back missing refresh

* fix test failures

* add test coverage

* clean up

* address flaky test

* grr

* address test failures

* add changelog

* try to fix test failure only on gh

* fix fetch to match previous implementation of feature-flags

* fix failing test

* update comment

---------

Co-authored-by: Noelle Daley <noelledaley@users.noreply.github.com>
Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com>
2024-05-09 15:11:26 -06:00
Chelsea Shaw
c02787cd8f
UI: upgrade Ember to 5.4 (#26708) 2024-05-07 11:34:21 -05:00
Noelle Daley
8ada0cedaf
chore: clarify total secerts === total secrets of all time (#26560) 2024-04-22 16:52:52 +00:00
Noelle Daley
55241c2b09
fix: don't show an undefined error in flash msg when unsyncing (#26422)
* fix: don't show an undefined error in flash msg when unsyncing

* tests/int/secrets-test: add flash message tests
2024-04-17 10:35:41 -07:00
Angel Garbarino
d56f564362
Secrets Sync: only call destinations and associations if isActivated (#26299)
* conditionally call the destinations and associations in the secret route if isActivated is true

* fix overview tests

* fix

* add test coverage

* clean up

* address pr comments and break out test
2024-04-09 09:27:13 -06:00
Noelle Daley
cc40781928
[secrets sync] add more thorough Secrets Sync landing page tests (#26196)
* tests: remove unused test selector

* integration/sync/overview-test: add more thorough tests

* acceptance/secrets/overview-test: clarify coverage for activation workflow; remove redundant assertions

* integration/sync-header-test: tidy up tests to match overview-tests
2024-04-03 11:13:48 -07:00
Noelle Daley
f204fc3d8c
secrets/overview: remove extra breadcrumb (#26197) 2024-03-28 15:55:05 +00:00
Angel Garbarino
a953a3cade
Secret Sync Permissions cleanup (#26069)
* add secrets sync feature to version service

* fix syntax for feature in version service

* UI [Sidebranch]: correctly call activation flags endpoints (#26068)

* Show empty state on client count sync page if feature isn't activated (#26024)

* page/sync: show empty state if sync is not activated

* tests: add sync page integration tests

* tests: add secrets sync acceptance tests

* cleanup: remove redundant empty state selector

* chore: rename to isSecretsSyncActivated

* Only make POST request to activation-flags in root namespace (#26081)

* Clean up around opt-in banner on non-secrets-sync views (#26039)

* only show and make request to activated-features  if enterprise with secrets sync feature

* waiting for final badge title but hiding banner and network request based on if user has secrets-sync feature.

* final copy for badge

* handle dismiss erorr message, custom messaging in errors, different badge names and upsell if not on license.

* add secrets sync feature to version service

* nope, add to main sidebranch not in this PR

* use version service directly to check for secrets sync feature

* update badges to use version service directly

* do not unnecessarily pass hasSecretsSyncFeature, access from version directly

* last spot to update using the feature getter

* cleanup landing cta logic

* UI [Sidebranch]: correctly call activation flags endpoints (#26068)

* small cleanups after merge

* remove unused type imports

* update tests

* update nav link test

* add test waiter for race condition on test

* add waiter to fetch activation-flags

* remove customer waiters and go for waitFors in test

* worth a try? mirage issues?

* closer?

* fix issue with inconsistent asserts

* adding back in in case this is the issue

* revert cluster.hbs change

* skip test

* delete test

---------

Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com>
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>

* Hide sync for managed vault (#26084)

* [secrets sync] hide sync content from client overview (#26078)

* clients/overview: hide secrets sync content if not in license

* clients: remove sync tab if not in license

* routes: fetch isSecretsSyncActivated at clients/counts route level

* wip - hide secrets sync from overview page

* tests: fix usage-stats test

* more wip hiding from overview page

* hide secrets sync on attribution component/modal

* hide secrets sync content on running total component

* fix RunningTotal class name

Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>

* controllers: fix type

* tests: usage tests

* tests: running totals tests

* add s to secrets-sync

* tests: running-total test cleanup

---------

Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com>

* cleanup unused version service

* return extra line

* wip - sync tests

* wip -- clients overview acceptance tests

* test coverage for sync in license, activated

* tests: add more robust sync-related overview tests

* hide sync client charts if feature not in license

---------

Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com>
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
Co-authored-by: Noelle Daley <noelledaley@users.noreply.github.com>
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Co-authored-by: Chelsea Shaw <cshaw@hashicorp.com>
2024-03-22 14:07:09 -05:00
Angel Garbarino
1745d50c2d
Test coverage and disable button fix on Secrets Sync opt-in modal (#25907)
* fix issue of checkbox value not disabling after canceling the modal

* add component test coverage in overview

* add acceptance test to see flow show banner to not show banner

* comment change

* remove unecessary hash and add settled because ci is funny

* circle ci play nice

* forgot to add my changes 🙃

* blah

* that was a lot for delinating the errors properly—😵‍💫

* pr review comments, thank you for the catches team
2024-03-15 09:59:08 -06:00
Chelsea Shaw
6e7717a707
UI: Ember deprecation - remove toArray (#25859)
* replace all instances of toArray() with slice()

* remove unnecessary array check

* remove superfluous that used to be toArray

* remove other superfluous slices

* Revert "remove other superfluous slices"

This reverts commit 51df83f44ebf0445a18c5cf17283ca7cde23fd53.
2024-03-13 10:03:27 -05:00
Jordan Reimer
7caa1d46cb
Sync Enable Feature Workflow (#25739)
* adds modal for enabling sync in landing page cta workflow

* adds config endpoint to sync mirage handler

* update checkbox copy

* handle adapter error and modify endpoints

* address pr changes

* add banner for when not opted in and update tests

* change adapterError with verb to clarify boolean

* update small tests changes

* fix linting js errors

* remove empty payload and update banner text

* fix problematic test solve for another day

* fix test

---------

Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
Co-authored-by: Angel Garbarino <argarbarino@gmail.com>
2024-03-07 14:57:05 -07:00
Jordan Reimer
087efc9993
Sync Associations ID Format (#25740)
* updates sync associations id format

* fixes tests

* fixes test
2024-03-04 09:16:25 -07:00
claire bontempo
638f9ddae6
Sync UI: Remove beta tags, and reveal sync client count billing tab (#25669)
* Revert "hide sync billing related details"

This reverts commit 26d24d9e789dc2378be5845f0e835978676fc9e6.

* Revert "add beta tags"

This reverts commit a9837bce0b2123ad3eb47f261f127fa166ddb1bc.

* final cleanup from remaining SYNC BETA comments

* fix line chart scale

* update sync copy

* update test
2024-02-28 09:53:24 -08:00
claire bontempo
e6d2caaa52
update overview metric to total secrets instead of associations (#25599) 2024-02-22 23:37:35 +00:00
Jordan Reimer
e57f12fdc7
Sync Overview Table Copy Updates (#25586)
* updates number of secrets column name in sync overview chart and adds tooltip

* Update ui/lib/sync/addon/components/secrets/page/overview.hbs

Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>

---------

Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
2024-02-22 19:34:25 +00:00
Jordan Reimer
574f54ab28
Sync Destination Updates (#25571)
* normalizes sync destination granularity key in serializer

* adds new fields to aws and gcp sync destinations

* updates sync destination delete action from destinations list view to route to overview on success

* updates destination serializer normalize to check if options is defined
2024-02-21 15:49:01 -07:00
claire bontempo
dd62f9fa28
Sync UI: Add granularity to sync destinations (#25500)
* add granularity form field to sync destinations

* update mirage, shim in subkey response

* fix comment

* add granular updates to list view

* update mirage;

* update test

* comment for updating test

* use hds::dropdown in destinations for consistency

* move banner to popup menu

* add changelog

* remove spans from test
2024-02-20 14:17:34 -07:00
Angel Garbarino
3850d41a87
Upgrade Ember data 4.11.x to 4.12.x (#25272)
* add target to tsconfig

* initial setup

* fix shamir test

* fix auth test with title case header

* fix mfa-login-test

* fix auth-form-test with title case header

* fix service auth-form test with title case header

* fix test with mfa

* Update package.json

* fix failing cubbyhole tests

* changelog

* fix pki configuration test failure

* update yarn lock

* userpass-rest-password test

* missed

* wip sync issues

* sync stablized
2024-02-20 12:37:50 -07:00
Jordan Reimer
baac570898
Hide Sync Destination Actions When Purging (#25334)
* blocks edit and sync actions on destinations where a purge was initiated

* adds flash message for sync destination transition redirect
2024-02-09 13:33:44 -07:00
Jordan Reimer
f2638afe99
updates transition to overview on sync destination delete success (#25273) 2024-02-08 00:30:08 +00:00
Jordan Reimer
8a81b7dc86
Secrets Sync Demo Feedback (#25186)
* clears secret path after successful sync submission

* adds refresh list button to destination secrets view
2024-02-02 08:56:41 -07:00
claire bontempo
c9d0bd2c19
Secrets Sync UI: Hide sync client data and add beta tags to feature work (#25170)
* hide sync billing related details

* add beta tags

* add csv comments

* remaining tests

* a couple more tests!
2024-02-01 12:42:58 -08:00
claire bontempo
29d9a0a525
update serializer to use tags_to_remove param (#24952) 2024-01-19 13:48:56 -08:00
claire bontempo
d0d66266c7
Secrets Sync UI: Add sync destination fields custom_tags and secret_name_template (#24930)
* leverage isSectionHeader option to change component styling

* update destination models to include new params

* update form and details template to accommodate new fields

* remove extra horizontal line

* move is-empty-value to core addon and use in details template

* remove leftover or conditional

* update mirage and tests

* update form tests
2024-01-18 12:15:52 -08:00
claire bontempo
2cabfe0143
Secrets Sync UI: Add purge delete progress and error banner to destination header (#24761)
* add deletion in progress banner

* update kv details banner to inline alert

* add logic for purge error

* add params to mirage

* comment in purge_initiated_at for mirage

* update flash message for deleting

* add test for banner

* transition to destination associations after delete

* redirect to details after delete instead of list

* remove attrs from serializer

* update mirage handler to mock purge_initiated_at
2024-01-10 21:07:10 -07:00
claire bontempo
1118bf6071
Secrets Sync UI: Small bug fixes from more QA (#24719)
* remove trailing space from inline link

* add validation for white space

* remove icon for inline link

* clear banner if no mount selected

* unobfuscate key_vaul_uri

* add margin below buttons

* add tst for sync banner

* refactor sync form, checking for mountPath was unreliable...bad idea Claire
2024-01-09 20:28:56 -07:00
Jordan Reimer
3153673894
Sync Destinations List Name Filter Updates (#24695)
* updates destination name filter to use FilterInput component

* simplifies destinations list redirect condition

* fixes issue with sync destination type filter and issue filtering by both name and type

* unsets page query param in sync destination secrets route
2024-01-05 16:41:57 -07:00
claire bontempo
8f784a3afb
Secrets Sync UI: Small UX copy improvements (#24693)
* update secret details alert banner

* small copy changes

* remove empty description block

* update tests

* use pluralize helper

* change banner wording
2024-01-05 22:23:02 +00:00
claire bontempo
0e23ae96ab
UI: remove keyvauluri from credentials section (#24679)
* remove keyvauluri from credentials section

* move comment
2024-01-05 10:49:38 -08:00
claire bontempo
36fc2c1a73
Secrets Sync UI: Bug fixes part 3 (#24644)
* update header to refer to destination name

* teeny design improvements VAULT-22943

* update azure model attrs

* remove padding, add destination type to description VAULT-22930 VAULT-22943

* fix overview popupmenu nav to sync secrets VAULT-22944

* update sync banner, hyperlink secret

* redirect when all destinations are deleted VAULT-22945

* add keyVaultUri to credentials for editing

* fix extra space and test for sync banner

* use localName to get dynamic route section to fix pagination transition error

* add copy header remove duplicate app type

* add cloud param to azure mirage destination

* add comments

* enter line

* conditionally render view synced secrets button

* revert pagination route change

* combine buttons and add logic for args

* rename to route

* remove model arg
2024-01-04 20:02:12 +00:00