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