waveterm/frontend/app
Evan Simkowitz 902ff9baf1
enable wsh file cross-remote copy/move (#1725)
This adds the ability to stream `tar` archives over channels between
`wsh` instances. The main use cases for this are remote copy and move
operations.

It also completes the `wavefs` implementation of the FileShare interface
to allow copy/move interoperability between wavefiles and other storage
types.

The tar streaming functionality has been broken out into the new
`tarcopy` package for easy reuse.

New `fileshare` functions are added for `CopyInternal`, which allows
copying files internal to a filesystem to bypass the expensive interop
layer, and `MoveInternal`, which does the same for moving a file within
a filesystem. Copying between remotes is now handled by `CopyRemote`,
which accepts the source `FileShareClient` as a parameter. `wsh`
connections use the same implementation for `CopyInternal` and
`CopyRemote` as they need to request the channel on the remote
destination, since we don't offer a way to pass channels as a parameter
to a remote call.

This also adds a recursive `-r` flag to `wsh file rm` to allow for
deleting a directory and all its contents.

S3 support will be addressed in a future PR.

---------

Co-authored-by: sawka <mike@commandline.dev>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-01-31 10:42:39 -08:00
..
asset Add tab bar instructions to docsite (#1779) 2025-01-20 15:29:23 -08:00
block fix: connection error only shows in error state (#1838) 2025-01-24 14:16:55 -08:00
element Fix quicktips getting cut off (#1857) 2025-01-27 11:34:18 -08:00
hook Happy new year! (#1684) 2025-01-04 20:56:57 -08:00
modals Disconnect Connection Button (#1858) 2025-01-28 11:08:29 -08:00
notification Happy new year! (#1684) 2025-01-04 20:56:57 -08:00
store enable wsh file cross-remote copy/move (#1725) 2025-01-31 10:42:39 -08:00
tab Happy new year! (#1684) 2025-01-04 20:56:57 -08:00
view Add image preview zoom functionality (#1870) 2025-01-29 11:18:10 -08:00
workspace Widget Config Magnify (#1689) 2025-01-08 15:02:55 -08:00
app-bg.tsx add jwt token back to wsl connections (#1841) 2025-01-24 14:24:15 -08:00
app.scss wsh run (#1376) 2024-12-04 14:16:50 -08:00
app.tsx ctrl-shift state fix + add new keybindings to docs (#1792) 2025-01-22 09:53:18 -08:00
mixins.scss Oops i actually made the tabs wrong (#1384) 2024-12-04 13:49:14 -08:00
reset.scss Oops i actually made the tabs wrong (#1384) 2024-12-04 13:49:14 -08:00
theme.scss Search box component (#1579) 2024-12-19 13:49:48 -08:00