Code Monkey home page Code Monkey logo

Comments (2)

cronvel avatar cronvel commented on August 20, 2024

Hi @MichaelLeeHobbs ,
What you did is probably already the best solution.

To give you some insight, the terminal "protocol" is not really reliable, and in fact, a terminal that does not handle a cursor location request will just silently ignore it, thus the only way to guess if it does not support that feature is to set up a timeout.

So increasing that timeout value is what you need to do.

However, it sounds weird that you need to set it to a value as big as 3000 ms.

Do you try to use Terminal-kit before the end of the SSH negotiation phase? (in your sample code, it seems that the terminal is created once the SSH connection is fully functional, but I'm not sure how the underlying lib works).
If so, I would suggest you to simply wait for a fully functional connection before using Terminal-kit high-level features like .inputField(), and set the the timeout to something like 500 ms.

Also it's worth noting that there is almost no side-effect with a big timeout value, except that if something is not working, it would take more time to fail.

Also that error does nothing with to SDTIN, you should still be able to use Terminal-kit even after that error.

from terminal-kit.

MichaelLeeHobbs avatar MichaelLeeHobbs commented on August 20, 2024

@cronvel Thanks for the info. The high value is likely due to our older SSL VPN we are phasing out. Saying it's terrible is unfair to the word terrible. I'll set the value back down to a normal value and do some testing/debugging on why the terminal seems to break after an error. It's very likely it could be something we are doing as we are doing man-in-the-middle operations to manage the remote passwords. We had a lot of issues early on where we caused the streams to break or close.

from terminal-kit.

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.