When a user spams Cmd:T, a WaveTabView might be created but never end up getting mounted to the window, since another will come along before it can. In these cases, the WaveTabView is essentially in a bad state and attempting to switch to it will result in the window becoming unresponsive. While we could recover it by running waveInit again, it's easier to just dispose of it and treat it as an unloaded tab next time it gets switched to. This adds a timeout to each WaveTabView where once it gets assigned a tab ID, it has 1 second to respond "ready" or it will be destroyed. This should help prevent resource leakages for these dead views. |
||
---|---|---|
.github | ||
.storybook | ||
.vscode | ||
assets | ||
build | ||
cmd | ||
db | ||
docs | ||
emain | ||
frontend | ||
pkg | ||
public | ||
testdriver | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.prettierignore | ||
.yarnrc.yml | ||
ACKNOWLEDGEMENTS.md | ||
BUILD.md | ||
CNAME | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
electron-builder.config.cjs | ||
electron.vite.config.ts | ||
eslint.config.js | ||
go.mod | ||
go.sum | ||
index.html | ||
LICENSE | ||
NOTICE | ||
package.json | ||
prettier.config.cjs | ||
README.md | ||
RELEASES.md | ||
SECURITY.md | ||
Taskfile.yml | ||
tsconfig.json | ||
version.cjs | ||
vitest.config.ts | ||
yarn.lock |
Wave Terminal
Wave is an open-source terminal that can launch graphical widgets, controlled and integrated directly with the CLI. It includes a base terminal, directory browser, file previews (images, media, markdown), a graphical editor (for code/text files), a web browser, and integrated AI chat.
Wave isn't just another terminal emulator; it's a rethink on how terminals are built. For too long there has been a disconnect between the CLI and the web. If you want fast, keyboard-accessible, easy-to-write applications, you use the CLI, but if you want graphical interfaces, native widgets, copy/paste, scrolling, variable font sizes, then you'd have to turn to the web. Wave's goal is to bridge that gap.
Installation
Wave Terminal works on macOS, Linux, and Windows.
Platform-specific installation instructions can be found here.
You can also install Wave Terminal directly from: www.waveterm.dev/download.
Minimum requirements
Wave Terminal and WSH run on the following platforms:
- macOS 11 or later (arm64, x64)
- Windows 10 1809 or later (x64)
- Linux based on glibc-2.28 or later (Debian 10, RHEL 8, Ubuntu 20.04, etc.) (arm64, x64)
Links
- Homepage — https://www.waveterm.dev
- Download Page — https://www.waveterm.dev/download
- Documentation — https://docs.waveterm.dev
- Legacy Documentation — https://legacydocs.waveterm.dev
- Blog — https://blog.waveterm.dev
- Discord Community — https://discord.gg/XfvZ334gwU
Building from Source
Contributing
Wave uses GitHub Issues for issue tracking.
Find more information in our Contributions Guide, which includes:
Activity
License
Wave Terminal is licensed under the Apache-2.0 License. For more information on our dependencies, see here.