Commit Graph

683 Commits

Author SHA1 Message Date
Evan Simkowitz
31535404f5
Fix menu stories (#1028) 2024-10-13 09:45:02 -07:00
Evan Simkowitz
0b88fa590d
Move AI model configs to presets and add a dropdown to swap between configs (#1024) 2024-10-12 18:40:14 -04:00
Sylvie Crowe
1354c34921
fix: add conn prefix to askbeforewshinstall flag (#1013) 2024-10-10 17:23:27 -07:00
Mike Sawka
3d2d68bc73
fix initial size of windows (#1011) 2024-10-10 16:12:56 -07:00
Sylvie Crowe
f3e0ba8148
Add Don't Ask Again Checkbox for Wsh Install (#1010)
This provides a checkbox when installing wsh that will prevent the
message from popping up in the future. It can also be disabled by adding
`"askbeforewshinstall": false` to the config file.
2024-10-10 15:50:46 -07:00
Evan Simkowitz
23eda19ead
Remove 6px padding from terminal block, make scrollbar properly overlay the terminal contents (#1009) 2024-10-10 14:42:44 -07:00
Evan Simkowitz
3ae8d693e8
Adjust the gap sizes and padding for the Wave AI controls div so it's more uniform (#1008)
Fix two-tone color in input box as well
2024-10-10 14:13:25 -07:00
Evan Simkowitz
e92b388260
Make terminal block scrollbar thumb slightly wider, closer to edge (#1007)
I can't push the scrollbar all the way to the edge because XTerm.js is
doing some fancy calculations for their viewport width and when I try to
mess with the CSS too much everything breaks, but I was able to get the
scrollbar thumb to be slightly wider and slightly closer to the edge
without everything falling apart
2024-10-10 14:02:58 -07:00
Evan Simkowitz
a109ccfec8
Fix new tab bug that would remove terminal block (#1006) 2024-10-10 13:33:48 -07:00
Evan Simkowitz
64084d3e27
Remove global.ts dependency from emain (#1003)
Removes global atoms dependency from emain by moving WOS to grab the
globalAtoms from window, if present. Also removes interdependency
between wshrpcutil and wps

Also adds showmenubar setting for Windows and Linux
2024-10-10 10:12:42 -07:00
Evan Simkowitz
bd3a971dca
Remove unnecessary onScroll log (#1002) 2024-10-09 20:43:04 -04:00
Mike Sawka
4f00595311
allow ai defaults to be overridden by block meta (#1000) 2024-10-09 15:16:35 -07:00
Sylvie Crowe
c43fd787a0
Simple Quicklook (#998)
This adds some ability to use quicklook from the directory view with the
spacebar on mac.
2024-10-09 15:12:20 -07:00
Sylvie Crowe
9dd4188810
fix: add error messages to ai chat (#999)
This will print error messages to the chat when there is an error
getting an ai response. The actual content of the responses are not
forwarded to the models in future requests.

<img width="389" alt="Screenshot 2024-10-09 at 2 36 13 PM"
src="https://github.com/user-attachments/assets/e6c6b1c1-fa19-4456-be3b-596feaeaafed">
2024-10-09 14:50:56 -07:00
Mike Sawka
f33028af1d
azure ai support (#997) 2024-10-09 13:36:02 -07:00
Evan Simkowitz
b81ab63ddc
Fix 404 for docsite subpages when hard reloading app (#995)
This adds a custom resolver to the docsite server to fall back to .html
addresses when it gets a not found for a given path. This fixes an issue
where subpages would return a 404 after a hard reload of the frontend. I
also added an effect that will run on startup to resolve the latest
docsite url and set it in the metadata, since the backend port changes
on every run of the app. I also made it so that setting the default
homepage in the webview widget will also unset any block-specific
homepage.
2024-10-09 12:42:33 -07:00
Evan Simkowitz
1eb458dc16
Fix directory preview scroll to selected entry (#996) 2024-10-09 12:42:23 -07:00
Mike Sawka
d4f86f3a2f
use windowSettingsAtom (#993) 2024-10-09 10:49:25 -07:00
Mike Sawka
5d6b85cf54
implement back/forward for help view (#991) 2024-10-08 16:54:41 -07:00
Sylvie Crowe
c5527dd87b
Add a Notification Subcommand to Wsh (#985)
This allows users to use the `wsh notify` command to make a popup
notification, even from a remote connection.
2024-10-08 10:22:17 -07:00
Evan Simkowitz
d2b2491211
Add markdown alert parsing, fix buffer issue when switching files (#988)
Adds the GitHub alert syntax parsing to the markdown element, fixes an
issue where the file edit buffer was not getting unset when the file
path changed, continues my crusade on star imports
2024-10-08 09:25:41 -07:00
Evan Simkowitz
2e27296677
Add Block and Default homepage menu options (#986) 2024-10-08 08:46:50 -07:00
Evan Simkowitz
e2bd3cd94a
Add per-block WebView homepage setting, help view is now just a skinned webview (#982)
Adds a meta field `pinnedurl` that can be set to override the
`web:defaulturl` setting for a given block. Also adds a home button to
the webview to reset the block url to the homepage

The help view is now an extension of the webview with some of the chrome
removed.

Also updates the cookie dependency to resolve a vulnerability
2024-10-07 17:20:18 -07:00
Mike Sawka
447596b5e7
new config preview:showhiddenfiles and term:theme (#981) 2024-10-07 14:08:57 -07:00
Sylvie Crowe
0ca1dbfbcc
Back Arrow goes back to existing parent (#979)
This change makes the preview back arrow take you back to a parent
directory that already exists if you are stuck in a bad state. this
prevents it from opening a directory that doesn't exist as a file, which
can happen if you use the typeahead to reach a file that doesn't exist
inside a directory that doesn't exist.
2024-10-07 09:58:12 -07:00
Mike Sawka
92fd371fc9
term scrollback size and reduce cache frequency (#978) 2024-10-07 09:51:23 -07:00
Mike Sawka
d9d19f8368
allow metadata to override the frame title, icon, and text (#972) 2024-10-06 22:08:26 -07:00
Mike Sawka
f05032bcd4
add webcontents id to helpview webview. (#969)
also allow contextmneu items to have sublabel, visible, and enabled
2024-10-06 13:55:26 -07:00
Mike Sawka
545a914c4c
better shutdown logic to capture waveapp logs from wavesrv shutdown (#931) 2024-10-06 13:40:02 -07:00
Sylvie Crowe
76ccd83c5c
Open Text File if File Does Not Exist (#963)
This will open new files as empty text files for editing.
2024-10-06 13:38:03 -07:00
Red J Adaya
28ca193c19
Add 'scrollable' prop to Markdown component for better control over scrolling behavior (#964)
The scrollable prop controls if ScrollbarOverlay is added to the
Markdown component.
2024-10-06 13:30:02 -07:00
Mike Sawka
b490113a87
change cursorAccent to cursor to match xtermjs. (#968)
also add more feedback for waveai -- tooltips + icon for local/cloud.
also use 'ai:name' correctly
2024-10-06 12:42:25 -07:00
Mike Sawka
1bd2fe83cb
right click save image in webview (#962) 2024-10-04 16:34:05 -07:00
Evan Simkowitz
fe06e0d93e
Remove unnecessary log in helpview (#951) 2024-10-03 20:54:55 -07:00
Evan Simkowitz
74cda378f8
Embed static copy of docsite for help view (#949)
This will take the latest artifact from the waveterm-docs repo and embed
it in the app binary. When the help view is launched, it will be served
from our backend. If the embedded copy doesn't exist, such as in
unpackaged versions of the app or in locally packaged versions, it will
use the hosted site instead.

There is a sibling PR in the docs repository to build the embedded
version of the app (strips out some external links, removes Algolia
DocSearch, updates the baseUrl)
https://github.com/wavetermdev/waveterm-docs/pull/46
2024-10-03 20:28:05 -07:00
Evan Simkowitz
a1e0d03fcc
Better handle background color for dir preview table (#944) 2024-10-02 17:37:02 -07:00
Evan Simkowitz
1737c686c2
Fix double scrollbars in dir preview (#932)
Phew this took a while, but I think it's a good compromise. All the
scrolling for a preview view now must happen inside the individual
views, rather than at the root level. Now, the scrollbars render in the
right places and are always visible inside the block. I don't love the
blurred header for the table, but it was make it blurry or make it even
more opaque, which would ruin the transparency
2024-10-02 17:21:34 -07:00
Evan Simkowitz
c34fa963a7
Fix Alt+G on Windows/Linux (#943)
fixes #921
2024-10-02 17:18:16 -07:00
Mike Sawka
f21045d8dd
have terminal ignore all global keybindings (#924) 2024-10-01 14:07:28 -07:00
Sylvie Crowe
3f7af7bfb8
fix: modifier keys on windows and linux (#922) 2024-10-01 11:54:39 -07:00
Mike Sawka
538d4be8be
use makeIconClass for widgets, add 'brands' support (#920) 2024-10-01 09:51:22 -07:00
Sylvie Crowe
7df587d9a4
Speed Up Ai (#911)
fix: remove ai frontend throttling
2024-09-30 22:14:30 -07:00
Mike Sawka
72e24900f4
quick hack to try to reserve some alt keys from the terminal (#915) 2024-09-30 21:48:02 -07:00
Mike Sawka
2fa88c4e50
add term:localshellopts (#914) 2024-09-30 21:19:07 -07:00
Mike Sawka
8460620196
try to get meta tag to detect color (#908) 2024-09-30 13:51:01 -07:00
Mike Sawka
cacde1b0ba
fix use dimensions hook (#905) 2024-09-30 12:19:29 -07:00
Mike Sawka
cafce7aed3
fix app-background zindex (#893) 2024-09-27 13:42:18 -07:00
Mike Sawka
5d8fa2e8d9
all data urls in bg. also fix setmeta to only split on the first equal sign (#889) 2024-09-26 23:07:06 -07:00
Red J Adaya
5ecb285339
menu (#846) 2024-09-26 18:21:28 -07:00
Mike Sawka
29b80bc028
support fish shell with wsh (#874) 2024-09-26 15:34:52 -07:00
Sylvie Crowe
de92e53c38
Checkbox and Radio Context Menu Items (#861)
Expands the context menu to allow checkbox and radio button items.
2024-09-25 20:53:32 -07:00
Mike Sawka
fbbacbc09b
legacy message for v7 upgrades (#858) 2024-09-25 15:52:12 -07:00
Evan Simkowitz
168b5aca39
Add Legacy docs link, update primary docs link (#848) 2024-09-25 10:43:29 -07:00
Evan Simkowitz
4b665dec90
Add setting to disable Chromium hardware acceleration (#847) 2024-09-25 10:08:15 -07:00
Evan Simkowitz
0f09a70836
Add native titlebar setting (#837) 2024-09-24 22:05:38 -07:00
Evan Simkowitz
762075db5a
Fix two lingering The Next Wave references (#834) 2024-09-24 21:02:11 -07:00
Evan Simkowitz
47ad232901
Add back the acknowledgements readme, update about modal link (#818) 2024-09-24 16:58:18 -07:00
Sylvie Crowe
4ff247d2f2
Directory View Parent Directory Button (#805)
Add a button in the directory view to easily navigate to the parent of
the current directory.
2024-09-23 19:02:17 -07:00
Sylvie Crowe
7708db7060
Docs Site Link (#804)
Add a link to the docs site in the help block.
2024-09-23 18:58:46 -07:00
Mike Sawka
62cc9d8a6b
telemetry fix, log no-telemetry (#802) 2024-09-23 13:33:39 -07:00
Evan Simkowitz
af38ebab54
typo in last pr 2024-09-20 13:31:12 -07:00
Evan Simkowitz
38f07ae3f9
Dismiss update banner after 10s on error (#800) 2024-09-20 13:29:37 -07:00
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