Adds schema.json support to the settings file to provide type hints and
other eventual details. This also adds a system to easily add more
schema files for other type of configurations.
The web widget already had a zoom feature, but the help widget did not.
This change ports the zoom feature so it is available on the help widget
as well.
There was a recent backend change that update the interface to
FileDeleteCommand. This updated was not reflected in
directorypreview.tsx on the frontend. This updates the frontend to
match.
This changes the .pem mimetype to application/x-pem-file. It also
changes the .pub mimetype to text/plain. Lastly, it updates
textApplicationMimetypes with this change.
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>
Adds context menu options to the directory preview to open the parent
directory in the native file viewer. Additionally, it adds context menu
options in the block header to open either a parent directory or a
different type of file in an external default application. These context
menu items are only available for local directory previews.
Adds the following changes to the frontend as a part of the S3 Feature.
- Refactor of the Connections Typeahead to make the code easier to read
and navigate
- Adds a new section for s3 profiles to be added to the dropdown
Removes the padding for most of the specialized previews, moves where
it's defined for the directory preview so that the header borders extend
to the edge of the block
Adds instructions for using the tab bar, moves tab layout docs to new
location with redirect, adds instructions for magnifying a block, cleans
up intro text.
The previous version of this was giving undefined values for some users.
This rewrites it and removes an unnecessary memo that may have been
causing the issue.
This modifies the SSH error popup in the following ways:
- adds a scrollbar to the error message so it is easily viewed
- overlays a copy button so it's easy to copy
While it is rare, we have had users report an error where the access of
`.name` in SingleLinePlot causes a bug. The only time this could happen
would be a null `yvalMeta`. This makes it so the .name check is skipped
if yvalMeta is null. Addresses #1724.
My last fix to set `width: fit-content` for the dir preview table header
ended up meaning that if the widget is wider than the table, the header
wouldn't extend to the full width of the widget. Now it will.
This adds an RPC command for updating wsh on a remote machine without
starting a new session. It is not being used yet, but will be used for
connections using a single server in the future.
lots of misc connection refactoring / fixes:
* adds blocklogger as a way to writing logging information from the backend directly to the a terminal block
* use blocklogger in conncontroller
* use blocklogger in sshclient
* fix remote name in password prompt
* use sh -c to get around shell weirdness
* remove cmd.exe special cases
* use GetWatcher().GetFullConfig() rather than re-reading the config file
* change order of things we do when establishing a connection. ask for wsh up front. then do domain socket, then connserver
* reduce number of sessions required in the common case when wsh is already installed. running the connserver is now a "multi-command" which checks if it is installed, then asks for the version
* send jwt token over stdin instead of in initial command string
* fix focus bug for frontend conn modal
* track more information in connstatus
* simplify wshinstall function
* add nowshreason
* other misc cleanup
The head was set to `100%`, which meant that it only was as wide as the
viewport, rather than its contents, which can overflow. Now, the width
is `fit-content`, which allows it to overflow with its contents so that
the background and border extend the full width.