Open turt2live opened 6 years ago
Future code will also need to store things like groups data, crypto, etc. At that point it should be possible to do a one-time sync with a filter to get the misc bits of pre-state we need to continue.
Matthew's initial work at making syncs more manageable might help make storing some of this easier. The initial implementation of storing stuff in Evelium is intentionally limited in scope pending some progress on the /sync front, although it should still be okay for daily use.
Priority lowered pending work on the doc mentioned in my last comment.
Checklist
Description
This includes a fairly major refactoring of how rooms/events are represented outside the services. It should also address issues like #64 and add in supporting framework for #54.
Much of this issue is for documentation purposes when/if the system needs to be referenced in the future.
Stats reference:
Information to store:
m.room.member
events ofleave
orkick
, unless they appear in the 50/150 timeline cache)Estimated storage use (for a 1000 room account):
Evelium should use indexeddb to store this information. For further space-saving measures, we could filter out events which cannot be processed by the client before they leave the sync processing. This could cause problems down the road though if Evelium, for example, gains support for
net.arasphere.temperature
then historical events will be missing.