Commit Graph

576 Commits

Author SHA1 Message Date
Red J Adaya
b3f7e7a2b9
fix default button text color (#370) 2024-09-12 17:49:57 -07:00
Mike Sawka
174cf3d39d
flash error messages (#369) 2024-09-12 16:02:18 -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
Red J Adaya
df2af04a6e
telemetry fix (#365) 2024-09-11 09:26:43 -07:00
Red J Adaya
c3a02d7e33
revert tabs scroll timing (#363) 2024-09-10 23:22:32 -07:00
Red J Adaya
f6fc0125fd
fix issue where tabs are immediately visible while they're still stacked on load (#362)
This fixes the visual bug where the active tab seems to be the first tab
and then switches to the actual active tab after the tabs are
positioned.
2024-09-10 23:06:27 -07:00
Evan Simkowitz
8f0cd5adcf
fix latent regression from my last pr 2024-09-10 22:50:28 -07:00
Evan Simkowitz
9b12aa9882
Fix bug in TileLayout where computeMoveNode had stale node data (#361)
This was hard to debug. It manifested in nodes that had been collapsed
into their parent. When a node was dragged over the recently-collapsed
node, the placeholder would show the action as if the flex direction was
reversed. It turns out useDrag has trouble tracking changes to the
LayoutNode objects. For now, I am just finding the nodes again in the
computeMoveNode function. Later when I redo the drag system, I will fix
this better.
2024-09-10 17:23:28 -07:00
Evan Simkowitz
f3940f7456
remove unused atom 2024-09-10 15:00:28 -07:00
Evan Simkowitz
6793b41cea
remove unnecessary isUrlDirty atom 2024-09-10 14:59:34 -07:00
Evan Simkowitz
f13b608e79
remove unnecessary set 2024-09-10 14:49:20 -07:00
Evan Simkowitz
467e151aca
fix webview url not being able to be empty 2024-09-10 14:46:59 -07:00
Evan Simkowitz
29db989623
Revert "Keep changes in preview after save (#360)"
This reverts commit 13ac6af4d0.
2024-09-10 14:27:11 -07:00
Evan Simkowitz
13ac6af4d0
Keep changes in preview after save (#360)
A bit hacky, but should allow preview to update to latest file contents
after save
2024-09-10 13:37:30 -07:00
Sylvie Crowe
04fb8e5aad
Mimetype Quick Fixes (#359) 2024-09-10 13:23:02 -07:00
Mike Sawka
5fe0cae244
wsh web (#358) 2024-09-10 12:50:55 -07:00
Red J Adaya
a9486852f9
default white bg for websites with no bg (#355) 2024-09-10 12:16:34 -07:00
sawka
766a976718 errorboundary fallback, errorboundary in block frame header. fix workspace error boundary 2024-09-09 18:20:57 -07:00
Sylvia Crowe
639e796296 fix: clamp connection rowIndex to list size 2024-09-09 17:06:48 -07:00
sawka
01d98fccd2 fix nullptr startsWith 2024-09-09 16:44:26 -07:00
Sylvie Crowe
663cb2cce7
Connection Typeahead Arrow Keys (#352)
This is a first pass to get arrow keys to work with the connection
typeahead.
2024-09-09 16:26:24 -07:00
Evan Simkowitz
65a10ffb36
webview devtools 2024-09-09 15:41:26 -07:00
Evan Simkowitz
dc16d9be3d
fix makeConnRoute in preview 2024-09-09 12:42:47 -07:00
Evan Simkowitz
0d040f1155
use regular@ syntax for icon button class 2024-09-09 12:38:49 -07:00
Evan Simkowitz
9e3c9f9253
Make IconButton its own element, move CopyButton to use it (#357) 2024-09-09 12:35:53 -07:00
Evan Simkowitz
c3924daac3
fix variables for markdown code 2024-09-09 12:09:31 -07:00
Evan Simkowitz
45acc62266
remove undefined variable 2024-09-09 12:08:32 -07:00
Evan Simkowitz
331724c6c3
make code only transparent in pre tags 2024-09-09 12:05:15 -07:00
Evan Simkowitz
1cf3671ac4
remove classname from copybutton since it's already applied by default 2024-09-09 12:01:57 -07:00
Evan Simkowitz
942f7c4431
remove code background 2024-09-09 12:00:47 -07:00
Evan Simkowitz
76d5288aba
apply slug after sanitize 2024-09-09 11:58:55 -07:00
Evan Simkowitz
7c45b3679f
Add syntax highlighting to the Markdown element (#356)
Also fixes the styling for the copy button
2024-09-09 11:56:21 -07:00
Mike Sawka
f62d96ae99
fix url navigation (#353) 2024-09-07 18:22:13 -07:00
Evan Simkowitz
5e80aeb22a
remove unnecessary callback 2024-09-07 11:20:28 -07:00
Evan Simkowitz
f2050f6155
use built-in slug prefix 2024-09-07 11:18:38 -07:00
Evan Simkowitz
97b9760109
make internal heading links work 2024-09-07 11:10:10 -07:00
Evan Simkowitz
b08af477bf
fix typing some more 2024-09-07 11:01:46 -07:00
Evan Simkowitz
910683a825
clean up typing for markdown, add focusedHeading state for future links work 2024-09-07 10:59:33 -07:00
Red J Adaya
b278d11aca
do no animate tabs on load (#351) 2024-09-06 17:41:00 -07:00
Evan Simkowitz
1591a0ca26
fix extern links md 2024-09-06 17:30:19 -07:00
Evan Simkowitz
cab701d3ea
fix resolveOpts props error in md image 2024-09-06 17:23:30 -07:00
Evan Simkowitz
88158289d2
remove debug log 2024-09-06 17:13:30 -07:00
Evan Simkowitz
6117929081
fix links in md preview when there's more than one heading with same name 2024-09-06 17:11:11 -07:00
Evan Simkowitz
1a7fb41182
Add back memoization for toc 2024-09-06 16:32:29 -07:00
Evan Simkowitz
afe73c3e85
Make the debounced node inner rect hook more reliable (#350)
Rather than try to track the transition state, which was proving
unreliable, I am just directly tracking the node state and determining
whether to debounce the inner rect based on whether the user has the
prefers-reduced-motion setting or query, whether the node is resizing,
and whether it's currently magnified. I'm then using the actual
animation time setting to determine how long to debounce.
2024-09-06 16:20:27 -07:00
sawka
30c1d56be6 fix condition 2024-09-06 16:13:16 -07:00
Evan Simkowitz
bd43a4b61d
clean up imports for markdown 2024-09-06 15:19:15 -07:00
Evan Simkowitz
9f5ccddad2
Improve markdown TOC scrolling (#349)
Use a better system for scrolling using scrollTo on the
OverlayScrollbars ref. This lets me get the heading as close to the top
of the viewport as possible without the convoluted CSS tricks I was
trying before.
2024-09-06 15:11:46 -07:00
Mike Sawka
566bf461ff
implement img streaming (local and remote) for markdown (#348) 2024-09-06 12:59:28 -07:00
sawka
f51678415c fix ts errors 2024-09-06 11:13:55 -07:00
sawka
c00749efeb fix useWidth usage, use overlayref directly 2024-09-06 11:10:45 -07:00
Red J Adaya
a00dc5682e
connection status overlay (#337) 2024-09-06 10:33:26 -07:00
Sylvie Crowe
11e4f6074d
Input Modal Fixes (#336)
A couple small things:
- make the timer more robust in case of a timing issue where the timer
skips 0
- make the x button in the corner work
- style the title to stand out

The title will need more styling in the future, but this is still an
improvement.
2024-09-06 04:15:42 -07:00
Mike Sawka
acae25f6e3
connmodal updates. connection colors, conn status in modal (#335) 2024-09-05 23:09:30 -07:00
sawka
975b77e728 updates for suggestions 2024-09-05 22:15:14 -07:00
sawka
a22b1cb9f5 fix reconnect suggestion 2024-09-05 19:25:52 -07:00
sawka
a3296fc530 fix icon position, plus sign, etc. 2024-09-05 18:58:51 -07:00
sawka
98a55b2290 updates for local 2024-09-05 18:54:12 -07:00
Evan Simkowitz
9ef6745d66
fix regression in nodeModel.innerRect 2024-09-05 18:07:55 -07:00
Sylvie Crowe
fc0b1929ec
Connection Typeahead/Suggestions (#332)
Adds a list of potential remotes to add and filters it as you type. It
also provides options for reconnecting on a disconnection and
specifically connecting to a local connection
2024-09-05 17:02:44 -07:00
Evan Simkowitz
015ebf5dd5
Make textAtom and showTocAtom in Markdown element optional (#331)
Fix backwards-compatibility for the Markdown element by adding back the option to pass text directly to the element and make atom parameters optional.
2024-09-05 15:35:57 -07:00
Evan Simkowitz
86685e4bcf
simplify waveai imports 2024-09-05 14:43:14 -07:00
Evan Simkowitz
7393e5e7b6
Missed one 2024-09-05 14:40:25 -07:00
Evan Simkowitz
959255af30
Fix markdown impl in waveai 2024-09-05 14:40:24 -07:00
Red J Adaya
9a361d21d5
responsive typeahead modal (#324) 2024-09-05 14:38:36 -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
Evan Simkowitz
779d2d35b7
make window opacity and window tile gap size pointers so the value gets sent if it is zero 2024-09-05 11:19:52 -07:00
Mike Sawka
3e0ca6b41e
connection handling / block controller handling (#326) 2024-09-05 00:21:08 -07:00
Evan Simkowitz
b796ec9729
reorganize 2024-09-04 23:44:23 -07:00
Evan Simkowitz
4e49549cac
fix padding during magnified 2024-09-04 23:43:26 -07:00
Evan Simkowitz
e1a19a0b80
add user setting for sticky scroll 2024-09-04 23:08:56 -07:00
Evan Simkowitz
292a9ae1e5
disable sticky scroll by default in monaco 2024-09-04 23:05:33 -07:00
Evan Simkowitz
325bb2515e
darken sticky scroll hints in monaco editor 2024-09-04 23:04:32 -07:00
Evan Simkowitz
74c8044c73
Add gap size setting (#325)
Adds a new setting for the gap size between tiles in a layout. Also
updates the resize handle calculations so they are dynamically generated
based on the gap size. Also updates the styling for the resize handles
to be more robust.

This also updates the default gap size to 3px.

This also slims out the Block Frame padding so it is just enough that
the blocks don't overlap when there's no gap.
2024-09-04 22:07:47 -07:00
Evan Simkowitz
072730f7eb
Table of contents for markdown preview (#323)
Adds a table of contents in the markdown preview, with a button in the
header to toggle whether to show the TOC. When a user clicks one of the
TOC elements, the preview will scroll to the corresponding heading.

I've also cleaned up some MD preview styling that was inconsistent and
causing the preview to overflow unnecessarily. This also fixes some
terminology in the preview code.

<img width="574" alt="image"
src="https://github.com/user-attachments/assets/abb18ba9-21d3-4315-bdc3-e4bdcca39a4c">
2024-09-04 21:15:39 -07:00
Evan Simkowitz
0fae6981f8
remove bottom margin and unused rules in directorypreview 2024-09-04 15:42:42 -07:00
Evan Simkowitz
825801d98e
add back border radius 2024-09-04 15:37:16 -07:00
Evan Simkowitz
e0e4256739
remove border radius when tile is not magnified 2024-09-04 15:34:53 -07:00
Evan Simkowitz
0623218373
make border radius conditional in tilelayout 2024-09-04 15:34:13 -07:00
Evan Simkowitz
9cf87723dc
fix tile node border radius 2024-09-04 15:32:45 -07:00
Evan Simkowitz
64a7a6e533
Truncate file paths from the left in the preview header (#322)
This adjusts the block header styling to remove a bunch of unnecessary
attributes and to ensure that we have more consistent shrinking
behavior. Now, file paths will truncate starting on the left side, to
preserve the file name as long as possible. Also, the widget name can
shrink down to zero, while preserving the widget icon, since it's
unnecessary to have both when the widget is small.

<img width="415" alt="image"
src="https://github.com/user-attachments/assets/46e0a74a-f35d-4d09-9c67-019936e67e41">
2024-09-04 15:25:25 -07:00
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
Evan Simkowitz
4e60880b8f
Clean up spacing and padding of elements in the block header (#318)
This frees up some more space for content that was previously being
eaten up by unnecessary gaps and padding. It also centers some
off-center icons.
2024-09-03 23:14:22 -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
Evan Simkowitz
0de41fab08
Fix the client version in the about modal (#315)
The client version in the about modal was hard-coded. Now, it will use
the same values that powered the Electron about modal.
2024-09-03 21:45:44 -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
16e1b7f65c
Unmagnify the final leaf in a layout (#307)
This handles an edge case where a user deletes all unmagnified nodes,
leaving a final node that is still magnified. Because we ignore
magnify/unmagnify operations when there's only one leaf remaining, this
would result in the last node being stuck magnified until a new node is
added.

Also fixes a bug where the layout would not always update when a new
block was added.
2024-09-03 14:26:29 -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
9d344b899d fix issues with layouteffects in block 2024-09-03 10:24:00 -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