Commit Graph

504 Commits

Author SHA1 Message Date
Sylvia Crowe
661913a718 merge branch 'main' into sylvie/hujson-config 2025-02-24 19:08:14 -08:00
Evan Simkowitz
d51ff87c26
Not found paths in prefix fs always treated as dir (#2002)
Gracefully handle prefix paths that don't exist, representing them as
directories so they can be escaped from.

Also removes the ".." file info from the backend, instead only creating
it on the frontend
2025-02-21 16:32:14 -08:00
Evan Simkowitz
9ef213fc42
Fix XDG_RUNTIME_DIR setting in shellexec (#2019)
XDG_RUNTIME_DIR needs to be set. If it is not set by a user-defined
config, it should default to `/run/user/$UID`
2025-02-21 16:32:04 -08:00
Evan Simkowitz
aa7713e015
Remove env vars in shellexec if the value is empty in the overriding map (#2007) 2025-02-21 10:38:25 -08:00
Evan Simkowitz
7d1c80568d
Skip empty XDG values in shellexec (#2006) 2025-02-20 16:54:03 -08:00
Evan Simkowitz
b0e3b6d777
Fix move & copy for prefix filesystems (#1998)
Also makes recursive the default for copy, adds better error for move
without recursive
2025-02-20 10:17:32 -08:00
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
Sylvia Crowe
aa049788be fix: delete connection if its updated value is nil 2025-02-15 13:21:18 -08:00
Sylvia Crowe
6ecc5412a6 feat: first pass at writing connections to hujson
This replaces the current connection writing system with one that can
write to a hujson file non-destructively. This not only allows us to
write to hujson but also to preserve comments in the process.
2025-02-15 02:02:24 -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
Sylvia Crowe
cca2f0ed7b merge branch 'main' into sylvie/hujson-config 2025-02-14 10:40:11 -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