From
bafyreicqphvij3g6zr7xtdtrsvyhoumctxkcsmzo6mi762z327bncsuyta
indexed 2026-08-25 14:45 UTC
View this version
To
bafyreibljftfksyao3vxxdzudavnn7nzdkexdqjo5fjwjrz37punubxhie
indexed 2026-10-15 15:34 UTC
View this version
Compatibility
breaking 1 breaking change, 8 non-breaking changes.
Breaking changes (1)
- ConstraintTightened ConstraintTightened { vertex_id: "social.colibri.beta.actor.putSettings:input.notificationLevel", sort: "knownValues", old_value: "[\"all\",\"mentionsAndReplies\"]", new_value: "[\"all\",\"mentionsAndReplies\",\"nothing\"]" }
Non-breaking changes (8)
- AddedVertex AddedVertex { vertex_id: "social.colibri.beta.actor.defs#clientPreferences" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.beta.actor.defs#composerState" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.beta.actor.putSettings:input.clientPreferences" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.beta.actor.putSettings:input.composerState" }
- AddedEdge AddedEdge { src: "social.colibri.beta.actor.putSettings:input", tgt: "social.colibri.beta.actor.putSettings:input.clientPreferences", kind: "prop", name: Some("clientPreferences") }
- AddedEdge AddedEdge { src: "social.colibri.beta.actor.putSettings:input", tgt: "social.colibri.beta.actor.putSettings:input.composerState", kind: "prop", name: Some("composerState") }
- AddedEdge AddedEdge { src: "social.colibri.beta.actor.putSettings:input.clientPreferences", tgt: "social.colibri.beta.actor.defs#clientPreferences", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "social.colibri.beta.actor.putSettings:input.composerState", tgt: "social.colibri.beta.actor.defs#composerState", kind: "ref", name: None }
Migration guidance
Added
AddedVertex { vertex_id: "social.colibri.beta.actor.defs#clientPreferences" }AddedVertex { vertex_id: "social.colibri.beta.actor.defs#composerState" }AddedVertex { vertex_id: "social.colibri.beta.actor.putSettings:input.clientPreferences" }AddedVertex { vertex_id: "social.colibri.beta.actor.putSettings:input.composerState" }
Constraint changes
- ConstraintTightened ConstraintTightened { vertex_id: "social.colibri.beta.actor.putSettings:input.notificationLevel", sort: "knownValues", old_value: "[\"all\",\"mentionsAndReplies\"]", new_value: "[\"all\",\"mentionsAndReplies\",\"nothing\"]" }
Notes
- Non-breaking: AddedEdge { src: "social.colibri.beta.actor.putSettings:input", tgt: "social.colibri.beta.actor.putSettings:input.clientPreferences", kind: "prop", name: Some("clientPreferences") }
- Non-breaking: AddedEdge { src: "social.colibri.beta.actor.putSettings:input", tgt: "social.colibri.beta.actor.putSettings:input.composerState", kind: "prop", name: Some("composerState") }
- Non-breaking: AddedEdge { src: "social.colibri.beta.actor.putSettings:input.clientPreferences", tgt: "social.colibri.beta.actor.defs#clientPreferences", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "social.colibri.beta.actor.putSettings:input.composerState", tgt: "social.colibri.beta.actor.defs#composerState", kind: "ref", name: None }
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {44
"main": {55
"description": "Pushes the requesting user's social.colibri.beta.actor.settings record to the AppView, so it takes effect immediately instead of waiting for a sync notification. The client writes the record to its own personal space first, then calls this. An absent field leaves the current value unchanged.",66
"errors": [77
{88
"description": "The request has no valid service auth.",99
"name": "AuthRequired"1010
},1111
{1212
"description": "A field is present but does not hold an allowed value.",1313
"name": "InvalidRequest"1414
}1515
],1616
"input": {1717
"encoding": "application/json",1818
"schema": {1919
"properties": {20
"clientPreferences": {21
"description": "The contents of the user's social.colibri.beta.actor.clientPreferences record. Replaces the stored copy whole. Absent leaves the current value unchanged.",22
"ref": "social.colibri.beta.actor.defs#clientPreferences",23
"type": "ref"24
},2025
"communityOrder": {2126
"description": "Communities in preferred sidebar order. Absent leaves the current value unchanged.",2227
"items": {2328
"description": "A community.",2429
"format": "did",2530
"type": "string"2631
},2732
"type": "array"2833
},34
"composerState": {35
"description": "The contents of the user's social.colibri.beta.actor.composerState record. Replaces the stored copy whole. Absent leaves the current value unchanged.",36
"ref": "social.colibri.beta.actor.defs#composerState",37
"type": "ref"38
},2939
"gifFavorites": {3040
"description": "GIFs saved from the picker, stored whole. Absent leaves the current value unchanged.",3141
"items": {3242
"ref": "social.colibri.beta.embed.defs#gifView",3343
"type": "ref"3444
},3545
"type": "array"3646
},3747
"notificationLevel": {3848
"description": "Which messages produce a notification. Absent leaves the current value unchanged.",3949
"knownValues": [4050
"all",41
"mentionsAndReplies"51
"mentionsAndReplies",52
"nothing"4253
],4354
"type": "string"4455
},4556
"shareActivity": {4657
"description": "Whether the AppView may show what the user is listening to. Absent leaves the current value unchanged.",4758
"type": "boolean"4859
}4960
},5061
"type": "object"5162
}5263
},5364
"output": {5465
"encoding": "application/json",5566
"schema": {5667
"properties": {5768
"preferences": {5869
"description": "The requesting user's settings, after the update.",5970
"ref": "social.colibri.beta.actor.defs#preferences",6071
"type": "ref"6172
}6273
},6374
"required": [6475
"preferences"6576
],6677
"type": "object"6778
}6879
},6980
"type": "procedure"7081
}7182
},7283
"id": "social.colibri.beta.actor.putSettings",7384
"lexicon": 17485
}