net.anisota.graph.listMute
Schema Diff
+2 -2
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 1 non-breaking change.
Breaking Changes (1)
- ConstraintAdded ConstraintAdded { vertex_id: "net.anisota.graph.listMute:body.targetFeeds:items", sort: "maxLength", value: "512" }
Non-Breaking Changes (1)
- ConstraintRemoved ConstraintRemoved { vertex_id: "net.anisota.graph.listMute:body.targetFeeds:items", sort: "format" }
Migration Guidance
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "net.anisota.graph.listMute:body.targetFeeds:items", sort: "maxLength", value: "512" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "net.anisota.graph.listMute:body.targetFeeds:items", sort: "format" }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"contentTypes": {
5
5
"description": "Configuration for which types of content to mute",
6
6
"properties": {
7
7
"posts": {
8
8
"default": true,
9
9
"description": "Mute regular posts from accounts on this list",
10
10
"type": "boolean"
11
11
},
12
12
"quotes": {
13
13
"default": true,
14
14
"description": "Mute quote posts from accounts on this list",
15
15
"type": "boolean"
16
16
},
17
17
"replies": {
18
18
"default": true,
19
19
"description": "Mute replies from accounts on this list",
20
20
"type": "boolean"
21
21
},
22
22
"reposts": {
23
23
"default": true,
24
24
"description": "Mute reposts from accounts on this list",
25
25
"type": "boolean"
26
26
}
27
27
},
28
28
"type": "object"
29
29
},
30
30
"main": {
31
31
"description": "A record for muting content from all accounts on a list with fine-grained control over content types, duration, and feed targeting",
32
32
"key": "tid",
33
33
"record": {
34
34
"properties": {
35
35
"contentTypes": {
36
36
"description": "Types of content to mute from accounts on this list",
37
37
"ref": "#contentTypes",
38
38
"type": "ref"
39
39
},
40
40
"createdAt": {
41
41
"description": "When the mute was created",
42
42
"format": "datetime",
43
43
"type": "string"
44
44
},
45
45
"expiresAt": {
46
46
"description": "When this mute expires. If not set, mute is permanent",
47
47
"format": "datetime",
48
48
"type": "string"
49
49
},
50
50
"reason": {
51
51
"description": "Optional reason for muting this list",
52
52
"maxLength": 300,
53
53
"type": "string"
54
54
},
55
55
"subject": {
56
56
"description": "AT-URI of the list to mute (app.bsky.graph.list record)",
57
57
"format": "at-uri",
58
58
"type": "string"
59
59
},
60
60
"targetFeeds": {
61
-
"description": "Specific feeds where this mute should apply. If empty, applies to all feeds",
61
+
"description": "Specific feeds where this mute should apply: feed generator / list at-uris, or the literal sentinel 'following' for the home timeline (which has no at-uri). Empty or absent applies everywhere. Matches net.anisota.graph.wordlist#targetFeeds.",
62
62
"items": {
63
-
"format": "at-uri",
63
+
"maxLength": 512,
64
64
"type": "string"
65
65
},
66
66
"maxLength": 50,
67
67
"type": "array"
68
68
}
69
69
},
70
70
"required": [
71
71
"subject",
72
72
"createdAt"
73
73
],
74
74
"type": "object"
75
75
},
76
76
"type": "record"
77
77
}
78
78
},
79
79
"id": "net.anisota.graph.listMute",
80
80
"lexicon": 1
81
81
}