Commit Graph
84 Commits
Author SHA1 Message Date
Zhihe Li 7dadc53fe1 Remove renderer url (#3194)
* feat: 🎸 Refactor how we store cluster URL
2026-05-20 16:36:16 -04:00
Priya Patel f48e6dc049 Refactor: Load terminal using web contents view (#3190)
* chore: 🤖 create terminal preload

* chore: 🤖 created terminal-manager service and updated handlers

* chore: 🤖 adds terminal view and bundling script

* chore: 🤖 addede terminal service, updated tabs component

* chore: 🤖 hides terminal on signout modal

* test: 💍 added terminal service tests

* chore: 🤖 removed debug file

* chore: 🤖 adds windows event handler

* docs: ✏️ adds jsdoc for terminal view

* chore: 🤖 removed xterm dependency from desktop package.json

* chore: 🤖 updated sessionId check

* chore: 🤖 fixed zoom sync with main window

* chore: 🤖 adds CSP for terminal view

* chore: 🤖 hides terminal on error

* chore: 🤖 cleamup listener, fixed failing tests

* chore: 🤖 fixed terminal view cleanup

* chore: 🤖 addressed feedback

* fix: 🐛 adds null check for destroy, hdie terminal view

* fix: 🐛 fixed terminal view on logout/app quit modal

* fix: 🐛 fixed hidding modal on app quit

* chore: 🤖 addressed feedback

* chore: 🤖 hides terminal view when sidenav is expanded

* chore: 🤖 removed canDisplayExistingTerminal
2026-03-30 10:08:55 -07:00
Priya Patel 392e49bf49 refactor: 💡 window postmessage pattern -> contextbridge boundary api (#3167)
* refactor: 💡 postmessage pattern -> contextbridge boundary api

* refactor: 💡 use sinon stub for boundary api mock test helper

* refactor: 💡 updated tests

* refactor: 💡 renamed boundary mock api

* chore: 🤖 addressed feedback

* refactor: 💡 updated context bridge name, added nested objects
2026-03-13 15:14:38 -07:00
Lisbet Alvarez d6e8e58ca1 feat: 🎸 Add sorting to sessions started column (#3174)
* feat: 🎸 Add sorting to sessions started column

* test: 💍 add missing a11y ignores for existing color issue

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-18520
2026-02-26 09:28:00 -08:00
hashiccandLisbet Alvarez 3a847605ed Reapply ember-can upgrade (#3111)
* chore: 🤖 reapply previous ember-can upgrade from #3093

* chore: 🤖 add missing ember-inflector dependency

* chore: 🤖 move @ember/string to be a dependency in desktop

* chore: 🤖 re-run pnpm install to resolve lockfile dupe key error

* chore: 🤖 remove unused abilities service injections

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

---------

Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com>
2026-02-24 13:48:34 -05:00
Lisbet Alvarez 772857dbad Icu 18518 UI add sorting support to cache daemon handler (#3168)
* feat: 🎸 add sorting support & sort feature on targets name column

* test: 💍 cleanup and add tests

* refactor: 💡 remove log

* fix: 🐛 dont add undefined/null values from sort to query

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-18518
2026-02-19 10:38:54 -08:00
hashiccandZhihe Li 63b810d53f Migrate from ember-cli-mirage to miragejs (#3088)
* chore: 🤖 import explicit mirage references

* chore: 🤖 add mirage setupMirage helper

* chore: 🤖 working example with application adapter test

* chore: 🤖 use internal setupMirage test helper from api addon

* chore: 🤖 conditionally load mirage

* chore: 🤖 filter mirage folder inclusion in production builds

* chore: 🤖 drop ember-mirage and use our own test helpers

* chore: 🤖 collapse reference to import declaration

* docs: ✏️ add comment better explaining the mirage test env

* chore: 🤖 update configuration and manage mirage-related deps

* fix: 🐛 restore ipc mock and add missing checkOS handler

* chore: 🤖 add comment explaining omitting mirage deps in build

* chore: 🤖 allow mirage.enabled to include deps and handlers

* chore: 🤖 re-enable mirage for core dummy app

* Add missing copyright headers

* chore: 🤖 use embroider macros to conditionally start mirage

* docs: ✏️ update api readme for mirage changes

* chore: 🤖 replace remaining ember-cli-mirage references

* chore: 🤖 add mirage to test builds

* fix: 🐛 ensure that auto mirage start doesn't happen in test env

* chore: 🤖 use const instead of var

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

* refactor: 💡 use cleaner logic for excluded api build modules

* fix: 🐛 handle issue where importSync was too eager

This was fixed by bumping the @embroider/macros dependency that includes
a fix to this issue:
https://github.com/embroider-build/embroider/pull/2511

* refactor: 💡 move mirage from addon to app directory

* refactor: 💡 update mirage test helper to be a factory

* chore: 🤖 exclude mirage directory when necessary at build time

* chore: 🤖 add miragejs as admin dev dependency

* refactor: 💡 update reference to startMirage

* chore: 🤖 update local mirage test helper

* chore: 🤖 change import path for mirage on desktop

* chore: 🤖 update imports in tests for startMirage

* chore: 🤖 update startMirage imports for api addon tests

* chore: 🤖 add miragejs dev dep to desktop

* docs: ✏️ update README

* chore: 🤖 set up setupMirage for core tests

* chore: 🤖 fix copyright header

* Add missing copyright headers

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2026-02-03 13:54:32 -05:00
Lisbet Alvarez 3ba93927fe Update copyright headers (#3146)
* empty commit

* Add missing copyright headers

* chore: 🤖 update copywrite config file with correct year

* Add missing copyright headers

* empty commit (gh action merge checks are stuck)
2026-01-28 17:09:06 -08:00
55e1e68f30 [COMPLIANCE] Update Copyright and License Headers (#3099)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
Co-authored-by: Dharini <dharini@hashicorp.com>
2026-01-20 11:35:10 -05:00
hashicc f1ffb80b80 Revert "chore: 🤖 bump ember-can (#3093)" (#3107)
This reverts commit b5d33948dc.
2025-12-08 18:20:55 -05:00
hashicc b5d33948dc chore: 🤖 bump ember-can (#3093)
* chore: 🤖 bump ember-can

* chore: 🤖 rename "can" service (deprecated) to abilities

See https://github.com/minutebase/ember-can/pull/152

* chore: 🤖 bump to ember-can@^8

* chore: 🤖 extend resolver for ember-can v7 breaking change

https://github.com/minutebase/ember-can/pull/186
2025-12-08 10:41:38 -05:00
Priya Patel e55ea0b629 feat: 🎸 preferred clients section on settings page (#3034)
* feat: 🎸 preferred clients section on settings page

* chore: 🤖 update mock ipc with new handlers

* refactor: 💡 moved windows rdp protocol to const

* refactor: 💡 moved rdp calls to app route

* test: 💍 fixed failings tests

* refactor: 💡 addressed comments

* fix: 🐛 fixed failing tests

* refactor: 💡 add mock rdp service calls to tests

* refactor: 💡 addressed comments

* test: 💍 add additional tests

* refactor: 💡 fixed test failure
2025-11-19 14:22:06 -08:00
Priya Patel 437d0e686d Create new RDP service (#3029)
* feat: 🎸 added a new RDP service

* fix: 🐛 rdp test

* refactor: 💡 update error handling for fetching rdp clients

* refactor: 💡 addressed comments

* fix: 🐛 revert private field

* refactor: 💡 addressed comments

* refactor: 💡 updated rdp clients to array of strings
2025-11-19 14:22:06 -08:00
Lisbet Alvarez 72f7c8a92d fix: 🐛 OIDC authentications not properly showing username (#2930)
* fix: 🐛 properly show username for oidc auth method in user menu

* test: 💍 fix admin ui tests

* test: 💍 fix desktop ui tests

* refactor: 💡 admin to not store username in authenticated object

* refactor: 💡 use getter in app controller

* test: 💍 POC for how we could update our tests to use auth account

* refactor: 💡 remove unused service

* test: 💍 fix all tests in ui/admin

* test: 💍 revert one change

* refactor: 💡 update ui/desktop w/ feedback + fix tests

* refactor: 💡 add in error handling

* refactor: 💡 cleanup unused service

* test: 💍 fix e2e test selector

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-17231
2025-10-30 12:49:30 -07:00
hashicc 46d477ea5b Refresh target active sessions for admin and desktop (#3001)
* fix: 🐛 refresh sessions for targets list on admin and desktop

Refresh the sessions for the targets list pages on admin and desktop so
that the active sessions column is up to date

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

* test: 💍 add test for targets list refreshing sessions on admin

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

* refactor: 💡 allow ipcStub to return current mirage data

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

* test: 💍 ensure that desktop targets sessions are refreshed

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

* test: 💍 update existing tests affected by sessions refresh ipc

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

* refactor: 💡 remove force_refresh from sessions sync

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-17646
2025-09-15 12:53:17 -04:00
Dharini Jeeva d2d351c9f7 chore: 🤖 add rdp target type 2025-09-03 16:00:12 -07:00
LaurenandZhihe Li 990e2d6b9d [Desktop][Bug fix]: Stop target sessions before unauthenticating user session (#2891)
* add stopAll invocation to ipc handler

* trigger modal on both signout btns

* refactor invalidateSession fn

* fix application controller tests

* fix failing tests settings-card/user

* add test to Acceptance | authentication

* migrate electron dialog.showMessageBoxSync to Hds

* rename channel and tracked prop, consolidate cancel fns

* combine modals, add willDestroy, refactor

* test signout and close sessions modal

* address feedback

* refactor window.electron in authentication-test

* address feedback

* refactor: 💡 Fix failing tests

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2025-08-04 16:44:27 -04:00
Cameron Pereraandcameronperera 57e614e8db feat: 🎸 add search capability for host sources (#2861)
* feat: 🎸 add search capability for host sources

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

* refactor: 💡 use Rose::Pagination component

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

* refactor: 💡 move target detail body to index route

to fix whole page reload issue

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

* Add missing copyright headers

* refactor: 💡 PR feedback

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

---------

Co-authored-by: cameronperera <29386339+cameronperera@users.noreply.github.com>
2025-06-06 16:07:48 -05:00
Carlos Alcaide Corvo 9cac16fe6a refactor: 💡 Add await to authenticateSession within desktop (#2600) 2024-12-02 15:30:28 -08:00
Carlos Alcaide Corvo 8c6b1aa69a Clean up auto-generated TODO comments (#2607) 2024-12-02 09:02:44 -08:00
Lisbet Alvarez 57568f9a8c test: 💍 add missing controller unit tests in admin-ui (#2553)
* test: 💍 add missing controller unit tests in admin-ui

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-14740
2024-11-12 09:27:07 -08:00
Lisbet Alvarez 0f52b86364 refactor: 💡 remove route-action usage for targets and sessions (#2528)
* refactor: 💡 remove route-action usage for targets and sessions

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-15040
2024-10-22 13:16:58 -07:00
Dharini Jeeva a97f66e011 feat: 🎸 settings page (#2395)
* feat: 🎸 settings page
2024-09-24 11:58:24 -04:00
Lisbet Alvarez 8605a54221 refactor: 💡 remove route-action usage for scopes in desktop (#2447)
* refactor: 💡 remove route-action usage for scopes in desktop

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12621
2024-09-17 16:36:47 -07:00
Dharini Jeeva 17db3cba68 workflow action for copyright headers (#2345) 2024-06-27 11:06:41 -07:00
Zhihe Li 8788b5ec9a feat: 🎸 Add support for polling transparent sessions (#2304)
* feat: 🎸 Add support for polling transparent sessions

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13831
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13830
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13832
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13833
2024-06-12 16:40:19 -04:00
Dharini Jeeva 9b1f052a56 chore: Update desktop client license from MPL to BSL (#2307)
* chore: 🤖 license
2024-05-31 11:29:24 -07:00
hashicorp-copywrite[bot] 314c1b36f4 [COMPLIANCE] Add Copyright and License Headers (#2100)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2024-01-22 12:12:44 -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
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 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
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 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 4b9496b4f2 Icu 10491 create route for session/session-id (#1825)
* fix: 🐛 call displayName on model

* feat: 🎸 add sessions/session-id route and base layout

✅ Closes: ICU-10491
2023-09-22 18:58:13 -04:00
Cameron Perera 55eca5037e refactor: 💡 Remove targets/target-id/hosts route and tests (#1810)
* refactor: 💡 Remove targets/target-id/hosts route and tests

✅ Closes: ICU-10316

* refactor: 💡 Remove targets/target-id/sessions route and tests (#1811)

* refactor: 💡 Remove targets/target-id/sessions route and tests

✅ Closes: ICU-10317

* refactor: 💡 remove targets/target-id/sessions controller
2023-09-22 18:58:13 -04:00
hashicorp-copywrite[bot]andCameron Perera 3d610427d0 [COMPLIANCE] Add Copyright and License Headers (#1617)
* [COMPLIANCE] Add Copyright and License Headers

* chore: 🤖 update Copyright headers to satisfy our lint rules

---------

Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
2023-03-01 09:39:41 -06:00
Carlos Alcaide Corvo 4fcb005a1f Refactor origin to cluster (#1210) 2022-07-27 10:25:01 -07:00
Carlos Alcaide Corvo 6f8afbb7af Chore update eslint and plugins update (#1171) 2022-07-07 11:18:51 -07:00
Randall Morey 2bb63c3775 refactor: 💡 merge model and collection abilities 2022-01-31 12:02:37 -05:00
Randall Morey 0879a0430d chore: 🤖 upgrade deps for ember 3.28 and fix qunit lint errors 2021-10-23 11:48:10 -04:00
Randall Morey 4659b54e9e feat: 🎸 add ui-level navigation ability 2021-08-19 17:52:27 -04:00
Randall Morey 863e81bc01 fix: 🐛 migrate IPC to service-based window for reliable testing
This resolves a longstanding issue where IPC tests rely on the real
window.postMessage and MessageChannel APIs.  These are evented and
asynchronous, resulting in nondeterministic tests.  This commit updates
tests with synchronous mocked APIs.
2021-05-08 12:08:56 -04:00
Susmitha Girumala 1a901b15d2 fix: Trim first to avoid leaving trailing slashes in origin 2021-04-13 16:57:07 -04:00
Susmitha Girumala e894dbc4e8 fix: Trim origin url in desktop 2021-04-13 16:57:07 -04:00
Randall Morey 586a4dbe23 feat: 🎸 roll out OIDC to desktop 2021-04-12 18:10:08 -04:00
Randall Morey d1303c7bca Merge branch 'main' into feature-oidc-authenticate 2021-04-09 13:27:38 -04:00
Randall Morey 0d8508cd4e fix: 🐛 silently drop trailing slashes from origin input 2021-04-08 13:45:19 -04:00
Randall Morey 3d13d8f412 refactor: 💡 auth payloads now have "attributes" field 2021-04-01 17:41:30 -04:00
Susmitha Girumala 6bd994c86b tests: Update unit tests in desktop 2021-03-19 12:09:06 -04:00