Commit Graph
13 Commits
Author SHA1 Message Date
Jeff Pihach 5eafe86fa4 Remove usage of lodash methods (#21567)
* Create new local util lib to replace lodash.

* Replace usage of isInteger and debounce from lodash with highbar.

* Create isObject and runOnce utility methods.

* remove use of at, isObject, and once lodash method usage.

* remove map and transform lodash calls.

* Add memoize function to highbar.

* remove memoize lodash usage.

* remove merge and isEqual lodash methods and update other missing refs to highbar.

* convert the throttle to debounce.

* add throttle method to highbar.

* use the new throttle method instead of debounce where necessary.

* Add mergeDeep function for init config merge.

* remove lodash from the build process.

* Fix introduced bug in workspacesService.

* Added tests for highbar mergeDeep and expanded its functionality to support arrays.

* review updates.

* Added types to mergeDeep function.

* Add missing MapCache prototype methods.

* Add license notices, types and missing hash code.

* First pass at compare an array objects function.

* use new compareArrayObjs fn

* Add missing not

* Added types to arrayObjectIsEqual

* Add tests for arrayObjectIsEqual and fix some edge case bugs.

* update util fn name
2023-02-21 17:25:36 +00:00
Jeff Pihach 3f75acb163 Add license headers to web files that were missing it. (#21315)
* Lint the web files but not node_modules or vendored files.

* Add license headers to web files that were missing it.

* Add missing licenses.
2023-02-07 16:27:31 +00:00
Grzegorz Zdunek 3a0fc94aa6 Connect: wait for process to exit before closing app (#20673) 2023-01-26 14:34:14 +00:00
Lisa Kim 6b08ee907d Handle private key policy errors and config (#1298)
There are three ways we determine if use of private key is enabled:

-Cluster config: this setting won't render the login form, 
it will just direct user to login with other supported methods
- 'privateKeyPolicyEnabled' flag: only returned with a 200 for resets 
and invites. This flag was required so that we can additionally render 
recovery codes if any (only for Teleport Cloud)
- Checking if the error returned contains the backend hard coded 
keywords ('hardware_key' or 'hardware_key_touch'). Role configs
will require an attempt (either logging in or assuming an access request)
before the backend checks if this user requires use of private keys.
2022-10-28 14:38:04 -07:00
Rafał Cieślak 7e9aa52653 Connect: Fix filtering internal logins (#1292) 2022-10-24 10:29:58 +00:00
MichaelandGrzegorz Zdunek fe004fc158 [Connect] Add Document Access Requests (#1203)
* init webapps.e ref

* update web.e

* added imported components

* udpated to correct imported types

* webapps.e update

* readme update and lint fix

* removed extra console logs

* sub head fix for webe

* reattached webape head

* fixed tests

* added access request change confirm dialog

* null check

* webappe

* count to accessRequestSerivce, import/export names, small fixes

* fixed imports and createrequest params

* updated imports from removed containers in teleterm-e

* optional params for reuse outside of ClusterLogout

* webapps.e ref update

* update webapps.e ref

* webapps.e ref update

* webapps.e ref update and navigation item update

* webapps.e update

* align sync button center to match access request size

* added accessRequestsSerice tests

* updating webapps.e

* created accessRequests object on workspace type and cleanup

* added requestId to documentaccessrequest type and webapps.e update

* protobuf updates changing created/expires from string to timestamppb

* webappse update and review feedback

* updated protos with comments

* changing delete/review access request responses to void

* updated getaccessrequests to not include ID

* protobuf updates

* webappse update

* update to resource tables styles

* update to standard access_request_id field in RPCs

* webappse upddate

* updated tests and added types

* updated webappse

* clusterService method for getrequestableroles, retryWithRelogin for fetch, webappse update

* webappse update

* story fixes

* added kubes support to tsh

* proto files

* update webappse

* Provide `WorkspaceContext` for documents in each workspace

* updating webappse

* webappse update

* accessrequestservice fix for resoruces

* updated webapps.e after master merge

* removed extra data from persisted state for assumed access requests

* update webappse

* protobuf files

* lint fixes

* adding getWorkspaces stub to fix tests

* webappse update

* webappse snapshots update

* protobuf updates

Co-authored-by: Grzegorz Zdunek <grzegorz.zdunek@goteleport.com>
2022-10-11 18:53:57 -05:00
Jeff Pihach 991856e137 Added eslint rule to enforce the order of file imports (#1030)
* add import order lint rule.
* auto fix import order and spacing.
* prettier fix.
* manual fix of import order.
* update failing snapshots.
* bump e submodule for import order fixes.
2022-07-25 16:21:23 -06:00
Lisa Kim b86c9bcdfe [2/3] Prettify shared, build, and teleport packages (#955)
* Update prettier ignore
2022-07-06 14:57:40 +00:00
Lisa Kim d343e5618c Remove u2f components and logic (#711)
* Also updates e-ref
2022-04-04 17:56:49 -07:00
Lisa Kim f916657669 Update getMfaOptions to createMfaOptions 2022-03-30 17:30:43 -07:00
Alexey Kontsevoyandgzdunek b55dd4f2f1 Teleterm Preview (beta) (#590)
* first version

* Fix build

* Fix

* fixes

* add app context

* Add Navigator

* more screens

* add cluster

* grpc

* Add gateways

* add node-pty

* add tshd daemon

* add main process quick reload

* add tsh access

* Use default terminal shell and add context menu (#444)

* node-pty errors

* Fix build process and include `tsh` in the package  (#451)

* Use single `package.json` config

* Include `tsh` in app package

* fix linux package target

* add global search

* fix tsc (errors) build step

* Add mocks

* Add logging to file (#455)

* minor cleanups

* Add keyboard shortcuts service (#462)

* add sync statuses for teleport resources

* add teleterm icon (#470)

* Fix dev reloads of main process

* minore bug fixes

* implement auth

* update webpack configs to v5 (#492)

* arrange the cards evenly depending on the available space & add drag and drop (#486)

* fix text truncation on tabs

* Add logout and cluster removal

* Add context menu to clusters (#500)

* Add tabs shortcuts & open new tab basing on active tab (#495)

* Make xterm understand resize sequence (#507)

* use `Immer` in teleterm store (#516)

* Add apps and kubes

* Teleterm bugfixes (#519)

* add command palette

* Replace Gateways with Connections

* add tc

* Clean up

* Add basic config service (#526)

* add fonts config (#528)

* Fix resize bug

* Minor teleterm fixes (#531)

* remove exit code checking before closing a tab

* prevent closing `home` tab

* Fix crashing errors

* Remove Roles and Activities

* Remove GlobalSearch

* Add context menu to tab items (#533)

* make quickIInput always visible on top

* Add workspace service (#538)

* Add recently opened documents to workspace (#547)

* add recently opened documents to workspace

* review fixes

* review fixes

* add `ClusterConnect` component

* remove the `close` item and electron help items from the app menu (#560)

* improve navigator behaviour (#565)

* improve navigator behaviour

* Add new connection handling

* Add username to gateways

* add kube connect command

* Gateway should render instructions per DB protocol

* Address design changes

Co-authored-by: gzdunek <gzdunek@users.noreply.github.com>
2022-02-08 18:40:28 -05:00
Isaiah Becker-Mayer 1ac2d4a9b9 moving progress bar (#577)
* adding desktopPOC player

* updates to proper playback test websocket endpoint

* Changes EventQuery to take an EventCode in order to facilitate more comprehensible typing for AuditService.fetchEvents. Updates RecordingsService to use the general events search endpoint in order to easily add DESKTOP_SESSION_ENDED events to the response alongside regular [ssh] SESSION_END events.

* Adds logic for distinguishing between session types and displaying appropriate icon

* Deleting DesktopPlayerPOC which should not have been on this branch

* Breaks the handling of the two types of end events passed into makeRecording into two separate functions. Also types RecordingDescription

* touchups

* yarn tsc fixes

* updates storybook

* updating snapshot

* removing unused import

* adds skeleton for distinguishing between ssh and desktop recordings

* Testing connection of the playerClient

* Puts TdpClientCanvas into the DesktopPlayer

* adds toggle to PlayerClient

* small fixes

* adds an onerror to proxyServer so that websocket closures don't shut down the webpack-dev-server

* updates to match backend

* shifting preventDefaults out of TdpClientCanvas since that isn't always desired (for example with the desktop player)

* Adds a ProgressBarDesktop component and makes it respond to the new PlayerClientEvent.TOGGLE_PLAY_PAUSE event emitted by the PlayerClient

* Adds support for decoding client screen spec and using it to determine canvas size during playback. requires some code cleanup

* Some significant refactoring, DesktopSession and DesktopPlayer now both up to par in terms of function. Requires further refactoring for storybook.

* fixes storybook

* fixes codec test

* fixing build warnings

* reverts audit log changes

* removes unused type Region

* decodes the jsons that are now sent over websocket

* replace fqdm with fqdn

* Stops re-adding TOGGLE_PLAY_PAUSE listener each rerender and adds cleanup for that listener

* Make naming more precise

* removing unnecessary logging and fixing a type

* adding todo

* makes recordingType the more appropriate query param

* change let to const

* tiny fixes

* reverting

* The progress bar now moves with the recording timing

* Makes the rest of TdpClientCanvas props optional and wraps relevant logic in relevant if statements where necessary. Gets rid of ugly doNothing

* fixes event listener cleanup

* removes unnecessary prop

* Adds standard error handling display and a storybook for it

* moving detailed TODO to an issue

* changing toHuman to remove brittle reliance on iso string

* removes base64-arraybuffer, refactors base64url.ts into the more general base64.ts and uses it for base64 to array buffer translation

* fixes Storybook

* fixes validDurationMs

* Copies in base64url-arraybuffer library and modifies it for our purposes

* putting import statements in their proper place

* Moves Base64urlString type to where its needed

* removes DS_Store

* addresses code review

* simplifies and fixes durationMs logic

* final touches
2022-02-08 10:38:12 -05:00
Lisa Kim f1f5630543 Add Array Buffer and Base64URL converter (#415)
* Added preferredLocalMfa to config file
* Added webauthn as an auth 2fa type
2021-10-12 10:24:48 -07:00