I just merged #2312, and tried building Kubo. This is creating build errors all over the place (Kubo itself, Kademlia, Gossipsub). Upgrading libp2p will be extremely painful if we cut a release now.
I'm wondering if we really need this. Does respecting cancelations actually make sense if we don't get any result back from the peerstore that a call failed (e.g. an error on Put)? Now we can set a context with deadline, but we have no idea if the change was actually committed when that call returns.
What was the motivation behind #2231 anyway?
cc @chaitanyaprem @sukunrt @MarcoPolo