Commit Graph

621 Commits

Author SHA1 Message Date
Mike Sawka
d344fd9b6d
fix cpu plot timing issue (#799) 2024-09-20 12:47:10 -07:00
Mike Sawka
e281cebb56
tips update (add to starter layout) (#796) 2024-09-20 12:17:49 -07:00
Mike Sawka
65c446e4a1
wash meta.url through url search (#795) 2024-09-20 11:34:04 -07:00
Mike Sawka
047513bf3a
default url, default search, open in external browser (#794) 2024-09-20 11:24:37 -07:00
Sylvie Crowe
071a051382
Remember Markdown Changes (#790)
This addresses issues of saved markdown changes not showing up when
switching to the rendered preview. It has some limitations as it does
not preserve the state when changing tabs or refreshing the app.
2024-09-19 18:32:36 -07:00
sawka
8fb831fac6 focus selection stuff 2024-09-19 16:47:59 -07:00
Evan Simkowitz
7c2268fb81
fix for new tab thing (#792) 2024-09-19 16:08:59 -07:00
Sylvia Crowe
466a659ef2 fix: remove debounce on setTreeStateAtomUpdated 2024-09-19 16:02:59 -07:00
Sylvia Crowe
5d62613fb8 fix: add async explicitly for debounce output 2024-09-19 15:59:26 -07:00
sawka
b805014837 fix widget key 2024-09-19 14:49:57 -07:00
sawka
c31bd4a94d thenextwave cleanups 2024-09-19 14:04:47 -07:00
sawka
064fe2eff4 Merge remote-tracking branch 'thenextwave/main' into wave8 2024-09-19 13:54:19 -07:00
Evan Simkowitz
11405219f2
bad yarn.lock file in frontend dir 2024-09-19 13:01:14 -07:00
Evan Simkowitz
7126c47ecc
Fix missing new tab layouts (#402) 2024-09-19 12:59:09 -07:00
Evan Simkowitz
708af7efde
Move env vars to vite config 2024-09-19 12:37:16 -07:00
Evan Simkowitz
839889ba63
missed another break 2024-09-19 12:23:06 -07:00
Evan Simkowitz
f14b4c6f11
missed a break 2024-09-19 12:22:23 -07:00
Sylvie Crowe
f4c52d0037
Tips Component (#789)
Add the tips as a component in addition to the initial modal.
2024-09-19 11:32:24 -07:00
Evan Simkowitz
370ea132fe
Save update channel to user setting automatically (#401)
When a user first launches Wave, we will read the updater config and
store the channel as a user setting for use on future launches. This
should ensure that if a user on a beta channel gets updated to a latest
release, they will still be subscribed to beta releases going forward.
If a user manually updates the user setting, it will be honored.

---------

Co-authored-by: sawka <mike@commandline.dev>
2024-09-19 11:04:18 -07:00
Evan Simkowitz
4c3496c5e1
Fix WebSocket compatibility with Rollup (#398) 2024-09-19 10:53:06 -07:00
Red J Adaya
dbf88d82b7
use css vars for button colors (#399) 2024-09-19 10:44:12 -07:00
Red J Adaya
a50431ce2b
fix link styles regression in about modal (#400) 2024-09-19 10:43:32 -07:00
Mike Sawka
d2366df9db
updated ws loading code (#397) 2024-09-19 10:42:53 -07:00
Evan Simkowitz
231c960ca8
missed a change 2024-09-18 14:30:45 -07:00
Evan Simkowitz
e5e6259dec
Show updater status banner for all statuses (#396)
Also adds updater channel to about modal
2024-09-18 14:25:52 -07:00
Evan Simkowitz
3ade98879b
Fix button disabled behavior 2024-09-18 14:14:03 -07:00
Mike Sawka
c7a60a80f8
initwshrpc in electron (#391) 2024-09-17 23:10:09 -07:00
Red J Adaya
dae72e7009
more on button refactor (#388)
- Removed opacity for hover effect. Now uses a brighter variant of color
- Updated other Button usages
2024-09-17 22:38:17 -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
f7272c6375 remove aichat-input opacity 2024-09-17 00:10:42 -07:00
Mike Sawka
46eb164778
tos page 2 -- quick tips (#387) 2024-09-16 23:45:47 -07:00
Sylvie Crowe
ea19444710
Various Bug Fixes and UI Improvements (#386)
This change adds
- performance improvements for ai chat
- new ai chat user interface
- open blank files with codeedit
- fix for userinput password modal
2024-09-16 22:59:09 -07:00
Red J Adaya
09f4616ae0
button refactor (#383)
Refactored to be more flexible. Now, it has three types

- solid
- outline
- ghost

and subtypes

- green
- grey
- red
- yellow

It defaults to solid and green when no className is provided. It
concatenates defaults if custom classNames are provided.
2024-09-16 22:23:05 -07:00
sawka
dbdcc49ff2 add ws reconnect handlers -- wps + route announcements 2024-09-16 19:35:36 -07:00
Evan Simkowitz
fd6e92ee2c
Clear previous layout when applying portable layout to tab (#382) 2024-09-16 17:26:37 -07:00
Evan Simkowitz
f6362a3a15
Upgrade Storybook and disable TileLayout story for now 2024-09-16 13:16:04 -07:00
Evan Simkowitz
47995c12ad
disable TileLayout story for now 2024-09-16 13:14:06 -07:00
sawka
9873b27977 fix button colors/outlines 2024-09-16 12:26:06 -07:00
Mike Sawka
3939648bbb
fe wsh router + wsh client impl (#381) 2024-09-16 11:59:39 -07:00
sawka
1de9cd4468 fix help text 2024-09-13 11:52:14 -07:00
sawka
33407715a0 fix button colors, better lightbulb, button hovers 2024-09-13 10:24:16 -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
Red J Adaya
2715c2ce30
shrink tos modal and make it scrollable when vertical space is not enough (#373) 2024-09-12 23:10:18 -07:00
Red J Adaya
04924870c1
button refactor (#372) 2024-09-12 22:22:31 -07:00
Red J Adaya
b3f7e7a2b9
fix default button text color (#370) 2024-09-12 17:49:57 -07:00
Mike Sawka
174cf3d39d
flash error messages (#369) 2024-09-12 16:02:18 -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
Red J Adaya
df2af04a6e
telemetry fix (#365) 2024-09-11 09:26:43 -07:00
Red J Adaya
c3a02d7e33
revert tabs scroll timing (#363) 2024-09-10 23:22:32 -07:00
Red J Adaya
f6fc0125fd
fix issue where tabs are immediately visible while they're still stacked on load (#362)
This fixes the visual bug where the active tab seems to be the first tab
and then switches to the actual active tab after the tabs are
positioned.
2024-09-10 23:06:27 -07:00
Evan Simkowitz
8f0cd5adcf
fix latent regression from my last pr 2024-09-10 22:50:28 -07:00
Evan Simkowitz
9b12aa9882
Fix bug in TileLayout where computeMoveNode had stale node data (#361)
This was hard to debug. It manifested in nodes that had been collapsed
into their parent. When a node was dragged over the recently-collapsed
node, the placeholder would show the action as if the flex direction was
reversed. It turns out useDrag has trouble tracking changes to the
LayoutNode objects. For now, I am just finding the nodes again in the
computeMoveNode function. Later when I redo the drag system, I will fix
this better.
2024-09-10 17:23:28 -07:00
Evan Simkowitz
f3940f7456
remove unused atom 2024-09-10 15:00:28 -07:00
Evan Simkowitz
6793b41cea
remove unnecessary isUrlDirty atom 2024-09-10 14:59:34 -07:00
Evan Simkowitz
f13b608e79
remove unnecessary set 2024-09-10 14:49:20 -07:00
Evan Simkowitz
467e151aca
fix webview url not being able to be empty 2024-09-10 14:46:59 -07:00
Evan Simkowitz
29db989623
Revert "Keep changes in preview after save (#360)"
This reverts commit 13ac6af4d0.
2024-09-10 14:27:11 -07:00
Evan Simkowitz
13ac6af4d0
Keep changes in preview after save (#360)
A bit hacky, but should allow preview to update to latest file contents
after save
2024-09-10 13:37:30 -07:00
Sylvie Crowe
04fb8e5aad
Mimetype Quick Fixes (#359) 2024-09-10 13:23:02 -07:00
Mike Sawka
5fe0cae244
wsh web (#358) 2024-09-10 12:50:55 -07:00
Red J Adaya
a9486852f9
default white bg for websites with no bg (#355) 2024-09-10 12:16:34 -07:00
sawka
766a976718 errorboundary fallback, errorboundary in block frame header. fix workspace error boundary 2024-09-09 18:20:57 -07:00
Sylvia Crowe
639e796296 fix: clamp connection rowIndex to list size 2024-09-09 17:06:48 -07:00
sawka
01d98fccd2 fix nullptr startsWith 2024-09-09 16:44:26 -07:00
Sylvie Crowe
663cb2cce7
Connection Typeahead Arrow Keys (#352)
This is a first pass to get arrow keys to work with the connection
typeahead.
2024-09-09 16:26:24 -07:00
Evan Simkowitz
65a10ffb36
webview devtools 2024-09-09 15:41:26 -07:00
Evan Simkowitz
dc16d9be3d
fix makeConnRoute in preview 2024-09-09 12:42:47 -07:00
Evan Simkowitz
0d040f1155
use regular@ syntax for icon button class 2024-09-09 12:38:49 -07:00
Evan Simkowitz
9e3c9f9253
Make IconButton its own element, move CopyButton to use it (#357) 2024-09-09 12:35:53 -07:00
Evan Simkowitz
c3924daac3
fix variables for markdown code 2024-09-09 12:09:31 -07:00
Evan Simkowitz
45acc62266
remove undefined variable 2024-09-09 12:08:32 -07:00
Evan Simkowitz
331724c6c3
make code only transparent in pre tags 2024-09-09 12:05:15 -07:00
Evan Simkowitz
1cf3671ac4
remove classname from copybutton since it's already applied by default 2024-09-09 12:01:57 -07:00
Evan Simkowitz
942f7c4431
remove code background 2024-09-09 12:00:47 -07:00
Evan Simkowitz
76d5288aba
apply slug after sanitize 2024-09-09 11:58:55 -07:00
Evan Simkowitz
7c45b3679f
Add syntax highlighting to the Markdown element (#356)
Also fixes the styling for the copy button
2024-09-09 11:56:21 -07:00
Mike Sawka
f62d96ae99
fix url navigation (#353) 2024-09-07 18:22:13 -07:00
Evan Simkowitz
5e80aeb22a
remove unnecessary callback 2024-09-07 11:20:28 -07:00
Evan Simkowitz
f2050f6155
use built-in slug prefix 2024-09-07 11:18:38 -07:00
Evan Simkowitz
97b9760109
make internal heading links work 2024-09-07 11:10:10 -07:00
Evan Simkowitz
b08af477bf
fix typing some more 2024-09-07 11:01:46 -07:00
Evan Simkowitz
910683a825
clean up typing for markdown, add focusedHeading state for future links work 2024-09-07 10:59:33 -07:00
Red J Adaya
b278d11aca
do no animate tabs on load (#351) 2024-09-06 17:41:00 -07:00
Evan Simkowitz
1591a0ca26
fix extern links md 2024-09-06 17:30:19 -07:00
Evan Simkowitz
cab701d3ea
fix resolveOpts props error in md image 2024-09-06 17:23:30 -07:00
Evan Simkowitz
88158289d2
remove debug log 2024-09-06 17:13:30 -07:00
Evan Simkowitz
6117929081
fix links in md preview when there's more than one heading with same name 2024-09-06 17:11:11 -07:00
Evan Simkowitz
1a7fb41182
Add back memoization for toc 2024-09-06 16:32:29 -07:00
Evan Simkowitz
afe73c3e85
Make the debounced node inner rect hook more reliable (#350)
Rather than try to track the transition state, which was proving
unreliable, I am just directly tracking the node state and determining
whether to debounce the inner rect based on whether the user has the
prefers-reduced-motion setting or query, whether the node is resizing,
and whether it's currently magnified. I'm then using the actual
animation time setting to determine how long to debounce.
2024-09-06 16:20:27 -07:00
sawka
30c1d56be6 fix condition 2024-09-06 16:13:16 -07:00
Evan Simkowitz
bd43a4b61d
clean up imports for markdown 2024-09-06 15:19:15 -07:00
Evan Simkowitz
9f5ccddad2
Improve markdown TOC scrolling (#349)
Use a better system for scrolling using scrollTo on the
OverlayScrollbars ref. This lets me get the heading as close to the top
of the viewport as possible without the convoluted CSS tricks I was
trying before.
2024-09-06 15:11:46 -07:00
Mike Sawka
566bf461ff
implement img streaming (local and remote) for markdown (#348) 2024-09-06 12:59:28 -07:00
sawka
f51678415c fix ts errors 2024-09-06 11:13:55 -07:00
sawka
c00749efeb fix useWidth usage, use overlayref directly 2024-09-06 11:10:45 -07:00
Red J Adaya
a00dc5682e
connection status overlay (#337) 2024-09-06 10:33:26 -07:00
Sylvie Crowe
11e4f6074d
Input Modal Fixes (#336)
A couple small things:
- make the timer more robust in case of a timing issue where the timer
skips 0
- make the x button in the corner work
- style the title to stand out

The title will need more styling in the future, but this is still an
improvement.
2024-09-06 04:15:42 -07:00
Mike Sawka
acae25f6e3
connmodal updates. connection colors, conn status in modal (#335) 2024-09-05 23:09:30 -07:00
sawka
975b77e728 updates for suggestions 2024-09-05 22:15:14 -07:00