Git Product home page Git Product logo

Comments (8)

danlester avatar danlester commented on September 24, 2024

Thank you for your notes and detailed research!

This isn't something that anyone else has mentioned, or that I've noticed myself, but as you suggest maybe it is more obvious with longer-running scripts.

Similar 'quirks' have come up before though. For example, Streamlit's use of websockets wasn't 100% in line with the protocol (or maybe it was Tornado missing a step...), so jhsingle-native-proxy had to take into account how HTTP cookies were returned unexpectedly during the websocket handshake.

Anyway, yes, it would be good to 'flush' on the jhsingle-native-proxy side (assuming the upstream JupyterHub proxy handles it OK!).

I'd like to take a look at some point, but if it is a blocker for you then please get in touch and we can see if we can work together on this somehow. In any case, it would be great to hear more about how you are using the project. Email [email protected] if you'd like to discuss.

from jhsingle-native-proxy.

danlester avatar danlester commented on September 24, 2024

I have made a commit that attempts to overcome this problem.

It would be great if you can try it out. Currently only in master branch, not released.

The solution needs to do a bit of processing in Python that it didn't have to do before, so it's possible this will slow things down in the case where the underlying process is not using the 'progressive flushing'. (And also for serving other Voila assets such as CSS and JS.) And there could be other side-effects, so if it is worthwhile for Voila but not other frameworks, maybe this approach needs to become a command-line option.

from jhsingle-native-proxy.

danlester avatar danlester commented on September 24, 2024

I had a chance to release a beta version in case that is easier for you to install: https://pypi.org/project/jhsingle-native-proxy/0.7.2b1/

from jhsingle-native-proxy.

InfiniteChai avatar InfiniteChai commented on September 24, 2024

That's great, thanks for the quick turnaround on that! We'll get that setup in our test environment and let you know how it goes.

from jhsingle-native-proxy.

InfiniteChai avatar InfiniteChai commented on September 24, 2024

With the inclusion of #12, we tested locally and works great! Thanks for helping with this @danlester.

from jhsingle-native-proxy.

danlester avatar danlester commented on September 24, 2024

Thanks for trying it out. Great to hear it works, with your fix.

As before, I think it will make sense to make this feature switchable, and include the argument for Voila only really. Anyway, sounds like you're in a position to move forward for now, and might need to look for a switch in the next full release.

from jhsingle-native-proxy.

InfiniteChai avatar InfiniteChai commented on September 24, 2024

Thanks. Are you able to make a beta release with #12 for us to deploy?

Definitely agreed that putting it behind a feature flag makes sense for a main release.

from jhsingle-native-proxy.

danlester avatar danlester commented on September 24, 2024

No problem, you can now use jhsingle-native-proxy==0.7.2b2

There is a way to install directly from a GitHub commit URL but I think the syntax is different in pip compared to conda, and I can never remember exactly how to do it... And maybe your build system won't allow it anyway.

from jhsingle-native-proxy.

Related Issues (18)

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.