full diff

fyi.opensocial.updateProfile

From
bafyreifo2uxr6w55564hcm3fxcqz7o5ce46p54teq4ui6iijtlwfbh6s3e indexed 2026-09-24 00:10 UTC View this version
To
bafyreicksbqxai35glouwdyhzyqems767dalijxa6nr25e7yk6lfg3tl7e indexed 2026-10-18 18:50 UTC View this version

Compatibility

backward compatible Backward compatible. 28 non-breaking changes.

Non-breaking changes (28)
  • AddedVertex AddedVertex { vertex_id: "community.lexicon.location.address" }
  • AddedVertex AddedVertex { vertex_id: "community.lexicon.location.fsq" }
  • AddedVertex AddedVertex { vertex_id: "community.lexicon.location.geo" }
  • AddedVertex AddedVertex { vertex_id: "community.lexicon.location.hthree" }
  • AddedVertex AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.languages" }
  • AddedVertex AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.languages:items" }
  • AddedVertex AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.location" }
  • AddedVertex AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.location:variant0" }
  • AddedVertex AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.location:variant1" }
  • AddedVertex AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.location:variant2" }
  • AddedVertex AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.location:variant3" }
  • AddedVertex AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.online" }
  • AddedVertex AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.topics" }
  • AddedVertex AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.topics:items" }
  • AddedEdge AddedEdge { src: "fyi.opensocial.updateProfile:input", tgt: "fyi.opensocial.updateProfile:input.languages", kind: "prop", name: Some("languages") }
  • AddedEdge AddedEdge { src: "fyi.opensocial.updateProfile:input", tgt: "fyi.opensocial.updateProfile:input.location", kind: "prop", name: Some("location") }
  • AddedEdge AddedEdge { src: "fyi.opensocial.updateProfile:input", tgt: "fyi.opensocial.updateProfile:input.online", kind: "prop", name: Some("online") }
  • AddedEdge AddedEdge { src: "fyi.opensocial.updateProfile:input", tgt: "fyi.opensocial.updateProfile:input.topics", kind: "prop", name: Some("topics") }
  • AddedEdge AddedEdge { src: "fyi.opensocial.updateProfile:input.languages", tgt: "fyi.opensocial.updateProfile:input.languages:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "fyi.opensocial.updateProfile:input.location", tgt: "fyi.opensocial.updateProfile:input.location:variant0", kind: "variant", name: Some("community.lexicon.location.address") }
  • AddedEdge AddedEdge { src: "fyi.opensocial.updateProfile:input.location", tgt: "fyi.opensocial.updateProfile:input.location:variant1", kind: "variant", name: Some("community.lexicon.location.geo") }
  • AddedEdge AddedEdge { src: "fyi.opensocial.updateProfile:input.location", tgt: "fyi.opensocial.updateProfile:input.location:variant2", kind: "variant", name: Some("community.lexicon.location.fsq") }
  • AddedEdge AddedEdge { src: "fyi.opensocial.updateProfile:input.location", tgt: "fyi.opensocial.updateProfile:input.location:variant3", kind: "variant", name: Some("community.lexicon.location.hthree") }
  • AddedEdge AddedEdge { src: "fyi.opensocial.updateProfile:input.location:variant0", tgt: "community.lexicon.location.address", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "fyi.opensocial.updateProfile:input.location:variant1", tgt: "community.lexicon.location.geo", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "fyi.opensocial.updateProfile:input.location:variant2", tgt: "community.lexicon.location.fsq", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "fyi.opensocial.updateProfile:input.location:variant3", tgt: "community.lexicon.location.hthree", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "fyi.opensocial.updateProfile:input.topics", tgt: "fyi.opensocial.updateProfile:input.topics:items", kind: "items", name: None }

Migration guidance

Added

  • AddedVertex { vertex_id: "community.lexicon.location.address" }
  • AddedVertex { vertex_id: "community.lexicon.location.fsq" }
  • AddedVertex { vertex_id: "community.lexicon.location.geo" }
  • AddedVertex { vertex_id: "community.lexicon.location.hthree" }
  • AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.languages" }
  • AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.languages:items" }
  • AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.location" }
  • AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.location:variant0" }
  • AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.location:variant1" }
  • AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.location:variant2" }
  • AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.location:variant3" }
  • AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.online" }
  • AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.topics" }
  • AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.topics:items" }

Notes

  • Non-breaking: AddedEdge { src: "fyi.opensocial.updateProfile:input", tgt: "fyi.opensocial.updateProfile:input.languages", kind: "prop", name: Some("languages") }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.updateProfile:input", tgt: "fyi.opensocial.updateProfile:input.location", kind: "prop", name: Some("location") }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.updateProfile:input", tgt: "fyi.opensocial.updateProfile:input.online", kind: "prop", name: Some("online") }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.updateProfile:input", tgt: "fyi.opensocial.updateProfile:input.topics", kind: "prop", name: Some("topics") }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.updateProfile:input.languages", tgt: "fyi.opensocial.updateProfile:input.languages:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.updateProfile:input.location", tgt: "fyi.opensocial.updateProfile:input.location:variant0", kind: "variant", name: Some("community.lexicon.location.address") }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.updateProfile:input.location", tgt: "fyi.opensocial.updateProfile:input.location:variant1", kind: "variant", name: Some("community.lexicon.location.geo") }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.updateProfile:input.location", tgt: "fyi.opensocial.updateProfile:input.location:variant2", kind: "variant", name: Some("community.lexicon.location.fsq") }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.updateProfile:input.location", tgt: "fyi.opensocial.updateProfile:input.location:variant3", kind: "variant", name: Some("community.lexicon.location.hthree") }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.updateProfile:input.location:variant0", tgt: "community.lexicon.location.address", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.updateProfile:input.location:variant1", tgt: "community.lexicon.location.geo", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.updateProfile:input.location:variant2", tgt: "community.lexicon.location.fsq", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.updateProfile:input.location:variant3", tgt: "community.lexicon.location.hthree", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.updateProfile:input.topics", tgt: "fyi.opensocial.updateProfile:input.topics:items", kind: "items", name: None }

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "main": {
5 "description": "Replace the profile: name, description, join policy. Requires group.configure. Fields are inlined rather than referencing fyi.opensocial.profile, because a record def cannot be used as an input object — mirrors createGroup.",
5 "description": "Replace the profile: name, description, join policy, where it meets, its topics and languages. Requires group.configure. Fields are inlined rather than referencing fyi.opensocial.profile, because a record def cannot be used as an input object — mirrors createGroup.",
66 "input": {
77 "encoding": "application/json",
88 "schema": {
99 "properties": {
1010 "avatar": {
1111 "accept": [
1212 "image/png",
1313 "image/jpeg"
1414 ],
1515 "description": "The group's avatar, as returned by uploadImage. Omit to keep the current one; null to clear it.",
1616 "maxSize": 1000000,
1717 "type": "blob"
1818 },
1919 "banner": {
2020 "accept": [
2121 "image/png",
2222 "image/jpeg"
2323 ],
2424 "description": "The group's banner, as returned by uploadImage. Omit to keep the current one; null to clear it.",
2525 "maxSize": 1000000,
2626 "type": "blob"
2727 },
2828 "description": {
2929 "maxGraphemes": 300,
3030 "maxLength": 3000,
3131 "type": "string"
3232 },
3333 "displayName": {
3434 "maxGraphemes": 64,
3535 "maxLength": 640,
3636 "type": "string"
3737 },
3838 "group": {
3939 "description": "The group DID. Every method is served by the group's host and authorized against that group's roles.",
4040 "format": "did",
4141 "type": "string"
4242 },
4343 "joinPolicy": {
4444 "knownValues": [
4545 "fyi.opensocial.profile#open",
4646 "fyi.opensocial.profile#request",
4747 "fyi.opensocial.profile#invite"
4848 ],
4949 "type": "string"
5050 },
51 "languages": {
52 "description": "The languages it uses, as BCP 47 tags: en, pl, sl.",
53 "items": {
54 "format": "language",
55 "type": "string"
56 },
57 "maxLength": 5,
58 "type": "array"
59 },
60 "location": {
61 "description": "Where it meets, if it meets somewhere: a town or city is enough.",
62 "refs": [
63 "community.lexicon.location.address",
64 "community.lexicon.location.geo",
65 "community.lexicon.location.fsq",
66 "community.lexicon.location.hthree"
67 ],
68 "type": "union"
69 },
70 "online": {
71 "description": "It meets online, as well as or instead of somewhere.",
72 "type": "boolean"
73 },
74 "topics": {
75 "description": "What it's about, a few words each, as the group puts it: climbing, choir, renters' union.",
76 "items": {
77 "maxGraphemes": 64,
78 "maxLength": 640,
79 "type": "string"
80 },
81 "maxLength": 10,
82 "type": "array"
83 },
5184 "url": {
5285 "description": "The group's own site.",
5386 "format": "uri",
5487 "type": "string"
5588 }
5689 },
5790 "required": [
5891 "group",
5992 "displayName"
6093 ],
6194 "type": "object"
6295 }
6396 },
6497 "output": {
6598 "encoding": "application/json",
6699 "schema": {
67100 "properties": {
68101 "cid": {
69102 "format": "cid",
70103 "type": "string"
71104 },
72105 "uri": {
73106 "format": "at-uri",
74107 "type": "string"
75108 }
76109 },
77110 "required": [
78111 "uri",
79112 "cid"
80113 ],
81114 "type": "object"
82115 }
83116 },
84117 "type": "procedure"
85118 }
86119 },
87120 "id": "fyi.opensocial.updateProfile",
88121 "lexicon": 1
89122}

Compare other versions