Compare commits

..

8 Commits

Author SHA1 Message Date
sawka 371f3d87c1 merge main 2024-03-07 22:47:44 -08:00
Red Adaya 717c4489e0 change overflow-x to auto 2024-03-08 13:54:01 +08:00
Red Adaya 5a6d6ef1b2 put back input styles 2024-03-08 13:33:14 +08:00
Red Adaya 3584fec406 fix textfield placeholder color 2024-03-08 13:31:57 +08:00
Red Adaya a306ca2ef0 use css variables 2024-03-08 13:26:09 +08:00
sawka a5d4ae04af more history UI updates. copy/use controls, change font, fix scroll area 2024-03-07 20:05:41 -08:00
Red Adaya e54d76ebe0 remove comment 2024-03-08 09:48:52 +08:00
Red Adaya a3a08bb367 convert table to div 2024-03-08 09:31:16 +08:00
10 changed files with 18 additions and 36 deletions
+1 -1
View File
@@ -27,7 +27,7 @@ jobs:
if: matrix.platform == 'linux'
run: |
sudo apt-get update
sudo apt-get install --no-install-recommends -y libarchive-tools libopenjp2-tools rpm
sudo apt-get install rpm
- uses: actions/setup-go@v5
with:
go-version: ${{env.GO_VERSION}}
+3 -4
View File
@@ -9,7 +9,7 @@
# Wave Terminal
Wave is an open-source AI-native terminal built for seamless workflows.
An 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.
@@ -17,14 +17,13 @@ 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)
## Installation
Wave Terminal works with MacOS and Linux.
Wave Terminal works with MacOS and Linux (preliminary).
Install Wave Terminal from: [www.waveterm.dev/download](https://www.waveterm.dev/download)
@@ -50,7 +49,7 @@ brew install --cask wave
## Contributing
Wave uses Github Issues for issue tracking.
Wave uses Github Project for tracking issues.
Find more information in our [Contributions Guide](CONTRIBUTING.md), which includes:
+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 --profile $AWS_PROFILE
aws s3 cp s3://waveterm-github-artifacts/staging/$VERSION/ $DOWNLOAD_DIR/ --recursive
+1 -10
View File
@@ -9,13 +9,4 @@ if [ -z "$VERSION" ]; then
exit
fi
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
aws s3 cp s3://waveterm-github-artifacts/staging/$VERSION/ s3://dl.waveterm.dev/releases/ --recursive
+1 -1
View File
@@ -73,7 +73,7 @@ const config = {
executableName: pkg.productName,
category: "TerminalEmulator",
icon: "public/waveterm.icns",
target: ["zip", "deb", "rpm", "AppImage", "pacman"],
target: ["zip", "deb", "rpm", "AppImage"],
synopsis: pkg.description,
description: null,
desktop: {
+1 -1
View File
@@ -5,7 +5,7 @@
"email": "info@commandline.dev"
},
"productName": "Wave",
"description": "An Open-Source, AI-Native, Terminal Built for Seamless Workflows",
"description": "An open-source, cross-platform, AI-integrated, modern terminal for seamless workflows.",
"version": "0.7.0",
"main": "dist/emain.js",
"license": "Apache-2.0",
+3 -6
View File
@@ -75,7 +75,6 @@ class AboutModal extends React.Component<{}, {}> {
}
render() {
const currentDate = new Date();
return (
<Modal className="about-modal">
<Modal.Header onClose={this.closeModal} title="About" />
@@ -87,9 +86,9 @@ class AboutModal extends React.Component<{}, {}> {
<div className="text-wrapper">
<div>Wave Terminal</div>
<div className="text-standard">
Open-Source AI-Native Terminal
Modern Terminal for
<br />
Built for Seamless Workflows
Seamless Workflow
</div>
</div>
</div>
@@ -123,9 +122,7 @@ class AboutModal extends React.Component<{}, {}> {
Acknowledgements
</LinkButton>
</div>
<div className="about-section text-standard">
&copy; {currentDate.getFullYear()} Command Line Inc.
</div>
<div className="about-section text-standard">&copy; 2023 Command Line Inc.</div>
</div>
</Modal>
);
+4 -4
View File
@@ -279,6 +279,9 @@ const menuTemplate: Electron.MenuItemConstructorOptions[] = [
{
role: "windowMenu",
},
{
role: "help",
},
];
const menu = electron.Menu.buildFromTemplate(menuTemplate);
@@ -327,10 +330,7 @@ function createMainWindow(clientData: ClientDataType | null): Electron.BrowserWi
height: bounds.height,
minWidth: 800,
minHeight: 600,
icon:
unamePlatform == "linux"
? path.join(getElectronAppBasePath(), "public/logos/wave-logo-dark.png")
: undefined,
icon: unamePlatform == "linux" ? "public/logos/wave-logo-dark.png" : undefined,
webPreferences: {
preload: path.join(getElectronAppBasePath(), DistDir, "preload.js"),
},
+1 -2
View File
@@ -11,9 +11,9 @@
.openai-role {
color: var(--term-bright-green);
font-weight: bold;
width: 100px;
flex-shrink: 0;
font: var(--base-font);
}
.openai-role.openai-role-assistant {
@@ -24,7 +24,6 @@
color: var(--app-text-color);
font-family: var(--markdown-font);
font-weight: normal;
font-size: var(--markdown-font-size);
}
.openai-content-assistant {
+2 -6
View File
@@ -2858,13 +2858,10 @@ func OpenAICommand(ctx context.Context, pk *scpacket.FeCommandPacketType) (scbus
if promptStr == "" {
return nil, fmt.Errorf("openai error, prompt string is blank")
}
update := scbus.MakeUpdatePacket()
sstore.IncrementNumRunningCmds_Update(update, cmd.ScreenId, 1)
line, err := sstore.AddOpenAILine(ctx, ids.ScreenId, DefaultUserId, cmd)
if err != nil {
return nil, fmt.Errorf("cannot add new line: %v", err)
}
if resolveBool(pk.Kwargs["stream"], true) {
go doOpenAIStreamCompletion(cmd, clientData.ClientId, opts, prompt)
} else {
@@ -2879,6 +2876,7 @@ func OpenAICommand(ctx context.Context, pk *scpacket.FeCommandPacketType) (scbus
// ignore error again (nothing to do)
log.Printf("openai error updating screen selected line: %v\n", err)
}
update := scbus.MakeUpdatePacket()
sstore.AddLineUpdate(update, line, cmd)
update.AddUpdate(*screen)
return update, nil
@@ -3013,9 +3011,7 @@ func addLineForCmd(ctx context.Context, metaCmd string, shouldFocus bool, ids re
update := scbus.MakeUpdatePacket()
sstore.AddLineUpdate(update, rtnLine, cmd)
update.AddUpdate(*screen)
if cmd.Status == sstore.CmdStatusRunning {
sstore.IncrementNumRunningCmds_Update(update, cmd.ScreenId, 1)
}
sstore.IncrementNumRunningCmds_Update(update, cmd.ScreenId, 1)
updateHistoryContext(ctx, rtnLine, cmd, cmd.FeState)
return update, nil
}