Commit Graph

111 Commits

Author SHA1 Message Date
Mike Sawka
045405aa5e
new wsh ai command (#1257) 2024-11-08 16:34:50 -08:00
Mike Sawka
2c055b56d0
new resolver formats (tab:N), and also make the structure of the resolvers much more robust (#1254) 2024-11-08 15:48:54 -08:00
Mike Sawka
c34a5912e7
return clientid in WaveInfoData, print for wsh version -v (#1252) 2024-11-08 14:19:56 -08:00
Mike Sawka
d5297cc5d4
wsh editconfig (#1243) 2024-11-08 11:08:52 -08:00
Mike Sawka
8c17269c88
wsh getmeta updates (easier to get/transfer metadata using cli) (#1241) 2024-11-08 10:48:40 -08:00
Mike Sawka
b36a7df929
setmeta updates to support json files (or reading stdin). easier interop with getmeta (#1240) 2024-11-08 10:19:57 -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
42e85aea6f
VDom 10 (#1206)
* get RefOperations and RefUpdates working. 
* implement a <canvas> API that can be called using RefOperations
* prop to disable rehype/markdown (memory leak)
2024-11-05 23:07:45 -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
91c293e4be
VDom 8 (#1202)
* new vdomevents to support click, change, keydown, etc. easier type
signature
* can now pass a prop type instead of always converting to
map[string]any
* implement DefineComponent to allow easier vdom creation using a
component function directly
* separate vdomclient Make from Connect
* lots of bug fixes to get everything working again
* PStyle and special "style" attribute handling
2024-11-04 12:52:36 -08:00
Mike Sawka
eeda49bbde
vdom 7 (#1180) 2024-11-02 10:58:13 -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
7e6f96348f
fix for waveterm environment variables leaking from prod to dev (#1153) 2024-10-27 13:12:41 -07:00
sawka
0b33916b46 fix indentation, remove old code 2024-10-25 13:58:31 -07:00
Mike Sawka
416c26c1cd
vdom 5 (#1143) 2024-10-25 13:45:00 -07:00
Mike Sawka
701d93884d
vdom 4 (#1110) 2024-10-23 22:47:29 -07:00
Sylvie Crowe
8248637e00
WSL Integration (#1031)
Adds support for connecting to local WSL installations on Windows.

(also adds wshrpcmmultiproxy / connserver router)
2024-10-23 22:43:17 -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
Mike Sawka
46783ba315
vdom 3 (#1033) 2024-10-17 14:50:36 -07:00
Mike Sawka
c1c90bb4f8
browser view (#1005) 2024-10-17 14:34:02 -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
26fcbe0f0f
remove blockid from the regular args, use an optional -b (#973) 2024-10-07 13:56:46 -07:00
Mike Sawka
f835441507
fix wsh output. all output is run through sprintf, so escape properly (#971) 2024-10-06 21:50:11 -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
Mike Sawka
b4582fcaff
implement wsh createblock (#961) 2024-10-04 12:35:15 -07:00
Mike Sawka
e795f75bbb
only use filemutex for windows (#960) 2024-10-04 12:20:52 -07:00
Mike Sawka
267e40cc67
conditionally write generated files (#890) 2024-09-27 13:46:10 -07:00
Mike Sawka
52cb36bc37
id 'tab' for current tabid (#891) 2024-09-26 23:49:35 -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
Evan Simkowitz
3f15bfd2e4
Revert "better conditional taskfile running" (#872)
Reverts wavetermdev/waveterm#864

There's a typo here that's breaking the Taskfile
2024-09-26 14:36:47 -07:00
Mike Sawka
68dfc4ab90
better conditional taskfile running (#864)
still builds the server, but fixes the generate steps and wsh
2024-09-26 12:49:17 -07:00
Mike Sawka
fbbacbc09b
legacy message for v7 upgrades (#858) 2024-09-25 15:52:12 -07:00
Evan Simkowitz
ccf344d107
Fix path traversal vulnerabilities (#817)
Properly validate expanded paths to ensure they are not attempting path
traversal attacks
2024-09-24 18:24:39 -07:00
Evan Simkowitz
4907552379
Fix number parsing for MetaSettingsType (#806)
json.Unmarshal parses all numbers to float64, which breaks any integer
settings values. This PR changes MetaSettingsType.UnmarshalJSON to use
json.Decoder, which is capable of parsing into a meta-type json.Number,
which can be interpreted as a float or an integer. It also properly
handles pointer types.
2024-09-23 18:51:30 -07:00
Mike Sawka
62cc9d8a6b
telemetry fix, log no-telemetry (#802) 2024-09-23 13:33:39 -07:00
Mike Sawka
c7a60a80f8
initwshrpc in electron (#391) 2024-09-17 23:10:09 -07:00
sawka
d94a4bc666 don't bookstrap the newwindow layout for the first run 2024-09-17 00:00:20 -07:00
Mike Sawka
3939648bbb
fe wsh router + wsh client impl (#381) 2024-09-16 11:59:39 -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
Red J Adaya
df2af04a6e
telemetry fix (#365) 2024-09-11 09:26:43 -07:00
Mike Sawka
5fe0cae244
wsh web (#358) 2024-09-10 12:50:55 -07:00
sawka
62eb04090a fix shell integration directories, add bash/zsh completion scripts 2024-09-09 22:26:10 -07:00
sawka
16d01b43eb make some wsh commands hidden 2024-09-09 21:00:47 -07:00
sawka
b85cfc9d2d write wsh conn disconnectall 2024-09-06 15:58:54 -07:00
Mike Sawka
8ad84fd78a
update all gopkg imports (#330) 2024-09-05 14:25:45 -07:00
Mike Sawka
a5f563b52d
new directory structure and oldmigrate (#327) 2024-09-05 14:05:42 -07:00
Evan Simkowitz
debbed7003
Remove WOS dependency from wshrpc (#329)
The frontend wshserver.ts had a weird circuitous dependency on wos.ts,
which was unnecessary. This moves the misplaced functions into wshrpc.ts
and updates the generation logic.
2024-09-05 13:17:35 -07:00