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

remove dependency on WebSockets #295

Merged
merged 2 commits into from
Dec 15, 2022
Merged

Conversation

anj00
Copy link

@anj00 anj00 commented Nov 25, 2022

As HTTP package has support for web sockets now and the actual package WebSockets is having hard time to keep up with HTTP updates, why not simplify dependency chain

@pdeffebach
Copy link
Contributor

@pfitzseb Would it be possible to take a look at this PR? The ecosystem seems stuck right now with Websockets and Mux not being updated.

@anj00
Copy link
Author

anj00 commented Dec 9, 2022

Although this is a necessary step in the right direction. I realized that the ecosystem is having more dependencies. So far I discovered

  1. WebIO has dependency on Blink in the test code and Blink has dependency on WebIO. In general, this is a great idea to test agains your users, but in precisly this situation this creates a deadlock. So they are locked here and cannot be updated. Maybe there is a chance to convince WebIO folks to disable Blink tests while this update is happening. Release a new version and see if that will work for Blink (I have a version of WebIO locally which works with latest HTTP. it is a matter of proposing such a way forward)
  2. JSExpr (pre 1.0 branch) has dependency on WebIO. And blink depend on it. 1.0 branch of JSExpr doesn't have dependency on WebIO. So we are locked here. But 1.0 JSExpr is such a major API change. It will take a while to iron out all the bugs (I spent a fair bit of time trying to make latest JSExpr work with Blink. I think I know what is needed. almost all tests are passing. But again, it is such a major change. Not sure all the corner cases are taken care of). Maybe there is a way to convince JS
    a. make a 0.5.xx without WebIO dependency. this will break several tests in Blink. But I have code locally which will make blink to pass the tests.
    b. (much longer path). make WebIO 1.0 working for Blink/WebIO. but, again this might take a while.

@anj00
Copy link
Author

anj00 commented Dec 10, 2022

Actually did take a fresh look at the situation. The path for migration is actually bit simpler

  1. update WebSockets to latest HTTP. I have contributed a bit and good people at Websockets did cleanup and the 1.6.0 release (compatible with HTTP [1.1.0 - 1.6.0) JuliaWeb/WebSockets.jl#182). Technically that should be 1.5.xx since the interface didn't change. So we have 1.6.0
  2. update WebIO to latest WebSockets. I did PR here: WebSockets 1.6.0 WebIO.jl#503
  3. Get rid of Websockts and switch directly to HTTP AND move to latest Mux in Blink. this PR.

Above setup passes all the tests for me locally (Windows) and has the latest HTTP so should be unblocking everyone

@pfitzseb pfitzseb merged commit 5176c9e into JuliaGizmos:master Dec 15, 2022
@pfitzseb
Copy link
Member

Thanks!

@pdeffebach
Copy link
Contributor

Thanks! I think this combined with JuliaGizmos/WebIO.jl#503 fixed the problems in pdeffebach/FloatingTableView.jl#29 in FloatingTableView.jl.

Is the next step to make a flurry of releases so everything can sync up?

@pdeffebach
Copy link
Contributor

@pfitzseb Bumping this. What do I need to do so that FloatingTableView.jl lets people use the latest version of Plots.jl?

@pfitzseb
Copy link
Member

Doesn't that just work? I tagged releases for all relevant packages, as far as I'm aware.

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

3 participants