Compare commits

...

23 Commits

Author SHA1 Message Date
sawka 9c32f690c6 sync shell state when you switch to a new tab 2024-03-13 11:57:49 -07:00
sawka 4b5eccab7c fix ephemeral setting 2024-03-13 11:50:06 -07:00
sawka a69ac24659 lots of changes related to ephemeral commands (for sync), checkpoint 2024-03-12 16:36:10 -07:00
sawka fde141fce3 update for runningcmdtype to be a pointer in the map (for updates) 2024-03-12 15:43:08 -07:00
sawka 42656ecd71 deal with rct (running command), update handler funcs accordingly 2024-03-12 15:29:35 -07:00
sawka 291f7f61ed pass rct through to 'handle' funcs 2024-03-12 15:20:38 -07:00
sawka da76719800 slight refactor, remove closure funcs 2024-03-12 15:15:29 -07:00
sawka 0d8b163b63 CmdStart is invalid in this command loop 2024-03-12 15:08:03 -07:00
sawka 8656387329 remove two unused packet types, remove unused detatched command code 2024-03-12 15:01:07 -07:00
Mike Sawka d1baf504ba quick fixes -- terminal selection color and connection modal terminal styles (#440)
* fix lightmode selction color

* fix styles on remote conn view
2024-03-12 14:41:47 -07:00
Cole Lashley 36de526e8e App keybindings (#432)
* added app keybindings

* removed emain cmd-p

* removed boilerplate for emain commands
2024-03-12 12:36:52 -07:00
Knox Lively 2acb551f4b removed unecessary electron-rebuild steps (#439) 2024-03-12 13:12:40 -06:00
Knox Lively f87c7a28a6 adding new screenshot to readme (#437) 2024-03-12 11:56:47 -06:00
Evan Simkowitz fecdc5abdc Fix another acknowledgements readme typo (#431) 2024-03-11 17:46:43 -07:00
Evan Simkowitz 769f3fc43c Fix acknowledgements readme typo (#430) 2024-03-11 17:45:43 -07:00
Evan Simkowitz c73ac66ed7 Fix broken license disclaimers (#429) 2024-03-11 17:43:45 -07:00
Cole Lashley 5258a67a78 Expose config path to frontend (#404)
* added config api path

* addressed feedback

* initial change for http file server

* removed old handle config func

* added user keybind config path

* fixed logs
2024-03-11 15:07:29 -07:00
Mike Sawka 77ea45392a quick v0.7.0 fixes (#428)
* update mask color for tabswitcher to work on lightmode

* fix background color on code blocks in markdown in light mode

* update wording on disconnected modal (restart wave backend instead of restart server)

* fix tooltip (should be Ctrl-Space)

* cleanup line-height/padding for code blocks
2024-03-11 12:03:30 -07:00
Evan Simkowitz eab2cb616d output dl links (#414) 2024-03-08 15:16:55 -08:00
Evan Simkowitz a6f2e0b26e Fix buildres script auth (#413) 2024-03-08 14:52:46 -08:00
Evan Simkowitz 358ffb6d50 Add pacman artifact and update product tagline (#412)
This adds support for Arch Linux via pacman. It also updates the product tagline in package.json and the "About" modal. It also removes the unused "Help" menu and updates the copyright year in About and fixes the window icon display on Linux.
2024-03-08 14:05:21 -08:00
Mike Sawka a2795fb74d indicator fixup (mismatch of increments/decrements) (#411)
* addLineForCmd should only increment for running commands.  also openai lines should increment

* small fix for openai chat styles
2024-03-08 10:33:10 -08:00
Red J Adaya c5d4a0e1f3 Convert history table to use div (#407)
* convert table to div

* remove comment

* more history UI updates.  copy/use controls, change font, fix scroll area

* use css variables

* fix textfield placeholder color

* put back input styles

* change overflow-x to auto
2024-03-07 22:48:52 -08:00
50 changed files with 2897 additions and 1229 deletions
+1 -1
View File
@@ -27,7 +27,7 @@ jobs:
if: matrix.platform == 'linux'
run: |
sudo apt-get update
sudo apt-get install rpm
sudo apt-get install --no-install-recommends -y libarchive-tools libopenjp2-tools rpm
- uses: actions/setup-go@v5
with:
go-version: ${{env.GO_VERSION}}
-6
View File
@@ -53,12 +53,6 @@ Install modules (we use yarn):
yarn
```
Electron also requires specific builds of node_modules to work (because Electron embeds a specific node.js version that might not match your development node.js version). We use a special electron command to cross-compile those modules:
```
scripthaus run electron-rebuild
```
## Running WebPack
We use webpack to build both the React and Electron App Wrapper code. They are both run together using:
+5 -4
View File
@@ -9,7 +9,7 @@
# Wave Terminal
An open-source, cross-platform, AI-integrated, modern terminal for seamless workflows.
Wave is an open-source AI-native terminal built 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.
@@ -17,13 +17,14 @@ Wave isn't just another terminal emulator; it's a rethink on how terminals are b
- 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
- CodeEdit, to edit local and remote files with a VSCode-like inline editor
- AI Integration with ChatGPT (or ChatGPT compatible APIs) to help write commands and get answers inline
![WaveTerm Screenshot](./assets/wave-screenshot.jpeg)
![WaveTerm Screenshot](./assets/wave-screenshot.png)
## Installation
Wave Terminal works with MacOS and Linux (preliminary).
Wave Terminal works with MacOS and Linux.
Install Wave Terminal from: [www.waveterm.dev/download](https://www.waveterm.dev/download)
@@ -49,7 +50,7 @@ brew install --cask wave
## Contributing
Wave uses Github Project for tracking issues.
Wave uses Github Issues for issue tracking.
Find more information in our [Contributions Guide](CONTRIBUTING.md), which includes:
+2 -2
View File
@@ -11,9 +11,9 @@ The license disclaimers for the backend are generated using the [go-licenses](ht
The license disclaimers for the frontend are generated using the [`yarn licenses` tool](https://classic.yarnpkg.com/lang/en/docs/cli/licenses/). This outputs to the file [`frontend.md`](./disclaimers/frontend.md).
These three disclaimer files linked above will be periodically regenerated to reflect new dependencies.
These disclaimer files linked above will be periodically regenerated to reflect new dependencies.
The [`scripthaus.md` file](../scripthaus.md) contains scripts to genrate the disclaimers and package them. To manually generate the disclaimers, run the following from the repository root directory:
The [`scripthaus.md` file](../scripthaus.md) contains scripts to generate the disclaimers and package them. To manually generate the disclaimers, run the following from the repository root directory:
```bash
scripthaus run generate-license-disclaimers
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -39,6 +39,14 @@
"command": "app:openTabSearchModal",
"keys": ["Cmd:p"]
},
{
"command": "app:openConnectionsView",
"keys": []
},
{
"command": "app:openSettingsView",
"keys": []
},
{
"command": "app:newTab",
"keys": ["Cmd:t"]
Binary file not shown.

Before

Width:  |  Height:  |  Size: 306 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

+1 -1
View File
@@ -13,4 +13,4 @@ fi
DOWNLOAD_DIR=$VERSION-staged
rm -rf $DOWNLOAD_DIR
mkdir -p $DOWNLOAD_DIR
aws s3 cp s3://waveterm-github-artifacts/staging/$VERSION/ $DOWNLOAD_DIR/ --recursive
aws s3 cp s3://waveterm-github-artifacts/staging/$VERSION/ $DOWNLOAD_DIR/ --recursive --profile $AWS_PROFILE
+10 -1
View File
@@ -9,4 +9,13 @@ if [ -z "$VERSION" ]; then
exit
fi
aws s3 cp s3://waveterm-github-artifacts/staging/$VERSION/ s3://dl.waveterm.dev/releases/ --recursive
ORIGIN="waveterm-github-artifacts/staging/$VERSION/"
DESTINATION="dl.waveterm.dev/releases/"
OUTPUT=$(aws s3 cp s3://$ORIGIN s3://$DESTINATION --recursive --profile $AWS_PROFILE)
for line in $OUTPUT; do
PREFIX=${line%%${DESTINATION}*}
SUFFIX=${line:${#PREFIX}}
echo "https://$SUFFIX"
done
+1 -1
View File
@@ -73,7 +73,7 @@ const config = {
executableName: pkg.productName,
category: "TerminalEmulator",
icon: "public/waveterm.icns",
target: ["zip", "deb", "rpm", "AppImage"],
target: ["zip", "deb", "rpm", "AppImage", "pacman"],
synopsis: pkg.description,
description: null,
desktop: {
+1 -1
View File
@@ -5,7 +5,7 @@
"email": "info@commandline.dev"
},
"productName": "Wave",
"description": "An open-source, cross-platform, AI-integrated, modern terminal for seamless workflows.",
"description": "An Open-Source, AI-Native, Terminal Built for Seamless Workflows",
"version": "0.7.0",
"main": "dist/emain.js",
"license": "Apache-2.0",
+2 -3
View File
@@ -60,6 +60,7 @@
--app-panel-bg-color-dev: rgb(21, 23, 48);
--app-icon-color: rgb(139, 145, 138);
--app-icon-hover-color: #fff;
--app-selected-mask-color: rgba(255, 255, 255, 0.06);
/* icon colors */
@@ -188,7 +189,7 @@
/* table colors */
--table-border-color: rgba(241, 246, 243, 0.15);
--table-thead-border-top-color: rgba(250, 250, 250, 0.1);
--table-thead-border-bottom-color: var(--table-border-color);
--table-thead-bright-border-color: #ccc;
--table-thead-bg-color: rgba(250, 250, 250, 0.02);
--table-tr-border-bottom-color: rgba(241, 246, 243, 0.15);
--table-tr-hover-bg-color: rgba(255, 255, 255, 0.06);
@@ -219,6 +220,4 @@
--modal-header-bottom-border-color: rgba(241, 246, 243, 0.15);
--logo-button-hover-bg-color: #1e1e1e;
--xterm-viewport-border-color: rgba(241, 246, 243, 0.15);
}
+5 -2
View File
@@ -17,6 +17,7 @@
--app-panel-bg-color-dev: #e0e0e0;
--app-icon-color: rgb(80, 80, 80);
--app-icon-hover-color: rgb(100, 100, 100);
--app-selected-mask-color: rgba(0, 0, 0, 0.06);
--input-bg-color: #eeeeee;
@@ -47,6 +48,10 @@
--form-element-label-color: rgba(0, 0, 0, 0.6);
--form-element-secondary-color: rgba(0, 0, 0, 0.09);
--form-element-icon-color: rgb(0, 0, 0, 0.6);
--form-element-disabled-text-color: #b7b7b7;
--form-element-placeholder-color: #b7b7b7;
--markdown-bg-color: rgb(0, 0, 0, 0.1);
/* modal colors */
--modal-header-bottom-border-color: rgba(0, 0, 0, 0.3);
@@ -69,6 +74,4 @@
--toggle-thumb-color: var(--app-bg-color);
--logo-button-hover-bg-color: #f0f0f0;
--xterm-viewport-border-color: rgba(0, 0, 0, 0.3);
}
+2 -1
View File
@@ -3,7 +3,7 @@
:root {
/*
* term colors (16 + 2) form the base terminal theme
* term colors (16 + 5) form the base terminal theme
* for consistency these colors should be used by plugins/applications
*/
--term-black: #000000;
@@ -27,4 +27,5 @@
--term-cmdtext: #ffffff;
--term-foreground: #d3d7cf;
--term-background: #000000;
--term-selection-background: #ffffff40;
}
+1
View File
@@ -6,4 +6,5 @@
--term-foreground: #000000;
--term-background: #fefefe;
--term-cmdtext: #000000;
--term-selection-background: #00000018;
}
+1 -1
View File
@@ -166,7 +166,7 @@ class ClientSettingsView extends React.Component<{ model: RemotesModel }, { hove
const curTheme = GlobalModel.getTheme();
return (
<MainView viewName="clientsettings" title="Client Settings" onClose={this.handleClose}>
<MainView className="clientsettings-view" title="Client Settings" onClose={this.handleClose}>
<div className="content">
<div className="settings-field">
<div className="settings-label">Term Font Size</div>
+1
View File
@@ -5,6 +5,7 @@
width: 100%;
border: 2px solid var(--form-element-border-color);
border-radius: 6px;
line-height: 22px;
background: var(--form-element-bg-color);
&.no-label {
+2 -2
View File
@@ -10,17 +10,17 @@ import "./mainview.less";
@mobxReact.observer
class MainView extends React.Component<{
viewName: string;
title: string;
onClose: () => void;
children: React.ReactNode;
className?: string;
}> {
render() {
const sidebarModel = GlobalModel.mainSidebarModel;
const maxWidthSubtractor = sidebarModel.getCollapsed() ? 0 : sidebarModel.getWidth();
return (
<div
className={cn("mainview", `${this.props.viewName}-view`)}
className={cn("mainview", this.props.className)}
style={{ maxWidth: `calc(100vw - ${maxWidthSubtractor}px)` }}
>
<div className="header-container bottom-border">

Some files were not shown because too many files have changed in this diff Show More