Commit Graph

546 Commits

Author SHA1 Message Date
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
Red J Adaya
63cfe1d279
preview edit (#302) 2024-08-31 11:57:45 -07:00
Evan Simkowitz
aab487541b
Resolve BlockNum in WSH commands (#301) 2024-08-30 20:20:25 -07:00
Evan Simkowitz
be1ce1f71e
add delay to the magnify transition so I can actually see the animation 2024-08-30 17:45:37 -07:00
sawka
1975b9b1db connstatus icon 2024-08-30 14:36:16 -07:00
sawka
8aa4025907 add restart controller to context menu 2024-08-30 14:01:53 -07:00
sawka
74f551b212 connstatus fix, update connection icons appropriately for status 2024-08-30 13:56:53 -07:00
Evan Simkowitz
ef95fd20ed
remove magnify.less prefers-reduced-motion query 2024-08-30 12:52:58 -07:00
Evan Simkowitz
cb664cff41
ignore prefers-reduced-motion for resize handle line delay 2024-08-30 12:52:02 -07:00
Evan Simkowitz
86d6c5cd60
set prefers-reduced-motion as a global override 2024-08-30 12:48:06 -07:00
Evan Simkowitz
3f4026a6b7
fix resize handle transition timing 2024-08-30 12:45:12 -07:00
Evan Simkowitz
e9b78c354f
Resize handle improvements (#299)
Adds a delay to the resize handle line first showing so it doesn't flicker when the mouse briefly passes over it. Also removes an unnecessary findNode call that was happening on every move. Also adjusts the pointer offset based on the display container bounding rect.
2024-08-30 12:31:03 -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
sawka
6e704f74e3 suppress the error message after it has shown once 2024-08-29 18:08:05 -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
Evan Simkowitz
87d69eb5bc
fix treereducer getting out of sync 2024-08-29 12:38:13 -07:00
Red J Adaya
c440fb774e
suggestions UI (#286) 2024-08-28 23:47:45 -07:00
sawka
bfab5e4223 detect single keypresses 2024-08-28 18:42:04 -07:00
Evan Simkowitz
56a930c1dc
Make disabled iconbuttons more distinct (#289)
Increases the idle opacity for enabled buttons in the header slightly
and decreases opacity for disabled buttons. Also sets a default cursor
when the button is disabled:

Forward button enabled and idle, back button disabled:

![image](https://github.com/user-attachments/assets/b2f4dfc3-2fe8-46e0-9eac-edfebf42dfdd)
Forward button enabled and hovered, back button disabled:

![image](https://github.com/user-attachments/assets/34b4f89d-ba6a-4b57-8533-527ef1bc9868)
2024-08-28 18:30:41 -07:00
sawka
afcbb35341 countGraphemes and add debug package 2024-08-28 17:12:52 -07:00
Evan Simkowitz
c9a1e9afe3
fix drag overlay losing rect changes 2024-08-28 16:24:25 -07:00
Evan Simkowitz
59979b13e7
use linear timing function for layout transitions 2024-08-28 14:25:47 -07:00
Evan Simkowitz
099c196cae
Use transition events to better-coordinate debouncing of NodeModel innerRect (#288)
Rather than using a timeout to debounce changes to the
NodeModel.innerRect, I'll use a transition event on the display
container. This way, if the user disables transitions using the reduced
motion setting, changes to the innerRect value will not be debounced.
2024-08-28 13:28:49 -07:00
sawka
a7606b8363 update visuals to say gpt-4o-mini 2024-08-28 12:05:36 -07:00
Evan Simkowitz
fb65ec1e23
Explicitly set focus on insert (#285)
Adds a flag to the insert layout action to explicitly set the focus of a
newly inserted node. This also adds a flag in the starter layout to
focus on the terminal block.
2024-08-27 23:16:07 -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
Evan Simkowitz
c9c555452a
Establish wlayout for coordinating backend layout actions (#282) 2024-08-27 18:38:57 -07:00