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

fix: use go-based powerline-shell #358

Merged
merged 1 commit into from
Jun 15, 2023
Merged

Conversation

olevski
Copy link
Member

@olevski olevski commented Jun 14, 2023

Switch powerline shell to go.

@olevski olevski marked this pull request as draft June 14, 2023 14:57
@olevski olevski requested a review from rokroskar June 14, 2023 16:14
@olevski
Copy link
Member Author

olevski commented Jun 14, 2023

I tested this on the project where previously the terminal prompt was hanging. It does not behave this way with the new powerline shell.

@olevski
Copy link
Member Author

olevski commented Jun 14, 2023

@rokroskar I ran the problematic project again with the go powerline shell (btw the project is from Firat and it is not public). I cannot get the shell to hang at all. Even when I start the session immediately as soon as it is ready, then open one shell run git lfs pull and open other shells while the LFS files are downloaded. Also it seems that as soon as I ran git lfs pull I could also run git status successfully. Or perhaps the new sessions I launched got lucky and avoided whatever problem was causing git status to take forever to run.

As for needing the powerline fonts here is the relevant part from the repo/instructions:
https://github.com/justjanne/powerline-go#installation

Namely it says:

If you want to use the "patched" mode (which is the default, and provides improved UI), you'll need to install a powerline font, either as fallback, or by patching the font you use for your terminal: see powerline-fonts. Alternatively you can use "compatible" or "flat" mode.

Our old config used compatible mode so I used compatible mode here as well.

@olevski olevski marked this pull request as ready for review June 14, 2023 22:34
@rokroskar
Copy link
Member

This does not fix #357 - I still get it to hang because the git prompt needs to call git status and git is rebuilding the index for some reason. But we should still switch to the powerline-go implementation, I'm all for that.

@rokroskar
Copy link
Member

rokroskar commented Jun 15, 2023

For me, starting a local session hangs the terminal with this project: https://renkulab.io/projects/rok.roskar/adore

I do renku session start, then first I got a message about "dubious repository ownership" and after fixing that I do docker exec -ti <container-name> bash and the shell hangs. Going into the container with sh I can run top and see

  891 jovyan    20   0  721448  13516   7340 S   5.3   0.1   1:20.70 git-lfs
 1057 jovyan    20   0  721704  13924   7596 S   5.3   0.1   1:10.31 git-lfs
 1134 jovyan    20   0  721448  14928   8440 S   5.0   0.1   1:08.39 git-lfs
  889 jovyan    20   0    7660   4148   3760 S   0.7   0.0   0:10.88 git
 1055 jovyan    20   0    7660   4148   3760 S   0.7   0.0   0:10.11 git

(edit: I tried it with the new image from this PR)

@olevski
Copy link
Member Author

olevski commented Jun 15, 2023

@rokroskar funny enough using this definitely prevents the shell hanging in Firat's project in a session in the web ui. Because I can consistently get the terminal to hang when the old powerline shell is used and it never hangs with the new one.

@olevski olevski merged commit c24c99a into master Jun 15, 2023
36 checks passed
@olevski olevski deleted the fix-user-go-powerline-shell branch June 15, 2023 10:00
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.

None yet

2 participants