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

It's lagging. #9378

Closed
Amaderis opened this issue Jan 8, 2024 · 23 comments · Fixed by #9768
Closed

It's lagging. #9378

Amaderis opened this issue Jan 8, 2024 · 23 comments · Fixed by #9768

Comments

@Amaderis
Copy link

Amaderis commented Jan 8, 2024

Terrible lag when typing on the server. But in another SSH client (MobaXterm) everything is smooth and without such delays. It is impossible to work on data center nodes at all. I really like this application, better than MobaXterm. But this problem is very stressful.

Version: 1.0.205
Platform: Windows x64 10.0.22631
Plugins: none
Frontend: xterm-webgl

@atlas-eric
Copy link

V1.0.205
The large prompt lag on my new installed M2-Mac
One tab open only

Makes it barely useable.

@gitmatters
Copy link

gitmatters commented Jan 22, 2024

Use version 1.0.197 . It's the last version, where ssh and x11 forwarding working flawlessly.

@element0xE
Copy link

Use version 1.0.197 . It's the last version, where ssh and x11 forwarding working flawlessly.

I can confirm the typing expirience tru SSH is flawless with version 1.0.197
MacOS Sonoma 14.3.1 | M2 Max

@atlas-eric
Copy link

atlas-eric commented Feb 24, 2024

Correct.
I went back too and 1.0.197 works great. Sonoma both Intel and M2 versions

@Eugeny
Copy link
Owner

Eugeny commented Feb 27, 2024

Could you please record a performance trace on the new version using the built-in debug tools?

@atlas-eric
Copy link

atlas-eric commented Feb 28, 2024 via email

@Eugeny
Copy link
Owner

Eugeny commented Feb 29, 2024

Tabby has them built in, it's in Settings -> Application -> Debugging

@element0xE
Copy link

element0xE commented Mar 11, 2024

image
This is a screenshot of the trace performance record result (idk if is useful ), of me typing docker container ls connected to a remote machine via SSH using Tabby 1.0.207.

The lag is present on version Version 1.0.207 (1.0.207) and MacOS Sonoma 14.3.1 | M2 Max

Usually an Electron app like tabby let the user export the performance profile , in order to share it ( https://developer.chrome.com/docs/devtools/performance/reference#save )
but this is not the case , when I click to Save Profile button , no save dialog is appearing
image
Is Tabby 1.0.207 saving the record in a specific path ?

PS: I can confirm that on Tabby Version 1.0.197 (the version with no LAG on SSH connections ), I can succesfully save the Performance record into the file, in this version the save button is correctly opening the file Dialog.
Le me know if the performance record of the working version could be needed.

Chrome for Developers
A reference on all the ways to record and analyze performance in Chrome DevTools.

@Eugeny
Copy link
Owner

Eugeny commented Mar 11, 2024

That's weird - it works for me via the toolbar button:

Screenshot 2024-03-11 at 21 19 03

@Eziou
Copy link

Eziou commented Mar 13, 2024

Same, v1.0.207 and severe lag on my new m3 pro macbook, macos Sonoma 14.4.

@gitmatters
Copy link

Please also note #8968 where I also described the issue.

@element0xE
Copy link

element0xE commented Mar 13, 2024

That's weird - it works for me via the toolbar button:

Screenshot 2024-03-11 at 21 19 03

I have attempted to save the performance profile multiple times.
When I start recording the profile on a local terminal, the save dialog appears correctly, but when I click 'Save', the following error is printed in the console. This results in a 0 byte saved file.
[2728:0313/182625.971232:ERROR:CONSOLE(1)] "Error: The request is not allowed by the user agent or the platform in the current context.", source: devtools://devtools/bundled/panels/timeline/timeline.js (1)
image


If I try to record the profile during an SSH session the Save dialog does not appear as expected.
Let me know if you need more specific screenshot maybe can be usefuel.

@element0xE
Copy link

element0xE commented Apr 24, 2024

Any update on this issue ?
People are still opening new issues about it , I think SSH connection is one of the core features of Tabby and we should focus on it.

@atlas-eric
Copy link

atlas-eric commented May 2, 2024 via email

@sterid
Copy link

sterid commented May 6, 2024

Any update on this issue ? People are still opening new issues about it , I think SSH connection is one of the core features of Tabby and we should focus on it.

totally agree

@fhackenberger
Copy link

fhackenberger commented May 7, 2024

Same issues with 1.0.207 on Ubuntu 23.10. Version 1.0.197 works nicely without any lagging. For me it's unrelated to using SSH or not. It also lags locally. I'm also unable to save a performance trace unfortunately.

@bristlehog
Copy link

Same issue for me with Tabby 1.0.207 for Windows 11 Home, but it lags only when working through SSH, while the local terminal doesn't lag. There's a noticeable lag between every keypress and the letter actually appearing on the screen.

I've tried to do a performance profile, but couldn't save it - the save button just does nothing. Attaching the profile screenshot - there are some dropped frames, but not sure if they're to blame or not.

tabby_perf_profile

@h1v9
Copy link
Contributor

h1v9 commented Jul 8, 2024

Same issue here.
Windows 11 22H2, Ryzen 5800X, RTX 2070

I did some testing and only keyboard input via ssh seems to be lagging. Local shell works perfectly fine.
Htop with low delay seems not to be skipping frames either.

More specifically I tested alpha 208, 198 and 197.
(Input) lag seem present on both 208 and 198, but not on 197.
Coincidentially, profile saving does not work on both 208 and 198. On 208 nothing happens when pressing the save button, on 198 the following error gets presented in console
Failed to save timeline: The request is not allowed by the user agent or the platform in the current context. (NotAllowedError)
Profile saving works fine on 197.

Having had a look at the profile themselves I'm not sure where the lagging comes from. On 208 there are some long dropped frames present but I couldn't reproduce them 198.
There are some Partially Presented Frames on 198 but those are present also on 197, so they do not seem related to the issue.

EDIT:
I also just had another look with Wireshark and the problem could be network related.
Alpha 197 packets get correctly recognized as SSHv2 while Alpha 198 get recognized just as "SSH". Moreover, more ACK packets seem to be present between each SSH packet on Alpha 198 compared to Alpha 197.
I halso tested Mobaxterm and its behaviour is closer to Alpha 197 (recognized as SSHv2, even less ACK packets) than Alpha 198

@h1v9
Copy link
Contributor

h1v9 commented Jul 8, 2024

Problem seems to be related to newer ssh2 package versions.
I managed to build Alpha 208 with the old ssh2 used in Alpha 197 (Eugeny/ssh2#9de907d62907d6d45debdcc0ed8dda5b7b19dc7c, seems to be a slightly modified version of ssh2 1.11) and it works perfectly fine without any lag

Now I'm no ssh expert, but in case anyone would want to have a look at what could be the cause here's the comparison of the two versions
mscdex/ssh2@24b497d...v1.14.0

@gitmatters
Copy link

@mscdex can you have a look at what @Vadhvis found out. It seems like there is an issue with ssh2 version 1.12+, which causes major constraints for Tabby.

@mscdex
Copy link

mscdex commented Jul 8, 2024

Try adding client.setNoDelay(true); once connected. Other than that, I have no suggestions.

@h1v9
Copy link
Contributor

h1v9 commented Jul 8, 2024

Try adding client.setNoDelay(true); once connected. Other than that, I have no suggestions.

Worked like a charm, thanks.
I'll prepare a PR tomorrow

@h1v9 h1v9 mentioned this issue Jul 9, 2024
@atlasstaking
Copy link

Thanks for all the hard work!!
Great news!

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 a pull request may close this issue.