You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm hoping to resurrect the conversation started long ago in #41. I'm working on a map-based app which queries the server with new coordinates whenever the map is moved. This results in a huge number of cached objects and queries which are nearly useless, and slow down the app drastically.
Furthermore, our requirement for eventual offline support means that we've separated timeless "entities" from their state, and create a unique object (with its own unique UUID) for each version. This compounds the problem, as each version of each entity is cached indefinitely when a user is making edits, even if their usefulness is short-lived.
We had garbage collection in Relay, but encountered so many other problems and a total lack of communication, so this caveat was easy to swallow many months ago when we switched to Apollo. However, this is quickly becoming a priority, and I'm willing to lead the charge on getting this implemented.
However, I want to make sure I don't miss any work that's already been done on this, or make design choices that conflict with something else in the Apollo roadmap.
Adding reference counting and purging of no-longer-referenced Nodes (to borrow Relay's terminology) seems like an internal implementation detail, and doesn't concern me too much. However, we also need to add a mechanism for user-land code (or a framework-specific SDK) to inform Apollo when a query is no longer referenced. This should probably share some degree of symmetry between the different supported languages (js, swift, scala, etc).
I'd love to hear if the core team already has some thoughts about this.
The text was updated successfully, but these errors were encountered:
I'm hoping to resurrect the conversation started long ago in #41. I'm working on a map-based app which queries the server with new coordinates whenever the map is moved. This results in a huge number of cached objects and queries which are nearly useless, and slow down the app drastically.
Furthermore, our requirement for eventual offline support means that we've separated timeless "entities" from their state, and create a unique object (with its own unique UUID) for each version. This compounds the problem, as each version of each entity is cached indefinitely when a user is making edits, even if their usefulness is short-lived.
We had garbage collection in Relay, but encountered so many other problems and a total lack of communication, so this caveat was easy to swallow many months ago when we switched to Apollo. However, this is quickly becoming a priority, and I'm willing to lead the charge on getting this implemented.
However, I want to make sure I don't miss any work that's already been done on this, or make design choices that conflict with something else in the Apollo roadmap.
Adding reference counting and purging of no-longer-referenced
Node
s (to borrow Relay's terminology) seems like an internal implementation detail, and doesn't concern me too much. However, we also need to add a mechanism for user-land code (or a framework-specific SDK) to inform Apollo when a query is no longer referenced. This should probably share some degree of symmetry between the different supported languages (js, swift, scala, etc).I'd love to hear if the core team already has some thoughts about this.
The text was updated successfully, but these errors were encountered: