Commit graph

84 commits

Author SHA1 Message Date
3eba65f6e6 Refactor in prep for clip 2024-06-22 07:32:11 -07:00
3f7afc5b78 More clippy 2024-06-22 06:13:09 -07:00
08a41492b8 Clippy I guess 2024-06-21 08:26:56 -07:00
10984034fa Supply the error message when connect fails
This might be too ugly
2024-02-29 13:16:16 -08:00
00daedeb95 Some silly refactoring 2023-11-25 07:57:52 -08:00
519b7bc415 Display the URL we're trying to open when it fails
This means that it is not lost forever and you can, I don't know,
click it in your terminal window or something.

(Thanks @quodlibetor for the patch!)
2023-11-25 07:33:44 -08:00
b85e3fa9a6 Fix crash on changing selection with no ports
No ports always means no selection
2023-04-30 07:33:06 -07:00
815ee5e86e Remove explanation for what fwd does
You probably know already, and it feels clunky here.
2023-04-30 07:24:18 -07:00
ec130d38b9 Support running server side with sudo
This allows forwarding ports that you would otherwise not be able to
see. More dangerous, probably not what you want most of the time, but
OK for now.

(I continue to resist adding clap as a dependency.)
2023-04-30 06:51:37 -07:00
59b8b8f3dc Cleanup some help text 2023-04-26 12:00:01 -07:00
a3c4c3ea5e Track the selection across refreshes by port number
The next step would obviously be to track the selection only by port
number, so that we remember the selection if the port goes away and
comes back.
2023-03-23 19:40:42 -07:00
99d377d4ce Make help modal
I don't like that ENTER and the arrow keys still manipulate the list
while help is showing. Ignore other keypresses while the help screen
is shown.

Also, make the spelling/capitalization a little cleaner.
2023-03-21 23:17:16 -07:00
34340e2575 Simplify centering math, don't crash if the rectangle clips
Also, tests
2023-03-21 23:07:08 -07:00
Brandon W Maister
290dcff9b6 tui: Add a help popup 2023-03-21 22:53:35 -07:00
Brandon W Maister
381c008665 tui: Add a fwd column with a ✓ to show that ports are being forwarded
I didn't realize that everything was forwarded by default, this makes it more
obvious.
2023-03-21 22:53:35 -07:00
7410ec5143 Add tests for keypresses 2023-03-21 22:48:06 -07:00
f174f364a4 Re-add assertions and simplify wrapping 2023-03-21 19:45:17 -07:00
Brandon W Maister
3060032a95 ui: Wrap around list when at the endoflife
Pressing "up"/"k" at the top of the UI will now go to the end of the list. And
same in reverse.
2023-02-18 11:27:58 -08:00
Brandon W Maister
85dc2f0707 ui: Switch j and k keys to match vi -- j means down, k means up 2023-02-18 11:27:23 -08:00
fc144162b9 Better command line parsing, version, usage
Also tests for same
2023-01-24 09:13:53 -08:00
528d616777 Single binary for browsing
Some systems require a single binary for the BROWSER variable, and
rather than muck about with shell scripts we have this small thing
instead.
2022-12-20 07:20:16 -08:00
81b53355f2 Some more bad tests because I'm bored 2022-12-19 20:53:26 -08:00
e0d1efb997 Add a test for that underflow I fixed 2022-12-19 19:45:07 -08:00
c75e684f5b Remove unused import on unix-family systems 2022-12-19 19:09:29 -08:00
0bb3fac61b Don't underflow on no ports
If ports are empty we underflow on `len()-1`, which is bad. Stop doing
that.
2022-12-19 19:07:05 -08:00
34d1830413 Log URL opens 2022-12-17 11:52:12 -08:00
ff5d767d87 Fix windows build 2022-12-17 10:04:22 -08:00
1a5228c380 Basic support for opening a browser maybe 2022-12-17 09:03:35 -08:00
d6c9ae8d71 Move browser code to core crate 2022-12-17 08:48:57 -08:00
9cf0089e48 Handle browse message 2022-12-17 08:29:09 -08:00
c9197a02ff Don't panic if the server sends something unexpected
I mean, it *is* a different version.
2022-12-17 08:27:38 -08:00
83f2ad633b Correct my understanding of mutability a little 2022-12-17 08:26:05 -08:00
d6a2b6bdf6 Fix non-unix build 2022-12-17 08:19:56 -08:00
d63ceb730f Initial browse support, server side 2022-12-17 08:12:30 -08:00
6f906d80a7 Protocol version, async pump, start some testing 2022-12-16 13:57:52 -08:00
abbb30d87b Remove ports when they're unconfigured
This is closer to what I had intended
2022-11-28 07:03:04 -08:00
46c9643ddf Remove unused import 2022-11-28 06:42:51 -08:00
fc75ffcd4e Remove the disconnected screen 2022-11-28 06:41:26 -08:00
dc374f0d20 Change UI to tui 2022-11-27 08:24:01 -08:00
efb7ef6929 Starting configuration, probably doesn't work 2022-10-18 11:28:56 -07:00
86ea099b2c Split client and server into modules 2022-10-17 19:57:47 -07:00
a3727812a2 Make a fine distinction between enabled and connected
This is part of remembering which ports should be enabled and which
not; track ports even if they've gone away or between connection and
disconnection, &c.
2022-10-17 19:42:50 -07:00
c6acf52b32 More reliable stderr piping when disconnected 2022-10-17 07:26:27 -07:00
1308f8828a Small tweaks and fixes 2022-10-16 13:34:31 -07:00
20412a4815 Radical simplification
Honestly the new design is so much better
2022-10-16 09:40:42 -07:00
45e39220e2 Wasting more time 2022-10-16 09:30:03 -07:00
93ac35df93 Cleanup
There's a lot here that feels like it should be better given the new design.
2022-10-16 09:23:49 -07:00
1f91fc68ca This comment was stale 2022-10-16 09:15:45 -07:00
4c3c251181 Don't crash when there are no ports 2022-10-16 09:08:29 -07:00
6cc17e7fca Try to make the UI better when unconnected 2022-10-16 08:55:30 -07:00