hardened bluesky app fork with microcosm

perf: cache identity/records + lite feed hydration (fix one-by-one loading) master

The trickle was hydratePost firing ~7 requests/post (record + author identity + author record + 4 counts + viewer) with NO caching, so a 30-post feed = ~210 uncached requests resolving the same authors over and over. - Add in-memory TTL cache + in-flight dedupe to slingshot resolveMiniDoc (5min) and getRecordByUri (30s): repeated authors/records across a feed are now free - Add hydratePost {lite} mode: skip the 4 count calls + viewer state for feeds (~5 fewer requests/post); feeds use it. Counts fill in when a post is opened. - Also: follower lists via Constellation getBacklinkDids + hydrate (people.ts)


+172 -17
5 changed files