๐พ Archived View for bbs.geminispace.org โบ s โบ misfin โบ 20873 captured on 2024-12-17 at 15:14:25. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
You can install misfin-server here, for Windows and Linux:
Misfin-Server Precompiled Binaries
Oct 14 ยท 2 months ago ยท ๐ gemalaya
๐ clseibold [OP] ยท Oct 14 at 21:49:
If anyone wants to know how I did threading, I basically just create a hashmap of Thread structs that contain pointers to GemMails in them. The Hashmap key is the Subject of the thread (trimmed so there's no "Re: ") and a hash of participants. The hash of participants is the addresses of the last sender and recipients (and mailbox holder) all ordered alphabetically, and then written to a sha256 hasher.
That's all there is to this simple implementation. In fact, the implementation would be much simpler, but less minimal, if I had a database backend for the server (which will probably come in a future update).
The branching off of threads based on participants is just a natural and intuitive outcome of the simpler implementation. To create threads that don't branch off with the additions or removals of participants, the implementation has to be more complicated.