[READ-ONLY] Mirror of https://github.com/ewanc26/wolfram. Primarily C AT Protocol SDK: client-side, wire-level implementation (XRPC, OAuth/DPoP, identity, repos/MST/CAR, firehose/Jetstream, moderation, CLI, generated clients). Not a port of the PDS/AppView/Ozone backends.
ansi-c api-client at-protocol atproto bluesky c c-sdk decentralized decentralized-social embedded lexicon libwolfram memory-management oauth2 posix sdk shared-library static-library systems-programming xrpc

feat(agent): expose viewer.blocking/muted on wf_agent_profile master

wf_agent_profile already carried viewer.following (a repo record URI, mirroring how a follow is undone) but not blocking (the same shape) or muted (a plain account-level flag with no record to point at, since muteActor/unmuteActor have no output). A consumer showing mute/block state next to a fetched profile -- Cobalt's profile screen, in particular -- had no way to read either back. Parsed the same way viewer.following already is, in wf_agent_profile_from_response; freed the same way in wf_agent_profile_reset. Tested against both a viewer object carrying all three fields and an empty one, so absent state isn't fabricated as present.


+39 -3
3 changed files