SharedDirectoryListResponse#1000
Conversation
… previously janky validity checks
… previously janky validity checks
…-file-system-access
We could use a promise pool eg: https://stackoverflow.com/a/63620273/12860195 |
@JanKaczmarkiewicz very clever idea and implementation. I tried to copy it in another branch There may yet be a way to use this, but I'm going to kick the can down the road. Added this discussion thread to the relevant issue: gravitational/teleport#21073 |
* `SharedDirectoryInfoResponse` (#996) * `SharedDirectoryListRequest` (#999) * `SharedDirectoryListResponse` (#1000) * `SharedDirectoryReadRequest` (#1003) * `SharedDirectoryReadResponse` (#1005) * `SharedDirectoryWriteRequest` (#1007) * `SharedDirectoryWriteResponse` (#1008) * Tidy up `sharedDirectoryManager` (#1010) * `SharedDirectoryMoveRequest` (#1045) * `SharedDirectoryMoveResponse` (#1074) * `SharedDirectoryCreateRequest` and `SharedDirectoryCreateResponse` (#1090) * SharedDirectoryDeleteRequest and SharedDirectoryDeleteResponse (#1096) * Add warning dialog for unsupported browsers for directory sharing (#1110) * updates yarn.lock
Adds
listContentsto get the information about each item in a directory and send it back in thefsoListof theSharedDirectoryListResponse.I initially tried to create a version of
listContentswhich gathered all of the promises in a list and then returned them wrapped in aPromise.all. However with this structure, sharing a directory with a large number of items (like thenode_modulesdirectory of this repo afteryarn install) would cause the system to freeze up for a while.I think its a similar problem to the one I encountered way back when working on the display pipeline, namely that piling up a lot of asynchronous calls clogs up the microtask queue and can make performance appear worse, because new regular tasks can't be executed while all the microtasks are processed.
Performance still isn't fantastic when sharing a large directory, but its good enough to be useable.
Requires backport to v9/v10
How to test manually
webappstruewebapps/packages/teleport/src/config.ts
Line 32 in becfad3
yarn start-teleport --target=https://ec2-35-171-27-185.compute-1.amazonaws.com/What to expect
Go to the top right
...menu and clickShare Directory(X-out of the "uncaught exception" screen if you get it). The directory you select should show up in the File Explorer as a shared drive
The drive should be navigable as well should any folders within it
Trying to open a file should result in a