Giter Club home page Giter Club logo

Comments (13)

magiblot avatar magiblot commented on September 28, 2024 1

And here is what we get in the case where we hang:

^[_far2lok^G
^[_far2lBA==^G // reply to ping 
^[_f2lAQASAAAAAgAAAAAAAABL^G // alt down
^[_f2lAQBYAAAAAgAAAFgAAABL^G // alt x
<ERR> // wgetch returns -1
f // ?
<ERR> // wgetch returns -1

Therefore, I think far2l is acting strangely but we should use a timeout when doing this. If despite all of this there's still garbage in the command line, then there's nothing else we can do.

I experienced the same behaviour while testing the win32-input-mode support, so I figured out this had nothing to do with far2l. That strange trace was caused by a problem with the way I was debugging the input characters, and the fact that the application got frozen was entirely a bug in Turbo Vision (which is now fixed).

from turbo.

magiblot avatar magiblot commented on September 28, 2024

I can't look into it right now, but that looks like an input event sent at the very end of the program's duration, maybe when the far2l extensions have already been disabled.

from turbo.

unxed avatar unxed commented on September 28, 2024

When I run turbo with some command line params, like turbo 1 2 3, garbage string starts not with executable file name, but with last param, 3f2lAQAmAAAAIAEAAAAAAABr

from turbo.

unxed avatar unxed commented on September 28, 2024

also reproduced under far2l if you run turbo not directly, but from bash shell

from turbo.

unxed avatar unxed commented on September 28, 2024

but reproduces only on remote (ssh) systems. so possibly some timing issue

from turbo.

magiblot avatar magiblot commented on September 28, 2024
AQAmAAAAIAEAAAAAAABr

That's a FARTTY_INPUT_KEYUP event.

from turbo.

magiblot avatar magiblot commented on September 28, 2024

That should fix it. If the connection is slow, then far2l will very likely send us events before extensions get disabled. The only way to consume these events without blocking forever is to send far2l a request right before disabling extensions so that we can keep discarding events until we get the response to that request.

This works with far2l since it replies to invalid requests. I don't know if putty4far2l supports it too, but if it doesn't you'll have to add support for it.

from turbo.

unxed avatar unxed commented on September 28, 2024

Now turbo often hangs with green screen when trying to exit, both under far2l and putty4far2l:

simplescreenrecorder-2023-01-07_00.38.39.mp4

from turbo.

magiblot avatar magiblot commented on September 28, 2024

Damn it.
9889-pain-3

from turbo.

unxed avatar unxed commented on September 28, 2024

Btw, putty4far2l is indeed capable of replying to invalid requests, see https://github.com/unxed/putty4far2l/blob/master/terminal.c#L3639

from turbo.

magiblot avatar magiblot commented on September 28, 2024

Okay, here is what far2l replies in the normal case:

^[_far2lok^G
^[_far2lBA==^G // reply to ping
^[_f2lAQASAAAAAgAAAAAAAABL^G // alt down
^[_f2lAQBYAAAAAgAAAFgAAABL^G // x down
^[_f2lAQASAAAAAAAAAAAAAABr^G // alt up
^[_f2lAQBYAAAAAAAAAFgAAABr^G // x up
^[_far2lBA==^G // reply to ping
<ERR> // wgetch returns -1

And here is what we get in the case where we hang:

^[_far2lok^G
^[_far2lBA==^G // reply to ping 
^[_f2lAQASAAAAAgAAAAAAAABL^G // alt down
^[_f2lAQBYAAAAAgAAAFgAAABL^G // alt x
<ERR> // wgetch returns -1
f // ?
<ERR> // wgetch returns -1

Therefore, I think far2l is acting strangely but we should use a timeout when doing this. If despite all of this there's still garbage in the command line, then there's nothing else we can do.

from turbo.

unxed avatar unxed commented on September 28, 2024

@elfmz maybe you can suggest something?

from turbo.

unxed avatar unxed commented on September 28, 2024

Bug not reproduced any more, thanks!

from turbo.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.