Linux Bun has document without a window binding. Deleting the test stub
makes ProseMirror throw window is not defined. Leave the stub in place
when there was no previous window.
Assigning globalThis.window = undefined creates an own property. On Ubuntu
that shadows the host window, so later editor tests throw when ProseMirror
reads window.MutationObserver.
The list card already shows when a note was touched. Text, diagram, and infographic headers keep the character count and save status, and give that corner back to the title row.
New clips store the source, capture time, and fetch-failure note in the current app language. Chinese keeps the existing wording, and already saved notes stay as they are.
Text-note card menus can copy the note as rich text. The open note uses the editor, including unsaved changes; other notes copy saved content without switching the editor.
ACP image blocks from agent messages and tool results were dropped, so a generated picture never reached the companion sidebar. Forward JPEG, PNG, WebP, and GIF payloads and draw them with the AI Elements Image component, without including file paths.
Reuse the editor ImageViewer (lazy loaded) on the public share page so
double-clicking an image opens it in the lightbox.
Refs #446
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The companion markdown parser stays one atomic chunk so its initializer order holds. It loads with the note editor and stays off the initial modulepreload list.
ParentNode.append is the Workers stream helper under the root typecheck, so the preview attaches DOM nodes with appendChild. The sync queue test restores navigator after forcing onLine, so a later headless TipTap test can still read userAgent.
Selecting note text offers explain, translate, and ask. Explain and translate pin the passage and reply in the current companion thread. A translation replaces the selection only while the original range still matches.
The seed clears the changelog before deleting notes, so a caught-up browser keeps the old copies. A new workspace sync identity makes that browser replace its mirror with the seeded snapshot.
Pair each preset group's dark rules with the light rules they override. The settings dialog shows a sample that switches theme locally and warns when a declaration will be dropped on save.
The local agent option shows Codex, Antigravity, Claude Code, WorkBuddy, and Grok Build. Only Codex and Antigravity can be selected in the desktop app.
Notes open a right-hand assistant that can attach files and asks before changing note content. Desktop can talk to a local ACP agent without handing over the note directory.
Named hues leave body text, quotes, rules, tables, and code chrome on the native styles. Bold uses the palette accent. The green option is removed, and a saved emerald choice reads as native.