Music streaming on ATProto!
14
fork

Configure Feed

Select the types of activity you want to include in your feed.

refactor(lexicon): simplify tags

+10 -44
+1 -1
packages/lexicons/defs/sh/comet/v0/actor/profile.json
··· 23 23 "descriptionFacets": { 24 24 "type": "ref", 25 25 "description": "Annotations of the user's description.", 26 - "ref": "sh.comet.v0.richtext.facets" 26 + "ref": "app.bsky.richtext.facets" 27 27 }, 28 28 "avatar": { 29 29 "type": "blob",
-15
packages/lexicons/defs/sh/comet/v0/feed/defs.json
··· 2 2 "lexicon": 1, 3 3 "id": "sh.comet.v0.feed.defs", 4 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 5 "link": { 21 6 "type": "object", 22 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 46 }, 47 47 "tags": { 48 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" } 49 + "description": "Hashtags for the playlist, usually for genres.", 50 + "maxLength": 8, 51 + "items": { "type": "string", "maxLength": 640, "maxGraphemes": 64 } 53 52 }, 54 53 "link": { 55 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 38 "descriptionFacets": { 39 39 "type": "ref", 40 40 "description": "Annotations of the track's description.", 41 - "ref": "sh.comet.v0.richtext.facets" 41 + "ref": "app.bsky.richtext.facets" 42 42 }, 43 43 "tags": { 44 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" } 45 + "description": "Hashtags for the track, usually for genres.", 46 + "maxLength": 8, 47 + "items": { "type": "string", "maxLength": 640, "maxGraphemes": 64 } 49 48 }, 50 49 "link": { 51 50 "type": "ref",
+2 -2
packages/lexicons/defs/sh/comet/v0/richtext/facets.json packages/lexicons/defs/app.bsky.richtext.facet.json
··· 1 1 { 2 2 "lexicon": 1, 3 - "id": "sh.comet.v0.richtext.facets", 3 + "id": "app.bsky.richtext.facet", 4 4 "defs": { 5 5 "main": { 6 6 "type": "object", ··· 35 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 36 "required": ["tag"], 37 37 "properties": { 38 - "tag": { "type": "ref", "ref": "sh.comet.v0.feed.defs#tag" } 38 + "tag": { "type": "string", "maxLength": 640, "maxGraphemes": 64 } 39 39 } 40 40 }, 41 41 "byteSlice": {