Commit Graph

233 Commits

Author SHA1 Message Date
Evan Simkowitz
74612c7e62
Add user setting for the editor minimap (#321) 2024-09-04 14:00:29 -07:00
Evan Simkowitz
2cc0fdc999
remove unnecessary height and width from codeeditor 2024-09-04 11:45:26 -07:00
Mike Sawka
f252531197
small update, show actual path iff path is ~ (#314) 2024-09-03 21:18:52 -07:00
Mike Sawka
a7746bc5cc
fix rpc no-route errors, fix fileopen in preview (#313) 2024-09-03 21:08:51 -07:00
Evan Simkowitz
6413d49119
Make default monaco theme transparent, remove import errors (#308)
This makes the background for the "wave-theme-dark" theme transparent.
The light theme is still opaque because otherwise it will look somewhat
dark.

This also suppresses TypeScript/JavaScript import errors in the default
linter, since we don't have support for project directories.

This also reworks the useWidth and useHeight hooks to use the
useResizeObserver hook, which limits the number of ResizeObserver
instances floating around, thereby improving performance
2024-09-03 18:43:59 -07:00
Evan Simkowitz
eeceb17c75
Clean up preview.tsx (#310) 2024-09-03 18:27:41 -07:00
Evan Simkowitz
f5fb1c2664
Move xterm.css to resolve Vite warning (#309) 2024-09-03 18:11:28 -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
c94ff3495b fix terminal paste handler -- use paste fn, unify key handlers. add extra if stmts to focusNode calls in block 2024-09-03 00:02:03 -07:00
sawka
70ef76be62 implement cmd:i, hook up telemetry switch, fix some settings types 2024-09-02 20:21:35 -07:00
Mike Sawka
e3b7ab73c0
preview refactor for keyboard/focus (#303) 2024-09-02 16:48:10 -07:00
Sylvie Crowe
226bc4ee6f
Connect With Non-Terminal Widgets (#304)
- Adds connection buttons for previews
- Makes it possible for graphs and previews to connect on backend
(without a terminal open to connection)
- Changes the wsh install message
2024-09-02 12:34:49 -07:00
Red J Adaya
63cfe1d279
preview edit (#302) 2024-08-31 11:57:45 -07:00
sawka
74f551b212 connstatus fix, update connection icons appropriately for status 2024-08-30 13:56:53 -07:00
Mike Sawka
e488862355
remote sysinfo data plotting (#294) 2024-08-30 11:33:04 -07:00
sawka
945c63a3e5 add monokai, make themes more generic -- display:name/display:order 2024-08-29 21:35:33 -07:00
Mike Sawka
53d3ad04b7
focus/key handling for directory preview (#291) 2024-08-29 17:00:24 -07:00
Mike Sawka
a104a6e446
new focus system part 1 (#290) 2024-08-29 16:06:15 -07:00
Evan Simkowitz
637eaa4206
Use webview's built-in history for navigation (#232) 2024-08-29 13:37:05 -07:00
Red J Adaya
c440fb774e
suggestions UI (#286) 2024-08-28 23:47:45 -07:00
sawka
a7606b8363 update visuals to say gpt-4o-mini 2024-08-28 12:05:36 -07:00
Mike Sawka
8630e23239
new config system (#283) 2024-08-27 18:49:49 -07:00
Sylvie Crowe
ee0bc0a377
Windows Bug Fixes (#281)
Fixes two bugs
- ai component now works on windows
- forces files to use lf line endings on windows instead of crlf
2024-08-27 15:12:26 -07:00
Evan Simkowitz
86fc45fc13
fix double scrollbars in directory preview 2024-08-27 13:28:10 -07:00
Red J Adaya
7d98aeb2c9
fix dynamic setting of suggestions modal (#272) 2024-08-26 16:33:05 -07:00
Mike Sawka
c2fe3b18e1
move connection switching to blockheader (#276) 2024-08-26 16:19:03 -07:00
sawka
2118c24c0d fix ctrl:shift 2 2024-08-26 13:53:46 -07:00
Evan Simkowitz
164afeeb66
Unified node model to pass data from layout to blocks (#259)
This adds a new NodeModel, which can be passed from the TileLayout to
contained blocks. It contains all the layout data that the block should
care about, including focus status, whether a drag operation is
underway, whether the node is magnified, etc.

This also adds a focus stack for the layout, which will let the focus
switch to the last-focused node when the currently-focused one is
closed.

This also addresses a regression in the resize handles that caused them
to be offset from the cursor when dragged.

---------

Co-authored-by: sawka <mike.sawka@gmail.com>
2024-08-26 11:56:00 -07:00
Mike Sawka
62d9d53e52
fix terminal paste (inverted colors) (#271) 2024-08-23 22:12:27 -07:00
Sylvie Crowe
636d71e652
Change Connection UI (#269)
This allows the user to select different connections from the terminal
block. Some features include:
- a status bar at the top of the term block that shows your current
connection
- an icon next to the status bar that shows whether the connection is
currently connected
- the ability to click the status bar and type in a new connection in
order to change the current connection

---------

Co-authored-by: sawka <mike.sawka@gmail.com>
2024-08-23 18:12:40 -07:00
Red J Adaya
b9c87a0ce3
hide when Enter is pressed (#262) 2024-08-23 09:46:04 -07:00
Red J Adaya
c1684d28d1
suggestions modal (#260) 2024-08-23 00:18:49 -07:00
sawka
43138f754c fix double model creation 2024-08-22 16:25:53 -07:00
sawka
9237208e49 quick edits to help 2024-08-22 11:36:35 -07:00
Mike Sawka
dedfc31344
implement Cmd-I and restructure block viewmodels (#257) 2024-08-21 15:49:23 -07:00
Evan Simkowitz
bd4bf93d4a
Update copyright indicators on a bunch of files (#255) 2024-08-20 17:01:29 -07:00
sawka
e70e08e531 implement history functions for preview 2024-08-19 22:07:35 -07:00
sawka
f535c5c1ab default file to ~ 2024-08-19 18:33:52 -07:00
sawka
00958b8fed refactor 2024-08-19 15:01:00 -07:00
Mike Sawka
0d8c159101
remote file preview (streaming) working (#248) 2024-08-19 14:37:52 -07:00
sawka
3f37837394 fix term keydown handler 2024-08-19 12:24:08 -07:00
sawka
b412f72f6b remove unsafe btoa calls 2024-08-19 11:54:54 -07:00
Mike Sawka
8651659c02
get remote preview working (#246)
almost all there -- just need to fix streamfile for web urls.
2024-08-19 11:02:40 -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
sawka
18e2c7ed92 OSC 7 parsing to track and restore the terminal working directory 2024-08-16 13:42:16 -07:00
Red J Adaya
a518846900
only set save button to yellow when there are edits (#228) 2024-08-15 11:17:49 -07:00
Red J Adaya
2684a74db2
webview url fix (#219)
Fixes issue where deleting the entire URL doesn't work in webview.
2024-08-14 14:39:18 -07:00
Red J Adaya
5b686d6534
do not switch to readonly after saving (#223) 2024-08-14 14:38:21 -07:00
Evan Simkowitz
9e1460b9e1
Remove UUID library in favor of Crypto (#221)
This PR swaps usage of the `uuid` library for the built-in
`crypto.randomUUID` function, which is available in both NodeJS and the
browser. The built-in function is around 12x faster than the `uuid`
library. The strings produced by the built-in function are fully
compatible with the UUIDv4 standard, so it's an easy switch.
2024-08-12 21:20:13 -07:00
sawka
f464223aab switch from 'main' to 'term' for main terminal blockfile 2024-08-12 15:53:34 -07:00
Red J Adaya
9a3b38d508
url bar google search and improved url detection (#204) 2024-08-08 11:58:22 -07:00
Evan Simkowitz
7b87b7d7b9
Add WebGL acceleration and link handling to terminal (#205)
This PR adds back WebGL acceleration (enabled by default) for XTerm. It
also adds back link handling and adds a new option (disabled by default)
to open all links internally as a new web block.

---------

Co-authored-by: sawka <mike.sawka@gmail.com>
2024-08-07 14:27:16 -07:00
sawka
6f2c99a5cf more refactoring of block header. isolate atom dependencies more 2024-08-01 16:01:11 -07:00
sawka
9f98d03add rearrange view files into directories 2024-08-01 13:06:18 -07:00
sawka
4b30c8bc3b move preview into own directory 2024-08-01 12:53:49 -07:00
sawka
1d9b56bfd1 add some wsh documentation 2024-08-01 01:21:34 -07:00
Sylvie Crowe
7cba3c46d4
Additional Demo Fixes (#191) 2024-08-01 00:57:06 -07:00
sawka
817afd6138 update web view url if meta url changes 2024-08-01 00:35:44 -07:00
sawka
a23b5ca0e0 panic handlers in wshrpc. also stop waveai from grabbing focus all the time 2024-08-01 00:03:19 -07:00
Sylvie Crowe
c5707de2fd
Fixes For the Demo (#190) 2024-07-31 23:50:38 -07:00
Sylvie Crowe
fc8c1104f4
Create a Help Block (#188)
Adds a block to explain how to use the app.
2024-07-31 22:22:52 -07:00
sawka
a4551f9e4c bind Cmd-r,s,e directly with Monaco for codeedit 2024-07-31 19:41:16 -07:00
Sylvie Crowe
efd1e3c189
CPU Plot (#185)
Adds a CPU % Plotting Widget
2024-07-31 14:13:36 -07:00
Evan Simkowitz
4df8e16a53
Adjust some styling in the directory and markdown previews (#182)
The column headers for the directory preview were a solid color, which
was conflicting with the translucent colors for the rest of the UI. I've
changed this to be more consistent. I've also updated a border color
that was conflicting with the rest of the UI.

The code blocks in the markdown preview were also solid colored and the
actions were causing the whole window UI to lose its transparency when
they were hovered over. This was due to it applying a backdrop-filter,
which breaks the window transparency. I've removed this blur and an
invalid color variable.

This also fixes the bottom margins for both blocks so there's more space
when scrolled all the way to the bottom of the block. Before, the
overlay scrollbars were obscuring the content.
2024-07-31 12:42:58 -07:00
sawka
d68d32f96c terminal themes, use terminal bg to style the full block 2024-07-30 19:52:50 -07:00
Mike Sawka
cfc875bc21
metadata updates (frontend typing) (#174) 2024-07-30 12:33:28 -07:00
Sylvia Crowe
ee7a95955f fix: add frontend default to ai model header
For some reason, this crashes the app on startup without a frontend
default. The backend does not suffice in this case.
2024-07-30 04:07:28 -07:00
Sylvie Crowe
923850313f
AI Fixes (#173)
Fixing a few AI-related bugs
2024-07-29 22:35:21 -07:00
Sylvie Crowe
4494dc25cb
AI Port Context (#170)
This brings over the AI context from the previous app. In particular, it
makes it so each block has its own context that persists after the app
is reloaded.

Note that this does not provide the app with the cli-specific context
from the previous app.
2024-07-29 13:21:44 -07:00
sawka
245394f8e2 add copy file name and path, and shell quoting options as well 2024-07-26 16:06:46 -07:00
Mike Sawka
9df9c99fbd
checkpoint on domain sockets + update background colors + transparency (#160) 2024-07-26 13:30:11 -07:00
Sylvie Crowe
3162ad2c41
Directory Context Menus (#155)
This adds the ability to open a directory as a terminal in a new block.
it uses the directory table items for child directories and the block
header for the current directory.
2024-07-26 00:48:12 -07:00
Red J Adaya
2fea8e0a68
directory preview fixes (#130)
- Set all cols of navigation row(first row) to - except the first col
- Fixed the issue where it scrolls right on load or when you click back
from the file preview
- Use OverlayScrollbars
2024-07-25 21:14:21 -07:00
sawka
127b2bb9bf default block icon/title/name in the same way. use blockName atom from viewmodel 2024-07-25 18:05:32 -07:00
sawka
875fbb87c4 fix term view icon/title 2024-07-25 16:45:07 -07:00
Red J Adaya
96420ea3ef
code editor responsiveness and various fixes (#129) 2024-07-25 12:00:35 -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
Red J Adaya
dcb4d5f2bf
terminal themes feature (#135)
Co-authored-by: sawka
2024-07-24 20:34:22 -07:00
sawka
2f3275e7a6 fix vdom key error 2024-07-24 20:18:55 -07:00
Mike Sawka
6c2ef6cb99
working on vdom implementation, other fixes (#136) 2024-07-23 13:16:53 -07:00
sawka
ee51f2de12 more focus fixes -- write a viewmodel for terminal 2024-07-22 17:08:28 -07:00
sawka
198ec60e69 create an explicit giveFocus() method on the viewmodel. fix preview header text 2024-07-22 16:41:27 -07:00
sawka
fd3581fc42 wsh deleteblock 2024-07-18 18:14:11 -07:00
Red J Adaya
2a81f19b15
code editor header controls (#117) 2024-07-17 23:41:33 -07:00
Evan Simkowitz
4d29dd5b5f
Rename endpoint functions 2024-07-17 18:49:27 -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
sawka
e4204b96d8 remove dirnav, small formatting changes 2024-07-17 16:11:16 -07:00
sawka
dfa0245606 consolidate theme colors 2024-07-17 16:01:11 -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
Sylvie Crowe
b178434c0a
Directory Formatting (#109)
Mostly small style changes so far.
- allow scrolling the table horizontally
- minimum sizes on columns
- datetime format changes
- left/right justify on some columns
2024-07-16 13:24:04 -07:00
Red J Adaya
e140076801
webview controls (#110) 2024-07-15 09:40:28 -07:00
Red J Adaya
7bd0b743f4
dynamic csvview height (#101) 2024-07-10 15:06:19 -07:00
Sylvia Crowe
13f68c0cb8 fix: remove x overflow on directory view
The header wasn't moving along with the rows when they were scrolled, so
the scroll bar has been removed.
2024-07-10 02:36:41 -07:00
Sylvie Crowe
cb77c2047e
More Directory Formatting (#108)
This makes the following changes
- allow directory rows to overflow their container on resize (allowing
scroll as a temporary test)
- fix directory width to account for resizer width
- add ellipsis to name column on table resize
- add the rightmost resizer back (more as a temporary test)
- do not search when the filtered contents are empty
- cap the index to the end of the list of the number of entries becomes
less than the current index
- do not redo backend call on filter or search of directory results
- add letter spacing on header row
2024-07-10 02:21:29 -07:00
Red J Adaya
ff8fe94b1c
use flexbox for responsive waveai (#107) 2024-07-09 18:15:37 -07:00
sawka
edf4c45a6d remove height calculation (flex seems to work), also synchronize meta.url with the real url 2024-07-09 11:42:24 -07:00
Mike Sawka
4be8a1e37e
move codeedit to directory. new useLongClick hook. show quick navig… (#105)
move codeedit to directory. new useLongClick hook. show quick navigation for directoryview on longclick of folder icon. lots more generic
stuff for header
new fitaddon for xtermjs
more fixes for xtermjs scrollbars
2024-07-08 23:13:12 -07:00
Red J Adaya
6d6102b912
fix blocks blurry border (#104) 2024-07-08 22:31:38 -07:00
Sylvie Crowe
f4702cca29
More Directory Formatting (#103)
This change is to make general directory formatting match the current
designs in figma. It doesn't change the resize behavior yet, but that
will be added very soon.
2024-07-08 16:42:01 -07:00
sawka
b97802b1ac modifying viewmodel to be more flexible -- preicon button and endiconbuttons 2024-07-08 16:36:30 -07:00