Compare commits

..

9 Commits

Author SHA1 Message Date
Mike Sawka a56ed8c8a9 update yarn lockfile (#808) 2024-09-24 11:03:36 -07:00
Mike Sawka f886884111 update package name (#803) 2024-09-23 15:41:53 -07:00
sawka 7717d48131 update docs links 2024-09-20 10:36:44 -07:00
sawka 5a421b1ce7 update icon 2024-09-19 13:24:15 -07:00
sawka eab78a175f switch web links back to www 2024-09-19 11:44:55 -07:00
sawka 4d6f038b3f set apptype = legacy 2024-09-19 11:39:43 -07:00
sawka b2493880c7 fix another instance of staging-legacy 2024-09-18 18:41:29 -07:00
sawka 955274ed63 update staging directory 2024-09-18 13:50:44 -07:00
sawka 26be3a3699 updates for WaveLegacy release 2024-09-18 13:05:43 -07:00
27 changed files with 74 additions and 725 deletions
+1 -1
View File
@@ -71,7 +71,7 @@ jobs:
APPLE_APP_SPECIFIC_PASSWORD: ${{ matrix.platform == 'darwin' && secrets.PROD_MACOS_NOTARIZATION_PWD }}
APPLE_TEAM_ID: ${{ matrix.platform == 'darwin' && secrets.PROD_MACOS_NOTARIZATION_TEAM_ID }}
- name: Upload to S3 staging
run: aws s3 cp make/ s3://waveterm-github-artifacts/staging/${{ steps.set-version.outputs.WAVETERM_VERSION }}/ --recursive --exclude "*/*" --exclude "builder-*.yml"
run: aws s3 cp make/ s3://waveterm-github-artifacts/staging-legacy/${{ steps.set-version.outputs.WAVETERM_VERSION }}/ --recursive --exclude "*/*" --exclude "builder-*.yml"
env:
AWS_ACCESS_KEY_ID: "${{ secrets.S3_USERID }}"
AWS_SECRET_ACCESS_KEY: "${{ secrets.S3_SECRETKEY }}"
-83
View File
@@ -1,83 +0,0 @@
# Workflow to manage bumping the package version and pushing it to the target branch with a new tag.
# This workflow uses a GitHub App to bypass branch protection and uses the GitHub API directly to ensure commits and tags are signed.
# For more information, see this doc: https://github.com/Nautilus-Cyberneering/pygithub/blob/main/docs/how_to_sign_automatic_commits_in_github_actions.md
name: Bump Version
run-name: "branch: ${{ github.ref_name }}; semver-bump: ${{ inputs.bump }}; prerelease: ${{ inputs.is-prerelease }}"
on:
workflow_dispatch:
inputs:
bump:
description: SemVer Bump
required: true
type: choice
default: none
options:
- none
- patch
- minor
- major
is-prerelease:
description: Is Prerelease
required: true
type: boolean
default: true
env:
NODE_VERSION: "22.5.1"
jobs:
bump-version:
runs-on: ubuntu-latest
steps:
- name: Get App Token
uses: actions/create-github-app-token@v1
id: app-token
with:
app-id: ${{ vars.WAVE_BUILDER_APPID }}
private-key: ${{ secrets.WAVE_BUILDER_KEY }}
- uses: actions/checkout@v4
with:
token: ${{ steps.app-token.outputs.token }}
# General build dependencies
- uses: actions/setup-node@v4
with:
node-version: ${{env.NODE_VERSION}}
- name: Install Yarn
run: |
corepack enable
yarn install
- name: Install Task
uses: arduino/setup-task@v2
with:
version: 3.x
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: "Bump Version: ${{ inputs.bump }}"
id: bump-version
run: echo "WAVETERM_VERSION=$( task version -- ${{ inputs.bump }} ${{inputs.is-prerelease}} )" >> "$GITHUB_OUTPUT"
shell: bash
- name: "Push version bump: ${{ steps.bump-version.outputs.WAVETERM_VERSION }}"
run: |
# Create a new commit for the package version bump in package.json
export VERSION=${{ steps.bump-version.outputs.WAVETERM_VERSION }}
export MESSAGE="chore: bump package version to $VERSION"
export FILE=package.json
export BRANCH=${{github.ref_name}}
export SHA=$( git rev-parse $BRANCH:$FILE )
export CONTENT=$( base64 -i $FILE )
gh api --method PUT /repos/:owner/:repo/contents/$FILE \
--field branch="$BRANCH" \
--field message="$MESSAGE" \
--field content="$CONTENT" \
--field sha="$SHA"
# Fetch the new commit and create a tag referencing it
git fetch
export TAG_SHA=$( git rev-parse origin/$BRANCH )
gh api --method POST /repos/:owner/:repo/git/refs \
--field ref="refs/tags/v$VERSION" \
--field sha="$TAG_SHA"
shell: bash
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
+4
View File
@@ -7,6 +7,10 @@
<br/>
</p>
# Wave Legacy
This branch is for the legacy v0.7.7 version of Wave. For the new Wave v8+ code, please use the main branch.
# Wave Terminal
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fwavetermdev%2Fwaveterm.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fwavetermdev%2Fwaveterm?ref=badge_shield)
+1 -1
View File
@@ -13,7 +13,7 @@ is [`electron-builder.config.js`](../electron-builder.config.js).
This will also sign and notarize the macOS app package.
Once a build is complete, it will be placed in `s3://waveterm-github-artifacts/staging/<version>`.
Once a build is complete, it will be placed in `s3://waveterm-github-artifacts/staging-legacy/<version>`.
It can be downloaded for testing using the [`download-staged-artifact.sh`](./download-staged-artifact.sh)
script. When you are ready to publish the artifacts to the public release feed, use the
[`publish-from-staging.sh`](./publish-from-staging.sh) script to directly copy the artifacts from
+1 -1
View File
@@ -7,7 +7,7 @@ SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
BUILDS_DIR=$SCRIPT_DIR/builds
TEMP2_DIR=$SCRIPT_DIR/temp2
AUTOUPDATE_RELEASE_PATH="dl.waveterm.dev/releases"
AUTOUPDATE_RELEASE_PATH="dl.waveterm.dev/releases-legacy"
# Copy the builds to the temp2 directory
echo "Copying builds to temp2"
+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-legacy/$VERSION/ $DOWNLOAD_DIR/ --recursive --profile $AWS_PROFILE
+2 -2
View File
@@ -9,8 +9,8 @@ if [ -z "$VERSION" ]; then
exit
fi
ORIGIN="waveterm-github-artifacts/staging/$VERSION/"
DESTINATION="dl.waveterm.dev/releases/"
ORIGIN="waveterm-github-artifacts/staging-legacy/$VERSION/"
DESTINATION="dl.waveterm.dev/releases-legacy/"
OUTPUT=$(aws s3 cp s3://$ORIGIN s3://$DESTINATION --recursive --profile $AWS_PROFILE)
+1 -1
View File
@@ -88,7 +88,7 @@ const config = {
},
publish: {
provider: "generic",
url: "https://dl.waveterm.dev/releases",
url: "https://dl.waveterm.dev/releases-legacy",
},
};
+5 -5
View File
@@ -1,21 +1,21 @@
{
"name": "waveterm",
"name": "wavelegacy",
"author": {
"name": "Command Line Inc",
"email": "info@commandline.dev"
},
"productName": "Wave",
"productName": "WaveLegacy",
"description": "An Open-Source, AI-Native, Terminal Built for Seamless Workflows",
"version": "0.7.6",
"version": "0.7.7",
"main": "dist/emain.js",
"license": "Apache-2.0",
"repository": {
"type": "git",
"url": "https://github.com/wavetermdev/waveterm"
},
"homepage": "https://waveterm.dev",
"homepage": "https://www.waveterm.dev",
"build": {
"appId": "dev.commandline.waveterm"
"appId": "dev.commandline.wavelegacy"
},
"dependencies": {
"@lexical/react": "^0.17.0",
Binary file not shown.
-1
View File
@@ -9,7 +9,6 @@ export const LINE_SETTINGS = "lineSettings";
export const CLIENT_SETTINGS = "clientSettings";
export const TAB_SWITCHER = "tabSwitcher";
export const USER_INPUT = "userInput";
export const NEW_WAVE = "newWave";
export const LineContainer_Main = "main";
export const LineContainer_History = "history";
File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 13 MiB

+1 -1
View File
@@ -68,7 +68,7 @@ class AboutModal extends React.Component<{}, {}> {
<img src={logo} alt="logo" />
</div>
<div className="text-wrapper">
<div>Wave Terminal</div>
<div>Wave Terminal (Legacy)</div>
<div className="text-standard">
Open-Source AI-Native Terminal
<br />
+1 -1
View File
@@ -269,7 +269,7 @@ class EditRemoteConnModal extends React.Component<{}, {}> {
Most options for connections imported from an ssh config file cannot be edited. For these
changes, you must edit the config file and import it again. The shell preference can be
edited, but will return to the default if you import again. It will stay changed if you
follow <a href="https://docs.waveterm.dev/features/sshconfig-imports">this procedure</a>.
follow <a href="https://legacydocs.waveterm.dev/features/sshconfig-imports">this procedure</a>.
</span>
}
icon={<i className="fa-sharp fa-regular fa-fw fa-triangle-exclamation" />}
-1
View File
@@ -10,4 +10,3 @@ export { SessionSettingsModal } from "./sessionsettings";
export { ScreenSettingsModal } from "./screensettings";
export { LineSettingsModal } from "./linesettings";
export { UserInputModal } from "./userinput";
export { NewWaveModal } from "./newwave";
-95
View File
@@ -1,95 +0,0 @@
.newwave-modal {
width: 640px;
border-radius: 8px;
border: 0.5px solid rgba(255, 255, 255, 0.12);
background: #232323;
box-shadow: 0px 8px 32px 0px rgba(0, 0, 0, 0.25);
.wave-modal-content .wave-modal-body {
padding: 0;
gap: 8px;
.wave-modal-body-inner {
gap: 24px;
display: flex;
flex-direction: column;
header.newwave-header {
padding: 24px 32px 0;
position: relative;
flex-direction: column;
gap: 12px;
border-bottom: none;
.modal-title {
text-align: left;
font-size: 20px;
font-weight: normal;
}
.close {
position: absolute;
right: 32px;
top: 24px;
}
}
.content.newwave-content {
display: flex;
flex-direction: column;
align-items: flex-start;
width: 100%;
margin-bottom: 0;
gap: 10px;
.item {
width: 100%;
line-height: 19px;
font-weight: 400;
padding-left: 32px;
padding-right: 32px;
&.image-item {
padding: 0 0;
height: 360px;
}
img {
width: 100%;
margin-bottom: -45px;
}
span {
font-weight: 600;
}
}
}
footer {
padding: 0 32px 24px;
display: flex;
justify-content: flex-end;
.button-wrapper {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
button {
font-size: 15px;
margin-top: 16px;
&:last-child {
margin-left: 10px;
}
}
button.disabled-button {
cursor: default;
}
}
}
}
}
}
-78
View File
@@ -1,78 +0,0 @@
// Copyright 2023, Command Line Inc.
// SPDX-License-Identifier: Apache-2.0
import * as React from "react";
import * as mobxReact from "mobx-react";
import { boundMethod } from "autobind-decorator";
import { Modal, Button } from "@/elements";
import { getApi } from "@/models";
import newwave from "@/assets/new-wave-screenshot.svg";
import "./newwave.less";
@mobxReact.observer
class NewWaveModal extends React.Component<{ onClose: () => void }, {}> {
@boundMethod
handleDownloadOldWave(): void {
getApi().openExternalLink("https://www.waveterm.dev/download-legacy");
}
@boundMethod
handleDownloadNewWave(): void {
getApi().openExternalLink("https://www.waveterm.dev/download");
}
@boundMethod
handleClose(): void {
this.props.onClose();
}
render() {
return (
<Modal className="newwave-modal">
<div className="wave-modal-body">
<div className="wave-modal-body-inner">
<header className="newwave-header unselectable">
<div className="modal-title">A New Wave is Coming!</div>
<i className="fa-regular fa-xmark-large close" onClick={this.handleClose}></i>
</header>
<div className="content newwave-content unselectable">
<div className="item">
We are excited to share that after 3-months of work, and almost 1000 new commits, Wave
v0.8 is now available. It features a new layout engine for screen splitting, improved
remote file browsing and previewing, improved performance, and a new design. We've also
removed some of the more controversial features that took over the shell experience and
overrode things like completions, history, and prompts.
</div>
<div className="item">
The new build is a fresh start, and a clean break from the current version. As such,
your history, settings, and configuration will <i>not</i> be carried over. If you'd like
to continue to run the legacy version, you will need to download it separately.
</div>
<div className="item image-item">
<img src={newwave} height="400px" />
</div>
<div className="item">
You can download Wave v0.8 now or wait for an auto-update next week. The legacy version
will be available via separate download page.
</div>
</div>
<footer className="unselectable">
<div className="button-wrapper">
<Button className="secondary" onClick={this.handleDownloadOldWave}>
Legacy Download
</Button>
</div>
<div className="button-wrapper">
<Button onClick={this.handleDownloadNewWave}>Upgrade to Wave v0.8</Button>
</div>
</footer>
</div>
</div>
</Modal>
);
}
}
export { NewWaveModal };
+1 -21
View File
@@ -5,34 +5,14 @@ import * as React from "react";
import * as mobxReact from "mobx-react";
import { GlobalModel } from "@/models";
import { TosModal } from "./tos";
import { NewWaveModal } from "./newwave";
const SessionStorageKey = "newWaveRendered";
@mobxReact.observer
class ModalsProvider extends React.Component<{}, {}> {
constructor(props) {
super(props);
this.handleNewWaveOnClose = this.handleNewWaveOnClose.bind(this);
}
handleNewWaveOnClose() {
sessionStorage.setItem(SessionStorageKey, "1");
this.forceUpdate();
}
class ModalsProvider extends React.Component {
render() {
let store = GlobalModel.modalsModel.store.slice();
if (GlobalModel.needsTos()) {
return <TosModal />;
}
const newWaveRendered = sessionStorage.getItem(SessionStorageKey);
if (!newWaveRendered) {
return <NewWaveModal onClose={this.handleNewWaveOnClose} />;
}
let rtn: JSX.Element[] = [];
for (let i = 0; i < store.length; i++) {
let entry = store[i];
-2
View File
@@ -13,7 +13,6 @@ import {
ScreenSettingsModal,
LineSettingsModal,
UserInputModal,
NewWaveModal,
} from "@/modals";
import * as constants from "@/app/appconst";
@@ -28,7 +27,6 @@ const modalsRegistry: { [key: string]: React.ComponentType } = {
[constants.LINE_SETTINGS]: LineSettingsModal,
[constants.TAB_SWITCHER]: TabSwitcherModal,
[constants.USER_INPUT]: UserInputModal,
[constants.NEW_WAVE]: NewWaveModal,
};
export { modalsRegistry };
+1 -1
View File
@@ -98,7 +98,7 @@ class TosModal extends React.Component<{}, {}> {
We collect minimal anonymous
<a
target="_blank"
href={util.makeExternLink("https://docs.waveterm.dev/reference/telemetry")}
href={util.makeExternLink("https://legacydocs.waveterm.dev/reference/telemetry")}
rel={"noopener"}
>
&nbsp;telemetry data&nbsp;

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