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

Live sheet updates for viewers #53

Closed
dhleong opened this issue Aug 23, 2018 · 3 comments
Closed

Live sheet updates for viewers #53

dhleong opened this issue Aug 23, 2018 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@dhleong
Copy link
Owner

dhleong commented Aug 23, 2018

We should be able to use the Drive API to get realtime updates to sheet data. Doesn't make sense until #25 is done, but once it is this would be pretty slick!

@dhleong dhleong added the enhancement New feature or request label Aug 23, 2018
@dhleong dhleong changed the title Live sheet updates Write-access to files for GMs + Live sheet updates Aug 23, 2018
@dhleong
Copy link
Owner Author

dhleong commented Aug 24, 2018

It looks like Drive's push notifications are provided via webhook, which makes it a no-go. Basically our only real option is to just poll. Certainly doable, but much less fun....

@dhleong
Copy link
Owner Author

dhleong commented Sep 9, 2018

Discovered https://zeit.co/now which has free hosting for OSS. We may be able to set up a server as a sort of web-push proxy instead of having to poll....

dhleong added a commit that referenced this issue Oct 28, 2018
dhleong added a commit that referenced this issue Oct 29, 2018
@dhleong dhleong changed the title Write-access to files for GMs + Live sheet updates Live sheet updates for viewers Oct 31, 2018
@dhleong
Copy link
Owner Author

dhleong commented Oct 31, 2018

Changing the scope of this ticket. We may want to allow GMs to directly modify player sheets at some point, but that should be done later, as a separate ticket.

Personally, I'm more excited for #69, which, combined with the Push channel established here, could allow for real time DM interactions. Part of that ticket is adding a new :campaign key to sheets; we could use that key to detect whether the current user is a DM for the campaign (IE: they have write access to the campaign file, whose ID matches the :campaign key) and can be prompted to grant us full write permission in order to be able to edit it (as above).

dhleong added a commit that referenced this issue Nov 1, 2018
)

* Add methods for collection the watch session API auth map

Refs #53

* Import `http` from old branch; add `(create-session)`

* Import updates to cljs-worker that fix CORS requests to push-server

* Add events and fx to create and connect to sessions

* Automatically create push sessions as the user navigates

* Add some framework for dispatching push events

* Reload sheets in response to "CHANGED" events

Refs #53

It's happening!

* Handle fatal server disconnects with exponential backoff retry

Hopefully this will only come into play on local dev, but it's good to
handle anyway, just in case.

* Create shared throttle-with-set implementation

Prep for `create-watches` routine, which we also want to throttle

* Respond to `need-watch` events

* Wait much longer between push/check when offline

But check immediately when we come back online
dhleong added a commit that referenced this issue Nov 2, 2018
@dhleong dhleong self-assigned this Sep 23, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant