lain (npub134r…xq57) Have you seen the new FreeNet?
You can deploy these little rust/wasm smart contracts to manage app state.
https://docs.rs/freenet-stdlib/latest/freenet_stdlib/prelude/trait.ContractInterface.html
Their chat app: https://github.com/freenet/river/blob/main/contracts/room-contract/src/lib.rs
Room state: https://github.com/freenet/river/blob/784b2084d8ab62a341d58c76573c29326afa6106/common/src/room_state.rs#L20
Looks like it just drops old messages on the floor, but most likely it's not that hard to make it keep history.
Limitations are search (because shit's encrypted) and they have no name service (but I think you could probably implement a Namecoin validator as a contract)...
Interesting because it might be a way to build a federated app without all of the fussing around with the protocol itself...

