Commit graph

85 commits

Author SHA1 Message Date
Mike Sawka
a85b658cd7
migrate to react 19 (#2272)
migrate to react 19 + fix lingering typescript errors and weirdness.
2025-08-25 21:17:15 -07:00
Mike Sawka
e15d38a795
fix stream-file urls to use new remoteuri (#1984) 2025-02-17 17:55:57 -08:00
Evan Simkowitz
71e126072e
Add S3 fileshare implementation, improve cp behavior (#1896)
Adds the S3 `fileshare` implementation

This also updates `wsh file cp` so it behaves more like `cp` for things
like copying directories and directory entries. It's not meant to align
with `cp` on everything, though. Our `wsh cp` will be recursive and will
create intermediate directories by default.

This also adds new aliases for `wsh view`: `wsh preview` and `wsh open`

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: sawka <mike@commandline.dev>
Co-authored-by: Sylvia Crowe <software@oneirocosm.com>
2025-02-14 17:27:02 -08:00
Mike Sawka
c53c3d0f85
osc9283 and term bg (#1959) 2025-02-14 13:31:31 -08:00
Mike Sawka
e126463029
keyboard chord support, split up/down/left/right, and clear block (#1957) 2025-02-14 13:25:25 -08:00
Mike Sawka
539559c603
launcher block (#1948) 2025-02-11 21:58:03 -08:00
Mike Sawka
f0927879fd
quick refactor on viewmodels and components to make them more uniform (#1945) 2025-02-10 16:26:12 -08:00
Mike Sawka
a73381296d
web bookmarks (#1930) 2025-02-07 16:11:40 -08:00
Mike Sawka
392fa508b1
new file typeahead control (#1913) 2025-02-06 18:02:16 -08:00
Mike Sawka
2aa3e4b6e6
fix crazy tab to 'preview' behavior (#1912) 2025-02-06 15:20:52 -08:00
Mike Sawka
d7a9006f13
new tevents analytics framework (#1894) 2025-02-03 15:32:44 -08:00
Sylvie Crowe
51c36efcc0
fix: connection error only shows in error state (#1838)
This ensures that an error of EOF does not get displayed in the
disconnected state.
2025-01-24 14:16:55 -08:00
Sylvie Crowe
e2800b39b6
S3 Frontend (#1723)
Adds the following changes to the frontend as a part of the S3 Feature.
- Refactor of the Connections Typeahead to make the code easier to read
and navigate
- Adds a new section for s3 profiles to be added to the dropdown
2025-01-22 18:16:39 -08:00
Sylvie Crowe
5f65d85d00
fix: shrink the ssh connection box when no error (#1781)
This removes the rendering of the overlay scrollbars component when
there are no error messages to scroll.
2025-01-20 19:33:28 -08:00
Sylvie Crowe
42766d096a
fix: wsh error copy rewrite (#1770)
The previous version of this was giving undefined values for some users.
This rewrites it and removes an unnecessary memo that may have been
causing the issue.
2025-01-17 19:19:56 -08:00
Sylvie Crowe
618f5f879c
Add a Scrollbar to the SSH Error Popup (#1741)
This modifies the SSH error popup in the following ways:
- adds a scrollbar to the error message so it is easily viewed
- overlays a copy button so it's easy to copy
2025-01-16 18:33:50 -08:00
Mike Sawka
ba5f929b3f
conn updates 3 (#1711)
lots of misc connection refactoring / fixes:

* adds blocklogger as a way to writing logging information from the backend directly to the a terminal block
* use blocklogger in conncontroller
* use blocklogger in sshclient
* fix remote name in password prompt
* use sh -c to get around shell weirdness
* remove cmd.exe special cases
* use GetWatcher().GetFullConfig() rather than re-reading the config file
* change order of things we do when establishing a connection.  ask for wsh up front.  then do domain socket, then connserver
* reduce number of sessions required in the common case when wsh is already installed.  running the connserver is now a "multi-command" which checks if it is installed, then asks for the version
* send jwt token over stdin instead of in initial command string
* fix focus bug for frontend conn modal
* track more information in connstatus
* simplify wshinstall function
* add nowshreason
* other misc cleanup
2025-01-10 14:09:32 -08:00
Evan Simkowitz
b51ff834b2
Happy new year! (#1684)
Update all 2024 references to 2025
2025-01-04 20:56:57 -08:00
Mike Sawka
3fc400960b
terminal multi-input for tab (#1643) 2025-01-02 10:06:47 -08:00
Evan Simkowitz
da2291f889
Terminal search (#1654)
This adds support for searching the terminal buffer using the
`@xterm/addon-search` library. It also adds three options for searching:
regex, case-sensitive, and whole-word. These can be included or excluded
from the search options for `useSearch` depending on whether the search
backend supports it.


![image](https://github.com/user-attachments/assets/e0b7e2ed-641b-463f-94a2-f24969fb3b06)

I didn't like any of the Font Awesome icons for these toggles so until
we have time to make some of our own icons that better match the Font
Awesome style, I've appropriated VSCode's icons from their [codicons
font](https://github.com/microsoft/vscode-codicons).

To implement the toggle-able buttons for these options, I've introduced
a new HeaderElem component, `ToggleIconButton`. This is styled similarly
to `IconButton`, but when you hover over it, it also shows a highlighted
background and when active, it shows as fully-opaque and with an
accented border.

Also removes the `useDismiss` behavior for the search box to better
match behavior in other apps.

Also fixes the scrollbar observer from my previous PR so it's wider.
2025-01-01 10:43:02 -08:00
Sylvie Crowe
0174adea7b
Connections Typeahead Additional Fixes (#1457) 2024-12-10 11:13:15 -08:00
Sylvie Crowe
43c134ea9a
fix: don't show wsh error for a connection error (#1438) 2024-12-09 15:18:58 -08:00
Sylvie Crowe
f78067b62d
fix: smarter connection typeahead arrows (#1431)
This changes the order of typeahead options to be more user friendly.
Additionally, it moves the selected element to the top after a non-arrow
keypress.
2024-12-06 21:32:50 -08:00
Sylvie Crowe
66d1686e84
fix: changes for nowsh compatibility with wsl (#1422)
The wsl largely ignores most nowsh stuff, but there are some options
that can be specified for wsl. This ensures that it will still work
whether or not they are set.

Additionally if fixes the wsh not installed icon.
2024-12-06 14:19:19 -08:00
Sylvie Crowe
6dfc85b324
Retry Without Wsh on Fail (#1406)
Adds the ability for connections to continue without wsh if they fail.
This involves creating a menu that warns the user that wsh could not be
used.
2024-12-06 10:11:38 -08:00
Sylvie Crowe
b4b0222c9d
New Connections Configs (#1383)
This adds the following connections changes:
- connections can be hidden from the dropdown in our internal
connections.json config
- `wsh ssh` -i will write identity files to the internal
connections.json config for that connection
- the internal connections.json config will also be used to get identity
files when connecting
- the internal connections.json config allows setting theme, fontsize,
and font for specific connections
- successful connections (including those using wsh ssh) are saved to
the internal connections.json config
- the connections.json config will be used to help pre-populate the
dropdown list
- adds an item to the dropdown to edit the connections config in an
ephemeral block

---------

Co-authored-by: Evan Simkowitz <esimkowitz@users.noreply.github.com>
2024-12-05 10:02:07 -08:00
Mike Sawka
72f36a9639
wsh run (#1376)
implements `wsh run` command.  lots of fixes (and new options) for command blocks.  cleans up the UX/UI for command blocks.  lots of bug fixes for blockcontrollers.  other minor bug fixes.

also makes editor:* vars into settings override atoms.
2024-12-04 14:16:50 -08:00
Sylvie Crowe
24103213aa
SSH without using WSH (#1355) 2024-11-27 16:52:00 -08:00
Evan Simkowitz
416ba8d5da
Add settings to control the size of the magnified/ephemeral nodes and their blur (#1319) 2024-11-18 14:41:09 -08:00
Mike Sawka
1210313d2b
activity updates (#1302) 2024-11-15 16:09:26 -08:00
Evan Simkowitz
eb00716e00
Don't drag for ephemeral blocks (#1288) 2024-11-14 10:16:08 -08:00
Evan Simkowitz
3fcf209b52
Add ephemeral block support (#1275)
Ephemeral blocks can now be added to the LayoutModel for a tab. Only one
ephemeral block can exist at a time. It is placed above all other
blocks, including the magnified blocks.

Updates how magnified and ephemeral blocks overlay the other blocks.
Now, there's a blurred backdrop behind them that will obscure the other
blocks. As a result of this, the overlayed blocks are now translucent.
2024-11-13 18:00:13 -08:00
Mike Sawka
473225d94b
issue squashing #1175 #1038 #1086 #1081 #1066 #1020 (#1177) 2024-10-31 12:34:30 -07:00
Sylvie Crowe
bf8cc732af
feat: add checkmark next to current connection (#1159)
The is specifically for the typeahead dropdown for connections.
2024-10-27 23:55:43 -07:00
Mike Sawka
701d93884d
vdom 4 (#1110) 2024-10-23 22:47:29 -07:00
Sylvie Crowe
8248637e00
WSL Integration (#1031)
Adds support for connecting to local WSL installations on Windows.

(also adds wshrpcmmultiproxy / connserver router)
2024-10-23 22:43:17 -07:00
Mike Sawka
c1c90bb4f8
browser view (#1005) 2024-10-17 14:34:02 -07:00
Evan Simkowitz
0b88fa590d
Move AI model configs to presets and add a dropdown to swap between configs (#1024) 2024-10-12 18:40:14 -04:00
Mike Sawka
447596b5e7
new config preview:showhiddenfiles and term:theme (#981) 2024-10-07 14:08:57 -07:00
Mike Sawka
d9d19f8368
allow metadata to override the frame title, icon, and text (#972) 2024-10-06 22:08:26 -07:00
Mike Sawka
cacde1b0ba
fix use dimensions hook (#905) 2024-09-30 12:19:29 -07:00
Red J Adaya
dae72e7009
more on button refactor (#388)
- Removed opacity for hover effect. Now uses a brighter variant of color
- Updated other Button usages
2024-09-17 22:38:17 -07:00
Red J Adaya
09f4616ae0
button refactor (#383)
Refactored to be more flexible. Now, it has three types

- solid
- outline
- ghost

and subtypes

- green
- grey
- red
- yellow

It defaults to solid and green when no className is provided. It
concatenates defaults if custom classNames are provided.
2024-09-16 22:23:05 -07:00
Mike Sawka
3939648bbb
fe wsh router + wsh client impl (#381) 2024-09-16 11:59:39 -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
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
9e3c9f9253
Make IconButton its own element, move CopyButton to use it (#357) 2024-09-09 12:35:53 -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