tech.tokimeki.forum.message

tokimeki.blue

Schema Diff

+24 -7

From

CID
bafyreifd7r5343n...
Indexed At
2026-08-25 12:27 UTC
View this version

To

CID
bafyreihsqusyseo...
Indexed At
2026-08-25 13:18 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

4 breaking changes, 15 non-breaking changes.

Breaking Changes (4)
  • KindChanged KindChanged { vertex_id: "tech.tokimeki.forum.message:body.replyTo", old_kind: "string", new_kind: "ref" }
  • KindChanged KindChanged { vertex_id: "tech.tokimeki.forum.message:body.thread", old_kind: "string", new_kind: "ref" }
  • ConstraintAdded ConstraintAdded { vertex_id: "tech.tokimeki.forum.message:body.replyTo", sort: "ref", value: "com.atproto.repo.strongRef" }
  • ConstraintAdded ConstraintAdded { vertex_id: "tech.tokimeki.forum.message:body.thread", sort: "ref", value: "com.atproto.repo.strongRef" }
Non-Breaking Changes (15)
  • AddedVertex AddedVertex { vertex_id: "com.atproto.label.defs#selfLabels" }
  • AddedVertex AddedVertex { vertex_id: "com.atproto.repo.strongRef" }
  • AddedVertex AddedVertex { vertex_id: "tech.tokimeki.forum.message:body.labels" }
  • AddedVertex AddedVertex { vertex_id: "tech.tokimeki.forum.message:body.labels:variant0" }
  • AddedVertex AddedVertex { vertex_id: "tech.tokimeki.forum.message:body.langs" }
  • AddedVertex AddedVertex { vertex_id: "tech.tokimeki.forum.message:body.langs:items" }
  • AddedEdge AddedEdge { src: "tech.tokimeki.forum.message:body", tgt: "tech.tokimeki.forum.message:body.labels", kind: "prop", name: Some("labels") }
  • AddedEdge AddedEdge { src: "tech.tokimeki.forum.message:body", tgt: "tech.tokimeki.forum.message:body.langs", kind: "prop", name: Some("langs") }
  • AddedEdge AddedEdge { src: "tech.tokimeki.forum.message:body.labels", tgt: "tech.tokimeki.forum.message:body.labels:variant0", kind: "variant", name: Some("com.atproto.label.defs#selfLabels") }
  • AddedEdge AddedEdge { src: "tech.tokimeki.forum.message:body.labels:variant0", tgt: "com.atproto.label.defs#selfLabels", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "tech.tokimeki.forum.message:body.langs", tgt: "tech.tokimeki.forum.message:body.langs:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "tech.tokimeki.forum.message:body.replyTo", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "tech.tokimeki.forum.message:body.thread", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "tech.tokimeki.forum.message:body.replyTo", sort: "format" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "tech.tokimeki.forum.message:body.thread", sort: "format" }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "com.atproto.label.defs#selfLabels" }
  • AddedVertex { vertex_id: "com.atproto.repo.strongRef" }
  • AddedVertex { vertex_id: "tech.tokimeki.forum.message:body.labels" }
  • AddedVertex { vertex_id: "tech.tokimeki.forum.message:body.labels:variant0" }
  • AddedVertex { vertex_id: "tech.tokimeki.forum.message:body.langs" }
  • AddedVertex { vertex_id: "tech.tokimeki.forum.message:body.langs:items" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "tech.tokimeki.forum.message:body.replyTo", sort: "ref", value: "com.atproto.repo.strongRef" }
  • ConstraintAdded ConstraintAdded { vertex_id: "tech.tokimeki.forum.message:body.thread", sort: "ref", value: "com.atproto.repo.strongRef" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "tech.tokimeki.forum.message:body.replyTo", sort: "format" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "tech.tokimeki.forum.message:body.thread", sort: "format" }

Additional Notes

  • Breaking: KindChanged { vertex_id: "tech.tokimeki.forum.message:body.replyTo", old_kind: "string", new_kind: "ref" }
  • Breaking: KindChanged { vertex_id: "tech.tokimeki.forum.message:body.thread", old_kind: "string", new_kind: "ref" }
  • Non-breaking: AddedEdge { src: "tech.tokimeki.forum.message:body", tgt: "tech.tokimeki.forum.message:body.labels", kind: "prop", name: Some("labels") }
  • Non-breaking: AddedEdge { src: "tech.tokimeki.forum.message:body", tgt: "tech.tokimeki.forum.message:body.langs", kind: "prop", name: Some("langs") }
  • Non-breaking: AddedEdge { src: "tech.tokimeki.forum.message:body.labels", tgt: "tech.tokimeki.forum.message:body.labels:variant0", kind: "variant", name: Some("com.atproto.label.defs#selfLabels") }
  • Non-breaking: AddedEdge { src: "tech.tokimeki.forum.message:body.labels:variant0", tgt: "com.atproto.label.defs#selfLabels", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "tech.tokimeki.forum.message:body.langs", tgt: "tech.tokimeki.forum.message:body.langs:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "tech.tokimeki.forum.message:body.replyTo", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "tech.tokimeki.forum.message:body.thread", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "A message posted into a chat channel, or a comment inside a forum thread. Always written into the author's own repo within the space.",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "channel": {
10 -
            "description": "Space record URI of the tech.tokimeki.forum.channel this message belongs to.",
10 +
            "description": "Space record URI of the tech.tokimeki.forum.channel this message belongs to. A channel is a mutable container, so it is referenced by URI alone.",
11 11
            "format": "at-uri",
12 12
            "type": "string"
13 13
          },
14 14
          "createdAt": {
15 15
            "format": "datetime",
16 16
            "type": "string"
17 17
          },
18 18
          "editedAt": {
19 +
            "description": "Set when the message was edited in place (putRecord with the same rkey).",
19 20
            "format": "datetime",
20 21
            "type": "string"
21 22
          },
22 23
          "embed": {
23 24
            "refs": [
24 25
              "tech.tokimeki.forum.defs#images"
25 26
            ],
26 27
            "type": "union"
27 28
          },
28 29
          "facets": {
29 30
            "items": {
30 31
              "ref": "app.bsky.richtext.facet",
31 32
              "type": "ref"
32 33
            },
33 34
            "type": "array"
34 35
          },
36 +
          "labels": {
37 +
            "description": "Self-applied labels, e.g. for adult content.",
38 +
            "refs": [
39 +
              "com.atproto.label.defs#selfLabels"
40 +
            ],
41 +
            "type": "union"
42 +
          },
43 +
          "langs": {
44 +
            "description": "Languages of the text (BCP-47).",
45 +
            "items": {
46 +
              "format": "language",
47 +
              "type": "string"
48 +
            },
49 +
            "maxLength": 3,
50 +
            "type": "array"
51 +
          },
35 52
          "replyTo": {
36 -
            "description": "Space record URI of the message being replied to (inline reply in chat, parent comment in forum).",
37 -
            "format": "at-uri",
38 -
            "type": "string"
53 +
            "description": "The tech.tokimeki.forum.message being replied to (inline reply in chat, parent comment in forum). The cid pins the version replied to; the message may be edited afterwards.",
54 +
            "ref": "com.atproto.repo.strongRef",
55 +
            "type": "ref"
39 56
          },
40 57
          "text": {
41 58
            "maxGraphemes": 2000,
42 59
            "maxLength": 20000,
43 60
            "type": "string"
44 61
          },
45 62
          "thread": {
46 -
            "description": "Space record URI of the tech.tokimeki.forum.thread (required when the channel kind is forum).",
47 -
            "format": "at-uri",
48 -
            "type": "string"
63 +
            "description": "The tech.tokimeki.forum.thread this comment belongs to (required when the channel kind is forum). The cid pins the version of the thread the author saw.",
64 +
            "ref": "com.atproto.repo.strongRef",
65 +
            "type": "ref"
49 66
          }
50 67
        },
51 68
        "required": [
52 69
          "channel",
53 70
          "text",
54 71
          "createdAt"
55 72
        ],
56 73
        "type": "object"
57 74
      },
58 75
      "type": "record"
59 76
    }
60 77
  },
61 78
  "id": "tech.tokimeki.forum.message",
62 79
  "lexicon": 1
63 80
}

Compare Other Versions

Lexicon Garden

@