* feat: 🎸 implement helper
Implement `time-remainig` helper to display duration of a session for
desktop app.
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10487
* refactor: 💡 Refactored scenarios
Refactored `ipc.js` scenario to include `expiration_time` for a new
session.
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10487
* fix: 🐛 Fix add expiration_time when user has no grants to read (#2024)
* refactor: 💡 refactor styles
Removed `div` and added `Hds::Badge` to `h1` element. Condensed and
renamed styling for title to `session-details-info`
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10487
* Refactored `projects/targets` controller to return the correct `expiration_time` field returned from CLI. Cleaned up CSS for `session-details-info` attribute and wrapped `@model.displayname` in span tag.
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10487
* Update ui/desktop/app/controllers/scopes/scope/projects/targets/index.js
mixed naming expiration field on payload to store
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
* refactor: 💡 refactored page header
Refactored `sessions` header to use `<Hds::Text::Dislpay/>` instead of a
span.
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10487
* refactor: 💡 refactor cli response
Refactor `expiration` field from CLI response to be the correct
definition
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10487
* refactor: 💡 refactor sessions layout
Removed span as parent of header information, and pushed styles to
yielded page.header. Fixed stub in test
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10487
---------
Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
* refactor: 💡 session isCancelable to isAvailable
* refactor: 💡 check for target info for showing target details
* refactor: 💡 add fallback for session data from connect command
* refactor: 💡 remove extra divs
* refactor: 💡 remove await from peekRecord of a session
* test: 💍 add test for no read permission for sessions
* test: 💍 reset global qunit after test is done
* refactor: 💡 allow for graceful error handling when connecting
to a target where host-sets cannot be fetched
* refactor: 💡 update for loop to for...of loop
* Move fetching host from target to session domain
* Decouple getting target host-sets and getting hosts from the host-sets, now this code is extracted in 2 methods. Now if the user does not have permissions to fetch host or host-sets we do not show an error and we allow for quick-connect approach
* Fix a check within getHostsFromHostSets
* Change a for loop for Promise.all within getTargetHostSets
* Change a for loop for Promise.All within getHostsFromHostSets
* Delete unnecessary condition
* Delete unnecessary condition
* chore: 🤖 remove host sources from target mirage factory
by default it uses address when using 'withAssociations'
* test: 💍 update target address tests to use 'withOneHost'
* test: 💍 remove connect tests from scopes acceptance tests
* refactor: 💡 remove can initiate connect target ability
and associated code and tests
* refactor: 💡 update target model afterModel hook, and preconnect
* refactor: 💡 revert 'withAssociations' mirage change
* test: 💍 add tests for permissions issues for host-sets and host
* test: 💍 visiting session without permissions to read hosts
---------
Co-authored-by: cameronperera <cameron.perera@hashicorp.com>
* fix: 🐛 host modal renders whenever there is an error
✅ Closes: ICU-11231
* test: 💍 add test case to make sure fix is working properly
* fix: 🐛 toggle flag back to false and remove @tracked
* fix: 🐛 host modal should also close after host connection error
* refactor: 💡 change toggle to toggleModal
* test: 💍 rename toggle in test cases
* test: 💍 update acceptance tests in desktop UI
✅ Closes: ICU-11130
* test: 💍 move tests to target-test.js
* test: 💍 add another test case for targets list view
* feat: 🎸 add Proxy URL info to session detail screen
✅ Closes: ICU-10311
* chore: 🤖 add setupIntl to proxy-url tests
* refactor: 💡 update styles for proxy-url component
* refactor: 💡 display proxy info based on target type
* refactor: 💡 move proxy-url into session specific directory
* refactor: 💡 change template logic for which command to show
* refactor: 💡 remove isSSH getter for session/proxy-url
* feat: 🎸 add credentials panel for session detail screen
✅ Closes: ICU-10315
* fix: 🐛 remove use of A in sessions list array
* refactor: 💡 fix class name to apply style to both detail screen
* refactor: 💡 add comment to resetController on session route
* refactor: 💡 add @value to HDS Toggle in session detail page
* refactor: 💡 class name refactor for credential panel
* refactor: 💡 remove unneeded div around CodeEditor
* refactor: 💡 change border units from rem to px
* feat: 🎸 create CredentialsPanel component
* Update ui/desktop/tests/integration/components/credentials-panel-test.js
Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
* refactor: 💡 update credential panel styles
* style: 💄 fix lint error for desktop styles
* chore: 🤖 yarn.lock update
---------
Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
* feat: 🎸 add canRead ability for session model
* refactor: 💡 create constant values for session status types
* feat: 🎸 add link to session detail from sessions list
✅ Closes: ICU-10521
* refactor: 💡 Use HDS tables in user accounts
* refactor: 💡 Use HDS table in desktop sessions list
* refactor: 💡 Added back the commit Zed mentioned
* refactor: 💡 Added a comment for the session status class
---------
Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
* refactor: 💡 Use HDS tables in user accounts
* refactor: 💡 Use HDS tables in desktop targets list
* refactor: 💡 Fixed indentantion problem suggested by cameron
* fix: 🐛 Removing status badging from desktop client
Removed status badges for `targets` and `sessions` in desktop client
app.
✅ Closes: ICU-9790
* refactor: 💡 Bring back status badging for session
Session status badging can stay due to session can only be canceled by
the user in desktop client and does give an immediate status to the
session.
✅ Closes: ICU-9790
* refactor: 💡 merge changes
* chore: 🤖 deprecate window object service
Deprecate `browser-object` service in favor of `ember-browser-services`
✅ Closes: ICU-7152
* refactor: 💡 cluster-url test fail
commit with cluster-url test failing
✅ Closes: ICU-7152
* refactor: 💡 refactor test to reflect changes
Refactor test to reflect `browser/window` service in `cluster-url` route
✅ Closes: ICU-7152
* refactor: 💡 refactor cluster url test
change logic of mockIPC to a function call
✅ Closes: ICU-7152
* refactor: 💡 desktop display of complex nested secrets
A quick solution for displaying JSON secret objects in connection modal.
✅ Closes: ICU-7409
* refactor: 💡 refactor hidden-secret.js and test
Guard against null for in `typeof` return.
✅ Closes: ICU-7409
* Update ui/desktop/app/styles/app.scss
Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
* refactor: 💡 test
Changed test to check for secret output after clicking on reveal
* refactor: 💡 fix style for hidden-secret and test
Refactor hidden-secret span styling to have content centered and
refactored testing for assert.dom instead of find
Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
* refactor: 💡 explicitly inject the store service - icu-6770
✅ Closes: icu-6770
* refactor: 💡 upgrade to ember-intl 6.0.1
includes locale initialization and smoke tests
* refactor: 💡 migrate admin and desktop to ember-intl 6.x
✅ Closes: icu-6771
* chore: 🤖 exclude cldr-core@38.1.0 from license checking
this license was manually checked
* fix: 🐛 fix text naming and linting
* chore: 🤖 update to ember-intl beta
* refactor: 💡 migrate managed-group off fragments
* refactor: 💡 migrate credential-store off fragments
* refactor: 💡 migrate credential-library off fragments
* refactor: 💡 migrate account off fragments
* refactor: 💡 convert base model scope field to simple attr
* fix: 🐛 skip broken test
* refactor: 💡 Update language to use Sign In and Sign Out
Update authenticate/deauthenticate language to sign in and sign out
respectively
✅ Closes: ICU-3941
* refactor: 💡 Change translation keys back to (de)authenticate
Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>