Move Bullhorns to use Server Sent Events, rather than short polling.
Description
Attachments
- 28 Mar 2021, 08:02 AM
blocks
is depended on by
is duplicated by
relates to
Activity

Matthew Jones December 1, 2021 at 10:53 PMEdited
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 PMEdited
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 @Adrian Fish 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
MajorFix versions
Components
Assignee
Adrian FishAdrian FishReporter
Adrian FishAdrian FishLabels
Details
Details
Priority
Fix versions
Components
Assignee

Reporter

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.