Commit Graph
428 Commits
Author SHA1 Message Date
Zhihe Li 7bc2ccb5ae refactor: 💡 Use a native class for the client daemon handler (#2026) 2024-01-16 10:17:45 -05:00
Zhihe Li 3f11019ef0 feat: 🎸 Add pagination support to client daemon handler (#2016)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11743
2024-01-16 10:17:45 -05:00
Zhihe Li 1135f88cb7 feat: 🎸 Add debouncing for the search bar (#2008)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11851
2024-01-16 10:17:45 -05:00
221ab1f7bd Icu 11748 add free search for targets (#1995)
* refactor: 💡 fix how we access socket_address from status call

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* feat: 🎸 add free search capability to targets list

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* test: 💍 update test asserts to look for hds appl state title

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* refactor: 💡 remove filtering for yes, no, & narrow-results

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* refactor: 💡 add aria-label to dropdown search input

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* refactor: 💡 add to handleInput signature comment

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* refactor: 💡 move buildQuery to client daemon handler

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* refactor: 💡 Add new parser for MQL expressions

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* refactor: 💡 use queryParams for searching

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* fix: 🐛 Fix some MQL expressions not being properly filtered

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* style: 💄 update handleSearchInput comment signature

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* Update addons/api/addon/utils/mqlQuery.js

Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com>

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com>
2024-01-16 10:17:45 -05:00
Zhihe Li 4bf1a88764 feat: 🎸 Add handler to make search requests to client daemon (#1989)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11691
2024-01-16 10:17:45 -05:00
Zhihe Li b8b970ce4d feat: 🎸 Add initial setup for client daemon integration (#1987)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11702
2024-01-16 10:17:45 -05:00
Lisbet AlvarezandZhihe Li 550dee9ae0 Icu 11861 add sorting to session recording (#2005)
* refactor: 💡 add sorting to session recordings & sessions

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11861

* Update ui/admin/app/routes/scopes/scope/session-recordings.js

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-01-16 10:17:45 -05:00
Lisbet Alvarez 776c46f129 refactor: 💡 replace store.findAll with store.query (#2002)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11825
2024-01-16 10:17:45 -05:00
Lisbet Alvarez 6ae3067dd9 refactor: 💡 remove unnecessary sorting due to pagination change (#1996)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11787
2024-01-16 10:17:45 -05:00
Zhihe Li 7dbd581a37 feat: 🎸 Add setup for api handlers 2024-01-16 10:17:45 -05:00
Kristin BradleyandDharini Jeeva 77f8235ebf Replace Rose::CodeEditor with Hds::CodeBlock within Desktop client (HDS-2827) (#2020)
* HDS-2827 Replace Rose::CodeEditor with Hds::CodeBlock on Create New Worker page

* HDS-2827 Replace Rose::CodeEditor with Hds::CodeBlock in credentials panel

* HDS-2827 Remove un-needed getters, fix formatting errors

* HDS-2827 Revert instances of Hds::CodeBlock added to create workers page

* HDS-2827 Fix failing test

* Apply suggestions from code review

* HDS-2827 Delete old unused css

* HDS-2827 Delete old css

---------

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-12-08 12:03:47 -05:00
9782f7e243 feat: 🎸 Implement time-remaining helper into desktop UI (#2018)
* 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>
2023-12-07 16:01:57 -05:00
Carlos Alcaide Corvo 99cf4c8d81 chore: 🤖 Update DC main element padding (#2009)
Update Desktop Client main element padding to look like app-frame HDS implementation within cloud-ui.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10497
2023-12-04 14:06:45 -08:00
Devon Anderson 019b3e7390 chore: 🤖 Update stylelint config dependency (#2000)
* chore: 🤖 Update dependency

Updated `styelint-config-standard-scss` to fix incorrect peer dependency
warning for `styelint`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11818

* Update _notify.scss

remove test for media query

* refactor: 💡 refactor media queries

Refactor all media queries to include `context` notation.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11818
2023-11-22 15:42:24 -05:00
Zhihe Li bcf004b8a4 Reformat codebase with trailing commas in functions (#2006)
* style: 💄 Update trailing commas in API

* style: 💄 Update trailing commas in core

* style: 💄 Update trailing commas in rose

* style: 💄 Update trailing commas in admin

* style: 💄 Update trailing commas in desktop
2023-11-22 14:07:41 -05:00
Carlos Alcaide Corvo cb3a9e3bdc chore: 🤖 Add custom key handler for windows (#2001)
* chore: 🤖 Add custom key handler for windows

Add custom key handler only for Windows OS so we achieve Ctrl+C to copy
within the embedded terminal

* Await for clipboard promise to complete
2023-11-22 09:21:25 -08:00
Devon Anderson 3b3a00e1ee Upgrade desktop UI to Ember 4.12.2 (#1990)
* Upgrade desktop UI to Ember 4.12.2

* refactor: 💡 refactor scripts

Refactor concurrently scripts, and removed duplicate entries in
`eslintrc.js`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11747

* refactor: 💡 peer dependencies

Revert changes to `peerDependencies`.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11747

* refactor: 💡 revert config back before upgrade

Revert `styelint-standard-config-scss` back to 6.0.0 so that it can be
put into seperate ticket.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11747

* Update _notify.scss

fix misspelling

* refactor: 💡 revert dependency

Revert `stylelint-config-standard-scss` back to original version

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11747
2023-11-15 11:29:24 -05:00
Cameron PereraandDharini Jeeva f54d48c380 refactor: 💡 allow target connection even with no read ability (#1984)
* refactor: 💡 allow target connection even with no read ability

* Update ui/desktop/tests/acceptance/projects/targets/index-test.js

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>

* refactor: 💡 remove unneeded await from transitionTo

---------

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-11-03 16:01:51 -05:00
Zhihe Li 7317ca2ff5 fix: 🐛 Fix issue with brokered credentials that overflow (#1982)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11368
2023-11-02 15:16:22 -04:00
Zhihe Li 1ddabf4980 feat: 🎸 Add checks for cancel permissions in desktop sessions (#1980)
* feat: 🎸 Add checks for cancel permissions in desktop sessions

* chore: 🤖 Move model hook from session to session.index
2023-11-02 13:42:51 -04:00
Cameron Perera 861562201b refactor: 💡 remove unused target/sessions controller (#1979) 2023-11-01 13:54:36 -05:00
Cameron Perera f879bbb1ec Session permissions issue (#1975)
* 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
2023-11-01 11:22:18 -05:00
Zhihe Li 4a3d8eee63 feat: 🎸 Allow auto connect to SSH targets on windows (#1971) 2023-10-30 18:16:40 -04:00
Carlos Alcaide Corvoandcameronperera 3f8e39d0e1 Host set permission issue (#1968)
* 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>
2023-10-30 12:54:37 -05:00
Zhihe Li 262df46fac fix: 🐛 Fix edge case with showing host modal (#1939)
✅ Closes: ICU-11285
2023-10-04 18:57:17 -04:00
Lisbet Alvarez bac3593b97 fix: 🐛 host modal renders whenever there is an error during connection (#1936)
* 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
2023-10-02 07:26:10 -05:00
Zhihe Li f6e7529b38 fix: 🐛 Stop sending ssh command when session initiated in CLI (#1925)
✅ Closes: ICU-11209
2023-09-26 16:36:13 -04:00
hashicorp-copywrite[bot] 2fd45c552f [COMPLIANCE] Add Copyright and License Headers (#1920)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2023-09-25 14:22:44 -04:00
Lisbet Alvarez 0a8d14b53f test: 💍 update acceptance tests in desktop UI (#1916)
* 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
2023-09-22 18:58:15 -04:00
Lisbet Alvarez 3740bb079a Icu-11111 don't display empty modal when a target has no target address and no host sources (#1909)
* fix: 🐛 disable connect buttons & add message

✅ Closes: ICU-11111

* test: 💍 add test cases

* fix: 🐛 buttons on list view & add getter to target model

* refactor: 💡 use can ability instead and remove Promise.all

* test: 💍 fix expect number
2023-09-22 18:58:15 -04:00
Cameron Perera 3d0a57d459 refactor: 💡 remove custom xterm styles (#1915) 2023-09-22 18:58:14 -04:00
Cameron Perera 7afd7f7e0d refactor: 💡 update styles for canvas elements (#1912) 2023-09-22 18:58:14 -04:00
Cameron Perera 22059e0aa0 Icu 10981 show host address in host details sidebar (#1913)
* refactor: 💡 update yarn.lock

* feat: 🎸 show host address if present

✅ Closes: ICU-10981
2023-09-22 18:58:14 -04:00
Zhihe Li 513e5847f0 feat: 🎸 Resize terminal container dynamically (#1910)
✅ Closes: ICU-11108
2023-09-22 18:58:14 -04:00
Cameron Perera a4a48a9108 fix: 🐛 xterm csp policy violation (#1911)
* fix: 🐛 xterm csp policy violation

* refactor: 💡 add newline for lint rule
2023-09-22 18:58:14 -04:00
Zhihe Li 2a8ebe88de feat: 🎸 Prevent automatically sending SSH command on windows (#1906)
✅ Closes: ICU-11109
2023-09-22 18:58:14 -04:00
Cameron Perera f3c72b0100 refactor: 💡 add host modal hover indication (#1902)
✅ Closes: ICU-11063
2023-09-22 18:58:14 -04:00
Cameron Perera c5cffd5137 feat: 🎸 create Host Modal for connecting to specific modal (#1898)
✅ Closes: ICU-10432
2023-09-22 18:58:14 -04:00
Cameron Perera 02ce3341bd Icu 11057 update shell styles (#1900)
* refactor: 💡 add border-radius and padding to desktop shell

✅ Closes: ICU-11057

* refactor: 💡 update padding to padding-left
2023-09-22 18:58:14 -04:00
Cameron Perera a6b497cacd fix: 🐛 fix cancel session failing after shell has started (#1899)
✅ Closes: ICU-11035
2023-09-22 18:58:14 -04:00
Cameron Perera ed1d73d29c feat: 🎸 display target address in sidebar if present (#1895)
✅ Closes: ICU-10980
2023-09-22 18:58:14 -04:00
Zhihe Li 5aa425ee05 feat: 🎸 Add flag to ssh command to not prompt for known hosts (#1894) 2023-09-22 18:58:14 -04:00
Cameron Perera 6d7624bc9f refactor: 💡 fix proxy-url to render above body and sidebar (#1893) 2023-09-22 18:58:14 -04:00
Cameron Perera 1102c94875 refactor: 💡 move sidebar into session details tab (#1892)
✅ Closes: ICU-10961
2023-09-22 18:58:14 -04:00
Cameron Perera edd42ee927 feat: 🎸 add host details to session details screen if present (#1889)
* feat: 🎸 add host details to session details screen if present

✅ Closes: ICU-10282

* refactor: 💡 update style for host details

* refactor: 💡 update styles for sidebar details

* refactor: 💡 remove unneeded class selector
2023-09-22 18:58:14 -04:00
Cameron Perera f0a848721a feat: 🎸 allow for connection for target with single host (#1887)
* feat: 🎸 allow for connection for target with single host

✅ Closes: ICU-10431

* refactor: 💡 small code clean up

* refactor: 💡 move host fetch to model hook
2023-09-22 18:58:14 -04:00
85913acc61 Desktop Client Session Terminal (#1884)
* refactor: 💡 Turn on sandboxing for renderer process (#1870)

* chore: 🤖 add tabs for details and terminal view (#1871)

* feat: 🎸 Allow creating multiple terminals (#1872)

* chore: 🤖 add remove method to terminal (#1875)

* feat: 🎸 Clean up terminal tab (#1876)

* feat: 🎸 Handle resizing xterm and node-pty (#1879)

* feat: 🎸 Clean up killing terminals (#1881)

* refactor: 💡 Rename tabs component (#1882)

---------

Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>
Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-09-22 18:58:14 -04:00
Cameron Perera 374b21bcff feat: 🎸 update connect logic for targets with static addresses (#1874)
* feat: 🎸 update connect logic for targets with static addresses

✅ Closes: ICU-10430

* refactor: 💡 remove console logs

* refactor: 💡 add missing awaits
2023-09-22 18:58:14 -04:00
Cameron Perera 8f043e8cf5 refactor: 💡 update how proxy-url determins default proxy info (#1869) 2023-09-22 18:58:14 -04:00
Cameron Perera a831bd06a5 feat: 🎸 add Proxy URL info to session detail screen (#1868)
* 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
2023-09-22 18:58:14 -04:00