Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate SSH Library with Waveshell Installation/Auto-update #322

Merged
merged 17 commits into from
Feb 29, 2024

Conversation

oneirocosm
Copy link
Member

This fix is largely centered around restoring the old workflow where a failed connection allows waveshell to be automatically installed in specific cases. It also reorganizes a good amount of the code around creating a connection and keeping track of it.

The previous set up of launch was difficult to navigate. This makes it
much clearer which will make the auto install flow easier to manage.
This change makes it possible to auto install using the ssh library
instead of making a call to the ssh cli command. This will auto install
if the installed waveshell version is incorrect or cannot be found.
There was a context that didn't have it's cancel function deferred and
an error that wasn't being handle. They're fixed now.
A recent commit made it so a client remained part of the MShellProc
after being disconnected. This is undesireable since a manual
disconnection indicates that the user will need to enter their
credentials again if required. Similarly, if the launch fails with an
error, the expectation is that credentials will have to be entered
again.
The legacy timer frustrates me because it adds a lot of state to the
MShellProc struct that is complicated to manage. But it currently works,
so I will be keeping it for the time being.
With the inclusion of the port number in the canonical id, the :
separator between the remoteref and remote name causes problems if the
port is parsed instead. This changes it to a # in order to avoid this
conflict.
It is possible for the list of extra files to contain null files. This
change ensures the null files will not be erroneously closed.
With port added to the canonicalname, it no longer makes sense to append
the port afterward.
The sudo connection used to have a unique way of entering a password.
This change provides an alternative method using the user input modal
that the other connection methods use. It does not work perfectly with
this revision, but the basic building blocks are in place. It needs a
few timer updates to be complete.
With this change the old timer is no longer needed. It is not fully
removed yet, but it is disabled so as to not get in the way.
Additionally, error handling has been slightly improved.

There is still a bug where an incorrect password prints a new password
prompt after the error message. That needs to be fixed in the future.
@sawka sawka merged commit 6c11571 into main Feb 29, 2024
5 checks passed
sawka pushed a commit that referenced this pull request Sep 18, 2024
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">
@sawka sawka deleted the install-waveshell branch September 18, 2024 19:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants