Allow owners to turn on an auto-generated access password when sharing a note. Visitors must unlock the share page before reading the note or its attachments; existing public links stay open until a password is enabled.
Keep Cloudflare requests short for Agent, tag suggestions, plugin generate, and Paw checks. The instance only prepares credentials and executes tools; CORS failures still fall back to the existing proxy.
OpenAI-compatible providers reject oneOf, anyOf, and const in tool JSON
Schema. Agent forwarded MCP schemas unchanged, so those models failed
before the first token. Flatten the diagram and template schemas, reject
incompatible keywords when the catalog loads, and map provider HTTP
errors to specific copy.
Show the connected instance URL on desktop and mobile, and the local
data directory on desktop. Keep both out of GitHub feedback. Relabel
health-check latency and distinguish an empty sync queue from never
having synced.
Cmd+N and a second click could both create before isPending flipped.
Sync also left the local id in the list beside the durable id, and
autofocus stopped before the editor was editable.
Show tool receipts in chat, pin notes with @, wire saved memory, and
let interrupted Agent turns continue. Split tool-side narration from
the user-facing answer.
Pass the current note body into Agent focus so diagrams follow the open note. Enable in-place diagram edits plus note templates and AI instructions, including deletes, without confirmation cards.
Give Agent create_diagram_memo and get_diagram so 思维导图, flowcharts, and architecture diagrams become editable diagram notes instead of Markdown outlines.
Agent recency questions now use createdAfter/updatedAfter, keep timestamps on search results, and accept YYYY-MM-DD bounds. Chat headings are compacted so notebook groups no longer dominate the dialog.
Reserve Xcode Cloud build 49 for the 1.74.0 App Store submission so iOS
can ship the shared editor schema, math/gallery/divider alignment, and
in-app Japanese.
Create, update, and trash notes without a confirmation card. Keep the transcript pinned to the newest reply while it streams, and show a spinner instead of the generating status line.
Treat the current note as editor context, not a search filter. Named notebooks resolve through find_notebooks, follow-ups keep sourced history, and the chat chrome no longer shows model names, empty waiting copy, or a second stop button.
Full-screen capture finishes before Electron can deliver a duplicate tray
click, so keep the capture locked through a short cooldown and drop a
second import of the same screenshot.
Remove the standalone companion page, discovery hub, and settings tab. Keep the companion runtime, MCP tools, and confirmation cards for Agent mode in the AI assistant.
Reuse companion MCP tools inside the existing AI assistant. Instruction mode stays a single-turn rewrite; Agent mode searches and organizes notes, renders replies as Markdown with clickable note links, and confirms writes. Closing the panel starts a fresh thread, with an opt-in resume of the last chat.
Move source-mode toggle, snapshots, and scroll restore out of EditorPane. Save, export, and hydration still read the current markdown source from the hook.
Move save-failure classification, save chrome, and conflict actions out of EditorPane so queueing, conflict banners, and adopt/copy stay one code path.
Editors now take document TipTap nodes from a shared factory. Workspace and editor helpers move out of the large panes. Store iOS no longer builds from Expo EAS.
Stop copying schema nodes in the iOS editor bundle. Image galleries keep the native node view via extend, and roundtrip tests pin Markdown/JSON against the web codec.
The brand mark was too padded and anti-aliased for 16px, so template
tinting turned it into a faint gray outline. The tray icon is now
larger and strictly black-on-transparent.
One click from the tray now hides EdgeEver, grabs the full screen, and
creates a note whose body already contains the screenshot. IPC restores
PNG bytes that Electron serializes as Buffer JSON, and a failed upload
deletes the empty placeholder instead of leaving a blank note.