An open-source, cross-platform terminal for seamless workflows
Go to file
Sylvie Crowe 50953839b1
SSH Cleanup (#370)
* feat: allow user input verification for install

Depending on the method of installing waveshell, it may be desired to
pop up a modal for user verification. This is a first pass at handling
these special cases. The focus is on installing while previously
connected and auto installing while connecting.

* chore: update mshell to waveshell in error msg

* fix: run waveshell remotely with chosen shell

This ensures that the appropriate shell is used to run the waveshell
command remotely. It hasn't made a difference in my experience but is
desired in order to match the local launch.

* chore: simplify command to run waveshell remotely

This change removes the extra check for a directory and just tries to
run the command instead. It pipes the usual error to null and prints an
init packet instead.

* fix: prevent wavesrv crash during bad connection

The waveshell launch can fail in two different ways. If it has a
recoverable failure, it will attempt to reinstall waveshell. If not, it
is supposed to print an error. The unrecoverable case was causing a
segfault due to a misnamed variable. This change corrects it.

* fix: correct auto install user input modal

The previous combination of flags to catch auto install did not work
properly. This corrects them.

* chore: add "s" to countdown for user input timer

Makes it clear that the countdown is seconds.

* fix: remove auto password entry for sudo remote

The auto password entry for sudo remotes printed an error that was not
in response to the user input. To avoid this confusion, it has been
removed entirely.

* feat: add auto focus to user input modal

This automatically moves the cursor to the text box when the modal pops
up.

* feat: handle enter/escape keys for password entry

The password modal previously had to have buttons clicked to close it.
This change allows the user to close it with whatever is bound to escape
and to submit with whatever is bound to enter.

* chore: update an any type to correct type

* fix: correct keyboard event type from last commit

* fix: check identity files are readable early

Previously, an invalid identity file would send a dummy signer if the
file didn't exist. This resulted in extra sign in attempts that have no
chance of success. This could cause someone to get locked out of a
connection because of too many failed attempts. By performing the check
early, we no longer have to make these extra attempts.

* fix: only check global known hosts as root

The root user should not be able to write to a local known_hosts file.
If it does, it risks overwriting the default global behavior for only
the root user. This problem would only occur if waveterm was launched as
root, but we should protect against it just in case.

* feat: add remote name for remote password prompt

This change clarifies the remote name for password and keyboard
interactive prompts. It displays a message that authentication has been
requested from <hostname>. It is not added to publickey passphrase since
those phrases are specific to the key and not the remote.

* revert "simplify cmd to run waveshell remotely"

This reverts commit 4e5eea51b6.
2024-03-04 11:56:20 -08:00
.github add initial testdriver config (#350) 2024-02-27 19:38:16 -08:00
.testdriver add initial testdriver config (#350) 2024-02-27 19:38:16 -08:00
.vscode only run prettier on js/ts/css/less files 2024-01-29 13:35:09 -08:00
acknowledgements Update go-github to latest version and tidy up dependencies (#337) 2024-02-26 11:39:04 -08:00
assets update for logo margin size 2024-02-21 15:20:29 -08:00
buildres Enable automatic updates on macOS using Electron's autoUpdater (#342) 2024-02-27 19:42:29 -08:00
housekeeping Create MacOS Universal Build (#62) 2023-11-05 00:00:47 -07:00
public linux/darwin overrides for logo position and corner rounding (#372) 2024-03-04 11:55:43 -08:00
src SSH Cleanup (#370) 2024-03-04 11:56:20 -08:00
waveshell Integrate SSH Library with Waveshell Installation/Auto-update (#322) 2024-02-29 11:37:03 -08:00
wavesrv SSH Cleanup (#370) 2024-03-04 11:56:20 -08:00
webpack import aliass and configuration updates (#291) 2024-02-12 22:47:51 -08:00
.gitignore csvviewer rendering flash (#44) 2023-10-24 18:34:37 -07:00
.prettierignore add prettier to package.json 2023-08-21 21:33:47 -07:00
.prettierrc.json add prettier to package.json 2023-08-21 21:33:47 -07:00
build-linux.md fix directory names in build-linux.md. also fix reload accelerator for Linux (keybindings) 2024-02-15 10:01:18 -08:00
BUILD.md fix directory names in build-linux.md. also fix reload accelerator for Linux (keybindings) 2024-02-15 10:01:18 -08:00
CODE_OF_CONDUCT.md PE 178 Add OSS files (#50) 2023-10-28 13:16:50 -07:00
CONTRIBUTING.md Tidy up contribution guide 2023-11-08 14:10:31 -05:00
forge.config.js upgrade electron/rebuild to get rid of weird lzma-native dependency 2023-11-06 12:03:12 -08:00
go.work add go.work for helping with VSCode gopls 2023-10-16 19:17:44 -07:00
go.work.sum Integrate SSH Library with Waveshell Installation/Auto-update (#322) 2024-02-29 11:37:03 -08:00
LICENSE Add Apache 2.0 License 2023-10-16 15:22:41 -07:00
NOTICE add notice and license in package.json 2023-10-16 15:21:21 -07:00
package.json fix: allow exit from fullscreen with traffic light (#349) 2024-02-27 19:39:30 -08:00
README.md update wave logos for README 2024-02-21 15:16:03 -08:00
scripthaus.md Get version for build-universal from the build-helper output, use package.json for all versioning (#321) 2024-02-23 17:44:00 -08:00
SECURITY.md PE 178 Add OSS files (#50) 2023-10-28 13:16:50 -07:00
tsconfig.json global shortcut for wave (#287) 2024-02-13 17:43:02 -08:00
version.js Get version for build-universal from the build-helper output, use package.json for all versioning (#321) 2024-02-23 17:44:00 -08:00
webpack.config.js big update for webpack configs. use --env to select environment. now dev/prod will combine both web and electron webpack environments 2023-10-25 13:32:15 -07:00
yarn.lock fix: allow exit from fullscreen with traffic light (#349) 2024-02-27 19:39:30 -08:00

Wave Terminal Logo

Wave Terminal

A open-source, cross-platform, AI-integrated, modern terminal for seamless workflows.

Wave isn't just another terminal emulator; it's a rethink on how terminals are built. Wave combines command line with the power of the open web to help veteran CLI users and new developers alike.

  • Inline renderers to cut down on context switching. Render code, images, markdown, and CSV files without ever leaving the terminal.
  • Persistent sessions that can restore state across network disconnections and reboots
  • Searchable contextual command history across all remote sessions (saved locally)
  • Workspaces, tabs, and command blocks to keep you organized
  • AI Integration with ChatGPT (or ChatGPT compatible APIs) to help write commands and get answers inline

WaveTerm Screenshot

Installation

Wave Terminal works with MacOS and Linux (preliminary).

Install Wave Terminal from: www.waveterm.dev/download

Also available as a homebrew cask for MacOS:

brew install --cask wave

Building from Source

Contributing

Wave uses Github Project for tracking issues.

Find more information in our Contributions Guide, which includes: