Move Bullhorns to use Server Sent Events, rather than short polling.

Description

Move Bullhorns to use Server Sent Events, rather than short polling. Short polling (polling on an interval) can result in many short lived connections to the server and most of the time those connections will be unnecessary. SSE seems the perfect fit for indeterministic delivery of events to the user's browser. Less frequent establishment of server connections, and a more immediate response for the user.

Attachments

1
  • 28 Mar 2021, 08:02 AM

Activity

Show:

Matthew Jones December 1, 2021 at 10:53 PM
Edited

Earle suggested maybe we need some kind of “heartbeat” to keep the connection alive and avoid changing proxy settings. Like if it sent a character every 30 seconds it would avoid a connection timeout.

I saw this that seemed to be talking about that https://stackoverflow.com/questions/64303764/how-do-you-implement-heartbeat-like-functionality-using-reactors-flux don’t know if it’s the same thing.

Adrian Fish November 30, 2021 at 8:03 PM

I thought that browsers detected this and just opened a new connection, tbh. But I do recall Firefox behaving a little differently.

Matthew Jones November 29, 2021 at 11:15 PM
Edited

Thanks! Looks like there’s a known issue with Firefox where if there isn’t any data sent initially then it reports it as an “can’t establish a connection to the server” error

I saw this similar workaround here https://stackoverflow.com/a/33697115/3708872

Though sounds like even with a “fix” Firefox still shows an error navigating. This seems like it should be open as a new issue if it’s specific to Firefox though not sure how wants to handle it.

Andrea Schmidt November 29, 2021 at 11:06 PM

So far Edge seems to be fine, but am leaving the console open as I work through stuff to make sure it’s not going to pop up again in Edge. Will also open Chrome and check (even though it seems Chrome and Edge are the same).

Matthew Jones November 29, 2021 at 10:59 PM

Yeah, I’m seeing an error in Firefox too, but it seems to be working fine for me in Edge/Chrome/Brave. Are you having success in those browsers?

Details

Priority

Affects versions

Fix versions

Assignee

Reporter

Created September 10, 2020 at 12:30 PM
Updated April 13, 2022 at 7:35 PM