Something went wrong. Try again.
(READ ONLY) Margin is an open annotation layer for the internet. Powered by the AT Protocol.
margin.at
extension web atproto comments
Something went wrong. Try again.
Support refinedBy selectors in note records
Add `refinedBy` to the W3C selector definition so a selector can be narrowed by another (e.g. a TextQuoteSelector refined by a page/CFI FragmentSelector locating it in a specific edition). - Lexicon: recursive `refinedBy` ref on the selector def - Backend: carry refinedBy through API hydration instead of dropping it - Web types: model selectors as a discriminated union per W3C kind to avoid subtle bugs, `refinedBy` on a shared base; `Selector` remains the union of all - Narrow to `TextQuoteSelector` at write boundaries via `asTextQuote` rather than casting parsed JSON, and require it on the create APIs
Author Date (Jun 27, 2026, 1:45 PM UTC) Commit
Copy SHA
Parent 65b97439 65b97439cc50521dde83aa6ad6ce2cb422943aef