social.colibri.actor.profile

colibri.social

Schema Diff

+1 -6

From

CID
bafyreihrptmo45d...
Indexed At
2026-07-29 16:12 UTC
View this version

To

CID
bafyreigfshrxjmf...
Indexed At
2026-07-31 21:22 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

2 breaking changes, 0 non-breaking changes.

Breaking Changes (2)
  • RemovedVertex RemovedVertex { vertex_id: "social.colibri.actor.profile#theme.plate" }
  • RemovedEdge RemovedEdge { src: "social.colibri.actor.profile#theme", tgt: "social.colibri.actor.profile#theme.plate", kind: "prop", name: Some("plate") }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "social.colibri.actor.profile#theme.plate" }

Additional Notes

  • Breaking: RemovedEdge { src: "social.colibri.actor.profile#theme", tgt: "social.colibri.actor.profile#theme.plate", kind: "prop", name: Some("plate") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "A Colibri-specific user profile. Singleton record on the user's own repo, kept separate from app.bsky.actor.profile so Colibri never needs write access to the Bluesky record.",
6 6
      "key": "literal:self",
7 7
      "record": {
8 8
        "properties": {
9 9
          "$type": {
10 10
            "description": "The type of the record.",
11 11
            "format": "nsid",
12 12
            "type": "string"
13 13
          },
14 14
          "avatar": {
15 15
            "accept": [
16 16
              "image/jpeg",
17 17
              "image/png",
18 18
              "image/gif",
19 19
              "image/webp"
20 20
            ],
21 21
            "description": "The user's avatar image.",
22 22
            "type": "blob"
23 23
          },
24 24
          "banner": {
25 25
            "accept": [
26 26
              "image/jpeg",
27 27
              "image/png",
28 28
              "image/gif",
29 29
              "image/webp"
30 30
            ],
31 31
            "description": "The user's profile banner image.",
32 32
            "type": "blob"
33 33
          },
34 34
          "description": {
35 35
            "description": "The user's profile description / bio.",
36 36
            "maxGraphemes": 256,
37 37
            "maxLength": 2560,
38 38
            "type": "string"
39 39
          },
40 40
          "displayName": {
41 41
            "description": "The user's display name.",
42 42
            "maxGraphemes": 64,
43 43
            "maxLength": 640,
44 44
            "type": "string"
45 45
          },
46 46
          "preferredBadge": {
47 47
            "description": "Label value of the badge the user chose to display as their primary badge. Absent means automatic (highest-priority badge).",
48 48
            "maxLength": 64,
49 49
            "type": "string"
50 50
          },
51 51
          "presenceService": {
52 52
            "description": "DID of the AppView authorized to emit off-protocol presence (status, typing, voice) for this user via Humming. A receiving AppView MUST drop any Hum about this user whose authenticated origin does not equal this value. Absent means the user has not opted into cross-instance presence.",
53 53
            "format": "did",
54 54
            "type": "string"
55 55
          },
56 56
          "syncBluesky": {
57 57
            "default": false,
58 58
            "description": "When true, the AppView serves displayName/avatar/banner/description from the user's app.bsky.actor.profile record (Bluesky stays the live source); these mirrored fields may be omitted here.",
59 59
            "type": "boolean"
60 60
          },
61 61
          "theme": {
62 62
            "description": "Colibri-only profile theming. Always sourced from this record regardless of syncBluesky.",
63 63
            "ref": "lex:social.colibri.actor.profile#theme",
64 64
            "type": "ref"
65 65
          }
66 66
        },
67 67
        "required": [],
68 68
        "type": "object"
69 69
      },
70 70
      "type": "record"
71 71
    },
72 72
    "theme": {
73 73
      "description": "Colibri-only profile theming.",
74 74
      "properties": {
75 75
        "accentColor": {
76 76
          "description": "Accent color as a #rrggbb hex string.",
77 77
          "maxLength": 7,
78 78
          "type": "string"
79 79
        },
80 80
        "bannerColor": {
81 81
          "description": "Solid fallback banner color as #rrggbb, used when no banner image is set.",
82 82
          "maxLength": 7,
83 83
          "type": "string"
84 84
        },
85 85
        "gradient": {
86 86
          "description": "Two-color gradient profile theme.",
87 87
          "ref": "lex:social.colibri.actor.profile#themeGradient",
88 88
          "type": "ref"
89 -
        },
90 -
        "plate": {
91 -
          "description": "Name plate currently in use.",
92 -
          "format": "at-uri",
93 -
          "type": "string"
94 89
        }
95 90
      },
96 91
      "required": [],
97 92
      "type": "object"
98 93
    },
99 94
    "themeGradient": {
100 95
      "description": "Two-color gradient profile theme.",
101 96
      "properties": {
102 97
        "primary": {
103 98
          "description": "Primary gradient color as #rrggbb.",
104 99
          "maxLength": 7,
105 100
          "type": "string"
106 101
        },
107 102
        "secondary": {
108 103
          "description": "Secondary gradient color as #rrggbb.",
109 104
          "maxLength": 7,
110 105
          "type": "string"
111 106
        }
112 107
      },
113 108
      "required": [],
114 109
      "type": "object"
115 110
    }
116 111
  },
117 112
  "id": "social.colibri.actor.profile",
118 113
  "lexicon": 1,
119 -
  "revision": 3
114 +
  "revision": 2
120 115
}

Compare Other Versions

Lexicon Garden

@