live.streamface.emoticons.settings

streamface.live

Schema Diff

+84 -0

From

CID
bafyreigr6om2se5...
Indexed At
2026-10-09 14:40 UTC
View this version

To

CID
bafyreieecxnzwtt...
Indexed At
2026-10-10 14:26 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

8 breaking changes, 26 non-breaking changes.

Breaking Changes (8)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#moderationRule", src: "live.streamface.emoticons.settings#moderationRule", tgt: "live.streamface.emoticons.settings#moderationRule.blocked", kind: "prop", name: Some("blocked") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#moderationRule", src: "live.streamface.emoticons.settings#moderationRule", tgt: "live.streamface.emoticons.settings#moderationRule.cooldownMilliseconds", kind: "prop", name: Some("cooldownMilliseconds") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#moderationRule", src: "live.streamface.emoticons.settings#moderationRule", tgt: "live.streamface.emoticons.settings#moderationRule.did", kind: "prop", name: Some("did") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#roles", src: "live.streamface.emoticons.settings#roles", tgt: "live.streamface.emoticons.settings#roles.followers", kind: "prop", name: Some("followers") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#roles", src: "live.streamface.emoticons.settings#roles", tgt: "live.streamface.emoticons.settings#roles.moderators", kind: "prop", name: Some("moderators") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#roles", src: "live.streamface.emoticons.settings#roles", tgt: "live.streamface.emoticons.settings#roles.users", kind: "prop", name: Some("users") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#roles", src: "live.streamface.emoticons.settings#roles", tgt: "live.streamface.emoticons.settings#roles.mutuals", kind: "prop", name: Some("mutuals") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#allowedUser", src: "live.streamface.emoticons.settings#allowedUser", tgt: "live.streamface.emoticons.settings#allowedUser.did", kind: "prop", name: Some("did") }
Non-Breaking Changes (26)
  • AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#allowedUser" }
  • AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#allowedUser.did" }
  • AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#allowedUser.handle" }
  • AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#moderationRule" }
  • AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#moderationRule.blocked" }
  • AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#moderationRule.cooldownMilliseconds" }
  • AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#moderationRule.did" }
  • AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#moderationRule.handle" }
  • AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles" }
  • AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.followers" }
  • AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.moderators" }
  • AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.mutuals" }
  • AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.users" }
  • AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.users:items" }
  • AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings:body.moderation" }
  • AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings:body.moderation:items" }
  • AddedVertex AddedVertex { vertex_id: "live.streamface.emoticons.settings:body.roles" }
  • AddedEdge AddedEdge { src: "live.streamface.emoticons.settings#allowedUser", tgt: "live.streamface.emoticons.settings#allowedUser.handle", kind: "prop", name: Some("handle") }
  • AddedEdge AddedEdge { src: "live.streamface.emoticons.settings#moderationRule", tgt: "live.streamface.emoticons.settings#moderationRule.handle", kind: "prop", name: Some("handle") }
  • AddedEdge AddedEdge { src: "live.streamface.emoticons.settings#roles.users", tgt: "live.streamface.emoticons.settings#roles.users:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "live.streamface.emoticons.settings#roles.users:items", tgt: "live.streamface.emoticons.settings#allowedUser", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "live.streamface.emoticons.settings:body", tgt: "live.streamface.emoticons.settings:body.moderation", kind: "prop", name: Some("moderation") }
  • AddedEdge AddedEdge { src: "live.streamface.emoticons.settings:body", tgt: "live.streamface.emoticons.settings:body.roles", kind: "prop", name: Some("roles") }
  • AddedEdge AddedEdge { src: "live.streamface.emoticons.settings:body.moderation", tgt: "live.streamface.emoticons.settings:body.moderation:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "live.streamface.emoticons.settings:body.moderation:items", tgt: "live.streamface.emoticons.settings#moderationRule", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "live.streamface.emoticons.settings:body.roles", tgt: "live.streamface.emoticons.settings#roles", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "live.streamface.emoticons.settings#allowedUser" }
  • AddedVertex { vertex_id: "live.streamface.emoticons.settings#allowedUser.did" }
  • AddedVertex { vertex_id: "live.streamface.emoticons.settings#allowedUser.handle" }
  • AddedVertex { vertex_id: "live.streamface.emoticons.settings#moderationRule" }
  • AddedVertex { vertex_id: "live.streamface.emoticons.settings#moderationRule.blocked" }
  • AddedVertex { vertex_id: "live.streamface.emoticons.settings#moderationRule.cooldownMilliseconds" }
  • AddedVertex { vertex_id: "live.streamface.emoticons.settings#moderationRule.did" }
  • AddedVertex { vertex_id: "live.streamface.emoticons.settings#moderationRule.handle" }
  • AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles" }
  • AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.followers" }
  • AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.moderators" }
  • AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.mutuals" }
  • AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.users" }
  • AddedVertex { vertex_id: "live.streamface.emoticons.settings#roles.users:items" }
  • AddedVertex { vertex_id: "live.streamface.emoticons.settings:body.moderation" }
  • AddedVertex { vertex_id: "live.streamface.emoticons.settings:body.moderation:items" }
  • AddedVertex { vertex_id: "live.streamface.emoticons.settings:body.roles" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#roles", src: "live.streamface.emoticons.settings#roles", tgt: "live.streamface.emoticons.settings#roles.followers", kind: "prop", name: Some("followers") }
  • Breaking: RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#roles", src: "live.streamface.emoticons.settings#roles", tgt: "live.streamface.emoticons.settings#roles.moderators", kind: "prop", name: Some("moderators") }
  • Breaking: RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#roles", src: "live.streamface.emoticons.settings#roles", tgt: "live.streamface.emoticons.settings#roles.users", kind: "prop", name: Some("users") }
  • Breaking: RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#roles", src: "live.streamface.emoticons.settings#roles", tgt: "live.streamface.emoticons.settings#roles.mutuals", kind: "prop", name: Some("mutuals") }
  • Breaking: RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#moderationRule", src: "live.streamface.emoticons.settings#moderationRule", tgt: "live.streamface.emoticons.settings#moderationRule.blocked", kind: "prop", name: Some("blocked") }
  • Breaking: RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#moderationRule", src: "live.streamface.emoticons.settings#moderationRule", tgt: "live.streamface.emoticons.settings#moderationRule.cooldownMilliseconds", kind: "prop", name: Some("cooldownMilliseconds") }
  • Breaking: RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#moderationRule", src: "live.streamface.emoticons.settings#moderationRule", tgt: "live.streamface.emoticons.settings#moderationRule.did", kind: "prop", name: Some("did") }
  • Breaking: RequiredEdgeAdded { vertex_id: "live.streamface.emoticons.settings#allowedUser", src: "live.streamface.emoticons.settings#allowedUser", tgt: "live.streamface.emoticons.settings#allowedUser.did", kind: "prop", name: Some("did") }
  • Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings#allowedUser", tgt: "live.streamface.emoticons.settings#allowedUser.handle", kind: "prop", name: Some("handle") }
  • Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings#moderationRule", tgt: "live.streamface.emoticons.settings#moderationRule.handle", kind: "prop", name: Some("handle") }
  • Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings#roles.users", tgt: "live.streamface.emoticons.settings#roles.users:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings#roles.users:items", tgt: "live.streamface.emoticons.settings#allowedUser", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings:body", tgt: "live.streamface.emoticons.settings:body.moderation", kind: "prop", name: Some("moderation") }
  • Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings:body", tgt: "live.streamface.emoticons.settings:body.roles", kind: "prop", name: Some("roles") }
  • Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings:body.moderation", tgt: "live.streamface.emoticons.settings:body.moderation:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings:body.moderation:items", tgt: "live.streamface.emoticons.settings#moderationRule", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "live.streamface.emoticons.settings:body.roles", tgt: "live.streamface.emoticons.settings#roles", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 +
    "allowedUser": {
5 +
      "properties": {
6 +
        "did": {
7 +
          "format": "did",
8 +
          "maxLength": 2048,
9 +
          "type": "string"
10 +
        },
11 +
        "handle": {
12 +
          "maxLength": 253,
13 +
          "type": "string"
14 +
        }
15 +
      },
16 +
      "required": [
17 +
        "did"
18 +
      ],
19 +
      "type": "object"
20 +
    },
4 21
    "main": {
5 22
      "key": "literal:self",
6 23
      "record": {
7 24
        "properties": {
8 25
          "createdAt": {
9 26
            "format": "datetime",
10 27
            "type": "string"
11 28
          },
12 29
          "enabled": {
13 30
            "type": "boolean"
14 31
          },
32 +
          "moderation": {
33 +
            "items": {
34 +
              "ref": "#moderationRule",
35 +
              "type": "ref"
36 +
            },
37 +
            "maxLength": 200,
38 +
            "type": "array"
39 +
          },
40 +
          "roles": {
41 +
            "ref": "#roles",
42 +
            "type": "ref"
43 +
          },
15 44
          "updatedAt": {
16 45
            "format": "datetime",
17 46
            "type": "string"
18 47
          }
19 48
        },
20 49
        "required": [
21 50
          "enabled",
22 51
          "createdAt",
23 52
          "updatedAt"
24 53
        ],
25 54
        "type": "object"
26 55
      },
27 56
      "type": "record"
57 +
    },
58 +
    "moderationRule": {
59 +
      "properties": {
60 +
        "blocked": {
61 +
          "type": "boolean"
62 +
        },
63 +
        "cooldownMilliseconds": {
64 +
          "maximum": 86400000,
65 +
          "minimum": 0,
66 +
          "type": "integer"
67 +
        },
68 +
        "did": {
69 +
          "format": "did",
70 +
          "maxLength": 2048,
71 +
          "type": "string"
72 +
        },
73 +
        "handle": {
74 +
          "maxLength": 253,
75 +
          "type": "string"
76 +
        }
77 +
      },
78 +
      "required": [
79 +
        "did",
80 +
        "blocked",
81 +
        "cooldownMilliseconds"
82 +
      ],
83 +
      "type": "object"
84 +
    },
85 +
    "roles": {
86 +
      "properties": {
87 +
        "followers": {
88 +
          "type": "boolean"
89 +
        },
90 +
        "moderators": {
91 +
          "type": "boolean"
92 +
        },
93 +
        "mutuals": {
94 +
          "type": "boolean"
95 +
        },
96 +
        "users": {
97 +
          "items": {
98 +
            "ref": "#allowedUser",
99 +
            "type": "ref"
100 +
          },
101 +
          "maxLength": 200,
102 +
          "type": "array"
103 +
        }
104 +
      },
105 +
      "required": [
106 +
        "followers",
107 +
        "mutuals",
108 +
        "moderators",
109 +
        "users"
110 +
      ],
111 +
      "type": "object"
28 112
    }
29 113
  },
30 114
  "id": "live.streamface.emoticons.settings",
31 115
  "lexicon": 1
32 116
}

Compare Other Versions

Lexicon Garden

@