Activity
Type Parameters
Section titled “Type Parameters”| Type Parameter | Default type |
|---|---|
TCustom |
Record<string, unknown> |
Properties
Section titled “Properties”actor: string;actor_user
Section titled “actor_user”actor_user: | { custom: Record<string, unknown>; id: string;} | null;custom
Section titled “custom”custom: TCustom;edited_at
Section titled “edited_at”edited_at: string | null;Null until the activity has been patched.
foreign_id
Section titled “foreign_id”foreign_id: string | null;id: string;object
Section titled “object”object: string;origin_feed
Section titled “origin_feed”origin_feed: string;own_reactions?
Section titled “own_reactions?”optional own_reactions?: string[];reaction_counts
Section titled “reaction_counts”reaction_counts: Record<string, number>;refs: string[];Objects this activity points at, as type:id. Look them up in FeedPage.objects.
target
Section titled “target”target: string | null;time: string;verb: string;version
Section titled “version”version: number;Row version. Starts at 1 and increments on ANY change to this activity — a patch, a
reaction count moving, a soft delete. This is the field to compare when deciding
whether a copy you hold is stale; edited_at marks patches only, so it misses the
field that changes most.
warnings?
Section titled “warnings?”optional warnings?: string[];Non-fatal problems the API noticed about the activity you just WROTE. Present only
on the response to a create — a feed read never carries it. Today the only value is
"actor_user_unresolved": the write succeeded, but actor names a user: id that
has never been through upsertUser, so actor_user is null and every card renders
with no name and no avatar until that user is upserted. Upsert the user, then re-read.