| nav_order | 26 |
|---|---|
| parent | Decision Records |
This is a follow-up to ADR-031.
The chats with AI should be saved on exit from JabRef and retrieved on launch. We need to decide the format of the serialized messages.
- Easy to implement and maintain
- Memory-efficient (because JabRef is said to consume much memory)
- JSON
- MVStore
- Custom format
Chosen option: "MVStore", because it is simple and memory-efficient.
- Good, because allows for easy storing and loading of chats
- Good, because cross-platform
- Good, because widely used and accepted, so there are lots of libraries for JSON format
- Good, because it is even possible to reuse the chats file for other purposes
- Bad, because too verbose (meaning the file size could be much smaller)
- Good, because automatic loading and saving to disk
- Good, because memory-efficient
- Bad, because the order of messages need to be "hand-crafted" (e.g., by mapping from an Integer to the concrete message)
- Good, because we have the full control
- Bad, because involves writing our own language and parser
- Bad, because we need to implement optimizations found in databases on our own (storing some data in RAM, other on disk)