(READ ONLY) Margin is an open annotation layer for the internet. Powered by the AT Protocol. margin.at
extension web atproto comments

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 Commit Parent 65b97439
+97 -42
10 changed files
+97 -42
10 changed files