Commit Graph

94 Commits

Author SHA1 Message Date
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
Mike Sawka
3e0ca6b41e
connection handling / block controller handling (#326) 2024-09-05 00:21:08 -07:00
Mike Sawka
7bc154771a
implement wsh conn commands (#319) 2024-09-03 23:04:19 -07:00
Mike Sawka
afd83f0f6f
wsh connreinstall (#317) 2024-09-03 22:15:02 -07:00
sawka
f5d2d4c5a4 working on wsh ssh 2024-09-03 13:02:38 -07:00
Evan Simkowitz
383a71fc25
Fix infinite loop in layoutAtom, improve iconbutton disable code (#306)
Fixes an infinite loop in the layoutModel atom synchronization that
would cause the atom to update indefinitely when the root node is
deleted.

Also adds a dedicated `disabled` flag for the IconButton decl so we can
disable the onClick handler when the button is disabled.

Also updates the Magnify toggle button to use this new flag, so that
when there's only one leaf in a layout, the magnify button is disabed.
2024-09-03 11:24:45 -07:00
sawka
0084f8eb97 view/edit, fix wsh editor (this is the one for EDITOR var) 2024-09-03 10:44:16 -07:00
sawka
70ef76be62 implement cmd:i, hook up telemetry switch, fix some settings types 2024-09-02 20:21:35 -07:00
Evan Simkowitz
aab487541b
Resolve BlockNum in WSH commands (#301) 2024-08-30 20:20:25 -07:00
Mike Sawka
e488862355
remote sysinfo data plotting (#294) 2024-08-30 11:33:04 -07:00
sawka
6e704f74e3 suppress the error message after it has shown once 2024-08-29 18:08:05 -07:00
Mike Sawka
a3aa941b68
implement wsh setconfig (#284) 2024-08-27 22:02:21 -07:00
Mike Sawka
8630e23239
new config system (#283) 2024-08-27 18:49:49 -07:00
Mike Sawka
f28bdccb5d
move CreateX functions to wcore (#275) 2024-08-26 15:17:37 -07:00
Evan Simkowitz
e527e2ab77
Add authkey header for requests to the backend (#256)
With this PR, Electron will generate a new authorization key that the Go
backend will look for in any incoming requests. The Electron backend
will inject this header with all requests to the backend to ensure no
additional work is required on the frontend.

This also adds a `fetchutil` abstraction that will use the Electron
`net` module when calls are made from the Electron backend to the Go
backend. When using the `node:fetch` module, Electron can't inject
headers to requests. The Electron `net` module is also faster than the
Node module.

This also breaks out platform functions in emain into their own file so
other emain modules can import them.
2024-08-21 15:04:39 -07:00
Evan Simkowitz
23261a7a98
Add flag for specifying a new node as magnified on insert (#253) 2024-08-20 20:14:14 -07:00
Mike Sawka
037497e7f1
wsh edit working (#252) 2024-08-20 14:56:48 -07:00
Mike Sawka
85874f92ca
set up remote connserver (#245) 2024-08-18 21:26:44 -07:00