Music streaming on ATProto!

refactor(lexicon): simplify tags

ovyerus.com 8ec13e59 062a9b5d

verified
Changed files
+10 -44
packages
+1 -1
packages/lexicons/defs/sh/comet/v0/actor/profile.json
··· 23 "descriptionFacets": { 24 "type": "ref", 25 "description": "Annotations of the user's description.", 26 - "ref": "sh.comet.v0.richtext.facets" 27 }, 28 "avatar": { 29 "type": "blob",
··· 23 "descriptionFacets": { 24 "type": "ref", 25 "description": "Annotations of the user's description.", 26 + "ref": "app.bsky.richtext.facets" 27 }, 28 "avatar": { 29 "type": "blob",
-15
packages/lexicons/defs/sh/comet/v0/feed/defs.json
··· 2 "lexicon": 1, 3 "id": "sh.comet.v0.feed.defs", 4 "defs": { 5 - "tag": { 6 - "type": "string", 7 - "knownValues": [ 8 - "sh.comet.v0.feed.tag#alternative", 9 - "sh.comet.v0.feed.tag#ambient", 10 - "sh.comet.v0.feed.tag#electronic", 11 - "sh.comet.v0.feed.tag#experimental", 12 - "sh.comet.v0.feed.tag#hiphop", 13 - "sh.comet.v0.feed.tag#metal", 14 - "sh.comet.v0.feed.tag#rock", 15 - "sh.comet.v0.feed.tag#podcast", 16 - "sh.comet.v0.feed.tag#pop", 17 - "sh.comet.v0.feed.tag#punk" 18 - ] 19 - }, 20 "link": { 21 "type": "object", 22 "description": "Link for the track. Usually to acquire it in some way, e.g. via free download or purchase. | TODO: multiple links?",
··· 2 "lexicon": 1, 3 "id": "sh.comet.v0.feed.defs", 4 "defs": { 5 "link": { 6 "type": "object", 7 "description": "Link for the track. Usually to acquire it in some way, e.g. via free download or purchase. | TODO: multiple links?",
+3 -4
packages/lexicons/defs/sh/comet/v0/feed/playlist.json
··· 46 }, 47 "tags": { 48 "type": "array", 49 - "description": "Tags/genres for the playlist. First item is used as the \"primary\" tag. | TODO: reconsider maxLength value", 50 - "minLength": 1, 51 - "maxLength": 5, 52 - "items": { "type": "ref", "ref": "sh.comet.v0.feed.defs#tag" } 53 }, 54 "link": { 55 "type": "ref",
··· 46 }, 47 "tags": { 48 "type": "array", 49 + "description": "Hashtags for the playlist, usually for genres.", 50 + "maxLength": 8, 51 + "items": { "type": "string", "maxLength": 640, "maxGraphemes": 64 } 52 }, 53 "link": { 54 "type": "ref",
-17
packages/lexicons/defs/sh/comet/v0/feed/tag.json
··· 1 - { 2 - "lexicon": 1, 3 - "id": "sh.comet.v0.feed.tag", 4 - "description": "TODO: maybe instead of being like this, make tag a proper record?", 5 - "defs": { 6 - "alternative": { "type": "token" }, 7 - "ambient": { "type": "token" }, 8 - "electronic": { "type": "token" }, 9 - "experimental": { "type": "token" }, 10 - "hiphop": { "type": "token" }, 11 - "metal": { "type": "token" }, 12 - "rock": { "type": "token" }, 13 - "podcast": { "type": "token" }, 14 - "pop": { "type": "token" }, 15 - "punk": { "type": "token" } 16 - } 17 - }
···
+4 -5
packages/lexicons/defs/sh/comet/v0/feed/track.json
··· 38 "descriptionFacets": { 39 "type": "ref", 40 "description": "Annotations of the track's description.", 41 - "ref": "sh.comet.v0.richtext.facets" 42 }, 43 "tags": { 44 "type": "array", 45 - "description": "Tags/genres for the track. First item is used as the \"primary\" tag. | TODO: reconsider maxLength value", 46 - "minLength": 1, 47 - "maxLength": 5, 48 - "items": { "type": "ref", "ref": "sh.comet.v0.feed.defs#tag" } 49 }, 50 "link": { 51 "type": "ref",
··· 38 "descriptionFacets": { 39 "type": "ref", 40 "description": "Annotations of the track's description.", 41 + "ref": "app.bsky.richtext.facets" 42 }, 43 "tags": { 44 "type": "array", 45 + "description": "Hashtags for the track, usually for genres.", 46 + "maxLength": 8, 47 + "items": { "type": "string", "maxLength": 640, "maxGraphemes": 64 } 48 }, 49 "link": { 50 "type": "ref",
+2 -2
packages/lexicons/defs/sh/comet/v0/richtext/facets.json packages/lexicons/defs/app.bsky.richtext.facet.json
··· 1 { 2 "lexicon": 1, 3 - "id": "sh.comet.v0.richtext.facets", 4 "defs": { 5 "main": { 6 "type": "object", ··· 35 "description": "Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not (except in the case of 'double hash tags').", 36 "required": ["tag"], 37 "properties": { 38 - "tag": { "type": "ref", "ref": "sh.comet.v0.feed.defs#tag" } 39 } 40 }, 41 "byteSlice": {
··· 1 { 2 "lexicon": 1, 3 + "id": "app.bsky.richtext.facet", 4 "defs": { 5 "main": { 6 "type": "object", ··· 35 "description": "Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not (except in the case of 'double hash tags').", 36 "required": ["tag"], 37 "properties": { 38 + "tag": { "type": "string", "maxLength": 640, "maxGraphemes": 64 } 39 } 40 }, 41 "byteSlice": {