app.tempomusic.notification.defs

Details · defs
Kinddefs
Authoritynotification.tempomusic.app
Indexed

Showing version bafyreignzqxqdhrxg4mmmwnozbdf2wx7tk6yny64nymowjkptwv535qidq. Show the latest

#notificationView

object

A single notification surfaced to the recipient. Server-projected from indexed like, reply and post records; recipients are scoped server-side from the viewer parameter.

Properties

author

requiredref

The actor whose action produced this notification. Its handle is the one the AppView has verified for that account, absent until projected.

cid

requiredstring · cid

indexedAt

requiredstring · datetime

Timestamp at which the AppView indexed the source record.

isRead

requiredboolean

Server-computed from indexedAt and the recipient's stored seenAt; true when this notification predates seenAt.

reason

requiredstring

Why this notification was produced. knownValues is informational; clients should accept unknown values and skip them.

  • maxLength: 100
  • knownValues: post-liked | post-replied | reply-liked | post-mentioned | reply-mentioned

reasonSubject

string · at-uri

AT-URI of the post or reply that was acted upon (the recipient's own record). Matches Bluesky's reasonSubject semantics. Absent for mentions: the source record is the subject.

record

requiredunknown

The underlying app.tempomusic.feed.like, app.tempomusic.feed.reply or app.tempomusic.feed.post record carried verbatim with its $type discriminator. Lexicon-typed as unknown to match the AT Protocol convention for embedded records.

The recipient's own post or reply that was acted upon (reasonSubject), for the row excerpt. Present for post-liked and reply-liked while that record is live and has something to show; absent for post-replied and the two mention reasons, where the source record in `record` carries the text the row shows, and absent whenever the AppView has nothing to serve — the liked record is gone, or it is a liked reply whose text is blank, leaving nothing to excerpt.

Reference

subjectRootUri

string · at-uri

AT-URI of the root post for navigation. For post-liked / post-replied this equals reasonSubject; for reply-liked this is the root post the liked reply hangs off, letting clients open the right thread without a second lookup. For post-mentioned this is the source post itself; for reply-mentioned the root post of the thread the source reply belongs to.

uri

requiredstring · at-uri

AT-URI of the source record (the like, reply or post) that produced this notification.

#subjectView

object

The acted-upon record reduced to what a notification row shows of it: its text and, for a post, the music it is about — the fallback when the post has no text.

Properties

music

union

The music the acted-upon post is about, so a row can fall back to it when the post has no text. Absent when the record is a reply. The union is open: clients must keep decoding a notification whose music $type they do not know.

text

string

The record's text. Absent when the record carries none, or only whitespace. A post with no text still carries its music, so a subject always has one of the two: a liked reply whose text is blank carries no subject at all. Bounds mirror app.tempomusic.feed.post#text.

  • maxLength: 3000
  • maxGraphemes: 300

uri

requiredstring · at-uri

AT-URI of the acted-upon record, equal to the notification's reasonSubject.

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.