Commit Graph

49 Commits

Author SHA1 Message Date
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
Sylvie Crowe
c30188552f
Add Unix Domain Socket Listener when Establishing Connections (#243)
This makes it possible to send wsh commands from wsh on a remote session
to wavesrv running locally. The exact behavior of running those commands
isn't implemented, but the underlying interface is added here.
2024-08-17 11:21:25 -07:00
Mike Sawka
a451743937
POC showing how statfile can call the conn wshclient to get file info (#242) 2024-08-16 18:45:45 -07:00
Mike Sawka
ae7d85630b
two level routing (based on how network switches work) (#241) 2024-08-16 16:49:49 -07:00
Sylvie Crowe
6bc3054733
SSH Wsh Install (#225)
This change adds the wsh installation to remote shells, so they have
access to its commands.
2024-08-15 21:32:08 -07:00
sawka
961502916b implement remotewritefile 2024-08-13 18:36:11 -07:00
sawka
c962391b71 hook up wsh router to wps 2024-08-13 18:19:29 -07:00
Mike Sawka
844451ea0d
wsh routing + proxy (#224)
lots of changes, including:
* source/route to rpcmessage
* rpcproxy
* wshrouter
* bug fixing
* wps uses routeids not clients
2024-08-13 16:52:35 -07:00
sawka
a2aef5b0ce add wsh term to open a new terminal in directory 2024-08-12 16:14:19 -07:00
Mike Sawka
c4a0e85d32
update wsh code for easier creation of client servers (for readfile/readdir/fileinfo) (#218) 2024-08-12 10:58:39 -07:00
sawka
b057bd2078 wsh view with an http url will open web 2024-08-09 18:54:09 -07:00
Sylvie Crowe
c192fe2663
Windows Pty (#206)
Add Windows Pty support, so the terminal works properly on windows
machines
2024-08-09 18:49:35 -07:00
sawka
4498ca8e9d allow 'this' for blockid 2024-08-09 18:37:23 -07:00
Mike Sawka
5165d099c2
wsh working over domain socket (and assorted bug fixes) (#217) 2024-08-09 17:46:52 -07:00
Mike Sawka
ed0279ad72
adding telemetry updates (#209) 2024-08-08 18:24:54 -07:00
sawka
4641271bfa show the buildtimes in the about page 2024-08-08 13:39:17 -07:00
Mike Sawka
75c274c104
wsh shellintegration (#189) 2024-07-31 23:47:33 -07:00
Mike Sawka
cfc875bc21
metadata updates (frontend typing) (#174) 2024-07-30 12:33:28 -07:00
sawka
e70f0bb9ab use ParseFloat, not ParseInt 2024-07-29 12:02:44 -07:00
Mike Sawka
9df9c99fbd
checkpoint on domain sockets + update background colors + transparency (#160) 2024-07-26 13:30:11 -07:00
Sylvie Crowe
0e46b79c22
Open Ai Port (#154)
This brings over a simplified version of the open ai feature from the
previous app but in widget form. It still needs some work to reach
parity with that version, but this includes all of the basic building
blocks to get that working.
2024-07-25 02:30:49 -07:00
Mike Sawka
6c2ef6cb99
working on vdom implementation, other fixes (#136) 2024-07-23 13:16:53 -07:00
sawka
fd3581fc42 wsh deleteblock 2024-07-18 18:14:11 -07:00
Mike Sawka
776ccd7da0
streaming rpc support (backend streams to the frontend) (#120) 2024-07-18 15:56:04 -07:00
Evan Simkowitz
8971e2feba
Set up electron-builder for new app (#113)
Adds electron-builder, which we will use to package and distribute our
application, same as in the existing app.
Replaces explicit port assignments with dynamic ones, which are then
stored into environment variables.
Adds a ~/.w2-dev folder for use when running a dev build.

The build-helper pipeline from the old repo is included here too, but it
is not updated yet so it will fail.

Also removes some redundant utility functions and cleans up some let vs.
const usage.

The packaging can be run using the `package:prod` and `package:dev`
tasks.

---------

Co-authored-by: sawka <mike.sawka@gmail.com>
2024-07-17 18:42:49 -07:00
Mike Sawka
01b5d71709
new wshrpc mechanism (#112)
lots of changes. new wshrpc implementation. unify websocket, web,
blockcontroller, domain sockets, and terminal inputs to all use the new
rpc system.

lots of moving files around to deal with circular dependencies

use new wshrpc as a client in wsh cmd
2024-07-17 15:24:43 -07:00
sawka
be392ee755 start unix domain socket server. fix a couple small bugs 2024-07-09 14:31:16 -07:00
sawka
fa3a670603 split web server into a listen and serve call 2024-07-09 13:47:39 -07:00
sawka
f3b649aef1 optional 2nd arg to wsh getmeta to get a specific metadata key 2024-07-09 11:50:52 -07:00
Mike Sawka
7b93354657
initial implementation of move block to window (#77) 2024-06-25 14:56:37 -07:00
sawka
e859847edb dynamic icons for preview, and icons per view 2024-06-21 16:01:51 -07:00
Mike Sawka
0a19aa31d4
working on wsh createblock (wsh view). bug fix for emain closed windows (#64) 2024-06-20 00:00:00 -07:00
Sylvie Crowe
21fa9a601f
Add filewatcher for config files (#63)
This adds the filewatcher and forwards events to the frontend. It also
sets up the widgets as something that can be controlled with a config
file.
2024-06-19 23:59:41 -07:00
Mike Sawka
e46906d423
wsh rpc working (#55)
lots of iterations on an RPC protocol. getting wsh working with a
getmeta/setmeta command in addition to html mode.
2024-06-17 09:58:28 -07:00
Sylvie Crowe
d0c4f5c46f
Support Windows Builds (#54)
This adds support for windows builds. With it, the app can successfully
run on windows and unix systems. Note that the terminal still only works
on unix systems at this time.
2024-06-15 14:59:14 -07:00
sawka
014c6fb2ec redo ptybuffer, move to wshutil to help with stdin processing. change wsh to use cobra 2024-06-14 14:43:47 -07:00
sawka
8a3a527343 setup cobra for wsh 2024-06-14 12:19:36 -07:00
Mike Sawka
8e3540f754
working on ijson and wsh magic (#53) 2024-06-13 23:54:04 -07:00
sawka
336dd0c0e3 unify the logging between electron and wavesrv (emain now proxies the wavesrv logs) 2024-06-12 19:33:44 -07:00
sawka
391c4f20d5 add a stdin watcher that also leads to a shutdown 2024-06-12 18:17:56 -07:00
sawka
083e00227e update BlockService to use the new type union feature of tsgen. strongly type the arguments to BlockService.SendCommand 2024-06-12 13:47:13 -07:00
Mike Sawka
1874d9a252
port to electron (#33) 2024-06-11 17:42:10 -07:00
sawka
45f20bb5c3 wsh rpc client 2024-05-29 23:17:23 -07:00
sawka
95ce1cc86d checkpoint on new objectservice 2024-05-26 23:05:11 -07:00
sawka
cf8ae548e8 checkpoint, some wsh stuff 2024-05-18 11:09:27 -07:00