pics.2bit.actor.profile

2bit.pics

Schema Diff

+5 -0

From

CID
bafyreidiv6zozyy...
Indexed At
2026-08-15 21:28 UTC
View this version

To

CID
bafyreie3jtjhwh7...
Indexed At
2026-08-20 03:52 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 4 non-breaking changes.

Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "com.atproto.label.defs#selfLabels" }
  • AddedVertex AddedVertex { vertex_id: "pics.2bit.actor.profile:body.labels" }
  • AddedEdge AddedEdge { src: "pics.2bit.actor.profile:body", tgt: "pics.2bit.actor.profile:body.labels", kind: "prop", name: Some("labels") }
  • AddedEdge AddedEdge { src: "pics.2bit.actor.profile:body.labels", tgt: "com.atproto.label.defs#selfLabels", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "com.atproto.label.defs#selfLabels" }
  • AddedVertex { vertex_id: "pics.2bit.actor.profile:body.labels" }

Additional Notes

  • Non-breaking: AddedEdge { src: "pics.2bit.actor.profile:body", tgt: "pics.2bit.actor.profile:body.labels", kind: "prop", name: Some("labels") }
  • Non-breaking: AddedEdge { src: "pics.2bit.actor.profile:body.labels", tgt: "com.atproto.label.defs#selfLabels", kind: "ref", name: None }
1 1
{
2 2
  "id": "pics.2bit.actor.profile",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "literal:self",
6 6
      "type": "record",
7 7
      "record": {
8 8
        "type": "object",
9 9
        "properties": {
10 10
          "gear": {
11 11
            "type": "string",
12 12
            "maxLength": 100,
13 13
            "description": "Main rig flex slot."
14 14
          },
15 15
          "avatar": {
16 16
            "type": "bytes",
17 17
            "maxLength": 3584,
18 18
            "minLength": 3584,
19 19
            "description": "128x112 2bpp Game Boy Camera tile data, same layout as pics.2bit.feed.photo#image. Square avatars are produced by cropping at render time, not on write."
20 20
          },
21 +
          "labels": {
22 +
            "ref": "com.atproto.label.defs#selfLabels",
23 +
            "type": "ref",
24 +
            "description": "Self-applied labels on this account. 2bit.pics writes at most `!no-unauthenticated`, the atproto value meaning \"don't show this account to logged-out viewers\" - the same one Bluesky writes for its own logged-out visibility setting, so other clients already know how to read it."
25 +
          },
21 26
          "createdAt": {
22 27
            "type": "string",
23 28
            "format": "datetime",
24 29
            "description": "When this profile record was first published."
25 30
          },
26 31
          "updatedAt": {
27 32
            "type": "string",
28 33
            "format": "datetime",
29 34
            "description": "When this profile record was last edited. Unset on a profile that has never been edited since creation."
30 35
          },
31 36
          "description": {
32 37
            "type": "string",
33 38
            "maxLength": 2560,
34 39
            "maxGraphemes": 256
35 40
          },
36 41
          "displayName": {
37 42
            "type": "string",
38 43
            "maxLength": 640,
39 44
            "maxGraphemes": 64
40 45
          },
41 46
          "avatarColors": {
42 47
            "type": "array",
43 48
            "items": {
44 49
              "type": "integer",
45 50
              "maximum": 16777215,
46 51
              "minimum": 0
47 52
            },
48 53
            "maxLength": 4,
49 54
            "minLength": 4,
50 55
            "description": "Four 24-bit RGB colors (0 to 0xFFFFFF) corresponding to the avatar's 2bpp pixel values 0 through 3, where 0 is lightest and 3 is darkest."
51 56
          }
52 57
        }
53 58
      },
54 59
      "description": "A 2bit.pics profile."
55 60
    }
56 61
  },
57 62
  "$type": "com.atproto.lexicon.schema",
58 63
  "lexicon": 1
59 64
}

Compare Other Versions

Lexicon Garden

@