full diff

app.atmobb.moderation.action

From
bafyreibomrxqxdc73d4jlb2vryvyfnfy54p2fr6a42ihapujzaa4dffme4 indexed 2026-09-13 01:54 UTC View this version
To
bafyreieafxfzycmfhlhfaq6mf56l5qs7ynrihj2wdv4fijs6yqak5tkvey indexed 2026-09-13 23:12 UTC View this version

Compatibility

breaking 1 breaking change, 2 non-breaking changes.

Breaking changes (1)
  • ConstraintTightened ConstraintTightened { vertex_id: "app.atmobb.moderation.action:body.action", sort: "knownValues", old_value: "[\"hide\",\"unhide\",\"lock\",\"unlock\",\"pin\",\"unpin\",\"ban\",\"unban\",\"warn\",\"block\",\"unblock\",\"grantAccess\",\"denyAccess\",\"revokeAccess\",\"acceptMember\",\"revokeMember\",\"holdApplication\",\"gateForum\",\"openForum\"]", new_value: "[\"hide\",\"unhide\",\"lock\",\"unlock\",\"pin\",\"unpin\",\"ban\",\"unban\",\"warn\",\"block\",\"unblock\",\"grantAccess\",\"denyAccess\",\"revokeAccess\",\"acceptMember\",\"revokeMember\",\"holdApplication\",\"gateForum\",\"openForum\",\"awardStamp\",\"revokeStamp\"]" }
Non-breaking changes (2)
  • AddedVertex AddedVertex { vertex_id: "app.atmobb.moderation.action:body.actor" }
  • AddedEdge AddedEdge { src: "app.atmobb.moderation.action:body", tgt: "app.atmobb.moderation.action:body.actor", kind: "prop", name: Some("actor") }

Migration guidance

Added

  • AddedVertex { vertex_id: "app.atmobb.moderation.action:body.actor" }

Constraint changes

  • ConstraintTightened ConstraintTightened { vertex_id: "app.atmobb.moderation.action:body.action", sort: "knownValues", old_value: "[\"hide\",\"unhide\",\"lock\",\"unlock\",\"pin\",\"unpin\",\"ban\",\"unban\",\"warn\",\"block\",\"unblock\",\"grantAccess\",\"denyAccess\",\"revokeAccess\",\"acceptMember\",\"revokeMember\",\"holdApplication\",\"gateForum\",\"openForum\"]", new_value: "[\"hide\",\"unhide\",\"lock\",\"unlock\",\"pin\",\"unpin\",\"ban\",\"unban\",\"warn\",\"block\",\"unblock\",\"grantAccess\",\"denyAccess\",\"revokeAccess\",\"acceptMember\",\"revokeMember\",\"holdApplication\",\"gateForum\",\"openForum\",\"awardStamp\",\"revokeStamp\"]" }

Notes

  • Non-breaking: AddedEdge { src: "app.atmobb.moderation.action:body", tgt: "app.atmobb.moderation.action:body.actor", kind: "prop", name: Some("actor") }

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "account": {
55 "description": "An account as the subject of an action.",
66 "properties": {
77 "did": {
88 "format": "did",
99 "type": "string"
1010 }
1111 },
1212 "required": [
1313 "did"
1414 ],
1515 "type": "object"
1616 },
1717 "main": {
1818 "description": "A moderation action taken by a forum. Lives in the forum account's repo, making moderation portable and auditable — any appview can honor it at read time.",
1919 "key": "tid",
2020 "record": {
2121 "properties": {
2222 "action": {
2323 "knownValues": [
2424 "hide",
2525 "unhide",
2626 "lock",
2727 "unlock",
2828 "pin",
2929 "unpin",
3030 "ban",
3131 "unban",
3232 "warn",
3333 "block",
3434 "unblock",
3535 "grantAccess",
3636 "denyAccess",
3737 "revokeAccess",
3838 "acceptMember",
3939 "revokeMember",
4040 "holdApplication",
4141 "gateForum",
42 "openForum"
42 "openForum",
43 "awardStamp",
44 "revokeStamp"
4345 ],
4446 "maxLength": 64,
4547 "type": "string"
4648 },
49 "actor": {
50 "description": "The staff member who performed the action, when it differs from the signing forum account.",
51 "format": "did",
52 "type": "string"
53 },
4754 "board": {
4855 "description": "Scopes account-level actions (e.g. a ban) to one board. Absent means forum-wide.",
4956 "format": "at-uri",
5057 "type": "string"
5158 },
5259 "createdAt": {
5360 "format": "datetime",
5461 "type": "string"
5562 },
5663 "expiresAt": {
5764 "description": "When a temporary action lapses. Absent means until reversed.",
5865 "format": "datetime",
5966 "type": "string"
6067 },
6168 "mode": {
6269 "description": "For gateForum: the join mode entered (apply or invite). gateForum and openForum take the forum's own account as subject and mark the periods during which membership is enforced; a post written while the forum was open is served regardless of membership.",
6370 "knownValues": [
6471 "apply",
6572 "invite"
6673 ],
6774 "maxLength": 32,
6875 "type": "string"
6976 },
7077 "reason": {
7178 "maxGraphemes": 1000,
7279 "maxLength": 10000,
7380 "type": "string"
7481 },
7582 "ref": {
76 "description": "For acceptMember, denyAccess, or holdApplication: the accessRequest record this decision answers.",
83 "description": "For acceptMember, denyAccess, or holdApplication: the accessRequest record this decision answers. For awardStamp or revokeStamp: the app.atmobb.forum.stamp record being awarded to or taken from the subject account.",
7784 "ref": "com.atproto.repo.strongRef",
7885 "type": "ref"
7986 },
8087 "sponsor": {
8188 "description": "For acceptMember: the person who brought the subject in — the inviter, or the staffer who approved the application. Absent for founding members accepted when the forum first gated.",
8289 "format": "did",
8390 "type": "string"
8491 },
8592 "subject": {
8693 "refs": [
8794 "com.atproto.repo.strongRef",
8895 "#account"
8996 ],
9097 "type": "union"
9198 },
9299 "via": {
93100 "description": "For acceptMember: how the subject was accepted.",
94101 "knownValues": [
95102 "invite",
96103 "application",
97104 "founding"
98105 ],
99106 "maxLength": 32,
100107 "type": "string"
101108 }
102109 },
103110 "required": [
104111 "subject",
105112 "action"
106113 ],
107114 "type": "object"
108115 },
109116 "type": "record"
110117 }
111118 },
112119 "id": "app.atmobb.moderation.action",
113120 "lexicon": 1
114121}

Compare other versions