-
Notifications
You must be signed in to change notification settings - Fork 14
BREAKING: Stable frontpage lexicon #232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
The latest updates on your projects. Learn more about Vercel for GitHub.
3 Skipped Deployments
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a reason for the extra object here? Can't this be a union directly?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Goals:
fyi.frontpage
namespaceChanges
Post "subjects"
To allow for different post types in the future (eg. longform text, media, polls) we add a
subject
field 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.frontpage
namespaceMoves to the stable fyi.frontpage NSID. It's a good time to do this because the above changes are backwards incompatible (breaking).
Rollout