Commit Graph

145 Commits

Author SHA1 Message Date
Mike Sawka
83f671c7a9
rename actual size to reset zoom (#1264) 2024-11-11 13:10:38 -08:00
Evan Simkowitz
3a21d3183c
Fix electron:start task not having wcloud env vars (#1261) 2024-11-11 10:46:58 -08:00
Mike Sawka
8685ca9069
move fg/active checks to window focus() instead of tab focus (#1248) 2024-11-08 12:42:35 -08:00
Mike Sawka
fb641ac717
reposition tab fixes (#1226) 2024-11-07 21:57:06 -08:00
Mike Sawka
f50ce9565c
VDom 11 (#1224)
* Fix VDom url caching -- use regular requests 
* new boilerplate to make writing apps easier
* render-blocking global styles (to prevent render flash)
* bug fixes and new functionality etc.
2024-11-07 00:07:23 -08:00
Mike Sawka
61d6b4d8eb
VDom 9 (#1205)
Lots of quality of life improvements (and bug fixes):
* Class(), ClassIf(), ClassIfElse() methods
* <wave:style> that can use a file vdom:/// url
* UseStateWithFn() to allow for functional setters
* If, IfElse, and ForEach for vdom construction
* batched updates for large updates -- streaming -- to get around packet size issues
* more flexible file sending code, for []byte, io.Reader, fs.File, and a fileName (with optional MimeType)
* fix the vdom:// protocol handler to work with fetch
* updated wshcmd-html for new best practices
2024-11-05 15:52:59 -08:00
Mike Sawka
eeda49bbde
vdom 7 (#1180) 2024-11-02 10:58:13 -07:00
Mike Sawka
be3ec7e841
another try at audio permissions (and more) for #1086 (#1192)
the permissions look scary, but the user still needs to grant them.  this just allows the app to ask.  this permission set now matches the entitlements in iTerm and other popular terminal programs (before we were too restrictive)
2024-11-01 12:17:19 -07:00
Mike Sawka
55250de97a
fix fullscreen resize bug (#1191) 2024-11-01 10:59:17 -07:00
Mike Sawka
8893a42cd6
wsh version -v (to print config/data dirs and updater-channel) (#1190) 2024-11-01 10:20:15 -07:00
Mike Sawka
48001ee734
make sure the user affirmatively acknowledged window deletion before deleting, fix for #1167 (#1181) 2024-10-31 18:13:27 -07:00
Mike Sawka
e10bcee05a
fix relaunch all windows (#1179) 2024-10-31 15:25:30 -07:00
Mike Sawka
473225d94b
issue squashing #1175 #1038 #1086 #1081 #1066 #1020 (#1177) 2024-10-31 12:34:30 -07:00
Evan Simkowitz
77fbd324c9
Check err.toString instead of err.message (#1171) 2024-10-30 14:24:37 -07:00
Evan Simkowitz
b3fdbbc331
Various updater fixes (#1170)
- Fixes updater status not showing on tabs that were previously
unloaded.
- Fixes updater status showing as error when not connected to the
internet
- Adds delay after setting installing status to avoid race condition
with any window close event handlers. This may fix #1167
2024-10-30 14:20:19 -07:00
Evan Simkowitz
17adf7b2c3
Stupid Electron behavior causes app to crash if Alt+Meta+I is a context menu accelerator (#1169)
closes #1152
2024-10-30 13:54:36 -07:00
Mike Sawka
8dbe5749f8
fix shutdown for auto-update (#1162) 2024-10-28 09:56:42 -07:00
Mike Sawka
7e6f96348f
fix for waveterm environment variables leaking from prod to dev (#1153) 2024-10-27 13:12:41 -07:00
Evan Simkowitz
e831f84711
fix for ~/.waveterm getting ignored 2024-10-22 21:23:24 -07:00
Evan Simkowitz
33f05c6e0c
Update data and config paths to match platform defaults (#1047)
Going forward for new installations, config and data files will be
stored at the platform default paths, as defined by
[env-paths](https://www.npmjs.com/package/env-paths).

For backwards compatibility, if the `~/.waveterm` or `WAVETERM_HOME`
directory exists and contains valid data, it will be used. If this check
fails, then `WAVETERM_DATA_HOME` and `WAVETERM_CONFIG_HOME` will be
used. If these are not defined, then `XDG_DATA_HOME` and
`XDG_CONFIG_HOME` will be used. Finally, if none of these are defined,
the [env-paths](https://www.npmjs.com/package/env-paths) defaults will
be used.

As with the existing app, dev instances will write to `waveterm-dev`
directories, while all others will write to `waveterm`.
2024-10-22 09:26:58 -07:00
Evan Simkowitz
39fff9ecfd
Allow separate directories for each config part, add dropdown for editing AI presets (#1074)
Adds new functionality on the backend that will merge any file from the
config directory that matches `<partName>.json` or `<partName>/*.json`
into the corresponding config part (presets, termthemes, etc.). This
lets us separate the AI presets into `presets/ai.json` so that we can
add a dropdown in the AI preset selector that will directly open the
file so a user can edit it more easily. Right now, this will create a
preview block in the layout, but in the future we can look into making
this block disconnected from the layout.

If you put AI presets in the regular presets.json file, it will still
work, since all the presets get merged. Same for any other config part.
2024-10-21 16:51:18 -07:00
sawka
0590ba2509 merge main to dev 0.9 2024-10-18 09:29:39 -07:00
Mike Sawka
dc70ab4014
ws reconnection bug + clean up logging (#1058) 2024-10-17 23:42:55 -07:00
Evan Simkowitz
7eeb6e89f5
fix expect-error in viewmgr 2024-10-17 14:52:51 -07:00
Mike Sawka
c1c90bb4f8
browser view (#1005) 2024-10-17 14:34:02 -07:00
Evan Simkowitz
88445b2f1d
Add expect-error to two emain event handlers (#1052)
There were two type errors after the most recent electron upgrade, but
they're both benign (event handler parameter mismatch) so I am adding
ts-expect-error to both instances.
2024-10-17 10:17:47 -07:00
Evan Simkowitz
a5e1cc9c77
Prevent the app from downgrading when a user installs beta over latest (#1014) 2024-10-10 19:32:15 -07:00
Mike Sawka
8de0c3e210
make size computation a bit more general. adjust for workarea x/y (#1012) 2024-10-10 16:35:11 -07:00
Mike Sawka
3d2d68bc73
fix initial size of windows (#1011) 2024-10-10 16:12:56 -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
Mike Sawka
9ad8068d13
fix rare bad shutdown loop with logger throwing errors (#1001) 2024-10-09 16:15:42 -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
Mike Sawka
f4c7269195
remove special shutdown logic for windows (#992) 2024-10-08 18:39:26 -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
Mike Sawka
545a914c4c
better shutdown logic to capture waveapp logs from wavesrv shutdown (#931) 2024-10-06 13:40:02 -07:00
Mike Sawka
1bd2fe83cb
right click save image in webview (#962) 2024-10-04 16:34:05 -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
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
a4bc0fa93b
if WAVETERM_HOME is set, use that in emain (#859) 2024-09-25 16:16:07 -07:00
Evan Simkowitz
f886aa1e8e
Fail silently if launch settings don't exist (#857) 2024-09-25 15:34:31 -07:00
Evan Simkowitz
d35f022b5c
Fetch settings directly from filesystem on launch (#855)
This bypasses the Go backend when fetching the settings for the app on first launch. This allows for actions that need to be performed before the app is ready, such as disabling hardware acceleration.
2024-09-25 14:43:05 -07:00
Evan Simkowitz
d5abf7ea95
Move settings check after wavesrv startup (#854) 2024-09-25 13:46:13 -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
sawka
c31bd4a94d thenextwave cleanups 2024-09-19 14:04:47 -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
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
adcc564d35
Fix emain package error 2024-09-18 12:06:34 -07:00