* ensure dropdown updates selected item
* ensure no duplicate ticks
* handle case where counters are Dates instead of strings so bar chart filters in Storybook
* switch to dynamic imports so that bundling doesn't include swagger-ui-dist in its vendor file
* remove ember-ajax
* delete comment
* update comment about lazy loading in the engine index.js
* init dropdown
* add dropdown to storybook
* move http requests components into container
* add event handler for selecting new time window
* no need for this. in the template
* filter bar chart and table
* add bar chart transitions
* handle Last 12 Months in dropdown
* don't use fake data
* start tests
* add jsdoc and notes for storybook
* add container to storybook
* compute filteredCounters when counters change
* move static dropdown options to template
* add tests
* style the dropdown
* use this.elementId
* fix linting errors
* use ember array extensions
* use fillIn instead of page object and make dom assertions consistent
* calculate the correct percent change between months
* use data-test selector instead of id
* show plus or minus next to percent change
* open-api-explorer engine with embedded swagger-ui
* move swagger config to a component, rely directly on swagger-ui
* filter operations by endpoint, hook up filter to query param, add namespace handling
* fix namespace handling
* update ember-engines so that we can app.import in a lazy engine
* use engine's included hook to move swagger-ui to engine-vendor.* files
* show flash message about this being a live vault server
* show a namespace reminder and override some styles from swagger-ui
* switch filter to use includes instead of startsWith
* move flash-message to alert-banner and fix namespace reminder with a block
* adds explore web-cli command to navigate to the api-explorer engine
* allow passing a preformatted string to flash messages
* add multi-line flash-message to api explorer
* invert control and trigger events on react app so we can control the layout more and use our components
* tweak styling some more and adjust message on the flash
* change web cli command from 'explore' to 'api'
* shorten namespace warning
* fix console
* fix comments
* add menu-loader component to show menu loading button when the model relationship isPending
* list what keys we've got in api-path error
* fix spacing issue on error flash
* add an action on list-controller that bubbles to the list-route mixin to refresh the route
* empty store when creating scopes
* don't delete _requestQuery in the loop, do it after
* add scope deletion from the scope list
* add deleteRecord to kmip adapters
* add model-wrap component
* delete role from detail page and list
* add revoke credentials functionality
* fix comment
* treat all operations fields specially on kmip roles
* adjust kmip role edit form for new fields
* fix api-path test
* update document blocks for menu-loader and model-wrap components
* lay groundwork for application serializer to setup capabilities relationships
* add api path util and tests, and attach-capabilites fn
* make attach-capabilities work with array responses, add tests
* move download-button and toolbar-download-button to core addon
* add ca model and adapter and show CA on the engine configuration page
* add other side of model relationship for kmip ca<->config
* initialize tooltip
* style tooltip
* show date in tooltip
* show tooltip on hover
* style tooltip
* add hover padding for when bar is very short
* add tooltip test and format tooltip date
* revert to using real data
* update comment about binding the tooltip to shadowBars
* remove d3array
* use double colons for pseudo elements
* use elementId in bars-container id name to prevent clashing
* use Object.freeze to eliminate linting error
* extend edit form with a custom kmip role form
* adjust model fields and use new kmip role edit form
* customize serialize adapter hook for kmip/role
* refresh list routes in the list mixin
* style up kmip role edit form
* return a promise from preSave so that the queue helper waits to call save
* add serialize tests for the kmip/role adapter
* rename component to edit-form-kmip-role
* add tests for edit-form-kmip-role
* add some clarifying comments
* make input more realistic in tests
* remove delete toolbar
* 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
* add no-jquery rule and move event listeners to ember-concurrency tasks
* remove unnecessary onchange and handleKeyDown actions
* add element.closest polyfill and convert linked-block to use native dom apis
* update pretender, fetch, page-object, add optional-features, remove ember/jquery
* turn off jquery inclusion
* remove jQuery.isPlainObject usage
* violatedDirective isn't always formatted the same
* use fetch and the ember-fetch adapter mixin
* move to fetch and lowercase headers for pretender
* display non-ember-data errors
* use new async fn test style and lowercase headers in auth service test
* setContext is not necessary with the new style tests and ember-cli-page-object - it actually triggers jquery usage
* update ember-fetch, ember-cli-pretender
* wait for permissions check
* lowercase header name in auth test
* refactor transit tests to one test per key type
* simplify pollCluster helper
* stop flakey tests by prefering the native fetch
* avoid uncaught TransitionAborted error by navigating directly to unseal
* unset model on controller after unloading it because controllers are singletons
* update yarn.lock
* Add http request volume table (#6765)
* init http metrics page
* remove flex-table-column
* add http requests table
* calculate percent change between each counter
* start percent change tests
* style request table
* show percent more/less glyph
* add percent more less tests
* add inline alert about recorded metrics
* make arrows diagonal
* remove conditional inside countersWithChange
* add better error msg
* use tagName and wrapping element a la glimmer components
* extend ClusterRouteBase so auth and seal checks happen
* make table accessible
* remove curlies
* add HttpRequestsTable to storybook
* make table accessible
* use qunit dom for better assertions
* remove EmptyState since we will never have 0 requests
* ensure counters is set in test context
* Http request volume/add barchart (#6814)
* Add http request volume table (#6765)
* init http metrics page
* remove flex-table-column
* add http requests table
* calculate percent change between each counter
* start percent change tests
* style request table
* show percent more/less glyph
* add percent more less tests
* add inline alert about recorded metrics
* make arrows diagonal
* remove conditional inside countersWithChange
* add better error msg
* use tagName and wrapping element a la glimmer components
* extend ClusterRouteBase so auth and seal checks happen
* make table accessible
* remove curlies
* add HttpRequestsTable to storybook
* make table accessible
* use qunit dom for better assertions
* remove EmptyState since we will never have 0 requests
* ensure counters is set in test context
* add http-requests-bar-chart
* add HttpRequestsBarChart tests
* add HttpRequestsBarChart to Storybook
* format total number of requests according to locale
* do not show extra minus sign when percent change is negative
* add link to request metrics in status bar menu
* only show bar chart if we have data for more than 1 month
* make ticks lighter
* ensure charts show data for correct month
* make example counters response look like the adapter response instead of the raw api response
* ensure ui shows the same utc date as the api response
* add format-utc tests
* downgrade to d3 v4 to support ie11
* add gridlines
* move dasharray to css
* use scheduleOnce instead of debounce to prevent multiple re-renders
* add key function to bars
* add exit case when data is no longer in parsedCounters
* fix timestamp in table test
* fix timestamps
* use utcParse and fallback to isoParse for non-UTC dates
* fix bar chart tests
* ci: break config into separate files
* Untangle githooks
* githooks: fix whitespace
* .hooks/pre-commit: add ui -> lint-staged check
- We no longer require dependency on husky with this change.
* ui: remove husky dependency and config
- The previous commit obviates the need for it.
- We will now have to manage these hooks by hand, but this removes
the conflict between husky-installed hooks and those in the .hooks dir.
* ui: update yarn.lock with husky removed
* .hooks/pre-commit: always use subshell + docs
- Always use subshell means we consistently exit from the
same place which feels less complex.
- Docs are necessary for horrible bash like this I think...
* Makefile: remove old husky githooks
- Husky has installed a handler for every single git hook.
- This causes warnings on every git operation.
- Eventually we can remove this, but better not to confuse
people with these messages for now.
* ci: fix go build tags
* Makefile: improve compatibility of rm call
- Looks like the xargs in Travis does something different to the one
on my mac, this more verbose call should be safe everywhere.
* ci: fix make target names
* ci: fix test-ui invocation
* Makefile: simplify husky hook cleanup
* ci: more focussed readme
* use ember-power-select-with-create instead of ember-power-select
* add custom Add message to clarify whether you need a name or ID
* add search-select to storybook
* add wormhole div for ember-basic-dropdown
* add search-select to storybook
* make sure knobs are working
* remove unused code
* ci: make ember-ci-test (browserstack) VLTES-28
* Update .circleci/config.yml
Co-Authored-By: Josh Freda <jfreda@users.noreply.github.com>
* Update .circleci/config.yml
Co-Authored-By: Josh Freda <jfreda@users.noreply.github.com>
* ci: rename test-ember -> test-ui-browserstack
* Makefile: ember-ci-test -> test-ui-browserstack
- Use the same name for this test everywhere to reduce cognitive load.
* browserstack: exit non-zero on failure to connect
* .travis.yml: ember-ci-test -> test-ui-browserstack
* browserstack: add vault bin to the path
* Makefile: browserstack: fail early w/clear msgs
This might save someone time later. The same checks could be applied
elsewhere too trivially.
* upgrade yargs-parser for better quote handling
* remove encoding pre&post parse, and remove wrapping quotes when pushing to data array
* add test for spaces and strings
* base64 encode policy strings in tests where we're using them with string interpolation
* improve regex to only remove wrapping single and double quotes
* don't support quotes in paths in the web cli
* add browserstack
* check for data before removing root token
* fix root prefix and select by attributes for ie11
* use objectAt for ie11
* use blobs instead of files for ie11
* manually round cirucmference for ie11
* skip csp test on ie11
* skip tests in ie11
* include polyfill for CI
* remove on exit hooks
* update which browserstack tests are run
* remove ie check since we are not running these tests in ie
* remove ie check since we are not running these tests in ie
* add ember-cli-deprecation-workflow
* this._router in routes to quiet deprecation
* mark style bindings as htmlSafe strings
* simplify authenticate service hook with async fn
* don't serialize aliases relationship on entities
* update ember-test-selectors so we can use supportsDataTestProperties
* allow duplicate flash messages because we don't want a log warning
* update ember-concurrency for better error message
* use ember-qunit instead of ember-cli-qunit
* update ember-cli-page-object so we're not using a beta lol
* ignore test-helper jquery context warning
* fix race condition in pgp-file test by using ember-concurrency task and test waiter
* await cli commands
* fail tests if async leakage is detected
* update auth-jwt component and tests to be simpler
* fix linting
* review feedback
* 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
* add ember-concurrency-test-waiter
* use withTestWaiter modifier in various parts of the application
* more withTestWaiter
* await instead of return for a few helpers
* update ember-cli-flash
* run ember generate ember-cli-flash
* remove withFlash helper
* fix typo and replication tests
* add storybook
* add storybook files
* add ToggleButton and AlertBanner stories
* add knobs addon
* add notes addon
* add ToggleButton and AlertsBanner notes
* move panel to right
* add ICon
* create story blueprint
* add header to blueprint
* upgrade to storybook 5.0.1
* add confirm-action stories
* move addon panel to bottom
* update ConfirmAction
* add jsdoc comments to alert banner component
* add AlertInline
* set showPanel to true in blueprint
* include newly generated markdown for stories
* adjust code example for toggle button
* add json-to-markdown to package.json
* update AuthForm
* add Storybook readme
* add AlertPopup
* add story markdown custom template
* make storybook dependencies optional
* center all stories
* use message-types helper to dynamically render alerts
* hide panel
* nest alert stories
* move icons into table
* separate homelink into multiple stories
* add homelink with nav example
* remove see links from alert-banner
* add script to autogenerate markdown from component and add it to stories
* add viewport addon and remove centered addon
* update README to include markdown generation
* remove @see links from jsdoc comments
* update README to include jsdoc example
* update alert banner md
* get rid of trailing ######
* update jsdoc and regenerate notes files
* update i-con md
* Update ui/scripts/gen-story-md.js
Co-Authored-By: noelledaley <noelledaley@users.noreply.github.com>
* Update ui/scripts/gen-story-md.js
Co-Authored-By: noelledaley <noelledaley@users.noreply.github.com>
* add storybook docs to vault ui readme
* add jsdoc comments to component blueprint, automatically import md file in story blueprint
* add template template to component blueprint override
* apply basic theme to storybook
* remove comment
* make sure all stories are using auto generated md
* storybook: show optional props in brackets
* storybook: 🔪 HomeLink
* storybook: show AuthConfigForm stories with knobs
* 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
* add description from openAPI as helpText in the models, and add sensitive from x-vault-displaySensitive
* use TypeDurationSecond for TTLs on the GitHub auth method config
* remove empty vals in a loop and add tests
* hold off on changing GH config
* remove isEmpty import
* fix defaultValue
* have jwt auth config generated from OpenAPI response
* support for viewing and enabling an 'oidc' auth type
* finish oidc config and clean up auth config form
* fetch jwt role on render for default paths
* fix tests to expect fetching role on render at default paths
* update label for JWT auth method
* fix tests
This adds a space in the title of the enable secrets engine page. Example: "Enable Google Cloud KMSsecrets engine" should be "Enable Google Cloud KMS secrets engine"
* 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
* fix default rendering of svg and allow plugins access to mount tune form
* add auth-jwt component
* add callback route, and allow it to be navigated to on load
* add jwt as a supported auth method
* use auth-jwt component and implement intial oidc flow
* allow wrapping un-authed requests
* pass redirect_url and properly redirect with the wrapped token
* popup for login
* center popup window and move to localStorage events for cross window communication because of IE11
* access window via a getter on the auth-form component
* show OIDC provider name on the button
* fetch default role on render of the auth-jwt component
* simplify auth-form template
* style callback page
* refetch auth_url when path changes for auth-jwt component
* fix glimmer error on alias metadata, and add back popup-metadata component
* fix link in metadata page
* add logo-edition component and remove use of partial for logo svg
* render oidc callback template on the loading page if we're going there
* add docs icon and change timeout on the auth form
* move OIDC auth specific things to auth-jwt component
* start to add branded buttons for OIDC providers
* add google button
* finish branded buttons
* update glyph for error messages
* update tests for auth screen not showing tabs, add adapter tests and new auth jwt tests
* start auth-jwt tests
* simplify auth-jwt
* remove negative top margin on AlertInline
* only preventDefault if there's an event
* fill out tests
* sort out some naming
* feedback on templates and styles
* clear error when starting OIDC auth and call for new auth_url
* also allow 'oidc' as the auth method type
* handle namespaces with OIDC auth
* review feedback
* use new getters in popup-metadata
* check for capabilities when finding matching paths
* disable wizard items that user does not have access to
* make hasPermissions accept an array of capabilities
* refactor features-selection
* fix tests
* implement feedback
* add permissions service
* start template helper
* match prefixed paths
* gate sidebar links
* land on first page user has access to
* show nav when user first logs in
* clear paths when user logs out
* add tests
* implement feedback
* show all nav items if no policy is found
* update onboarding wizard
* fix some unrelated tests
* add support for namespaces
* gate wizard
* unstage package and lockfile
* add dot-to-dash helper
* fix context menu on policy page and add test for deletion
* use dot-to-dash where we use confirm component
* fix acceptance test
* 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
* add performanceStandbyCount to license model
* use count to determine if perf standby is an active feature
* rename test file and add tests for new perf standby behavior
* Update ui/app/templates/components/license-info.hbs
* update display language
* 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
* remove ember-cli-favicon
* link to png favicon in public folder
* skip some things in the build depending on the env
* update to ember-cli 3.5.0 for broccoli 2, and ember-fetch because it was incompatible with broccoli 2
* update some things the new sass module wasn't happy about
* turn off more things in dev to make the build faster
* bump to the latest ember-cli and move back to node-sass
* remove sass since we're using node-sass
* include polyfill in test as well
* use the OTP that the server provides instead of generating one in the JS client
* fix button styling
* differentiate between OTP and encoded token and encrypted token in the template
* add new codemirror helpers
* adding json helpers to the secret pages
* mark the edit button / link as the edit element instead of the json toggle
* add acceptance tests for JSON editing
* move warning banner out of token-expire-warning and into user menu
* check renewal status every 5s, and resume auto-renew if a user becomes active again
* use a link in the token-expire-warning
* add test for new expiration functionality
* fix license test
* use features helper in license test
* fix import
* use yarn 1.12.1
* remove mirage
* skip some tests for now
* use eslintignore
* logout after auth tests
* use new alert-banner for auth info warning
* add data-test selector back
* move identity back to a button, and style button.link
* make the warning message the right color
* fix shamir test
* review feedback
* 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 ability to configure the NotBefore property of certificates in role api
* Update index.html.md
* converting field to time.Duration
* setting default back to 30s
* renaming the parameter not_before_duration to differentiate between the NotBefore datetime on the cert
* Update description
* re-add performancestandycode for health api call
* update debounce timeout for namespace input on the auth page
* re-fetch cluster model on successful init
* 500ms for the debounce
* swap auth methods after successful api call so that the auth box doesn't jump around
* move list capability fetch to namespace component and don't use computed queryRecord to fetch it
* convert ed models to JSON so that they're unaffected by store unloading
* serialize with the id for the auth method models
* speed tests back up with different polling while loop
* login flash isn't in the same run loop so no longer needs withFlash
* fix token expiration calculation
* move authenticate to an ember concurrency task
* don't show logged in nav while still on the auth route
* move current tests to integration folder, add unit test for expiration calculation
* fix auth form tests
* allow passing a path for options so that it can be extracted from the model
* add cred type selector for the aws generate form
* style hint text on generate creds form
* add tests for aws-credential adapter
* allow for the case where we might have zero ttl
* show error for TTL picker if a non-number is entered for the duration part of the TTL
* fix positioning of tooltips
* fix ttl rendering with invalid input for initialValue
* allow for enterprise init attributes
* allow moving from init to auth in the init flow on the tutorial machine
* show loading spinner while cluster is unsealing
* use seal-status type to determine the init attrs
* add init acceptance tests
* stored_shares should always be 1
* fix lint
* format template
* remove explicity model attr from init controller
* add alicloud auth method in the UI along with onboarding component
* hide dismiss menu on tutorial paused state
* add ability to enable azure secrets engine
* have fromJSON throw if trying to convert non-object to a KVObject
* catch the fromJSON error in secret-edit, display an error, and disabled the submit button
The default TTL was being offered as 30 minutes, and when unchanged, the
UI wouldn't send the TTL back to the backend, causing it to use the
default of 60m. Fix the TTL to default back to 1 hour.
Update UI for AWS secret backend refactor
* Support empty AWS policy documents
* Try to make ARN input multiple
* move aws-role serializer to use the application serializer as the base
* support editing strings as JSON in the form field component
* update model, form and show to use form-component component, and swap fields based on credential type
* fix tests
* unify credential generation for aws and remove the STS specific action in the UI
* add label to the new json string form field
* add switch link on namespace link page if user has access to the namespace
* refresh list when you delete, only show manage if you can list
* fix bug where disconnected namespaces wouldn't show the picker properly
* namespaces list should end in a slash
* end full namespace paths with a /
* shorten pop up menu link
* 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
This commit changes the selected text background color to a more
contrasting one. It also unifies colors of focused/not focused editor.
Focused editor is now indicated by the blinking cursor, which is a
more popular solution.