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

Server sent events don't work and seem to be buffered by the Cypress proxy. #1440

Closed
hally9k opened this issue Mar 11, 2018 · 16 comments · Fixed by #2054
Closed

Server sent events don't work and seem to be buffered by the Cypress proxy. #1440

hally9k opened this issue Mar 11, 2018 · 16 comments · Fixed by #2054
Labels
type: feature New feature that does not currently exist
Milestone

Comments

@hally9k
Copy link

hally9k commented Mar 11, 2018

This is following up after tagging onto this issue with my versions, specs and further info:

  • Operating System: macOS 10.13.3
  • Cypress Version: 2.1.0
  • Browser Version: Google Chrome 65

Is this a Feature or Bug?

Bug

Current behavior:

No server sent events are received by the application running in the Cypress browser. If I kill the server then all events are flushed and appear in the browser at once. It seems that the events are getting buffered in Cypress' proxy layer until the connection terminates. This is how nginx works (or more accurately - doesn't work) with buffering turned on.

Desired behavior:

Server sent events are passed through to the application.

How to reproduce:

Run the repro below.

Test code:

https://github.com/hally9k/cypress-sse

@hally9k
Copy link
Author

hally9k commented Mar 13, 2018

@brian-mann If you'd like to take a moment to give me a pointer or two I might have a go at a PR?

@hally9k
Copy link
Author

hally9k commented Mar 22, 2018

@brian-mann is there an update on this issue? Or progress on version 3.0 release?

@brian-mann
Copy link
Member

I apologize I have not yet had a chance to resolve this, and the rest of our team are busy on other features outside of this repo. We're in the middle of raising our 3rd round of funding and with that will be able to add 2-3 more engineers which should help maintain the velocity since we have experience a lot of user growth.

I'm looking at this today and will let you know how it goes. I intended to release this fix with 3.0, but it seems we're still a bit aways on that, and will instead release a 2.x.x fix instead.

@brian-mann
Copy link
Member

I have spent the last few hours on this. I can reproduce and am working on a fix. It's not simple, but it's not the worst thing either.

@hally9k
Copy link
Author

hally9k commented Mar 26, 2018

Awesome! Good luck with it. We are really looking forward to resolving this one.

@brian-mann
Copy link
Member

I got it working but the implementation needs more work specifically around error handling through the proxy...

screen shot 2018-03-26 at 12 58 44 am

@hally9k
Copy link
Author

hally9k commented Mar 28, 2018

@brian-mann Are you continuing to work on this? It would be awesome to get an alpha build to tide us over?

@brian-mann
Copy link
Member

I am doing what I can when I have time to work on it. I will try to have a release this weekend. As I mentioned, now is a transition point for Cypress. Our team is busy at work albeit on other things, and we are in the middle of raising (hopefully) a significant round of financing that I am primarily spearheading. When this is over we will add significantly more developers to keep up with the pace of issues. At the moment we're primarily focused on releasing 3.0.

I have your fix in place, but it requires some proxy changes which are really delicate and specifically error handling needs to be updated to better facilitate it. It's probably another 4-6 hours of work for me to do.

@jennifer-shehane jennifer-shehane added the type: feature New feature that does not currently exist label Apr 2, 2018
@hally9k
Copy link
Author

hally9k commented Apr 16, 2018

@brian-mann How's it all going over there? Any further news regarding the SSE support?

@hally9k
Copy link
Author

hally9k commented May 3, 2018

@brian-mann - I hate to be that guy hassling about his one little feature when you guys are clearly doing a heap of awesome work to get 3.0 out, but... Any chance of that 2.x.x patch release you mentioned?

@hally9k
Copy link
Author

hally9k commented May 28, 2018

@jennifer-shehane @brian-mann Any chance of an update on this front?

@brian-mann
Copy link
Member

Ugh I just realized that this was in a local branch and was never made into a PR. I was doing the changelog for 3.0 and thought this was finished. I still have it locally and see where I left off. I'll get this in the next patch release and I promise this one won't take months.

@jennifer-shehane jennifer-shehane added this to the 3.0.1 milestone May 30, 2018
@hally9k
Copy link
Author

hally9k commented May 31, 2018

Aaaah you missed us out of 3.0!!! Noooooo! Okay, eagerly awaiting 3.0.1 then I suppose...

@brian-mann brian-mann modified the milestones: 3.0.1, 3.0.2 May 31, 2018
@brian-mann
Copy link
Member

I am working on this and we should see this get released in 3.0.2 before Monday. Apologize this took so long. With 3.0 out we are back to smaller iterations.

@hally9k
Copy link
Author

hally9k commented Jun 28, 2018

@brian-mann - The team here are super excited to see this land in 3.0.2 !!

@brian-mann
Copy link
Member

Released in 3.0.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: feature New feature that does not currently exist
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants