Commit Graph

205 Commits

Author SHA1 Message Date
sawka
fa3a670603 split web server into a listen and serve call 2024-07-09 13:47:39 -07:00
Mike Sawka
848a9af9a0
dynamic header updates (#102) 2024-07-08 15:04:48 -07:00
Red J Adaya
1f973b3fdc
WaveAI (#93) 2024-07-03 14:32:55 -07:00
Sylvie Crowe
ecd2464bbf
Hidden Files (#86)
Adds the following changes
- rename "Permissions" to "Perm"
- use a "-" if the mimetype is unknown
- add a button to hide and show hidden files
- fix the datetime to format based on how far in the past the date is
2024-06-27 18:13:42 -07:00
Sylvie Crowe
23e1c8797d
Search Fixes (#84)
This change:
- now clears the search box when entering a new directory
- fixes some styling issues
- adds a .. to the path
- uses the correct path (except on the initial start of the directory
widget)
2024-06-27 12:30:08 -07:00
Sylvie Crowe
0a8c97858c
Download File Option (#80)
This adds to the context menu to give the ability to download a file. It
also fixes a couple bugs and improves some formatting of the directory
view.
2024-06-26 12:14:59 -07:00
Red J Adaya
566f6764c2
Web view (#78) 2024-06-26 09:39:41 -07:00
Mike Sawka
7b93354657
initial implementation of move block to window (#77) 2024-06-25 14:56:37 -07:00
Sylvie Crowe
182c5f6e3d
Open New Block and Delete Files (#76)
This implements the behavior for the context menu recently added to the
directories. Open New Block simply opens the file in a preview in a new
block.

Delete files will delete the selected file, but it does not trigger a
rerender at this time. To see the change, you must navigate to a
different directory and then return. This will be fixed in a future
update.
2024-06-25 13:53:55 -07:00
sawka
7bf64fb268 wsh view works -- uses a WS event to send to the frontend 2024-06-24 19:04:08 -07:00
sawka
a0b8bd5c0b add config option to show block header ids 2024-06-24 16:25:53 -07:00
Mike Sawka
77b5acfc5a
cmd blocks (#74) 2024-06-24 14:34:31 -07:00
Sylvie Crowe
c2b8b32b44
New Directory View Columns (#71)
This adds several new columns to the directory view. It adds a last
modified timestamp, a logo for the type, human-readable file sizes, and
permissions. Several of these are configurable via the
config/settings.json file.
2024-06-22 00:41:49 -07:00
sawka
e7550c0a3e add block icon 2024-06-21 15:15:38 -07:00
sawka
8683105f70 fun customization for the block title 2024-06-21 14:44:11 -07:00
sawka
516f1faa47 fix ordering of typeunions in generated typescript. add term config fontsize and fontfamily. 2024-06-21 13:23:07 -07:00
Red J Adaya
9cc5d9d3ae
Add ability to edit tab name (#67) 2024-06-21 10:23:04 -07:00
Mike Sawka
5e655c7c55
refactor cmdqueue out of blockcontroller (#65) 2024-06-20 16:01:55 -07:00
sawka
68ca79fcbc update widgets, add label, color, description, change top two widgets 2024-06-20 13:03:50 -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
fb668fd4e5
multi-window support (#62) 2024-06-19 19:10:53 -07:00
Mike Sawka
4ded6d94b6
stickers and terminal serialization (#57) 2024-06-17 22:38:48 -07:00
Red J Adaya
b6c85e38f6
DnD tabs (#44) 2024-06-17 21:50:33 -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
ab785aa992 move DeleteZone to its own go routine -- crazy bug where we used the wrong DB conn 2024-06-14 10:09:28 -07:00
Mike Sawka
8e3540f754
working on ijson and wsh magic (#53) 2024-06-13 23:54:04 -07:00
Evan Simkowitz
b2b1f9b9df
Switch to using electron-vite instead of WebPack (#45)
This sets us back up to use Vite via the electron-vite package. This
will let us continue to build our testing suite on Vitest and take
advantage of Vite features like Hot Module Reloading, etc.

---------

Co-authored-by: sawka <mike.sawka@gmail.com>
2024-06-13 16:49:25 -07:00
Mike Sawka
0f992c535d
working on wave OSC escapes, modes for the terminal (#46) 2024-06-13 14:41:28 -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
8a71180f20 implement wscommand using type union interface, send resize events there 2024-06-12 14:18:03 -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
sawka
c139a33954 remove dependency on SysProcAttr 2024-06-12 11:33:45 -07:00
Mike Sawka
1874d9a252
port to electron (#33) 2024-06-11 17:42:10 -07:00
Sylvie Crowe
ba7d2cf061
Automatically Detect Monaco Syntax Highlighting (#20)
This change passes the file name to monaco, so it can use its own
detection to determine highlighting of supported files. It also resolves
some of the mimetypes with more common use cases for a terminal.
2024-06-06 14:52:01 -07:00
Evan Simkowitz
f12e246c15
Break layout node into its own Wave Object (#21)
I am updating the layout node setup to write to its own wave object. 

The existing setup requires me to plumb the layout updates through every
time the tab gets updated, which produces a lot of annoying and
unintuitive design patterns. With this new setup, the tab object doesn't
get written to when the layout changes, only the layout object will get
written to. This prevents collisions when both the tab object and the
layout node object are getting updated, such as when a new block is
added or deleted.
2024-06-05 17:21:40 -07:00
Sylvie Crowe
2f2ff8a1cb
Extra Mimetypes (#17)
Vastly expands the list of mimetypes we can detect from file extensions.
2024-06-04 17:58:29 -07:00
Evan Simkowitz
c3e71c5c7d
Integrate Faraday layout system (#16)
Co-authored-by: Mike Sawka <sawka@users.noreply.github.com>
Co-authored-by: sawka <mike.sawka@gmail.com>
2024-06-04 13:05:44 -07:00
sawka
7429520d31 simple topic bus implementation -- creates topics on subscribe, deletes topics with no subscribers, extenal notification channel 2024-06-04 00:12:58 -07:00
sawka
0164851cf6 move ijson frontend/backend to nextwave 2024-06-03 18:25:12 -07:00
Sylvia Crowe
b12417101e Merge branch 'main' into sylvie/backwards-nav 2024-06-03 15:55:48 -07:00
sawka
dcd6d04b0b rpc checkpoint 2024-06-03 14:10:36 -07:00
sawka
f90554e87e not found should return null 2024-06-03 13:43:50 -07:00
Sylvia Crowe
bf3a036df9 fix: recreate full directory path and fix hooks
This fixes two bugs. The first had to do with the path library not
working in prod. That involved making a simple version of it that works
in the meantime. The other is rendering a different number of hooks
which required moving hooks outside of an if statement.
2024-06-03 13:24:20 -07:00
sawka
c191fc8945 rename blockstore to filestore. rename blockid to zoneid. 2024-06-03 13:03:21 -07:00
sawka
394b9dce23 working on rpc server 2024-05-29 23:58:29 -07:00
sawka
45f20bb5c3 wsh rpc client 2024-05-29 23:17:23 -07:00
Mike Sawka
2472deb379
Merge pull request #11 from wavetermdev/sawka/use-blockstore
use blockstore, save/restore terminal state output (tab switching or app restart)
2024-05-29 00:30:52 -07:00
sawka
02cda396e8 restore terminal state when loading term view 2024-05-29 00:28:25 -07:00
Sylvia Crowe
b9f6da57f9 feat: add basic directory navigation in preview
Note: this does not add backwards navigation and will break if
attempting to open certain types of files.
2024-05-29 00:00:36 -07:00
sawka
bff46d9822 write pty output to blockstore. initialize blockstore file on controller start. create frontend api to read the blockfile 2024-05-28 21:44:47 -07:00
sawka
ae24e46ece start blockcontrollers on switch tab 2024-05-28 21:08:00 -07:00
sawka
333a979529 hook up blockstore flusher 2024-05-28 18:27:38 -07:00
sawka
609f2ec85c the useWaveObject() setter now writes back to the DB. make metadata setting generic 2024-05-28 15:41:03 -07:00
sawka
5edb882955 add an updatemetadata call to objectservice 2024-05-28 12:18:26 -07:00
sawka
3f45945cb4 delete block and close tab working 2024-05-27 16:33:31 -07:00
sawka
e6d7a4e674 app is working again. new structure for blocks. new useWaveObjectValueWithSuspense hook 2024-05-27 15:44:57 -07:00
sawka
abedca2364 setactivetab working, removed tombstones, created updatetype 2024-05-27 14:31:12 -07:00
sawka
b87786febf checkpoint -- generic updates, wave object store, new setup for initialization, atoms, etc. lots of progress 2024-05-27 13:59:58 -07:00
sawka
6d3f76cb74 fe now rendering workspace/tab from db. got useWaveObject working. need to work on updates 2024-05-27 00:47:10 -07:00
sawka
95ce1cc86d checkpoint on new objectservice 2024-05-26 23:05:11 -07:00
sawka
b1aaba2a37 moving hard to OID model 2024-05-26 11:59:14 -07:00
sawka
4ba78a1804 working on waveobj -- oids 2024-05-25 18:37:05 -06:00
sawka
134ba3c34c checkpoint on integratng wstore. moved to wails data structures, got immer working again, Window object, transitioned to generic DB ops, lots more 2024-05-24 15:08:24 -06:00
sawka
8173bc3c61 update blockservice to use wstore types 2024-05-22 09:23:16 -07:00
sawka
2317ce87f3 checkpoint 2024-05-21 21:15:11 -07:00
Sylvia Crowe
259bbf44db merge branch 'main' into sylvie/preview-dir 2024-05-21 13:49:49 -07:00
sawka
901334eb49 new wails bindings format working 2024-05-21 11:09:22 -07:00
sawka
f3383d1847 new wstore package, move core types to there. create a syncmap 2024-05-20 15:57:15 -07:00
sawka
5b2bb13542 waveterm.lock, and new appicon 2024-05-20 15:28:47 -07:00
Sylvia Crowe
72dbf94f9a feat: pass contents of directory to front end
This mainly focuses on passing directory info to the front end. It isn't
a complete version of that, but it's enough to plan out some details of
the styling
2024-05-20 11:39:23 -07:00
sawka
4f9429ed8a checkpoint, bug fixes 2024-05-19 23:48:08 -07:00
sawka
889fcac38d checkpoint, bug fixes 2024-05-19 23:27:21 -07:00
sawka
9129900a3e checkpoint, compiling again 2024-05-19 22:40:27 -07:00
sawka
4b58a871a7 prevent concurrent flushing 2024-05-19 12:42:05 -07:00
sawka
56a75d9a6a concurrent stress test, fix some bugs 2024-05-19 12:36:25 -07:00
sawka
4e54b8a9e1 working on flush, bug fixes, tests 2024-05-19 12:22:55 -07:00
sawka
1695ec46b1 checkpoint on blockstore 2024-05-19 00:26:53 -07:00
sawka
14772c8f61 more tests, cleaning up structure for flushing -- write intentions, dirty, and flushing. simplify/unify some operations 2024-05-18 22:29:44 -07:00
sawka
34b91445a9 more tests working on write intentions 2024-05-18 12:31:54 -07:00
sawka
cf8ae548e8 checkpoint, some wsh stuff 2024-05-18 11:09:27 -07:00
sawka
146bade6f1 streaming images, audio, and video 2024-05-16 22:48:23 -07:00
sawka
d34ccfd7ab process static command / block commands. setmeta, setview 2024-05-16 18:01:52 -07:00
sawka
cc4629f9e0 menus and windows 2024-05-16 14:00:39 -07:00
sawka
b721f59166 hook up close block to backend to remove the running process 2024-05-16 13:40:23 -07:00
sawka
8573a415c0 don't use app.Emit(), instead dispatch to individual windows for synchronous event dispatch 2024-05-16 12:39:14 -07:00
sawka
eab6afb91a create block using a blockdef. better controller control. preview that takes a file. atom caching per block. lots of updates 2024-05-16 00:29:58 -07:00
sawka
86b2596214 terminal working, not prod ready, but it works 2024-05-14 23:25:21 -07:00
sawka
5b2a5eb5eb resize observer + run an ls command 2024-05-14 22:37:19 -07:00
sawka
35c6b232fc round trip a message to the backend that updates the terminal fe component 2024-05-14 16:53:03 -07:00
sawka
50ccd66d49 eventbus for sending events from backend to frontend. stubbing out a block controller and blockservice 2024-05-14 13:34:41 -07:00
sawka
91a3394602 load README.md into preview view 2024-05-14 12:29:41 -07:00
sawka
1db615bb3a markdown preview 2024-05-14 09:37:41 -07:00
sawka
a10f0d99ea progress, working on flush 2024-05-13 13:40:25 -07:00
sawka
b5f7ff699c fix size bug, add more multi/writeat testing 2024-05-13 12:00:18 -07:00
sawka
75d2c48c57 test a write that spans two blocks 2024-05-13 11:55:48 -07:00
sawka
7b8c486621 use new txwrap, simplify 2024-05-13 11:45:47 -07:00
sawka
023e1babe2 test simple append 2024-05-13 00:33:46 -07:00
sawka
b0762f5ce1 allow meta merging 2024-05-13 00:12:55 -07:00
sawka
9bb6e27201 test writemeta 2024-05-13 00:08:50 -07:00
sawka
68a6605209 enable testing, bug fixes 2024-05-13 00:02:32 -07:00
sawka
4da5a4f610 reimplement blockstore, needs testing 2024-05-12 21:59:42 -07:00
sawka
da03fbe8f2 blockstore setup/migrations, wavebase setup 2024-05-12 09:52:12 -07:00