overhaul this crate's interface
- Remove interior mutability inside of Session
- store values in memory as serde_json::Values instead of strings
- add Session::take_value
- use dashmap in MemoryStore
- add an Error associated type instead of using anyhow
- remove reexported but unused libraries
- make memory-store and cookie-store cargo features (currently enabled by default)
- upgrade base64
I plan to leave this open for a few days and merge if there are no concerns
Consider extracting the memory-store and cookie-store into separate crates. They seem to be fairly standalone to allow it, and this way you can control the dependencies more explicitly.
It would be nice if v4 could also address the issue of not being able to clone without blowing away the session value. axum-sessions works around this by using RWLock but this interface is far from ideal. If libraries had some escape hatch to clone without destroying the value that would be helpful.
@jbr do you have a sense for when this might be merged and released?
Hi @jbr I hope you been well, I was just wondering if this is ready to be merged or is there anything that's blocking this from getting merged?
If I can donate my time to help with the maintenance of this crate I'd be more than happy to. Let me know if that would be helpful, @jbr.