Repository navigation
Release 0.12.0: works with a stock blyg (studio 0.46.1) - #45
Merged
Merged
Conversation
GET /api/reading/imported on a stock blygger-studio 0.40+ is upstream's listImportedReading: camelCase rows, cursor-paged, 1..100 a page, no page flags. Burrow sent the old Worker patch's limit=500&before=, got a 400, and every sync failed. - wire: ReadingPage reads both shapes (camelCase rows => upstream; the old patch page carries read_state). upstream_row maps withdrawn, readVersion, stubOf, forkedFrom, transclusions; lineage is known for every non-L0, non-withdrawn row. - The walk's first page sends only limit=100 (both servers take it); later pages send cursor= (upstream) or before= (old patch, 500 a page). - Read sync on upstream comes from GET /api/reading's read_state and read_state_clear flags, read once a session; readVersion is kept when on. - A 401 the credential can't recover from (a revoked token, an ended sign-in, an owner token a stock blyg doesn't take) emits SignedOut once: the worker stops sending and pulling until a new sign-in or a manual sync, queued changes stay queued, and the app opens the sign-in sheet (browser first) saying why. - e2e: cursor paging with small pages (no repeats, same order), a stub's lineage from its feed row, a refused token stopping sync and keeping the change; the two-Mac read-sync test now also runs on a stock studio. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Parity fixtures now come from stock blygger-studio v0.46.1 (was the patched Worker at 0.36.1). Embeds are presentation only upstream since 0.40, so the YouTube facade and image referrerpolicy are no longer baked into the HTML; the preview script still shows the facade on screen. parse_scopes looks for [TK], [=] and [/TK] outside code everywhere in a scope (0.41.1, #68). Decision #60: in a thread, an own-line ![[id]] left in a block scope's output previews as the quote publish bakes, with the prose around it still disclosed as generated. New unrequested_output_directives() (tk.ts unrequestedOutputDirectives) names directives the instruction did not. Parity: 215/219 byte-identical; the 4 known divergences are the #60 block-scope cases, pinned in tests/preview.rs. gen_parity.mjs runs Miniflare from a temp dir so no .wrangler/ lands in the tree. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rk is unverified The publish sheet now also warns when a thread's generated text has an own-line ![[id]] its instruction never named (decision #60): publishing quotes it and notifies that author. The server's own publish warning was already shown in the toast. Reading view (spec 5.7, #59): text marked blyg-tk-gen gets a tooltip and the post ends with a small note that the mark is the publisher's own disclosure, not verified. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- model::Author keeps every member it doesn't name (extra, flattened);
wire::stock_row no longer narrows author_json to {name, url}
(conformance §5.5).
- StubOf and RemoteRef keep cited (protocol 0.3 §16.1; studio 0.41+). A
stub_of sent to the server drops a cited that upstream's strict Citation
would refuse (source, url and retrieved are required).
- ReadingItem gains source_url and generated from listImportedReading.
- Client-recorded provenance sends a remote source's origin (studio 0.41+).
- Mentions with relation "source" (0.41) read as "drew on this".
- e2e: saving settings leaves the keys Burrow doesn't own (links_*,
auto_change_notes, …); a feed row's author comes through.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…1.1) Like the studio's parseScopes since #68, every token ([TK], [=], [/TK]) is looked for outside code, inline or fenced, not only the opening one: a [/TK] quoted in code inside a scope is no early close, and a [TK] there is no nesting. blyg-core now uses blyg-render's code ranges (exposed as blyg_render::code_ranges), so it becomes a normal dependency. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- docs/SERVER.md rewritten around stock blygger-studio: what each version
brings, 0.40+'s listImportedReading shapes, signing in (no owner token on
a stock studio; a refused credential stops sync and asks to sign in),
read state as upstream's (reading:state is final), and the old fork's
extensions as legacy.
- SPEC.md and CORE.md: the reading feed, read state and 401 handling as
they are now; e2e last green against stock 0.46.1.
- The sign-in sheet no longer points at a server's owner token. The
limited-server sheet and About now speak of a studio older than 0.40
("Full reading feed" replaces "Server extensions").
- reading:state is no longer called provisional.
- Site FAQ and AI page: stock is fully supported; disclosure needs 0.28.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- What's new 0.12.0: stock blyg, sign-in (browser or a Client access token with reading:state), refused sign-in, the publish warning, the Reader's unverified note, "drew on this". Show me what's new starts at echoed-quote. - echoed-quote step: a sample thread whose TK output echoed ![[id]], in the full editor (the preview shows the quote); ⌘⏎ opens the sheet's warning. - generated step: Lin's fork now has a sentence marked blyg-tk-gen; ⏎ opens it in the stream's side pane with the tooltip and the note. - The tour no longer hides the reading WebView where it is clear of the tour card (stream side pane, Reader post pane), so posts show in the tour's reading steps. - Tests: the 0.11 -> 0.12 launch, both steps' warning and note. - Cargo.lock catches up with the 0.12.0 version bump. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- getting-started, introduction, faq, config: a stock studio 0.40+ needs no patches; no server owner token in sign-in; a refused sign-in opens the sheet (new FAQ); the 0.11 sign-in-again note softened. - writing: a quote the AI added (the publish warning); reading: Generated text section, "drew on this", read-state wording; ai: both. - dev docs, SPEC: no patched Worker; decisions #59/#60; tour notes. - Config key docs: "your sign-in" instead of the owner token. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ding Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Burrow now works fully against an unmodified Blygger Studio (0.40+, checked against v0.46.1), with no Worker patches.
Highlights
GET /api/reading/importedin both the upstream (camelCase, cursor, limit ≤ 100) and the old patch shape. Read sync on upstream is detected fromGET /api/reading'sread_stateflags. Lineage is known on every non-L0, non-withdrawn row. Fixes a total reading-sync failure against 0.40+ (limit=500→ 400).citedon StubOf/RemoteRef,sourceUrlandgeneratedon reading rows, "source" mentions shown as "drew on this", settings PATCH never clobbers keys Burrow doesn't own.reading:stateis final.![[id]]in TK output as the quote publish makes, and the publish sheet warns when the instruction didn't name it.Verification
cargo fmt,clippy -D warnings,cargo test --workspace: 1176 passed, 0 failed.BLYG_E2E_STOCK=1 scripts/e2e-local.shagainst a local build of stock studio v0.46.1: 44/44 core + 2/2 markdown-notes. New tests cover cursor paging, feed lineage, a refused token, the settings round-trip, and the feed author.Not run: e2e against an old patched Worker. The old shape is still covered by the existing wire/mock tests.
🤖 Generated with Claude Code