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

Web Sockets #16

Closed
23 tasks done
keithamoss opened this issue Sep 27, 2018 · 0 comments
Closed
23 tasks done

Web Sockets #16

keithamoss opened this issue Sep 27, 2018 · 0 comments
Milestone

Comments

@keithamoss
Copy link
Owner

keithamoss commented Sep 27, 2018

Are web sockets still the blessed way of pushing data to sync up state in multiple remote clients? Where do service workers come in?

Right now we're hackily pulling data back via window.setInterval and it's all a bit awful. Before we go too much further down that path let's investigate the blessed way to push data to clients.

We'll need to make it work for:

Triagers

  • A reviewer coming online / going offline
  • A reviewer changing the status of a work assignment
  • New/updated tweets arriving
  • Updated tweets arriving (e.g. Deleted tweets)

@todo

  • Do we need to include RV's css? (ref)
  • Handle individual new tweets arriving
  • Handle individual backfilled tweets arriving
  • Handle intelligently discarding received tweet objects if we have enough to show a column (i.e. 20/column)
  • Handle receiving the tweets called for by loadMoreRows (these always need to be stored)
  • Handle intelligently discarding tweet objects that are "too far away" from the current view of all columns it appears in
  • Handle user-toggleable filters for "Show me completed tweets" and "Show me discarded tweets" and how that impacts column totals
  • How do we handle new tweets that arrive while the user is disconnected?
  • Handle maintaining position and scrolling to tweets. Ideally, saving it between page loads.
  • Refer to and cleanup Optimisations #18
  • Fix the issue with tweet media

Reviewers

  • Being assigned a new task
  • Having a task unassigned from you
  • Updated tweets arriving (e.g. Deleted tweets)
  • Going offline
  • Notifications (e.g. of being assigned a new task)

Application

  • How will we handle the backend server going down or being switched out? (WebSocket connection being dropped.)
  • Need to handle onChangeQueueUser() in UserReviewQueueViewContainer to fetch assignments for the new user
  • Stop any old person signing up

Resources

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

No branches or pull requests

1 participant