social.colibri.sync.subscribeEvents
Schema Diff
+221 -4
Compatibility Analysis
Breaking Changes Detected
23 breaking changes, 81 non-breaking changes.
Breaking Changes (23)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope", src: "social.colibri.sync.subscribeEvents#humEnvelope", tgt: "social.colibri.sync.subscribeEvents#humEnvelope.origin", kind: "prop", name: Some("origin") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope", src: "social.colibri.sync.subscribeEvents#humEnvelope", tgt: "social.colibri.sync.subscribeEvents#humEnvelope.community", kind: "prop", name: Some("community") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope", src: "social.colibri.sync.subscribeEvents#humEnvelope", tgt: "social.colibri.sync.subscribeEvents#humEnvelope.subject", kind: "prop", name: Some("subject") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope", src: "social.colibri.sync.subscribeEvents#humEnvelope", tgt: "social.colibri.sync.subscribeEvents#humEnvelope.ttl", kind: "prop", name: Some("ttl") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope", src: "social.colibri.sync.subscribeEvents#humEnvelope", tgt: "social.colibri.sync.subscribeEvents#humEnvelope.id", kind: "prop", name: Some("id") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope", src: "social.colibri.sync.subscribeEvents#humEnvelope", tgt: "social.colibri.sync.subscribeEvents#humEnvelope.event", kind: "prop", name: Some("event") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEvent", src: "social.colibri.sync.subscribeEvents#voiceStateEvent", tgt: "social.colibri.sync.subscribeEvents#voiceStateEvent.data", kind: "prop", name: Some("data") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEvent", src: "social.colibri.sync.subscribeEvents#voiceStateEvent", tgt: "social.colibri.sync.subscribeEvents#voiceStateEvent.type", kind: "prop", name: Some("type") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEventData", src: "social.colibri.sync.subscribeEvents#voicePresenceEventData", tgt: "social.colibri.sync.subscribeEvents#voicePresenceEventData.channel", kind: "prop", name: Some("channel") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEventData", src: "social.colibri.sync.subscribeEvents#voicePresenceEventData", tgt: "social.colibri.sync.subscribeEvents#voicePresenceEventData.did", kind: "prop", name: Some("did") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEventData", src: "social.colibri.sync.subscribeEvents#voicePresenceEventData", tgt: "social.colibri.sync.subscribeEvents#voicePresenceEventData.event", kind: "prop", name: Some("event") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember", src: "social.colibri.sync.subscribeEvents#memberEventMember", tgt: "social.colibri.sync.subscribeEvents#memberEventMember.did", kind: "prop", name: Some("did") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember", src: "social.colibri.sync.subscribeEvents#memberEventMember", tgt: "social.colibri.sync.subscribeEvents#memberEventMember.data", kind: "prop", name: Some("data") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember", src: "social.colibri.sync.subscribeEvents#memberEventMember", tgt: "social.colibri.sync.subscribeEvents#memberEventMember.handle", kind: "prop", name: Some("handle") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember", src: "social.colibri.sync.subscribeEvents#memberEventMember", tgt: "social.colibri.sync.subscribeEvents#memberEventMember.roles", kind: "prop", name: Some("roles") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEvent", src: "social.colibri.sync.subscribeEvents#voicePresenceEvent", tgt: "social.colibri.sync.subscribeEvents#voicePresenceEvent.type", kind: "prop", name: Some("type") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEvent", src: "social.colibri.sync.subscribeEvents#voicePresenceEvent", tgt: "social.colibri.sync.subscribeEvents#voicePresenceEvent.data", kind: "prop", name: Some("data") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEventData", src: "social.colibri.sync.subscribeEvents#voiceStateEventData", tgt: "social.colibri.sync.subscribeEvents#voiceStateEventData.channel", kind: "prop", name: Some("channel") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEventData", src: "social.colibri.sync.subscribeEvents#voiceStateEventData", tgt: "social.colibri.sync.subscribeEvents#voiceStateEventData.did", kind: "prop", name: Some("did") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "social.colibri.sync.subscribeEvents#memberEventData", src: "social.colibri.sync.subscribeEvents#memberEventData", tgt: "social.colibri.sync.subscribeEvents#memberEventData.membership", kind: "prop", name: Some("membership") }
- ConstraintAdded ConstraintAdded { vertex_id: "social.colibri.sync.subscribeEvents#communityEventData.categoryOrder:items", sort: "format", value: "at-uri" }
- ConstraintAdded ConstraintAdded { vertex_id: "social.colibri.sync.subscribeEvents#categoryEventData.channelOrder:items", sort: "format", value: "at-uri" }
- ConstraintTightened ConstraintTightened { vertex_id: "social.colibri.sync.subscribeEvents#memberEventData.event", sort: "knownValues", old_value: "[\"join\",\"leave\"]", new_value: "[\"join\",\"leave\",\"roles_updated\"]" }
Non-Breaking Changes (81)
- AddedVertex AddedVertex { vertex_id: "lex:social.colibri.actor.defs#actorData" }
- AddedVertex AddedVertex { vertex_id: "lex:social.colibri.sync.subscribeEvents#memberEventMember" }
- AddedVertex AddedVertex { vertex_id: "lex:social.colibri.sync.subscribeEvents#typingEvent" }
- AddedVertex AddedVertex { vertex_id: "lex:social.colibri.sync.subscribeEvents#userEvent" }
- AddedVertex AddedVertex { vertex_id: "lex:social.colibri.sync.subscribeEvents#voicePresenceEvent" }
- AddedVertex AddedVertex { vertex_id: "lex:social.colibri.sync.subscribeEvents#voicePresenceEventData" }
- AddedVertex AddedVertex { vertex_id: "lex:social.colibri.sync.subscribeEvents#voiceStateEvent" }
- AddedVertex AddedVertex { vertex_id: "lex:social.colibri.sync.subscribeEvents#voiceStateEventData" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#channelEventData.category" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#communityEventData.banner" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#communityEventData.requiresApprovalToJoin" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope.community" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope.event" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant0" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant1" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant2" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant3" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope.id" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope.origin" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope.subject" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope.ttl" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventData.member" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventData.memberDid" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember.data" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember.did" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember.handle" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember.joinedAt" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember.nickname" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember.roles" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember.roles:items" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember.vc" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember.vcDeafened" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember.vcMuted" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#messageEventData.live" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEvent" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEvent.data" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEvent.type" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEventData" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEventData.channel" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEventData.did" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEventData.event" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEvent" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEvent.data" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEvent.type" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEventData" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEventData.channel" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEventData.deafened" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEventData.did" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEventData.muted" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEventData.serverDeafened" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEventData.serverMuted" }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#channelEventData", tgt: "social.colibri.sync.subscribeEvents#channelEventData.category", kind: "prop", name: Some("category") }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#communityEventData", tgt: "social.colibri.sync.subscribeEvents#communityEventData.banner", kind: "prop", name: Some("banner") }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#communityEventData", tgt: "social.colibri.sync.subscribeEvents#communityEventData.requiresApprovalToJoin", kind: "prop", name: Some("requiresApprovalToJoin") }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#humEnvelope.event", tgt: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant0", kind: "variant", name: Some("lex:social.colibri.sync.subscribeEvents#userEvent") }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#humEnvelope.event", tgt: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant1", kind: "variant", name: Some("lex:social.colibri.sync.subscribeEvents#typingEvent") }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#humEnvelope.event", tgt: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant2", kind: "variant", name: Some("lex:social.colibri.sync.subscribeEvents#voicePresenceEvent") }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#humEnvelope.event", tgt: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant3", kind: "variant", name: Some("lex:social.colibri.sync.subscribeEvents#voiceStateEvent") }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant0", tgt: "lex:social.colibri.sync.subscribeEvents#userEvent", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant1", tgt: "lex:social.colibri.sync.subscribeEvents#typingEvent", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant2", tgt: "lex:social.colibri.sync.subscribeEvents#voicePresenceEvent", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant3", tgt: "lex:social.colibri.sync.subscribeEvents#voiceStateEvent", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#memberEventData", tgt: "social.colibri.sync.subscribeEvents#memberEventData.member", kind: "prop", name: Some("member") }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#memberEventData", tgt: "social.colibri.sync.subscribeEvents#memberEventData.memberDid", kind: "prop", name: Some("memberDid") }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#memberEventData.member", tgt: "lex:social.colibri.sync.subscribeEvents#memberEventMember", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#memberEventMember", tgt: "social.colibri.sync.subscribeEvents#memberEventMember.joinedAt", kind: "prop", name: Some("joinedAt") }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#memberEventMember", tgt: "social.colibri.sync.subscribeEvents#memberEventMember.nickname", kind: "prop", name: Some("nickname") }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#memberEventMember", tgt: "social.colibri.sync.subscribeEvents#memberEventMember.vc", kind: "prop", name: Some("vc") }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#memberEventMember", tgt: "social.colibri.sync.subscribeEvents#memberEventMember.vcDeafened", kind: "prop", name: Some("vcDeafened") }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#memberEventMember", tgt: "social.colibri.sync.subscribeEvents#memberEventMember.vcMuted", kind: "prop", name: Some("vcMuted") }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#memberEventMember.data", tgt: "lex:social.colibri.actor.defs#actorData", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#memberEventMember.roles", tgt: "social.colibri.sync.subscribeEvents#memberEventMember.roles:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#messageEventData", tgt: "social.colibri.sync.subscribeEvents#messageEventData.live", kind: "prop", name: Some("live") }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#voicePresenceEvent.data", tgt: "lex:social.colibri.sync.subscribeEvents#voicePresenceEventData", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#voiceStateEvent.data", tgt: "lex:social.colibri.sync.subscribeEvents#voiceStateEventData", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#voiceStateEventData", tgt: "social.colibri.sync.subscribeEvents#voiceStateEventData.deafened", kind: "prop", name: Some("deafened") }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#voiceStateEventData", tgt: "social.colibri.sync.subscribeEvents#voiceStateEventData.muted", kind: "prop", name: Some("muted") }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#voiceStateEventData", tgt: "social.colibri.sync.subscribeEvents#voiceStateEventData.serverDeafened", kind: "prop", name: Some("serverDeafened") }
- AddedEdge AddedEdge { src: "social.colibri.sync.subscribeEvents#voiceStateEventData", tgt: "social.colibri.sync.subscribeEvents#voiceStateEventData.serverMuted", kind: "prop", name: Some("serverMuted") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "lex:social.colibri.actor.defs#actorData" }AddedVertex { vertex_id: "lex:social.colibri.sync.subscribeEvents#memberEventMember" }AddedVertex { vertex_id: "lex:social.colibri.sync.subscribeEvents#typingEvent" }AddedVertex { vertex_id: "lex:social.colibri.sync.subscribeEvents#userEvent" }AddedVertex { vertex_id: "lex:social.colibri.sync.subscribeEvents#voicePresenceEvent" }AddedVertex { vertex_id: "lex:social.colibri.sync.subscribeEvents#voicePresenceEventData" }AddedVertex { vertex_id: "lex:social.colibri.sync.subscribeEvents#voiceStateEvent" }AddedVertex { vertex_id: "lex:social.colibri.sync.subscribeEvents#voiceStateEventData" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#channelEventData.category" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#communityEventData.banner" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#communityEventData.requiresApprovalToJoin" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope.community" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope.event" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant0" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant1" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant2" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant3" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope.id" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope.origin" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope.subject" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope.ttl" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventData.member" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventData.memberDid" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember.data" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember.did" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember.handle" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember.joinedAt" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember.nickname" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember.roles" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember.roles:items" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember.vc" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember.vcDeafened" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember.vcMuted" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#messageEventData.live" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEvent" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEvent.data" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEvent.type" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEventData" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEventData.channel" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEventData.did" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEventData.event" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEvent" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEvent.data" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEvent.type" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEventData" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEventData.channel" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEventData.deafened" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEventData.did" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEventData.muted" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEventData.serverDeafened" }AddedVertex { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEventData.serverMuted" }
Constraint Changes
- ConstraintTightened ConstraintTightened { vertex_id: "social.colibri.sync.subscribeEvents#memberEventData.event", sort: "knownValues", old_value: "[\"join\",\"leave\"]", new_value: "[\"join\",\"leave\",\"roles_updated\"]" }
- ConstraintAdded ConstraintAdded { vertex_id: "social.colibri.sync.subscribeEvents#categoryEventData.channelOrder:items", sort: "format", value: "at-uri" }
- ConstraintAdded ConstraintAdded { vertex_id: "social.colibri.sync.subscribeEvents#communityEventData.categoryOrder:items", sort: "format", value: "at-uri" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope", src: "social.colibri.sync.subscribeEvents#humEnvelope", tgt: "social.colibri.sync.subscribeEvents#humEnvelope.origin", kind: "prop", name: Some("origin") }
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope", src: "social.colibri.sync.subscribeEvents#humEnvelope", tgt: "social.colibri.sync.subscribeEvents#humEnvelope.community", kind: "prop", name: Some("community") }
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope", src: "social.colibri.sync.subscribeEvents#humEnvelope", tgt: "social.colibri.sync.subscribeEvents#humEnvelope.subject", kind: "prop", name: Some("subject") }
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope", src: "social.colibri.sync.subscribeEvents#humEnvelope", tgt: "social.colibri.sync.subscribeEvents#humEnvelope.ttl", kind: "prop", name: Some("ttl") }
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope", src: "social.colibri.sync.subscribeEvents#humEnvelope", tgt: "social.colibri.sync.subscribeEvents#humEnvelope.id", kind: "prop", name: Some("id") }
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#humEnvelope", src: "social.colibri.sync.subscribeEvents#humEnvelope", tgt: "social.colibri.sync.subscribeEvents#humEnvelope.event", kind: "prop", name: Some("event") }
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEvent", src: "social.colibri.sync.subscribeEvents#voicePresenceEvent", tgt: "social.colibri.sync.subscribeEvents#voicePresenceEvent.type", kind: "prop", name: Some("type") }
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEvent", src: "social.colibri.sync.subscribeEvents#voicePresenceEvent", tgt: "social.colibri.sync.subscribeEvents#voicePresenceEvent.data", kind: "prop", name: Some("data") }
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEventData", src: "social.colibri.sync.subscribeEvents#voicePresenceEventData", tgt: "social.colibri.sync.subscribeEvents#voicePresenceEventData.channel", kind: "prop", name: Some("channel") }
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEventData", src: "social.colibri.sync.subscribeEvents#voicePresenceEventData", tgt: "social.colibri.sync.subscribeEvents#voicePresenceEventData.did", kind: "prop", name: Some("did") }
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#voicePresenceEventData", src: "social.colibri.sync.subscribeEvents#voicePresenceEventData", tgt: "social.colibri.sync.subscribeEvents#voicePresenceEventData.event", kind: "prop", name: Some("event") }
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember", src: "social.colibri.sync.subscribeEvents#memberEventMember", tgt: "social.colibri.sync.subscribeEvents#memberEventMember.did", kind: "prop", name: Some("did") }
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember", src: "social.colibri.sync.subscribeEvents#memberEventMember", tgt: "social.colibri.sync.subscribeEvents#memberEventMember.data", kind: "prop", name: Some("data") }
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember", src: "social.colibri.sync.subscribeEvents#memberEventMember", tgt: "social.colibri.sync.subscribeEvents#memberEventMember.handle", kind: "prop", name: Some("handle") }
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#memberEventMember", src: "social.colibri.sync.subscribeEvents#memberEventMember", tgt: "social.colibri.sync.subscribeEvents#memberEventMember.roles", kind: "prop", name: Some("roles") }
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEvent", src: "social.colibri.sync.subscribeEvents#voiceStateEvent", tgt: "social.colibri.sync.subscribeEvents#voiceStateEvent.data", kind: "prop", name: Some("data") }
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEvent", src: "social.colibri.sync.subscribeEvents#voiceStateEvent", tgt: "social.colibri.sync.subscribeEvents#voiceStateEvent.type", kind: "prop", name: Some("type") }
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEventData", src: "social.colibri.sync.subscribeEvents#voiceStateEventData", tgt: "social.colibri.sync.subscribeEvents#voiceStateEventData.channel", kind: "prop", name: Some("channel") }
- Breaking: RequiredEdgeAdded { vertex_id: "social.colibri.sync.subscribeEvents#voiceStateEventData", src: "social.colibri.sync.subscribeEvents#voiceStateEventData", tgt: "social.colibri.sync.subscribeEvents#voiceStateEventData.did", kind: "prop", name: Some("did") }
- Breaking: RequiredEdgeRemoved { vertex_id: "social.colibri.sync.subscribeEvents#memberEventData", src: "social.colibri.sync.subscribeEvents#memberEventData", tgt: "social.colibri.sync.subscribeEvents#memberEventData.membership", kind: "prop", name: Some("membership") }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#channelEventData", tgt: "social.colibri.sync.subscribeEvents#channelEventData.category", kind: "prop", name: Some("category") }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#communityEventData", tgt: "social.colibri.sync.subscribeEvents#communityEventData.banner", kind: "prop", name: Some("banner") }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#communityEventData", tgt: "social.colibri.sync.subscribeEvents#communityEventData.requiresApprovalToJoin", kind: "prop", name: Some("requiresApprovalToJoin") }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#humEnvelope.event", tgt: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant0", kind: "variant", name: Some("lex:social.colibri.sync.subscribeEvents#userEvent") }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#humEnvelope.event", tgt: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant1", kind: "variant", name: Some("lex:social.colibri.sync.subscribeEvents#typingEvent") }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#humEnvelope.event", tgt: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant2", kind: "variant", name: Some("lex:social.colibri.sync.subscribeEvents#voicePresenceEvent") }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#humEnvelope.event", tgt: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant3", kind: "variant", name: Some("lex:social.colibri.sync.subscribeEvents#voiceStateEvent") }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant0", tgt: "lex:social.colibri.sync.subscribeEvents#userEvent", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant1", tgt: "lex:social.colibri.sync.subscribeEvents#typingEvent", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant2", tgt: "lex:social.colibri.sync.subscribeEvents#voicePresenceEvent", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#humEnvelope.event:variant3", tgt: "lex:social.colibri.sync.subscribeEvents#voiceStateEvent", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#memberEventData", tgt: "social.colibri.sync.subscribeEvents#memberEventData.member", kind: "prop", name: Some("member") }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#memberEventData", tgt: "social.colibri.sync.subscribeEvents#memberEventData.memberDid", kind: "prop", name: Some("memberDid") }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#memberEventData.member", tgt: "lex:social.colibri.sync.subscribeEvents#memberEventMember", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#memberEventMember", tgt: "social.colibri.sync.subscribeEvents#memberEventMember.joinedAt", kind: "prop", name: Some("joinedAt") }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#memberEventMember", tgt: "social.colibri.sync.subscribeEvents#memberEventMember.nickname", kind: "prop", name: Some("nickname") }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#memberEventMember", tgt: "social.colibri.sync.subscribeEvents#memberEventMember.vc", kind: "prop", name: Some("vc") }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#memberEventMember", tgt: "social.colibri.sync.subscribeEvents#memberEventMember.vcDeafened", kind: "prop", name: Some("vcDeafened") }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#memberEventMember", tgt: "social.colibri.sync.subscribeEvents#memberEventMember.vcMuted", kind: "prop", name: Some("vcMuted") }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#memberEventMember.data", tgt: "lex:social.colibri.actor.defs#actorData", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#memberEventMember.roles", tgt: "social.colibri.sync.subscribeEvents#memberEventMember.roles:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#messageEventData", tgt: "social.colibri.sync.subscribeEvents#messageEventData.live", kind: "prop", name: Some("live") }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#voicePresenceEvent.data", tgt: "lex:social.colibri.sync.subscribeEvents#voicePresenceEventData", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#voiceStateEvent.data", tgt: "lex:social.colibri.sync.subscribeEvents#voiceStateEventData", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#voiceStateEventData", tgt: "social.colibri.sync.subscribeEvents#voiceStateEventData.deafened", kind: "prop", name: Some("deafened") }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#voiceStateEventData", tgt: "social.colibri.sync.subscribeEvents#voiceStateEventData.muted", kind: "prop", name: Some("muted") }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#voiceStateEventData", tgt: "social.colibri.sync.subscribeEvents#voiceStateEventData.serverDeafened", kind: "prop", name: Some("serverDeafened") }
- Non-breaking: AddedEdge { src: "social.colibri.sync.subscribeEvents#voiceStateEventData", tgt: "social.colibri.sync.subscribeEvents#voiceStateEventData.serverMuted", kind: "prop", name: Some("serverMuted") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"ack": {
5
5
"description": "Sent in response to a heartbeat message.",
6
6
"properties": {
7
7
"type": {
8
8
"const": "ack",
9
9
"type": "string"
10
10
}
11
11
},
12
12
"required": [
13
13
"type"
14
14
],
15
15
"type": "object"
16
16
},
17
17
"categoryEvent": {
18
18
"description": "Sent when a category has been created, updated, or deleted.",
19
19
"properties": {
20
20
"data": {
21
21
"ref": "lex:social.colibri.sync.subscribeEvents#categoryEventData",
22
22
"type": "ref"
23
23
},
24
24
"type": {
25
25
"const": "category_event",
26
26
"type": "string"
27
27
}
28
28
},
29
29
"required": [
30
30
"type",
31
31
"data"
32
32
],
33
33
"type": "object"
34
34
},
35
35
"categoryEventData": {
36
36
"properties": {
37
37
"channelOrder": {
38
38
"items": {
39
+
"format": "at-uri",
39
40
"type": "string"
40
41
},
41
42
"type": "array"
42
43
},
43
44
"community": {
44
45
"format": "at-uri",
45
46
"type": "string"
46
47
},
47
48
"event": {
48
49
"knownValues": [
49
50
"upsert",
50
51
"delete"
51
52
],
52
53
"type": "string"
53
54
},
54
55
"name": {
55
56
"type": "string"
56
57
},
57
58
"uri": {
58
59
"format": "at-uri",
59
60
"type": "string"
60
61
}
61
62
},
62
63
"required": [
63
64
"event",
64
65
"uri",
65
66
"community"
66
67
],
67
68
"type": "object"
68
69
},
69
70
"channelEvent": {
70
71
"description": "Sent when a channel has been created, updated, or deleted.",
71
72
"properties": {
72
73
"data": {
73
74
"ref": "lex:social.colibri.sync.subscribeEvents#channelEventData",
74
75
"type": "ref"
75
76
},
76
77
"type": {
77
78
"const": "channel_event",
78
79
"type": "string"
79
80
}
80
81
},
81
82
"required": [
82
83
"type",
83
84
"data"
84
85
],
85
86
"type": "object"
86
87
},
87
88
"channelEventData": {
88
89
"properties": {
90
+
"category": {
91
+
"format": "at-uri",
92
+
"type": "string"
93
+
},
89
94
"community": {
90
95
"format": "at-uri",
91
96
"type": "string"
92
97
},
93
98
"description": {
94
99
"type": "string"
95
100
},
96
101
"event": {
97
102
"knownValues": [
98
103
"upsert",
99
104
"delete"
100
105
],
101
106
"type": "string"
102
107
},
103
108
"name": {
104
109
"type": "string"
105
110
},
106
111
"type": {
107
112
"type": "string"
108
113
},
109
114
"uri": {
110
115
"format": "at-uri",
111
116
"type": "string"
112
117
}
113
118
},
114
119
"required": [
115
120
"event",
116
121
"uri",
117
122
"community"
118
123
],
119
124
"type": "object"
120
125
},
121
126
"communityEvent": {
122
127
"description": "Sent when a community has been updated or deleted.",
123
128
"properties": {
124
129
"data": {
125
130
"ref": "lex:social.colibri.sync.subscribeEvents#communityEventData",
126
131
"type": "ref"
127
132
},
128
133
"type": {
129
134
"const": "community_event",
130
135
"type": "string"
131
136
}
132
137
},
133
138
"required": [
134
139
"type",
135
140
"data"
136
141
],
137
142
"type": "object"
138
143
},
139
144
"communityEventData": {
140
145
"properties": {
146
+
"banner": {
147
+
"type": "blob"
148
+
},
141
149
"categoryOrder": {
142
150
"items": {
151
+
"format": "at-uri",
143
152
"type": "string"
144
153
},
145
154
"type": "array"
146
155
},
147
156
"description": {
148
157
"type": "string"
149
158
},
150
159
"event": {
151
160
"knownValues": [
152
161
"upsert",
153
162
"delete"
154
163
],
155
164
"type": "string"
156
165
},
157
166
"name": {
158
167
"type": "string"
159
168
},
160
169
"picture": {
161
170
"type": "blob"
162
171
},
172
+
"requiresApprovalToJoin": {
173
+
"type": "boolean"
174
+
},
163
175
"uri": {
164
176
"format": "at-uri",
165
177
"type": "string"
166
178
}
167
179
},
168
180
"required": [
169
181
"event",
170
182
"uri"
171
183
],
172
184
"type": "object"
173
185
},
186
+
"humEnvelope": {
187
+
"description": "An off-protocol event relayed between AppViews. The authenticated sender (inter-service auth JWT: aud = receiving AppView did:web, lxm = social.colibri.sync.sendHum) is the origin of record; `origin` is echoed for relay/loop control and MUST match the JWT issuer. Only off-protocol event types are permitted — on-protocol events are never carried by a Hum and are derived from the firehose instead.",
188
+
"properties": {
189
+
"community": {
190
+
"description": "Community the event is scoped to. Receiver relays to local clients only if they are members of this community.",
191
+
"format": "at-uri",
192
+
"type": "string"
193
+
},
194
+
"event": {
195
+
"description": "Ephemeral event payload. Only off-protocol types are permitted.",
196
+
"refs": [
197
+
"lex:social.colibri.sync.subscribeEvents#userEvent",
198
+
"lex:social.colibri.sync.subscribeEvents#typingEvent",
199
+
"lex:social.colibri.sync.subscribeEvents#voicePresenceEvent",
200
+
"lex:social.colibri.sync.subscribeEvents#voiceStateEvent"
201
+
],
202
+
"type": "union"
203
+
},
204
+
"id": {
205
+
"description": "Unique id for this Hum, used by receivers to dedup across relay paths.",
206
+
"maxLength": 64,
207
+
"type": "string"
208
+
},
209
+
"origin": {
210
+
"description": "DID of the AppView that first emitted this Hum.",
211
+
"format": "did",
212
+
"type": "string"
213
+
},
214
+
"subject": {
215
+
"description": "The user this event is about. Receiver MUST verify origin equals subject's declared presenceService before trusting or relaying.",
216
+
"format": "did",
217
+
"type": "string"
218
+
},
219
+
"ttl": {
220
+
"description": "Remaining relay hops. Decremented on each forward; a Hum at ttl 0 is delivered locally but never relayed.",
221
+
"maximum": 8,
222
+
"minimum": 0,
223
+
"type": "integer"
224
+
}
225
+
},
226
+
"required": [
227
+
"origin",
228
+
"id",
229
+
"ttl",
230
+
"subject",
231
+
"community",
232
+
"event"
233
+
],
234
+
"type": "object"
235
+
},
174
236
"main": {
175
237
"description": "Opens a WebSocket stream that transmits relevant events for the authenticated user.",
176
238
"errors": [
177
239
{
240
+
"description": "Missing, malformed, or unverifiable service auth.",
178
241
"name": "AuthRequired"
179
242
}
180
243
],
181
244
"message": {
182
245
"schema": {
183
246
"refs": [
184
247
"lex:social.colibri.sync.subscribeEvents#ack",
185
248
"lex:social.colibri.sync.subscribeEvents#communityEvent",
186
249
"lex:social.colibri.sync.subscribeEvents#memberEvent",
187
250
"lex:social.colibri.sync.subscribeEvents#categoryEvent",
188
251
"lex:social.colibri.sync.subscribeEvents#channelEvent",
189
252
"lex:social.colibri.sync.subscribeEvents#messageEvent",
190
253
"lex:social.colibri.sync.subscribeEvents#reactionEvent",
191
254
"lex:social.colibri.sync.subscribeEvents#userEvent",
192
-
"lex:social.colibri.sync.subscribeEvents#typingEvent"
255
+
"lex:social.colibri.sync.subscribeEvents#typingEvent",
256
+
"lex:social.colibri.sync.subscribeEvents#voicePresenceEvent",
257
+
"lex:social.colibri.sync.subscribeEvents#voiceStateEvent"
193
258
],
194
259
"type": "union"
195
260
}
196
261
},
197
262
"type": "subscription"
198
263
},
199
264
"memberEvent": {
200
265
"description": "Sent when a member has joined or left a community.",
201
266
"properties": {
202
267
"data": {
203
268
"ref": "lex:social.colibri.sync.subscribeEvents#memberEventData",
204
269
"type": "ref"
205
270
},
206
271
"type": {
207
272
"const": "member_event",
208
273
"type": "string"
209
274
}
210
275
},
211
276
"required": [
212
277
"type",
213
278
"data"
214
279
],
215
280
"type": "object"
216
281
},
217
282
"memberEventData": {
218
283
"properties": {
219
284
"community": {
220
285
"format": "at-uri",
221
286
"type": "string"
222
287
},
223
288
"event": {
224
289
"knownValues": [
225
290
"join",
226
-
"leave"
291
+
"leave",
292
+
"roles_updated"
227
293
],
228
294
"type": "string"
229
295
},
296
+
"member": {
297
+
"description": "The affected member, hydrated. Present on `join` and `roles_updated`.",
298
+
"ref": "lex:social.colibri.sync.subscribeEvents#memberEventMember",
299
+
"type": "ref"
300
+
},
301
+
"memberDid": {
302
+
"description": "DID of the member who left. Present on `leave`.",
303
+
"format": "did",
304
+
"type": "string"
305
+
},
230
306
"membership": {
231
307
"format": "at-uri",
232
308
"type": "string"
233
309
}
234
310
},
235
311
"required": [
236
312
"event",
237
-
"community",
238
-
"membership"
313
+
"community"
239
314
],
240
315
"type": "object"
241
316
},
317
+
"memberEventMember": {
318
+
"description": "The affected member as carried by a member event. Mirrors `social.colibri.community.defs#memberView`, including the member's current voice channel state so a receiving client can place them in a voice channel without refetching.",
319
+
"properties": {
320
+
"data": {
321
+
"ref": "lex:social.colibri.actor.defs#actorData",
322
+
"type": "ref"
323
+
},
324
+
"did": {
325
+
"format": "did",
326
+
"type": "string"
327
+
},
328
+
"handle": {
329
+
"format": "handle",
330
+
"type": "string"
331
+
},
332
+
"joinedAt": {
333
+
"format": "datetime",
334
+
"type": "string"
335
+
},
336
+
"nickname": {
337
+
"type": "string"
338
+
},
339
+
"roles": {
340
+
"items": {
341
+
"format": "at-uri",
342
+
"type": "string"
343
+
},
344
+
"type": "array"
345
+
},
346
+
"vc": {
347
+
"description": "AT-URI of the voice channel the member is currently connected to, if any. Only set when that channel belongs to `community`.",
348
+
"format": "at-uri",
349
+
"type": "string"
350
+
},
351
+
"vcDeafened": {
352
+
"type": "boolean"
353
+
},
354
+
"vcMuted": {
355
+
"type": "boolean"
356
+
}
357
+
},
358
+
"required": [
359
+
"did",
360
+
"handle",
361
+
"roles",
362
+
"data"
363
+
],
364
+
"type": "object"
365
+
},
242
366
"messageEvent": {
243
367
"description": "Sent when a message has been sent, edited, or deleted.",
244
368
"properties": {
245
369
"data": {
246
370
"ref": "lex:social.colibri.sync.subscribeEvents#messageEventData",
247
371
"type": "ref"
248
372
},
249
373
"type": {
250
374
"const": "message_event",
251
375
"type": "string"
252
376
}
253
377
},
254
378
"required": [
255
379
"type",
256
380
"data"
257
381
],
258
382
"type": "object"
259
383
},
260
384
"messageEventData": {
261
385
"properties": {
262
386
"attachments": {
263
387
"items": {
264
388
"type": "blob"
265
389
},
266
390
"type": "array"
267
391
},
268
392
"channel": {
269
393
"format": "at-uri",
270
394
"type": "string"
271
395
},
272
396
"createdAt": {
273
397
"format": "datetime",
274
398
"type": "string"
275
399
},
276
400
"edited": {
277
401
"type": "boolean"
278
402
},
279
403
"event": {
280
404
"knownValues": [
281
405
"upsert",
282
406
"delete"
283
407
],
284
408
"type": "string"
285
409
},
286
410
"facets": {
287
411
"items": {
288
412
"ref": "lex:social.colibri.richtext.facet",
289
413
"type": "ref"
290
414
},
291
415
"type": "array"
292
416
},
293
417
"indexedAt": {
294
418
"format": "datetime",
295
419
"type": "string"
296
420
},
421
+
"live": {
422
+
"type": "boolean"
423
+
},
297
424
"parent": {
298
425
"format": "at-uri",
299
426
"type": "string"
300
427
},
301
428
"text": {
302
429
"type": "string"
303
430
},
304
431
"uri": {
305
432
"format": "at-uri",
306
433
"type": "string"
307
434
}
308
435
},
309
436
"required": [
310
437
"event",
311
438
"uri",
312
439
"channel"
313
440
],
314
441
"type": "object"
315
442
},
316
443
"reactionEvent": {
317
444
"description": "Sent when a reaction has been added to or removed from a message.",
318
445
"properties": {
319
446
"data": {
320
447
"ref": "lex:social.colibri.sync.subscribeEvents#reactionEventData",
321
448
"type": "ref"
322
449
},
323
450
"type": {
324
451
"const": "reaction_event",
325
452
"type": "string"
326
453
}
327
454
},
328
455
"required": [
329
456
"type",
330
457
"data"
331
458
],
332
459
"type": "object"
333
460
},
334
461
"reactionEventData": {
335
462
"properties": {
336
463
"channel": {
337
464
"format": "at-uri",
338
465
"type": "string"
339
466
},
340
467
"emoji": {
341
468
"type": "string"
342
469
},
343
470
"event": {
344
471
"knownValues": [
345
472
"added",
346
473
"removed"
347
474
],
348
475
"type": "string"
349
476
},
350
477
"target": {
351
478
"format": "at-uri",
352
479
"type": "string"
353
480
},
354
481
"uri": {
355
482
"format": "at-uri",
356
483
"type": "string"
357
484
}
358
485
},
359
486
"required": [
360
487
"event",
361
488
"uri",
362
489
"emoji",
363
490
"target",
364
491
"channel"
365
492
],
366
493
"type": "object"
367
494
},
368
495
"typingEvent": {
369
496
"description": "Sent when a user is typing in a channel the client is viewing.",
370
497
"properties": {
371
498
"data": {
372
499
"ref": "lex:social.colibri.sync.subscribeEvents#typingEventData",
373
500
"type": "ref"
374
501
},
375
502
"type": {
376
503
"const": "typing_event",
377
504
"type": "string"
378
505
}
379
506
},
380
507
"required": [
381
508
"type",
382
509
"data"
383
510
],
384
511
"type": "object"
385
512
},
386
513
"typingEventData": {
387
514
"properties": {
388
515
"channel": {
389
516
"format": "at-uri",
390
517
"type": "string"
391
518
},
392
519
"did": {
393
520
"format": "did",
394
521
"type": "string"
395
522
},
396
523
"event": {
397
524
"knownValues": [
398
525
"start",
399
526
"stop"
400
527
],
401
528
"type": "string"
402
529
}
403
530
},
404
531
"required": [
405
532
"event",
406
533
"channel",
407
534
"did"
408
535
],
409
536
"type": "object"
410
537
},
411
538
"userEvent": {
412
539
"description": "Sent when a known user has updated their profile or Colibri status.",
413
540
"properties": {
414
541
"data": {
415
542
"ref": "lex:social.colibri.sync.subscribeEvents#userEventData",
416
543
"type": "ref"
417
544
},
418
545
"type": {
419
546
"const": "user_event",
420
547
"type": "string"
421
548
}
422
549
},
423
550
"required": [
424
551
"type",
425
552
"data"
426
553
],
427
554
"type": "object"
428
555
},
429
556
"userEventData": {
430
557
"properties": {
431
558
"did": {
432
559
"format": "did",
433
560
"type": "string"
434
561
},
435
562
"profile": {
436
563
"ref": "lex:social.colibri.sync.subscribeEvents#userProfile",
437
564
"type": "ref"
438
565
},
439
566
"status": {
440
567
"ref": "lex:social.colibri.sync.subscribeEvents#userStatus",
441
568
"type": "ref"
442
569
}
443
570
},
444
571
"required": [
445
572
"did",
446
573
"profile"
447
574
],
448
575
"type": "object"
449
576
},
450
577
"userProfile": {
451
578
"properties": {
452
579
"avatar": {
453
580
"type": "blob"
454
581
},
455
582
"banner": {
456
583
"type": "blob"
457
584
},
458
585
"description": {
459
586
"type": "string"
460
587
},
461
588
"displayName": {
462
589
"type": "string"
463
590
},
464
591
"handle": {
465
592
"format": "handle",
466
593
"type": "string"
467
594
}
468
595
},
469
596
"required": [
470
597
"handle"
471
598
],
472
599
"type": "object"
473
600
},
474
601
"userStatus": {
475
602
"properties": {
476
603
"emoji": {
477
604
"type": "string"
478
605
},
479
606
"state": {
480
607
"knownValues": [
481
608
"online",
482
609
"away",
483
610
"dnd",
484
611
"offline"
485
612
],
486
613
"type": "string"
487
614
},
488
615
"text": {
489
616
"type": "string"
490
617
}
491
618
},
492
619
"required": [
493
620
"state",
494
621
"text"
495
622
],
496
623
"type": "object"
624
+
},
625
+
"voicePresenceEvent": {
626
+
"description": "Sent when a user joins or leaves a voice channel.",
627
+
"properties": {
628
+
"data": {
629
+
"ref": "lex:social.colibri.sync.subscribeEvents#voicePresenceEventData",
630
+
"type": "ref"
631
+
},
632
+
"type": {
633
+
"const": "voice_presence_event",
634
+
"type": "string"
635
+
}
636
+
},
637
+
"required": [
638
+
"type",
639
+
"data"
640
+
],
641
+
"type": "object"
642
+
},
643
+
"voicePresenceEventData": {
644
+
"properties": {
645
+
"channel": {
646
+
"format": "at-uri",
647
+
"type": "string"
648
+
},
649
+
"did": {
650
+
"format": "did",
651
+
"type": "string"
652
+
},
653
+
"event": {
654
+
"knownValues": [
655
+
"join",
656
+
"leave"
657
+
],
658
+
"type": "string"
659
+
}
660
+
},
661
+
"required": [
662
+
"event",
663
+
"channel",
664
+
"did"
665
+
],
666
+
"type": "object"
667
+
},
668
+
"voiceStateEvent": {
669
+
"description": "Sent when a user's voice state changes within a voice channel. `muted` and `deafened` are the user's own choices; `serverMuted` and `serverDeafened` are moderator-applied and enforced by the SFU. Each field is absent when unchanged.",
670
+
"properties": {
671
+
"data": {
672
+
"ref": "lex:social.colibri.sync.subscribeEvents#voiceStateEventData",
673
+
"type": "ref"
674
+
},
675
+
"type": {
676
+
"const": "voice_state_event",
677
+
"type": "string"
678
+
}
679
+
},
680
+
"required": [
681
+
"type",
682
+
"data"
683
+
],
684
+
"type": "object"
685
+
},
686
+
"voiceStateEventData": {
687
+
"properties": {
688
+
"channel": {
689
+
"format": "at-uri",
690
+
"type": "string"
691
+
},
692
+
"deafened": {
693
+
"type": "boolean"
694
+
},
695
+
"did": {
696
+
"format": "did",
697
+
"type": "string"
698
+
},
699
+
"muted": {
700
+
"type": "boolean"
701
+
},
702
+
"serverDeafened": {
703
+
"type": "boolean"
704
+
},
705
+
"serverMuted": {
706
+
"type": "boolean"
707
+
}
708
+
},
709
+
"required": [
710
+
"channel",
711
+
"did"
712
+
],
713
+
"type": "object"
497
714
}
498
715
},
499
716
"id": "social.colibri.sync.subscribeEvents",
500
717
"lexicon": 1,
501
718
"revision": 1
502
719
}