-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
Resynchronize rooms upon reconnection to catch missing content #253
Comments
@marcaaron and I had an idea for this, which does change a little bit about how Ion gets data from the network, but it should be a pretty neat solution. Ideally
Quick-n-dirty
So I think we can implement the quick-n-dirty one right away while we continue to explore a more optimal and scalable solution down the road. |
I like the quick and dirty, the "ideal" solution sounds overly complicated. I'd even take the quick and dirty a step further, and just have the report (chat) page poll while it's open to make sure its data is up to date |
@cead22 I would favor a solution that doesn't include anymore timers. We should really focus on figuring out how to reliably detect connection and disconnect... this PR of mine addresses this concern via using the I don't mind abstract loader idea for when a component mounts @tgolen, but less sure that we need each individual loader to have fine grained settings or logic about exactly what to do on reconnect. And I don't think we even need to abstract the loaders - but I agree we should consider it (step 1 of your ideal proposal) Ion already has awareness of what keys are "connected" to it right? (via So we can create a method like When connectivity resumes we can just do |
I agree with that 100%, but that doesn't cover all cases
Mostly I'm trying to avoid a solution that solves this in a generic way for use cases we don't know we have, vs solving the problem we know we have. We can add fancy loaders, or we can make explicit api calls when on the report page. That said, we don't have to do this via polling, we could just make the api calls when we disconnect and then re-connect, but that means connection detection has to be 100% reliable, or the app will suck when this fails, as it won't display all the comments on the report |
Right now when you come back into a room, there's a good chance that messages were sent to you while offline that you missed. Depending on how long you've been offline, it might reconnect from scratch and redownload everything, or just continue the room without noticing the missed messages. I think we need to solve for super-reliable synching, which might change how we store data, request from the API, etc.
The text was updated successfully, but these errors were encountered: