Commit Graph

494 Commits

Author SHA1 Message Date
Mike Sawka
8d9e4b8dfd
remove wsh s3 dependency (#1994) 2025-02-18 18:52:32 -08:00
Evan Simkowitz
772ea41990
Clean up atom usage in preview (#1986) 2025-02-18 16:40:36 -08:00
Evan Simkowitz
1e9ee8c68a
Gracefully handle missing AWS config files in ParseProfiles (#1985) 2025-02-18 16:28:18 -08:00
Mike Sawka
da1f8dea38
s3 suggestions + widget cache (#1987) 2025-02-18 15:15:12 -08:00
Mike Sawka
e15d38a795
fix stream-file urls to use new remoteuri (#1984) 2025-02-17 17:55:57 -08:00
Evan Simkowitz
3c75d1314c
Revert replacehomedir (#1976)
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 18:28:03 -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
e126463029
keyboard chord support, split up/down/left/right, and clear block (#1957) 2025-02-14 13:25:25 -08:00
Sylvie Crowe
3062286cd0
fix: decouple AiSettingsType from SettingsType (#1961)
While there is significant overlap between SettingsType and
AiSettingsType, they are distinct entities and should be treated as such
until more changes have been made.
2025-02-14 00:30:46 -08:00
Mike Sawka
4880531630
suggestions updates (#1953) 2025-02-12 14:00:20 -08:00
Mike Sawka
539559c603
launcher block (#1948) 2025-02-11 21:58:03 -08:00
Mike Sawka
d36bd388e4
new replace, split-horizontal, and split-vertical layout actions... hook up cmd-d and cmd-shift-d... (#1931)
Co-authored-by: Evan Simkowitz <esimkowitz@users.noreply.github.com>
2025-02-10 16:32:23 -08:00
Evan Simkowitz
b4aeb80ae3
Add panic handler to sendrpcmessage to catch channel errors (#1938) 2025-02-10 15:54:14 -08:00
Mike Sawka
a73381296d
web bookmarks (#1930) 2025-02-07 16:11:40 -08:00
Sylvie Crowe
134a1f1ab8
Embedded Structs in Code Generation (#1909)
This allows code generation to properly embed structs when embedded in
the original types. It affects the generation of `gotypes.d.ts` and
`metaconsts.go`.

Additionally, the `AiSettingsType` has been split off and embedded into
the original `SettingsType` to make schema generation easier.
2025-02-07 13:13:47 -08:00
Mike Sawka
392fa508b1
new file typeahead control (#1913) 2025-02-06 18:02:16 -08:00
Sylvie Crowe
e018e7bb44
Drag and Drop File Copy (#1910)
Let's you drag and drop to copy files between preview widgets, even if
they use different connections.

---------

Co-authored-by: Evan Simkowitz <esimkowitz@users.noreply.github.com>
2025-02-06 15:31:45 -08:00
Evan Simkowitz
5339c9cc79
Fix WSH copy internal (#1906)
I was dumb and used `os.Rename` for copy on the same WSH remote. This
change makes it a proper copy, with recursion if needed.

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-02-05 19:12:00 -08:00
Mike Sawka
d7a9006f13
new tevents analytics framework (#1894) 2025-02-03 15:32:44 -08:00
Myles J.
cca18eefa4
Proposal: Add ability to hide widgets via config (#1864)
👋 Hello, I'm not sure if this warranted an Issue first but it seemed
small enough to just raise a PR. I'm happy to add something to the
documentation as well if you agree with the proposal.

There are some widgets that I'd rather not be displayed in the sidebar -
at the moment these are default widgets for which I cannot see any
existing means of omitting them via configuration. I'm proposing a
`display:hidden` field on the widget settings such that I can configure
the following:

```json
{
    "defwidget@ai": {
        "display:hidden": true
    }
}
```

I'm considering this option to be distinct from any means of outright
"disabling" the widget - that is to say that I've not chosen to filter
the widgets from the configuration because I'm not fully aware of the
project goals. Where for example I imagine that it might be useful to be
able to interact with a widget or it's config via the CLI or shortcut
regardless of visibility?

<img width="1421" alt="example"
src="https://github.com/user-attachments/assets/7cafa942-727d-4140-8940-38b4022f2ef0"
/>
2025-02-03 14:50:18 -08:00
Sylvie Crowe
fc298f2a50
settings schema.json (#1874)
Adds schema.json support to the settings file to provide type hints and
other eventual details. This also adds a system to easily add more
schema files for other type of configurations.
2025-02-03 14:20:50 -08:00
Sylvie Crowe
750e260174
fix: use correct mimetypes for .pem and .pub (#1891)
This changes the .pem mimetype to application/x-pem-file. It also
changes the .pub mimetype to text/plain. Lastly, it updates
textApplicationMimetypes with this change.
2025-01-31 13:51:07 -08:00
Evan Simkowitz
902ff9baf1
enable wsh file cross-remote copy/move (#1725)
This adds the ability to stream `tar` archives over channels between
`wsh` instances. The main use cases for this are remote copy and move
operations.

It also completes the `wavefs` implementation of the FileShare interface
to allow copy/move interoperability between wavefiles and other storage
types.

The tar streaming functionality has been broken out into the new
`tarcopy` package for easy reuse.

New `fileshare` functions are added for `CopyInternal`, which allows
copying files internal to a filesystem to bypass the expensive interop
layer, and `MoveInternal`, which does the same for moving a file within
a filesystem. Copying between remotes is now handled by `CopyRemote`,
which accepts the source `FileShareClient` as a parameter. `wsh`
connections use the same implementation for `CopyInternal` and
`CopyRemote` as they need to request the channel on the remote
destination, since we don't offer a way to pass channels as a parameter
to a remote call.

This also adds a recursive `-r` flag to `wsh file rm` to allow for
deleting a directory and all its contents.

S3 support will be addressed in a future PR.

---------

Co-authored-by: sawka <mike@commandline.dev>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-01-31 10:42:39 -08:00
Evan Simkowitz
a8dd0b7f29
Cleanup retrySendTimeout func creation (#1872) 2025-01-30 17:33:18 -08:00
Mike Sawka
5db84e5f08
finalize context correctly for stream requests (#1873) 2025-01-29 15:15:00 -08:00
Evan Simkowitz
8bf6755375
Don't attempt to build SIGUSR1 handler for Windows, add it to WSH (#1871) 2025-01-29 12:42:55 -08:00
Mike Sawka
5418e5ad24
fail any rpc call which blocks the runServer loop for more than 1s (#1861) 2025-01-27 22:38:19 -08:00
Mike Sawka
02e4bdc1e6
send SIGUSR1 to dump all goroutines (for debugging) (#1860) 2025-01-27 18:01:02 -08:00
Evan Simkowitz
f83e645fab
Add connparse tests for Windows and WSL (#1844)
Also fixes the S3 test
2025-01-24 15:10:08 -08:00
Evan Simkowitz
270855f9cf
Fix connparse for wsl (#1843)
Co-authored-by: sawka <mike@commandline.dev>
2025-01-24 14:55:45 -08:00
Sylvie Crowe
b9f703f2b5
refactor: remove ConnOverrideConfig (#1842)
The behavior that ConnOverrideConfig controlled became default behavior,
so it can be removed.
2025-01-24 14:35:11 -08:00
Mike Sawka
bba94a62d0
add jwt token back to wsl connections (#1841)
Co-authored-by: Evan Simkowitz <esimkowitz@users.noreply.github.com>
2025-01-24 14:24:15 -08:00
Evan Simkowitz
209647f343
Handle integer overflow cases in shellquote (#1822)
Resolves CodeQL warnings
2025-01-23 18:18:44 -08:00
Mike Sawka
1913cc5c99
initscript -- support for local files, and overrides in connections.json (#1818) 2025-01-23 15:41:13 -08:00
Evan Simkowitz
965ed288f8
Remove fileshare logs (#1814) 2025-01-23 12:38:55 -08:00
Evan Simkowitz
9406967edd
Fix offset regression in wshremote (#1807)
Co-authored-by: sawka <mike@commandline.dev>
2025-01-22 22:24:35 -08:00
Evan Simkowitz
50b80a10fd
Add license identifiers to missing files (#1806) 2025-01-22 20:06:36 -08:00
Evan Simkowitz
68c8c4e156
Fix tilde paths (#1801) 2025-01-22 17:59:11 -08:00
Evan Simkowitz
689b2d63c2
Revert my cheeky change (#1799) 2025-01-22 17:50:50 -08:00
Evan Simkowitz
a98242138d
Fix windows path for wsh url (#1798) 2025-01-22 17:28:59 -08:00
Mike Sawka
ec07b172e5
pull cmd:env and initscripts into wave terminals (#1793) 2025-01-22 16:04:08 -08:00
Evan Simkowitz
11fec5695c
wsh file overhaul without cross-remote copy and S3 (#1790) 2025-01-22 14:50:09 -08:00
Sylvie Crowe
385d01148c
Add Option to Ignore SSH Config File (#1788)
This provides a new configuration option that will turn off the ssh
config parsing. It also removes the flag required to override the ssh
config values with internal json values
2025-01-21 19:04:21 -08:00
Sylvie Crowe
4ad7b99251
Known Hosts User Input Fix (#1778)
This handles ambiguous cases where the context that determines the block
id of a command is not provided.
2025-01-20 14:38:40 -08:00
Mike Sawka
d81b6b85c0
longer timeout to read wsh version (2FA prompts) (#1776) 2025-01-20 14:06:37 -08:00
Yacoub
bcd0ec8a0b
fileMode-fix for issue #1694 Windows bug (#1710) 2025-01-18 11:21:15 -08:00
Sylvie Crowe
ad3113e46e
Wshless Connections in Wsl (#1769)
This makes it possible to disable wsh for WSL connections. While this is
not recommended, it brings the code closer to the SSH connection
implementation and will make it easier to consolidate the two in the
future.
2025-01-17 18:28:46 -08:00
Evan Simkowitz
f35375ee1a
Fix openai regression (#1758)
this impacts custom openai providers, not wave proxy
2025-01-16 18:02:18 -08:00
Mike Sawka
1cd1744317
remove two calls to conn.Connect() (#1757) 2025-01-16 17:32:41 -08:00
Sylvie Crowe
ff5f26709c
WSL Updates for New Architecture (#1756)
This adapts most of the WSL code to follow the new architecture that ssh
uses.

---------

Co-authored-by: sawka <mike@commandline.dev>
2025-01-16 15:54:58 -08:00