wavetermdev / waveterm Goto Github PK
View Code? Open in Web Editor NEWAn open-source, cross-platform terminal for seamless workflows
Home Page: https://www.waveterm.dev
License: Apache License 2.0
An open-source, cross-platform terminal for seamless workflows
Home Page: https://www.waveterm.dev
License: Apache License 2.0
from discord. a user reported a broken remote connection because their SSH implementation outputs a special string at the beginning of the SSH session. the init packet follows the extra output.
maybe it is possible to ignore spurious output on the connection until we see the "\n##" start of the init packet (and not throw an error)?
adding this bug as a placeholder to investigate whether adding this fix will be easy or not.
I am used to pressing up and down arrow key to navigate through the bash history. Would be nice if Wave could mimic the same. Or at least have an option to enable this, if you have other plans for the up/down arrow keys for something else.
I can't find a way to specify SSH options as PubkeyAcceptedKeyTypes or such...
When searching in history, there are multiple options to find the command you're looking for, for screen and remote. But I'm missing the option to search in the "normal" bash history. Since there already are 3 options for ctrl-S, perhaps an option to add this as (default?) option to ctrl-R?
#bash> history
While trying: history
does not give any results. Then I tried bash
and history
from there, and the result was showing the history, but unexpectedly, the shell was opened within the command result screen. That might be an undesired result?
After the latest update, the formatting on the TOS screen is incorrect. In particular, the message for the TOS itself is left-justified instead of centered. It also appears that this screen is no longer being formatted as a modal.
If you have not downloaded waveterm, you can reproduce this by simply downloading, building, and launching the program.
If you have downloaded waveterm, you will need to take an extra step. The easiest way would be to either delete or move your ~/.waveterm-dev directory to a backup directory so it can be stored. WARNING: deleting the ~/.waveterm-dev will delete all of your history. Once this is done, simply start up the program as usual.
All platforms
Is your feature request related to a problem? Please describe.
I would like to be able to install the app without adding files to the root file system.
Describe the solution you'd like
Flatpak is the modern package format for Linux and is disto-agnostic. It provides a sandbox, so users are more protected installing your software. And for the developer it allows supporting dozens of different Linux distos with just a single package. It also comes with a wonderful "store" for users to discover your app and install it: https://flathub.org/
Please consider distributing the Wave Terminal on Flathub.
I'm on openSUSE, as soon as I launch Wave, I get "Error, could not connect.", following by this output messages:
prompt> error connecting to remote: invalid packet received from mshell client: raw[[error] aliases:5:402: - must be followed by an expression]
prompt> error reading from controlling-pty: read /dev/ptmx: input/output error
This only happens on my openSUSE installation.
On the same computer on Fedora or Debian, I do not get this error.
I also built it from source to try, but the same error happens.
Nothing relevant is showing either in the wavesrv.log file.
Any idea?
I can not find a place to delete a connec in connections list?Is it has this function ?
Describe the bug
prompt> error connecting to remote: invalid packet received from mshell client: raw[mshell-v0.3: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by mshell-v0.3)]
prompt> error reading from controlling-pty: read /dev/ptmx: input/output error
To Reproduce
Steps to reproduce the behavior:
Expected behavior
connect success.
Desktop (please complete the following information):
Additional context
The remote server indeed has not the regular glibc.
https://www.virustotal.com/gui/file/94dff6a2f50c0cec32a9e42e1edd47bb3a93ecf2d1f929004fb4928d03c16a28
Probably false positive, but I will still leave it here.
Also, I recommend uploading all binaries to VirusTotal to make the project look more checked and popular.
Anyway, I am a newbie and I won't pretend any of this is relevant.
Describe the bug
Reformatting of pom.xml to code stucks. (waited > 15mins)
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The file content will be rendered in colors.
Screenshots
Desktop (please complete the following information):
Should investigate how to support a global hotkey + drop down terminal support to allow quickly running terminal commands (or launch processes).
Describe the bug
I tried to install Wave on Ubuntu 20.04 and I faced this error:
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
[12713:1129/150921.385063:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 1 times!
[12713:1129/150921.392479:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 2 times!
[12713:1129/150924.816429:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 3 times!
To Reproduce
Steps to reproduce the behavior:
./Wave
in terminalDesktop:
Describe the bug
I use another piece of software called Orbstack. One really cool thing it allows you to do is create what is basically a VM that runs on your own machine. And by default, they are accessible by SSH to your machine only. However, after reading the release notes for 0.5.1, I assume the issue is that the REGEX for the connection only allows for one '@' symbol. Just like how it wouldn't allow for dots or underscores which was an issue for me as well.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Creates an SSH connects to the specified host.
Desktop (please complete the following information):
Additional context
Need to have Orbstack installed and configured.
�[2J�[H�[1m�[3B�[32m�[6CWave term is awesome!�[0m�[3B
�[2J = Erases entire screen
�[H = Moves cursor to home position (0, 0)
�[1m = Sets bold mode
�[3B = Moves cursor down 3 lines
�[32m = Sets color to green
�[6C = Moves cursor right 6 columns
Wave term is awesome! = The text
�[0m = Resets the color
�[3B = Moves cursor down 3 lines
� = \u001B which is a standard escape character
Would like to integrate codeedit with linux's "EDITOR" / "VISUAL" environment variables. So if I set $EDITOR=codeedit I can get Wave's codeedit to run in place of nano or vi.
I can't creat a connetion as my username contain "_" as: jack_1
Is your feature request related to a problem? Please describe.
Wave terminal attempts to be a friendly terminal manager. Many new terminal users and also veterans struggle to remember command line arguments, and parsing through man pages is time consuming. It is often the case that commands are copied and run from online sources without the user understanding the full meaning of the command + options.
Describe the solution you'd like
Integrate https://github.com/idank/explainshell into the wave terminal so that I can see a breakdown of a command + options before and or after execution. Optionally also integrate tldr examples https://github.com/tldr-pages/tldr so a user can hover or click on a command and see common usage examples.
This may be possible by leveraging the bash language server: https://github.com/bash-lsp/bash-language-server
Note
I believe if you add this feature Wave could become very popular
can not delete ssh connection or modify ssh port if you have already saved it.
Is your feature request related to a problem? Please describe.
The Wave Terminal has great potential, and brings a fresh and innovative approach to terminal emulators. However, for an application used by developers on a daily basis a more minimal UI with less distracting elements would be beneficial. The more space that is available to terminal input and output the better.
Describe the solution you'd like
Here's a few proposal I believe could make the Wave Terminal even better than it is today.
Consider removing the left side-bar menu as this takes a fair bit of horizontal screen estate. Or, at least make it more minimal when hidden. As shown in the following image when minimized it is still taking quite a few pixels of the width:
Provide better integration with Gnome and remove the "Wave File Edit ..." bar. As an example compare Gnome Terminal to Wave:
Consider removing Documentation and Discord, or moving to the application menu. The majority of developers do not need to see these links on a daily basis
Workspaces are a great feature, but I wonder if it would be better to have these at the top above the tabs for each workspace. That could bring a more minimal view, and also make it more seamless to switch between workspaces and tabs.
While using wave terminal, you have to set up the details of each connection in the interface. If you've already defined the connections in your ~/.ssh/config file, they have to be reentered.
Would be a great feature to have it already fill out the connections(could be opt in too) with what is in the ssh config file.
Describe the bug
I found no way to delete or re-edit any one of existing connections. That's terrible but seems even no one mentioned, as I searched in the Internet.
To Reproduce
Steps to reproduce the behavior:
Desktop:
Describe the bug
When I want to create an SSH connection and use a username with dot (e.g. robert.porscha) I get an error message, that the argument has an invalid format.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I would have expected that any kind of username is supported, as in native ssh command.
Desktop (please complete the following information):
Is your feature request related to a problem? Please describe.
I would like to use self hosted model or to leverage Azure endpoint.
Describe the solution you'd like
Be able to specify the openAI base url.
Describe the bug
https://docs.waveterm.dev/introduction Link to introduction is failing
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Working documentation page
Desktop (please complete the following information):
Ubuntu 23.10, any browser
Additional context
Error 500, indication of backend error
Any plan for windows os users?
IMHO, one of the awesome and so innovative features of Wave terminal is these command blocks.
The issue I'm facing is the number of lines displayed in past command blocks. Often I need to see more than the 4 lines currently displayed -- I know I can scroll, but this is not very handy. Picture below.
A setting could be great to let people adjust the number of lines, eg.: [1-99], [0 for infinity]. Personally, based on my usages, I guess I would choose 6 or 7.
Describe the bug
tried with manual or password; either I am not requested to enter the validation key (manual mode keeps asking me for the password) either it hangs when I should type the validation key.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
connection should start.
Desktop (please complete the following information):
Describe the bug
Connections with auth type key+password doesn't enter passphrase to connect, then cursor is flashing when the step is "Enter passphrase for key", after that it shows "connect timeout".
My key passphrase just contains letters and numbers.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Just connect to the server.
Desktop (please complete the following information):
Hello, thanks for creating this utility. It looks quite nice. Being able to get a notebook style utility for shell is quite handy.
I am curious if it would be possible to use the nb interface for not just the linux shell but also other arbitrary repls like node, psql, aws-shell, nushell etc.
Currently, when I run node I get a repl within the notebook cell:
What I'd want is a way so that once I spawn node shell, the input/output for subsequent cells to be handled by the node process.
Describe the bug
When viewing files with the ls
command, terms other than English are not displayed properly
Expected behavior
Korean must be displayed properly
Screenshots
Desktop (please complete the following information):
Additional context
I'd appreciate it if you could fix it.
It would be great to be able to set a custom background image per tab. This is helpful e.g to visually quickly know which tab you are for remote sessions.
Describe the solution you'd like
Set a background image in tab settings or via /screen:set command. Support for older style terminal png images would work.
cat command
in two prompt, the nice divider will be good then two windows.tree
command should show in left like nvim-tree.lua in neovim..., to easy see pwd
in tree
and easy to open/view or cd
or inner path using treefrom discord. when there are commands that are running (active), running "clear" should not remove them.
same for when deleting/archiving a screen. it should warn about not being able to do that with running commands. maybe an option or flag that could be passed to force a "HUP" on all currently running commands in a screen to force clear.
(one other thing to worry about -- if the HUP doesn't end up killing the process, where should the commands go? is there a detached commands area to keep them in -- like how processes get reparented when the shell session dies?)
Describe the bug
Waveterm always start /bin/bash
as its base shell (see electron/emain.ts
). If there is a different bash
on the system, e.g. in /opt/homebrew/bin/bash
, it is ignored. Also, the $PATH
is ignored.
To Reproduce
Steps to reproduce the behavior:
/opt/homebrew/bin/bash
echo $BASH_VERSION
Expected behavior
Waveterm should either
dscl . -read /Users/$USER UserShell
to determine the user's login shell, and start that.bash
by looking at $PATH
Desktop
Ubuntu 22.04 I've got the dialog window with logs:
[2023-11-25 16:50:17] try reconnect (1)
[2023-11-25 16:50:17] connection error/disconnected
[2023-11-25 16:50:17] sleeping 2s
[2023-11-25 16:50:19] try reconnect (2)
[2023-11-25 16:50:19] connection error/disconnected
[2023-11-25 16:50:19] sleeping 5s
[2023-11-25 16:50:24] try reconnect (3)
[2023-11-25 16:50:24] connection error/disconnected
[2023-11-25 16:50:24] sleeping 10s
[2023-11-25 16:50:34] try reconnect (4)
[2023-11-25 16:50:34] connection error/disconnected
[2023-11-25 16:50:34] sleeping 10s
[2023-11-25 16:50:44] try reconnect (5)
[2023-11-25 16:50:45] connection error/disconnected
[2023-11-25 16:50:45] sleeping 30s
[2023-11-25 16:51:15] try reconnect (6)
[2023-11-25 16:51:15] connection error/disconnected
[2023-11-25 16:51:15] sleeping 60s
Nothing helps with it.
Describe the bug
When attempting to execute any command, it returns an error: invalid cwd ' /home/margret ' for command: stat /home/margret : no such file or directory
. Running stat /home/margret
from a different terminal works. Version v0.5.0.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The command should execute and the results should be returned.
Screenshots
Desktop (please complete the following information):
$ neofetch
./o. margret@nobody-t14
./sssso- ------------------
`:osssssss+- OS: EndeavourOS Linux x86_64
`:+sssssssssso/. Host: 20UES3GB00 ThinkPad T14 Gen 1
`-/ossssssssssssso/. Kernel: 6.6.3-arch1-1
`-/+sssssssssssssssso+:` Uptime: 35 mins
`-:/+sssssssssssssssssso+/. Packages: 2085 (pacman)
`.://osssssssssssssssssssso++- Shell: bash 5.2.21
.://+ssssssssssssssssssssssso++: Resolution: 1920x1080
.:///ossssssssssssssssssssssssso++: DE: Plasma 5.27.9
`:////ssssssssssssssssssssssssssso+++. WM: KWin
`-////+ssssssssssssssssssssssssssso++++- Theme: [Plasma], Breeze [GTK2/3]
`..-+oosssssssssssssssssssssssso+++++/` Icons: [Plasma], breeze-dark [GTK2/3]
./++++++++++++++++++++++++++++++/:. Terminal: yakuake
`:::::::::::::::::::::::::------`` CPU: AMD Ryzen 5 PRO 4650U with Radeon Graphics (12) @ 2.100GHz
GPU: AMD ATI 07:00.0 Renoir
Memory: 5564MiB / 15212MiB
Is your feature request related to a problem? Please describe.
Initial Request by Discord User eosdev
We cannot change the font of the terminal for now.
Describe the solution you'd like
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
font-family
font-size
font-weight
font-ligatures
font-variant
font-feature-settings
line-height
letter-spacing
word-spacing
Please, reference this issue in your PR so I can update the check-list 🙏
Additional References
If you would like to implement this feature but are a novice with typography, take a look at:
[1] https://developer.mozilla.org/en-US/docs/Learn/CSS/Styling_text/Fundamentals#fonts
This should apply to wave as we are using Electron.
Imageview supports many file types (png, gif, jpg) but not svgs currently
Describe the solution you'd like
imageview shows svg files inline in wave terminal
'apt' and 'yum' are the most common ways to install packages. Should look at getting Wave added to those repositories for like Ubuntu and Fedora.
codeedit currently doesn't have an auto wrap functionality so it makes it difficult to read/edit long running lines
Describe the solution you'd like
Have autowrap type functionality which can be toggled on/off. Or line wrap similar to vscode.
I get the following output from Wave when attempting to connect to a remote host with fish
set as the login shell
prompt> error connecting to remote: invalid packet received from mshell client: raw[fish: Unsupported use of '='. In fish, please use 'set PATH $PATH:~/.mshell'.]
I would like to ask for an improvement for the shell/tab handling.
"Allow adding shells/tabs to other workspaces"
In normal terminals, I sometimes stumble of directories or files that belong to a specific topic (e.g. Kafka prototyping) when searching for something or have commands for specific projects. Unfortunately, I lose this information after continue working on my current task.
From my perspective it would be great to have a way to move/copy those shells/tabs or bookmarks to a specific workspace that I can label then with "Kafka ideas" or "cloud commands" instead of using the actual shell history.
No Icon is showing up for Linux users in the dock.
It looks like we need a different icon format for Linux / Windows builds:
https://stackoverflow.com/questions/31529772/how-to-set-app-icon-for-electron-atom-shell-app
Right now we're just setting the icon in "icns" format (which only seems to work for MacOS).
I must commend wave for being an impressive new terminal tool, but it still lacks some important productivity features:
Something went wrong when I'm trying to connect my three difference version CentOS
servers, all of them are using the bash shell.
I got these errors.
Server 1
error
error connecting to remote: invalid packet received from mshell client: raw[which: no mshell-v0.3 in (/usr/lib64/qt-3.3/bin:/home/rexdu/perl5/bin:/usr/local/bin:/usr/bin:/home/rexdu/.mshell)]
Server 2
error:
error connecting to remote: invalid packet received from mshell client: raw[/usr/bin/python: Error while finding module specification for 'virtualenvwrapper.hook_loader' (ModuleNotFoundError: No module named 'virtualenvwrapper')]
Server3
error
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
prompt> error connecting to remote: no init packet received from mshell client
For server1, I want to know:
For server2, I wan to know:
pip
should I use, pip
or pip3
?I didn't get any problem on Ubuntu.
Please help me to solve these problems.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.