@christianbundy I think we can substantially improve the performance of a full rebuild (even in pure javascript implementation) by using in-place format (avoid parsing into another memory structure, just to throw it away immediately)
@dinosaur I'm happy you see the advantages of flume! Also, because flume has views, it was possible to add SQL without even asking me to merge anything. Permission-less Innovation! Personal aside, the thing I dislike about SQL is now you have to have a schema, and how do you add things to that schema, so it's both flexible and inflexible.
Another idea: I've been thinking about having a separate log for decrypted messages. Newly decrypted messages would just be copied into this log. The same indexes would run on both, and when you query them they'd be merged, the main log has messages in receive order, and the decrypted log would have messages in decrypt order. Offchain content could handled this way also? I'd like this discussion of "future transforms" to be a lot more concrete. I wanna here about specific usecases!