• sign in;
• get a hash "deadbeef" in a contact's presence, and disco it;
• get new capabilities set on us by MC, and our new hash turns out to be "deadbeef".
Now we should satisfy all the waiters for that hash immediately. Currently we do not.
Also, we should save contacts' hashes, so that if a disco request to them times out but actually comes back later, we can look up whose caps to update.