BREAKING: Stable frontpage lexicon#232
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
💡 Enable Vercel Agent with $100 free credit for automated AI reviews |
There was a problem hiding this comment.
Copilot wasn't able to review any files in this pull request.
Files not reviewed (6)
- lexicons/fyi/frontpage/feed/comment.json: Language not supported
- lexicons/fyi/frontpage/feed/post.json: Language not supported
- lexicons/fyi/frontpage/feed/vote.json: Language not supported
- lexicons/fyi/frontpage/richtext/block.json: Language not supported
- lexicons/fyi/frontpage/richtext/facet.json: Language not supported
- lexicons/fyi/frontpage/subject/url.json: Language not supported
fdf69c3 to
9724d0b
Compare
3198c00 to
d6a28ec
Compare
|
I'd suggest doing a block as being "some text, facets, and embeds (links, images)" or "embeds, blobs, or text with facets" So you'd have a type link:
And Then for This gives you the ability to have rich text inline, but have video, images and link embeds be first-class alongside the text segments. Edit: oh, and why |
|
Maybe |
|
So maybe the key change would be to move: Out of the |
| "id": "fyi.frontpage.richtext.block", | ||
| "defs": { | ||
| "main": { | ||
| "type": "object", |
There was a problem hiding this comment.
Is there a reason for the extra object here? Can't this be a union directly?
There was a problem hiding this comment.
I don't think so, at least lex-cli errors when you have a union at the top level of main. I'll verify that though.
3f57182 to
22d5f92
Compare
Goals:
fyi.frontpagenamespaceChanges
Post "subjects"
To allow for different post types in the future (eg. longform text, media, polls) we add a
subjectfield to post. This is an open union with currently one defined value: a URL. The open union allows for non-breaking extension later.Block-based comments
Comments are now made up of an array of blocks. For now a block can simply be a paragraph, but in the future could be an image, codeblock, etc. The paragraph that is supported is simply a string and matches the semantics of the old comment schema.
When we add richtext in the future it'll be heavily inspired by bluesky-social/atproto#2830 but likely defined in userspace. There'll be a new "richtext paragraph" block type to support this, with a Frontpage facet type that extends the Bluesky ones and adds our own union members.
Adding length constraints on longform block-based richtext content is tricky. We take the following approach:
Not being able to describe these constraints in the lexicon is unfortunate but I don't think there's a better way forward without compromising the user experience. Suggestions welcome!
fyi.frontpagenamespaceMoves to the stable fyi.frontpage NSID. It's a good time to do this because the above changes are backwards incompatible (breaking).
Rollout