Commit Graph
2033 Commits
Author SHA1 Message Date
tianma-if dcfd11468d feat(sharing): add optional password protection for public note shares
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.
2026-09-17 14:44:43 +08:00
tianma-if f0a5c870b5 chore: release v1.76.0 [skip ci] 2026-09-16 23:23:53 +08:00
tianma-if f7c6bf5c05 fix(ai): keep companion prepare and tools off the Worker AI graph
Move turn preparation out of companion-runtime and execute tools without
the AI SDK so Cloudflare startup no longer loads model runtimes.
2026-09-16 23:21:57 +08:00
tianma-if f5e9bc1a44 feat(ai): call model APIs from the client instead of the worker
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.
2026-09-16 22:45:07 +08:00
tianma-if e69462d8d9 feat(settings): make the system info dialog draggable
Move the dialog from the title bar, keep the body scrollable, and clamp
it so the title stays on screen. Closing it restores the centered position.
2026-09-16 21:49:07 +08:00
tianma-if fc4a94be44 fix(ai): keep Agent tool schemas compatible with OpenAI-style calling
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.
2026-09-16 21:24:19 +08:00
tianma-if 8112d86bb0 fix(editor): quiet the empty-paragraph placeholder
Keep the hint at body size, but shorten the copy, drop the leading
Latin "Space", and use a lighter color so it no longer reads as a
larger type size.
2026-09-16 20:54:05 +08:00
tianma-if ba7b015028 feat(settings): add instance URL and data directory to system info
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.
2026-09-16 20:43:36 +08:00
tianma-if c4e27f355d chore: release v1.75.1 [skip ci] 2026-09-16 18:54:13 +08:00
tianma-if e1ec945584 fix(desktop): keep Windows protocol e2e off stale DOM nodes
The packaged Windows file-input check used a document nodeId that React
replaced during bootstrap, so CDP could not attach the fixture.
2026-09-16 18:52:37 +08:00
tianma-if fd4ba3227a chore: release v1.75.0 [skip ci] 2026-09-16 18:26:42 +08:00
tianma-if df7931e2f6 fix(desktop): keep one new note from appearing twice
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.
2026-09-16 18:18:59 +08:00
tianma-if 4f753587f6 fix(editor): close in-note search when switching notes
Plugin jumps leave the find bar open with the task line. Reusing the
editor then showed that leftover query on new or other notes.
2026-09-16 17:32:37 +08:00
tianma-if 3890dfc00b fix(ai): fold Agent thinking and tools into one collapsible card
Keep the user-facing answer in front. Collapse process details after
the run finishes so the two former cards no longer compete for space.
2026-09-16 17:07:53 +08:00
tianma-if d21adb72d0 fix(editor): keep extra blank lines in Markdown mode
Preserve visual empty paragraphs across parse, autosave hydration, and
mode switches so JSON round-trips no longer collapse extra newlines.
2026-09-16 16:58:33 +08:00
tianma-if 36f11471d3 feat(ai): give Agent a timeline, pinned context, and resumable runs
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.
2026-09-16 16:58:27 +08:00
tianma-if 5d0f28cee9 feat(ai): apply Agent merge, move, and tag writes immediately
Agent mode now executes available write tools without confirmation cards. Merge and body edits still require a complete read first.
2026-09-16 12:56:23 +08:00
tianma-if aa1e38b6f5 feat(ai): let Agent use the open note, edit diagrams, and manage templates
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.
2026-09-16 12:43:31 +08:00
tianma-if 7d25d45620 fix(ai): open Agent note links even when memo_ is dropped
Restore the memo_ prefix on #memo= hashes, parse resolved URLs, and hold the selected note so the list does not snap back to the current editor.
2026-09-16 11:36:56 +08:00
tianma-if e1ec6d8be4 fix(ai): create real mind-map notes from Agent requests
Give Agent create_diagram_memo and get_diagram so 思维导图, flowcharts, and architecture diagrams become editable diagram notes instead of Markdown outlines.
2026-09-16 11:17:38 +08:00
tianma-if bf88ab2c21 fix(desktop): stop duplicate screenshot imports from one capture
Give each capture a stable id, ignore repeats in main and the renderer, and keep the import listener from rebinding on every workspace update.
2026-09-16 10:42:51 +08:00
tianma-if 69b9b982dc fix(ai): search recent notes by date and shrink Agent headings
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.
2026-09-16 10:42:43 +08:00
tianma-if d75e593363 chore(ios): prepare App Store v1.74.0
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.
2026-09-16 10:25:23 +08:00
tianma-if 3c79414d80 chore: release v1.74.0 [skip ci] 2026-09-16 00:47:44 +08:00
tianma-if dd3237d794 fix(ai): auto-apply note writes and follow the latest Agent reply
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.
2026-09-16 00:40:08 +08:00
tianma-if 5b523eb84a fix(ai): keep Agent lookups from locking onto the open note
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.
2026-09-16 00:26:11 +08:00
tianma-if 556779ab87 fix(ai): drop the empty companion prompt and tighten the composer
Keep a compact resume row when a previous thread exists, and put the
hint in accessible text instead of above the input.
2026-09-15 23:43:49 +08:00
tianma-if 929c89a31d fix(plugins): shorten marketplace copy so the header stays aligned
Drop the extra download and mobile sentences, and keep the remaining
description below the title row instead of beside the header actions.
2026-09-15 23:43:28 +08:00
tianma-if 0767d72603 fix(desktop): make the menu-bar cat match other status icons
Ship a 22pt template glyph with a heavier stroke so the cat reads at
the same size and ink weight as neighboring macOS menu-bar extras.
2026-09-15 23:36:15 +08:00
tianma-if ba22e2cb74 fix(desktop): keep one tray screenshot from creating two notes
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.
2026-09-15 23:02:12 +08:00
tianma-if 5780e009db feat(ai): retire Paw mode in favor of the assistant Agent
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.
2026-09-15 22:59:15 +08:00
tianma-if a54f297ec6 feat(ai): add Agent mode to the in-app 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.
2026-09-15 22:25:57 +08:00
tianma-if f1963cf2b6 chore: release v1.73.2 [skip ci] 2026-09-15 19:15:35 +08:00
tianma-if e150b8e8c2 fix(ios): resolve iOS editor Markdown tests through shared codec
Root bun test on CI does not install the nested EditorSource package, so
importing @tiptap/markdown from that tree failed the Android release plan.
2026-09-15 19:14:38 +08:00
tianma-if 809eefa641 chore: release v1.73.1 [skip ci] 2026-09-15 19:08:17 +08:00
tianma-if d601c78162 test: pin mobile editor schema after shared document extensions
Keep the standalone mobile editor off desktop syntax highlighting after
the shared TipTap factory replaced the inline StarterKit configure call.
2026-09-15 19:06:57 +08:00
tianma-if 047d505cc5 refactor(web): extract Markdown editor mode into a hook
Move source-mode toggle, snapshots, and scroll restore out of EditorPane. Save, export, and hydration still read the current markdown source from the hook.
2026-09-15 18:06:05 +08:00
tianma-if 526bb940e0 refactor(web): keep note search state in its controller
EditorPane no longer owns search open/query/replace state. Selection shortcuts and plugin jumps go through the same hook.
2026-09-15 17:51:33 +08:00
tianma-if 8a48c60d72 docs: add Docker pulls badge and refine Afdian badge in READMEs 2026-09-15 17:28:45 +08:00
tianma-if 271837ed13 refactor(web): extract editor document actions
Move share, export, WeChat copy, and template save out of EditorPane so list shortcuts and the editor menu share one document-action path.
2026-09-15 17:25:52 +08:00
tianma-if 89421dc693 fix(web): drop preview badges from Windows and Linux downloads
Label those clients by package format and keep unsigned or best-effort caveats in tooltips.
2026-09-15 17:21:23 +08:00
tianma-if 493fbbd7d4 refactor(web): extract editor save conflict handling
Move save-failure classification, save chrome, and conflict actions out of EditorPane so queueing, conflict banners, and adopt/copy stay one code path.
2026-09-15 16:43:56 +08:00
tianma-if 6d6b1704a0 docs: treat /api/openapi.json as a reachability probe
Stop advertising the stale OpenAPI snapshot as an API catalog. Keep the URL for deploy checks and point agents at MCP.
2026-09-15 15:59:21 +08:00
tianma-if 99e9c2820c refactor: share editor schema and drop RN iOS builds
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.
2026-09-15 12:56:44 +08:00
tianma-if 77d9f9c6aa fix(ios): use shared TipTap mathematics extensions
Drop the duplicated iOS math tokenizer. Formula Markdown now round-trips against the web codec, including currency dollar pairs.
2026-09-15 12:37:27 +08:00
tianma-if 9d4d496823 fix(ios): use shared TipTap merge-divider and gallery nodes
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.
2026-09-15 12:25:15 +08:00
tianma-if b51703fb76 docs: drop stale internal notes that drifted from the code
Keep visual-diagram design docs. Remove unused rewrite, research, and promotion files so agents follow current Android/iOS paths instead of outdated plans.
2026-09-15 12:10:21 +08:00
tianma-if 1c0e265332 fix(desktop): make the macOS menu-bar cat a crisp template glyph
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.
2026-09-15 10:59:19 +08:00
tianma-if b05cebec8c fix(desktop): capture the current screen into a note with the image
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.
2026-09-15 10:39:43 +08:00
tianma-if cbedbd5c8c chore: release v1.73.0 [skip ci] 2026-09-15 00:14:13 +08:00