* staying with jsondiff
* routing setup
* send compare against data to component after using new adapater method to return the version data.
* functionality
* fix issue on route transition not calling model hook
* formatting
* update version
* changelog
* glimmerize the json-editor component
* catch up
* passing tracked property from child to parent
* pull out of jsonEditor
* fix issue with message
* icon
* fix some issues with right selection
* changes and convert to component
* integration test
* tests
* fixes
* cleanup
* cleanup 2
* fixes
* fix test by spread attributes
* remove log
* remove
* converts secret-v2-version model to native class -- fixes issues with cached values for deleted prop
* adds changelog entry
* adds disabled state to ToolbarLink component and disables create new version action when users cannot read metadata
* updates secret-edit acceptance test
* fix delete issue when no read on metadata
* show create button
* fix navigation on metadata
* dont show search unless its version 2
* need to query because can't be certain the model will have loaded
* fix issue with no read metadata and create new version
* cleanup the delete reload issues
* cleanup modal refresh issues
* extra conditional on delete
* test coverage
* add more test coverage
* some pr comments but also fix soft delete
* test cleanup
* fix soft delete issue
* get credentials card test and setup
* call getcrednetials card and remove path test error
* configuration
* metadata search box
* changelog
* checking if it is noReadAccess
* try removing test
* blah
* a test
* blah
* stuff
* attempting a clean up to solve issue
* Another attempt
* test1
* test2
* test3
* test4
* test5
* test6
* test7
* finally?
* clean up
* add permissions and conditional
* stuff
* following the default setting to zero
* wip
* handle no permissions to mount sys
* maybe closer
* closer but configuration page not updating correctly with serializer issues
* wip but figured out configuration page and model
* clean up
* add test coverage
* clean up
* remove meep
* refactor
* clean test
* fix conditional on seralizer delete
* fix test
* test fixes
* fix test
* test fix
* more test stuff
* condense
* initial setup
* form field editType kv is very helpful
* setting up things
* setup two routes for metadata
* routing
* clean up routing
* meh router changes not my favorite but its working
* show metadata
* add controller for backendCrumb mixin
* setting up edit metadata and trimming SecretEditMetadata component
* add edit metadata save functionality
* create new version work
* setup model and formfieldgroups for added config data.
* add config network request to secret-engine
* fix validations on config
* add config rows
* breaking up secret edit
* add validation for metadata on create
* stuff, but broken now on metadata tab
* fix metadata route error
* permissions
* saving small text changes
* permissions
* cleanup
* some test fixes and convert secret create or update to glimmer
* all these changes fix secret create kv test
* remove alert banners per design request
* fix error for array instead of object in jsonEditor
* add changelog
* styling
* turn into glimmer component
* cleanup
* test failure fix
* add delete or
* clean up
* remove all hardcoded for api integration
* add helper and fix create mode on create new version
* address chelseas pr comments
* add jsdocs to helper
* fix test
* Add type param to secret show, handle CG in database role show
* If roleType is passed to credential, only make one creds API call
* Clean up db role adapter and serializer
* url param roleType passed to credentials call
* Role list capabilities check for static and dynamic separately
* Add changelog
* Consistent adapter response for single or double call
* Prioritize dynamic response if control group on role/creds
* move the ttls on enable for db to default and not as options
* refactor form field to angle brackets
* add database to supported backend
* initial setup of components and models
* setup selectable cards, need to make own component
* styling setup
* subtext and links
* number styling
* search select put in place and button, all pretty things
* search label text
* messy but closer to data configuration. making models and fetching those models on routes
* connection adapter and serializer that is pulled in by the overview route
* clean up and add new model params connections and roles to overview route hbs
* setting up overview as route with SecretHeader component. TODO, show Overview tab, but have link to route. It's going be on the secret header list component
* setup overview tab on secret-list-header to go to overview page
* setup id in overview route
* Correct link on secrets engine list for database and others
* Roles tab on database fetches correct model
* Update options for backend with hasOverview param so overview tab is rendered conditionally on secret list header
* create new getCrendentialsComponent
* Rename database connection parent component and start working on display
* setup routing to credentials route for database from overview page
* setup network request for the credentials of role
* setup serializer for credentials
* redirect previous route
* fix border color on button disable
* add margin to back button
* change to glimmer component
* glimmerize and clean up the get-credentials-card
* Begin database connection show and create form
* add component test for the get-credentials-card
* Database connection model and field groups
* add static roles to searhSelect
* add staticRoles on overview page
* Toolbar and tabs on database connection show view looks correct
* combine static and dynamic role models for pagination
* Update database-list-item with real link to connection
* Add support for optionalText edit type on form-field
* handle situation when no static and/or dynamic roles
* turn partial into component so can handle computed and eventually click actions, similar to transform
* glimmerize database-list-item
* use lazy capabilities on list role and static-role actions
* Create connection works and redirects to show page
* creds request based on dynamic or static and unload the store by record creds when they transition away.
* dynamcially add in backend for queries
* fixes on overview page for get credentials with hardcoded backend and layout for static creds
* Rotate and Reset connection actions working on connection
* get credentials set the query params
* setup async for handling permission errors on overivew
* Move query logic to store for getting both types of role
* Filtering works on combined role models
* cleanup
* Fix no meta on connections list
* better handle the situation where you don't have access to list roles but do to generate
* implment updated empty state component and add to credentials page when roleType is noRoleType
* glimmerize the input search component
* move logic for generate credentials urlto the generate creds component
* remove query param for role type
* handle permissions on the overview page
* permissions for role list
* New roles route for backends
* handle different permissions for empty return on 404 vs 403 on overview page
* fix links on overview page
* Connetions WIP
* setup lazy caps for the connections model and list
* add computed to role and static role models to clean up permissions
* setup actions for connections list
* Update form-field to show password type and update json input to angle bracket syntax with optional theme option
* setup capabilities on overview for empty state
* fix hardcoded on the backend
* toggle inner label has width 100%
* Add custom update password togglable input on database connection edit form, and only submit defined attrs
* Add updateRecord to connection adapter
* glimmerize secret list header and make new component which either shows or does not show the tab based on permissions
* Remove tabs on show connection
* add peek record
* Update database role to get both models on a single model, remove static-role model and adapter, remove roles route
* fix creds permissions on database-list-item
* add component info and rename for secret-list-header-tab
* fix issues on overview page
* Add path to individual role on serializer
* add accetpance test for testing the engine
* fix transform test
* test fix
* Update connection before role created, disable button with tooltip if user cannot update path
* Add add-to-array and remove-from-array helpers with tests
* Clean up connection update on delete or create role, cleanup logs, role create link works
* Database role create and edit forms with readonly fields and validation. Add readonly-form-field
* Add field div around ttl picker for correct spacing on form-field
* fix the breadcrumbs
* PLaceholder test for readonly form field
* create new helper to format time duration
* tooltip and formatting on static role
* more on static roles time stuff
* clean up
* clean up
* fixes on the test and addition of another helper test
* fix secrets machine test
* Add modal to connection creation flow
* fix issue with readonly form field test
* Add is-empty-object helper and tests
* Role error handling
* Remove Atlas option from connection list, add defaults to db role form
* clean up stuff though might have made it uglier
* clean up
* Add capabilities checks on connection actions
* Fix jsdocs on readonly-form-field
* Fix json editor height on form field
* Readonly form has notallowed cursor, readonly form field updates
* Add blank field rendering to info-table-row
* Start writing readonly form field tests
* Address some PR comments
* fix fallback action on search select
* cleanup per comments
* fix readonly form field test and lint
* Cleanup string helpers
* Replace renderBlank with alwaysRender logic
* re-humanize label on readonly form field
* Show defaultShown value on info-table-row if no value and always render
* Show default on role and connection show table
* Add changelog
Co-authored-by: Chelsea Shaw <chelshaw.dev@gmail.com>
* setup for concept it works, but probably not the best solution
* add comment and remove console and test var
* use normalize path higher up to fix issu
* add test for bug that fixing
* forgot a couple of changes
* changelog
* Update ember-cli to ~3.20
* Remove bad optional-feature
* Remove ember-fetch dep
* re-install ember-fetch
* update model fragments pr
* update ember model fragments correct package name
* update ember composable helpers to solve array helper error
* update ember-concurrency
* add back engine dependencies, automatically removed during ember-cli-upgrade
* make author-form-options component js file otherwise error
* for now comment out withTestWaiter
* add eslint-node and fix if not with unless in templates
* fix linting for tab index of false is now -1 and add type button to all buttons without types
* fix href errors for linting, likely have to come back and fix
* using eslint fix flag to fix all this.gets
* ember modules codemode removed files that had module twice, will fix in next commit
* finish codemode ember-data-codemod needed to rename const model
* more this.get removal codemode did not work
* cont. removal of this.get
* stop mixin rules until figure out how to reconfig them all
* smaller eslint ignores
* get codemode
* testing app small fixes to bring it back after all the changes
* small changes to eslint
* test removal of getProperties
* fix issue with baseKey because value could be unknown needed to add a question mark in nested get
* smaller linting fixes
* get nested fixes
* small linting error fixes
* small linting changes
* working through more small linting changes
* another round of linting modifications
* liniting fixes
* ember module codemod
* quinit dom codemod
* angle bracket codemod
* discovered that components must have js files
* ran all codemods this is all that's left
* small changes to fix get needs two object, should not have been using get.
* fix issue with one input in form field
* fun times with set and onChange from oninput
* fix issue with model not being passed through on secret-edit-display
* fix issue with yarn run test not working, revert without npm run all
* linting and small fix when loading without a selectAuthBackend
* fix failing test with ui-wizard issue
* fix test failure due to model not being asked for correctly with new changes, probably run into this more.
* fix issue with component helper and at props specific to wizard
* rename log to clilog due to conflict with new eslint rule
* small changes for test failures
* component helper at fixes
* Revert to old component style something with new one broke this and can't figure it out for now
* small fishy smelling test fixes will revisit
* small test changes
* more small test changes, appears upgrade treats spaces differently
* comment out code and test that no longer seems relevant but confirm
* clean run on component test though still some potential timing issues on ui-console test
* fixing one auth test issue and timing issue on enable-test
* small mods
* fix this conditional check from upgrade
* linting fixes after master merge
* package updates using yarn upgrade-interactive
* update libraries that did not effect any of the test failures.
* update ember truth helpers library
* settling tests
* Fix ui-panel control group output
* fix features selection test failures
* Fix auth tests (x-vault-token)
* fix shared test
* fix issue with data null on backend
* Revert "Fix auth tests (x-vault-token)"
This reverts commit 89cb174b2f1998efa56d9604d14131415ae65d6f.
* Fix auth tests (x-vault-token) without updating this.set
* Update redirect-to tests
* fix wrapped token test
* skip some flaky test
* fix issue with href and a tags vs buttons
* fix linting
* updates to get tests running (#10409)
* yarn isntall
* increasing resource_class
* whoops
* trying large
* back to xlarge
* Fix param issue on transform item routes
* test fixes
* settle on policies (old) test
* fix browserstack test warning and skips of test confirmed worked
* Fix redirect-to test
* skips
* fix transformation test and skip some kmip
* Skip tests
* Add meep marker to remaining failing tests
* Skip test with failing component
* rever skip on secret-create test
* Skip piece of test that fails due to navigation-input
* fix settings test where can and skip in others after confirming
* fix circle ci test failures
* ssh role settle
* Fix navigate-input and add settled to test
* Remove extra import
* secret cubbyhole and alicloud
* Add settled to gcpkms test
* settles on redirect to test
* Bump browserstack test resource to large
* Update browserstack resource size to xlarge
* update todos
* add back in withTestWaiter
* try and fix credentials conditional action added comment instead
* Update volatile computed properies to get functions
* this step was never reached and we never defined secretType anywhere so I removed
* add settled to policy old test
* Fix navigate-input on policies and leases
* replace ssh test with no var hoping that helps and add settled to other failing tests, unskip console tests
* kmip, transit, role test remove a skip and add in settled
* fix hover copy button, had to remove some testing functionality
* Remove private router service
* remove skip on control ssh and ui panel, fix search select by restructuring how to read the error
* final bit of working through skipped test
* Replace clearNonGlobalModels by linking directly to namespace with href-to
* Remove unused var
* Fix role-ssh id bug by updating form-field-from-model to form-field-group-loop
* Fix transit create id would not update
* Update option toggle selector for ssh-role
* Fix ssh selector
* cleanup pt1
* small clean up
* cleanup part2
* Fix computed on pricing-metrics-form
* small cleanup based on chelseas comments.
Co-authored-by: Chelsea Shaw <chelshaw.dev@gmail.com>
Co-authored-by: Sarah Thompson <sthompson@hashicorp.com>
* Update transform role delete button to be ConfirmAction with dropdown
* Set backend on fetched record so that it saves correctly
* Update transformation after role transformations changed works
* Clean up transform adapter
* Add role to allowed_roles on added transformations and remove from removed transformations on role save, with flash message
* Add backend to transform role model, and update serializer to add backend to paginated results
* Clean up error message handling
* Connect backend to transform roles list response
* Capabilities on transform roles is correct
* Fix cancel button on transform role edit location
* Fix model path
* Remove unnecessary tab param from controller
* Add backend to transform model
* Can see list of roles, templates, and alphabets when you click on corresponding tab inside a transform secrets engine
* Cannot click on items in list other than transformations
* Can create a new transform role from the empty state or toolbar
* Creating a role redirects to the view of that role
* Breadcrumb links on transform roles work
* Role create form handles error
* Ui/transform enable (#9647)
* Show Transform on engines list if enterprise
* Add box-radio component
* Add is-disabled styling for box-radio and fix tooltip styling when position: above
* Add KMIP and Transform to possible features on has feature helper
* Sidebranch: Transform Secret Engine Initial setup (#9625)
* WIP // list transforms, console.logs and all
* setup LIST transformations ajax request and draft out options-for-backend options
* change from plural to singluar and add transform to secret-edit
* create two transform edit components
* modify transform model with new attrs
* add adapterFor to connect transform adapter to transform-edit-form component
* setup Allowed roles searchSelect component to search over new transform/role adapter and model.
* clean up for PR
* clean up linting errors
* restructure adapter call, now it works.
* remove console
* setup template model for SearchSelect component
* add props to form field and search select for styling
Co-authored-by: Chelsea Shaw <chelshaw.dev@gmail.com>
* Ui/transform language fixes (#9666)
* Update casing and wording on Transform list route. Use generic list item for transformations
* Add back js file for transformation-edit
* Set up transform for tabs
* Ui/create edit transformation fixes (#9668)
* add conditional for masking vs tweak source based on type, and update text for create transformation
* change order
* fix error with stringArray
* setup the edit/delete transformation view
* clean up toolbar links
* setup serializer to change response of mask character from keycode to character
* change styling of label and sub-text size, confirmed with design
* temp fix on templates vs template
* add clickable list item
* add space between template list
* setup styling and structure for the rest of the show transformation. TODO: turn into components.
* create transform-show-transformation component
* add attachCapabilities to transform model and update transform-transformation-itme list accordingly
* clean up liniting errors
* address pr comments
* remove leftover
* clean up
* Sidebranch: UI transform create and edit clean up (#9778)
* clean up some of the TODOs
* setup edit view with read only attributes for name and template
* setup initial selected for search select component
* fixes
* hide templates form field for now
* set selectLimit for search select component
* hide power select if the select limit is greater than or equal to the selectedOptions length
* clean up failing linting
* address pr comments
* Ui/fix list roles transformation (#9788)
* Update search-select to pass backend to query if exists
* Update role and template adapters
* cleanup
* Fix replace with static string
* Ui/transform cleanup 2 (#9789)
* amend encode/decode commands for now until design gets back with more details
* restrict character count on masking input field
* clean up selectLimit
* show backend instead of transform in cli copy command
* Show KMIP un-selectable if enterprise but no ADP module (#9780)
* New component transform-edit-base
* Duplicate RoleEdit as TransformEditBase and swap in all transform components
* Roll back role-edit changes
* Update to transform edit base
* Remove extraeneous set backend type on transform components
* formatting
* Revert search-select changes
* Update template/templates data on transformation (#9838)
Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
* be more specific about node version, and specify a yarn version
* update ember, ember-cli, ember-data, ember-data-model-fragments
* use router handlers to access transition information
* fix shadowing of component helper
* update ivy-codemirror, ember-cli-inject-live-reload
* remove custom router service
* don't use transition.queryParams
* update ember-cli-deprecation-workflow
* refactor kv v1 to use 'path' instead of 'id' on creation
* fix auth-jwt-test and toolbar-link-test
* update ember composable helpers
* remove Ember.copy from test file
* no more deprecations in the workflow
* fix more secret tests
* fix remaining failed tests
* move select component to core because it's used by ttl-picker
* generate new model class for each test instead of reusing an existing one
* fix selectors on kmip tests
* refactor how control groups construct urls from the new transition objects
* add router service override back in, and have it be evented so that we can trigger router events on it
* move stories and markdown files to core if the component lives in core
* update ember-cli, ember-cli-babel, ember-auto-import
* update base64js, date-fns, deepmerge, codemirror, broccoli-asset-rev
* update linting rules
* fix test selectors
* update ember-api-actions, ember-concurrency, ember-load-initializers, escape-string-regexp, normalize.css, prettier-eslint-cli, jsdoc-to-markdown
* remove test-results dir
* update base64js, ember-cli-clipboard, ember-cli-sass, ember-cli-string-helpers, ember-cli-template-lint, ember-cli-uglify, ember-link-action
* fix linting
* run yarn install without restoring from cache
* refactor how tests are run and handle the vault server subprocess
* update makefile for new test task names
* update circle config to use the new yarn task
* fix writing the seal keys when starting the dev server
* remove optional deps from the lockfile
* don't ignore-optional on yarn install
* remove errant console.log
* update ember-basic-dropdown-hover, jsonlint, yargs-parser
* update ember-cli-flash
* add back optionalDeps
* update @babel/core@7.5.5, ember-basic-dropdown@1.1.3, eslint-plugin-ember@6.8.2
* update storybook to the latest release
* add a babel config with targets so that the ember babel plugin works properly
* update ember-resolver, move ember-cli-storybook to devDependencies
* revert normalize.css upgrade
* silence fetchadapter warning for now
* exclude 3rd party array helper now that ember includes one
* fix switch and entity lookup styling
* only add -root suffix if it's not in versions mode
* make sure drop always has an array on the aws role form
* fix labels like we did with the backport
* update eslintignore
* update the yarn version in the docker build file
* update eslint ignore
* add kmip engine
* adjust where kmip engine is mounted and sketch out routes
* add secret mount path service to share params to engines
* move list-controller and list-route mixins to core addon and adjust imports
* properly link kmip secrets from the secrets list page
* tweak routes and add list controllers
* stub out some models and adapters
* fix mixin exports
* move a bunch of components into the core addon
* use new empty yield in list-view in the namespace template
* scopes list using list-view and list-item components
* simplify and flatten routes, templates for all of the list pages
* role show route and template and scope create template
* add ember-router-helpers
* add more packages to the dependencies of the core addon
* add field-group-show component for listing fields from a model
* move more components to the shared addon
* make configure and configuration routes work and save a generated model
* save and list scopes
* role create, list, read
* list credentials properly
* move allowed attributes to field group
* show allowed operations on role details page
* add kmip logo to mount secrets engine list page
* add role edit page
* show all model attributes on role show page
* enable role edit
* fix newFields error by creating open api role model on the role list route
* only show selected fields on role edit page
* do not send scope and backend attrs to api
* move path-or-array to core addon
* move string-list component to core addon
* remove extra top border when there is only one field group
* add icons for all of the list pages
* update kmip config model so defaultValue doesn't error
* generate credentials
* credential create and show
* only show kmip when feature is enabled
* fix saving of TTL fields generated from Open API
* move masked-input and list-pagination components to core addon
* add param on edit form to allow for calling onSave after render happens
* polish credential show page and redirect there after generating credentials
* add externalLink for kmip engine
* add kmip-breadcrumb component
* use kmip-breadcrumb component
* add linkPrefix param to linked-block component to allow for routing programmatically inside an engine
* redirect to the right place when enabling kmip
* fix linting
* review feedback
* update signature for path-help usage
* fix ttl field expansion test
* remove role filed from role form, fix generate redirect
* remove field-group-show because it's in the core addon
* remove bottom rule from show pages
* fix Max TTL displayAttrs for ssh role
* update edit-form to take fields or attrs
* fix linting
* remove listenAddrs and set default val on ttl if a val is passed in
* wait for all hash promises to be settled
* skeleton tests with policies for write without read
* adjust what gets returned from the model hook
* refactor secret-edit model hook to use async/await
* return a stub version if we can't read secret data
* return a stub model for v1 kv
* tweak tests to make re-runs friendlier
* allow write without CAS if both v2 models cannot be read
* show warnings on edit pages for different write without read scenarios
* add no read empty states on secret show pages
* review feedback
* make message language consistent
* use version models from metadata if we can read it
* refresh route on delete / undelete / destroy
* hide controls in the toolbar when you can't read the secret data
* show deleted / destroyed messaging over cannot read messaging on the show page
* fix test with model stub
* refactor large model hook into several functions
* comment clarifications
* reset pageFilter when the model changes
* add test selectors for list and show secret pages
* add acceptance test to verify that pageFilter is closed after navigating away from the list page
* only clear on exit
* directly depend on route-recognizer
* add path encode helper using route-recognizer normalizer methods
* encode user-entered paths/ids for places we're not using the built-in ember data buildUrl method
* encode secret link params
* decode params from the url, and encode for linked-block and navigate-input components
* add escape-string-regexp
* use list-controller mixin and escape the string when contructing new Regex objects
* encode paths in the console service
* add acceptance tests for kv secrets
* make encoding in linked-block an attribute, and use it on secret lists
* egp endpoints are enterprise-only, so include 'enterprise' text in the test
* fix routing test and exclude single quote from encoding tests
* encode cli string before tokenizing
* encode auth_path for use with urlFor
* add test for single quote via UI input instead of web cli
* don't pass id when using createRecord
* add find nearest ancestor mixin
* re-throw the error if we've deleted something and encounter a 404
* use the with-nav-to-nearest-ancestor mixin
* add some comments
* add acceptance test to verify new behavior
* yield final transition in ec task
* turns out sourcemaps are useful
* add test for restricted policy in kv v2
* only include version param on fetch if it's encoded in the id
* rename some vars for clarity and use model.id when persisting a secret
* fix delete attributes on the models
* allow data edit when there's metadata access is disallowed
* add tests for edit with restricted policy
* hide metadata fields if you can't edit them
* centralize page size setting, and default to page size of 5 in dev
* remove size arg when using lazyPaginatedQuery so that the app uses the config default size
* move list-pagination component out of the loop
* update store tests
* fix passing initialKey to the top level secret create page
* add service that uses the private routing service because of various bugs
* make custom router service more like the bundled router service
* clear the store cache when the model changes
* add versions routes
* move commands and permissions check to stand-alone menu component
* add versions template
* make list-item component more flexible and use hasMenu to optionally render the menu
* move current check next to the version
* fix linting
* remove is-wide from secret list popup
* add namespace sidebar item
* depend on ember-inflector directly
* list-view and list-item components
* fill out components and render empty namespaces page
* list namespaces in access
* add menu contextual component to list item
* popup contextual component
* full crud for namespaces
* add namespaces service and picker component
* split application and vault.cluster templates and controllers, add namespace query param, add namespace-picker to vault.namespace template
* remove usage of href-to
* remove ember-href-to from deps
* add ember-responsive
* start styling the picker and link to appropriate namespaces, use ember-responsive to render picker in different places based on the breakpoint
* get query param working and save ns to authdata when authenticating, feed through ns in application adapter
* move to observer on the controller for setting state on the service
* set state in the beforeModel hook and clear the ember data model cache
* nav to secrets on change and make error handling more resilient utilizing the method that atlas does to eagerly update URLs
* add a list of sys endpoints in a helper
* hide header elements if not in the root namespace
* debounce namespace input on auth, fix 404 for auth method fetch, move auth method fetch to a task on the auth-form component and refretch on namespace change
* fix display of supported engines and exclusion of sys and identity engines
* don't fetch replication status if you're in a non-root namespace
* hide seal sub-menu if not in the root namespace
* don't autocomplete auth form inputs
* always send some requests to the root namespace
* use methodType and engineType instead of type in case there it is ns_ prefixed
* use sys/internal/ui/namespaces to fetch the list in the dropdown
* don't use model for namespace picker and always make the request to the token namespace
* fix header handling for fetch calls
* use namespace-reminder component on creation and edit forms throughout the application
* add namespace-reminder to the console
* add flat
* add deepmerge for creating the tree in the menu
* delayed rendering for animation timing
* design and code feedback on the first round
* white text in the namespace picker
* fix namespace picker issues with root keys
* separate path-to-tree
* add tests for path-to-tree util
* hide picker if you're in the root ns and you can't access other namespaces
* show error message if you enter invalid characters for namespace path
* return a different model if we dont have the namespaces feature and show upgrade page
* if a token has a namespace_path, use that as the root user namespace and transition them there on login
* use token namespace for user, but use specified namespace to log in
* always renew tokens in the token namespace
* fix edition-badge test