commits
this ensures that describeRepo gives us the right did doc after we make
an updateHandle call -- we emit an #identity guy on the event stream so we
might as well bust our own cache as well as everybody else's
ref bluesky-social/atproto#3393
* µopt: only do one allocation here
* just check if preferences is a key of the prefs obj
i think json.Unmarshal can give u a non-nil guy here and checking for
nil or empty is kinda cringe so let's just do this
currently if you haven't putPreferences at all you break social-app,
since it expects response.preferences to always be present
in a repo with no records, the collections field here ends up being the
nil slice instead of an empty slice, so you get null in the response.
since collections is a required field in the rpc def we shouldn't do this,
it breaks pdsls at least.
Co-authored-by: hailey <hailey@blueskyweb.xyz>