Commit Graph

244 Commits

Author SHA1 Message Date
sawka c31bd4a94d thenextwave cleanups 2024-09-19 14:04:47 -07:00
Evan Simkowitz 7126c47ecc Fix missing new tab layouts (#402) 2024-09-19 12:59:09 -07:00
sawka 63f41c146c send autoupdate enabled/channel w/ telemetry 2024-09-19 11:58:01 -07:00
sawka 88d31bc692 set apptype = w2 2024-09-19 11:39:21 -07:00
Mike Sawka c7a60a80f8 initwshrpc in electron (#391) 2024-09-17 23:10:09 -07:00
Sylvie Crowe 040bcf49b7 Remove Tips Modal (#393)
This tips modal wasn't discovered often enough in tests, so we are
removing it.
2024-09-17 14:29:44 -07:00
Evan Simkowitz 5b7535d08f Add release channels (#385)
## New release flow

1. Run "Bump Version" workflow with the desired version bump and the
prerelease flag set to `true`. This will push a new version bump to the
target branch and create a new git tag.
    - See below for more info on how the version bumping works.
2. A new "Build Helper" workflow run will kick off automatically for the
new tag. Once it is complete, test the new build locally by downloading
with the [download
script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/download-staged-artifact.sh).
3. Release the new build using the [publish
script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/publish-from-staging.sh).
This will trigger electron-updater to distribute the package to beta
users.
4. Run "Bump Version" again with a release bump (either `major`,
`minor`, or `patch`) and the prerelease flag set to `false`.
6. Release the new build to all channels using the [publish
script](https://github.com/wavetermdev/thenextwave/blob/main/scripts/artifacts/publish-from-staging.sh).
This will trigger electron-updater to distribute the package to all
users.

## Change Summary

Creates a new "Bump Version" workflow to manage versioning and tag
creation.

Build Helper is now automated.

### Version bumps

Updates the `version.cjs` script so that an argument can be passed to
trigger a version bump. Under the hood, this utilizes NPM's `semver`
package.

If arguments are present, the version will be bumped.
If only a single argument is given, the following are valid inputs:
    - `none`: No-op.
    - `patch`: Bumps the patch version.
    - `minor`: Bumps the minor version.
    - `major`: Bumps the major version.
    - '1', 'true': Bumps the prerelease version.
If two arguments are given, the first argument must be either `none`,
`patch`, `minor`, or `major`. The second argument must be `1` or `true`
to bump the prerelease version.

### electron-builder

We are now using the release channels support in electron-builder. This
will automatically detect the channel being built based on the package
version to determine which channel update files need to be generated.
See
[here](https://www.electron.build/tutorials/release-using-channels.html)
for more information.

### Github Actions

#### Bump Version

This adds a new "Bump Version" workflow for managing versioning and
queuing new builds. When run, this workflow will bump the version,
create a new tag, and push the changes to the target branch. There is a
new dropdown when queuing the "Bump Version" workflow to select what
kind of version bump to perform. A bump must always be performed when
running a new build to ensure consistency.

I had to create a GitHub App to grant write permissions to our main
branch for the version bump commits. I've made a separate workflow file
to manage the version bump commits, which should help prevent tampering.
Thanks to using the GitHub API directly, I am able to make these commits
signed!

#### Build Helper

Build Helper is now triggered when new tags are created, rather than
being triggered automatically. This ensures we're always creating
artifacts from known checkpoints.

### Settings

Adds a new `autoupdate:channel` configuration to the settings file. If
unset, the default from the artifact will be used (should correspond to
the channel of the artifact when downloaded).

## Future Work

I want to add a release workflow that will automatically copy over the
corresponding version artifacts to the release bucket when a new GitHub
Release is created.

I also want to separate versions into separate subdirectories in the
release bucket so we can clean them up more-easily.

---------

Co-authored-by: wave-builder <builds@commandline.dev>
Co-authored-by: wave-builder[bot] <181805596+wave-builder[bot]@users.noreply.github.com>
2024-09-17 13:10:35 -07:00
sawka d94a4bc666 don't bookstrap the newwindow layout for the first run 2024-09-17 00:00:20 -07:00
Evan Simkowitz fd6e92ee2c Clear previous layout when applying portable layout to tab (#382) 2024-09-16 17:26:37 -07:00
Mike Sawka 3939648bbb fe wsh router + wsh client impl (#381) 2024-09-16 11:59:39 -07:00
Sylvie Crowe 555ab07861 Add Tips Modal for Directory (#374)
This is an experimental modal to show tips. If it helps improve
discoverability, it will be improved in the future.
2024-09-13 03:36:15 -07:00
Evan Simkowitz 936d4bfb30 Migrate websocket eventbus messages to wps (#367)
This migrates all remaining eventbus events sent over the websocket to
use the wps interface. WPS is more flexible for registering events and
callbacks and provides support for more reliable unsubscribes and
resubscribes.
2024-09-11 18:03:55 -07:00
Evan Simkowitz 4bfb96b001 Add a new terminal to the default tab in a new window (#368) 2024-09-11 17:39:08 -07:00
Mike Sawka e46be65baf guard wsh completion installation by prereqs (#364) 2024-09-11 11:14:38 -07:00
Red J Adaya df2af04a6e telemetry fix (#365) 2024-09-11 09:26:43 -07:00
Sylvie Crowe 04fb8e5aad Mimetype Quick Fixes (#359) 2024-09-10 13:23:02 -07:00
sawka 62eb04090a fix shell integration directories, add bash/zsh completion scripts 2024-09-09 22:26:10 -07:00
sawka 3dbc8139eb fix slow tab closing 2024-09-06 17:48:34 -07:00
sawka 7b866ed3a8 fix wshrpc concurrency 2024-09-06 16:06:50 -07:00
Sylvia Crowe f07ac79b0b fix: ssh error parsing order fix
Needed to check for non-error case before error case.
2024-09-06 13:58:27 -07:00
Sylvie Crowe a9533b0426 SSH Agent Integration (#334)
Hook into an existing SSH Agent.
This allows us to pull keys already authenticated by the agent and write
to the agent ourselves.

---------

Co-authored-by: Evan Simkowitz <esimkowitz@users.noreply.github.com>
2024-09-06 13:19:38 -07:00
Mike Sawka 566bf461ff implement img streaming (local and remote) for markdown (#348) 2024-09-06 12:59:28 -07:00
Mike Sawka acae25f6e3 connmodal updates. connection colors, conn status in modal (#335) 2024-09-05 23:09:30 -07:00
Sylvie Crowe fc0b1929ec Connection Typeahead/Suggestions (#332)
Adds a list of potential remotes to add and filters it as you type. It
also provides options for reconnecting on a disconnection and
specifically connecting to a local connection
2024-09-05 17:02:44 -07:00
sawka 05306e36d1 fix default settings (telemetry), and stop block controllers in a background thread. 2024-09-05 16:36:24 -07:00