wavetermdev / waveterm

An open-source, cross-platform terminal for seamless workflows
https://www.waveterm.dev
Apache License 2.0
4.19k stars 107 forks source link

Missing important productivity features #126

Open onion83 opened 10 months ago

onion83 commented 10 months ago

I must commend wave for being an impressive new terminal tool, but it still lacks some important productivity features:

  1. Automatically reconnect all connections when opening the workspace.
  2. Implement a broadcast input feature for batch operations on all hosts within the workspace, similar to iTerm2's "Broadcast input."
  3. Currently not supporting the rz/sz commands for quick file uploads. Alternatively, provide a better file upload/download solution.
  4. Enable free-form session arrangement views within the workspace, similar to iTerm2's Panel [command + D / command + shift + D ...].
  5. Support dragging and detaching tabs into independent windows, with the option to recombine them. Behavior similar to Chrome / iTerm2.
  6. Currently only supporting bash, with an expectation to support other shells like zsh/fish.
  7. Support exporting workspace/config files or cloud synchronization to other hosts, while addressing security concerns such as private keys/passwords.
  8. Ensure that codeview/codeedit supports vim shortcuts.
  9. Some advanced ideas and features: 1) Code snippet manager for saving commonly used commands, supporting shorthand input. 2) Task scheduler for performing timed operations on hosts, with some flexibility. 3) Connection to proxy servers for accessing hosts within private networks.
sawka commented 10 months ago

Thanks for submitting! Love these suggestions for improvements :)

Will probably have to break this issue up into separate issues and/or discussions. Some like 6, 7, and parts of 9 are definitely on the roadmap and we want to get those done. others (like window splitting, pulling tabs out, etc.) we want to support, but might need more thought around the best way to implement them in Wave.

But, nice to have this issue to track updates, and collect feedback from other people who also want these features implemented.

jerch commented 9 months ago

I strongly suggest not to use zmodem for file transfer, it is really a pain in the a** to get it properly working along with terminal escape sequences, as it basically collides with them (needs a higher level pre-parser, and has a few wonky states, which might not be recoverable).

A better protocol for in-band file transfer would use escape sequences and be handled by the TE directly. I already started an addon for xterm.js for this, but it is not there yet (download path is done, upload still needs some conceptual rework).