Commit Graph
204 Commits
Author SHA1 Message Date
tianma-if 65ef837f45 feat(web): copy a note to WeChat from the card menu
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.
2026-09-30 20:12:49 +08:00
tianma-if 53290535ff feat(web): share note size, line height, and palette
Keep the native editor theme, store column width on this device, and publish account font size, line height, palette, and custom CSS to the editor, public shares, and WeChat paste. Highlight custom CSS with CodeMirror.
2026-09-29 16:20:57 +08:00
tianma-if 94c3dab56d feat(demo): default editor outline to expanded in demo mode 2026-09-27 11:47:01 +08:00
tianma-if e49d09a017 fix(desktop): save a shared file as a note
Finder was handing the share extension a file-id URL, which was stored as a fake WeChat zip and failed with the chat import dialog. Copy the real file, keep its name, and turn anything that is not a WeChat chat into a note.
2026-09-27 09:54:04 +08:00
tianma-if 76bfb958bf fix(web): keep the infographic title and metadata on one header row 2026-09-26 18:24:49 +08:00
tianma-if 5381ac1fb7 fix(web): cool the light note surface one step above the list
Keep the editor column on #f8fafb so it stays in the cool gray family, and let empty editor states show that surface instead of a white card.
2026-09-26 09:50:03 +08:00
tianma-if c3de2cd102 feat: add AI-driven infographic notes 2026-09-24 21:19:23 +08:00
tianma-if a801863965 fix: keep mobile bottom navigation visible in settings 2026-09-24 12:17:33 +08:00
tianma-if 2276ab69c5 fix(desktop): cancel unsynced attachment imports cleanly 2026-09-24 09:09:07 +08:00
tianma-if 5fbfc43be9 fix(desktop): keep attachment imports together across sync 2026-09-24 09:02:46 +08:00
tianma-if e21583dfb8 fix: retain WeChat share archives until memo save 2026-09-23 18:21:35 +08:00
tianma-if c7f6e342be feat(web): add table attachments and a public entry form
Store attachment files in object storage and keep only resource references in the table. A separate public form link appends one row without showing existing records.
2026-09-23 13:03:12 +08:00
tianma-if c2a26b23ac feat(web): add a beta structured table note
Store typed records in the note body and edit them as a grid on web and desktop. Phones and iOS stay read-only so the record model is not overwritten.
2026-09-23 00:00:44 +08:00
tianma-if bf3b41099a feat(desktop): import WeChat chat forwards as notes
A macOS share extension receives WeChat's merged-forward ZIP and saves the transcript, images, and videos as one note.
2026-09-22 23:18:09 +08:00
tianma-if 968ac71aa6 fix: delete empty child notebooks with their parent
A parent notebook stayed after repeated deletes when it only contained empty children. Remove that empty subtree together, and keep the tree when any note is still inside.
2026-09-22 20:52:50 +08:00
tianma-if f2b7137848 fix(desktop): keep screenshot notes from losing their uploaded image 2026-09-19 18:48:35 +08:00
tianma-if 2d3f37d180 fix(web): drop previous note images and bodies when switching
Release decoded editor media before replacing the TipTap document, and evict
idle memo-detail queries so visiting image-heavy notes does not keep their
bitmaps and JSON in the renderer.
2026-09-18 16:40:42 +08:00
tianma-if 92cfe6939b fix(desktop): recycle the renderer after long background sessions
Reload the hidden Chromium renderer once it has been in the background long
enough or its working set is high, after flushing the open draft. Restore the
last notebook and memo from session storage so reopening the window does not
land on a blank first note.
2026-09-18 16:28:35 +08:00
tianma-if 330aed23eb fix(web): speed up memo context menu and note switching
Reuse the TipTap view across memo changes, skip the modal scroll lock on the
card menu, and prefetch note details on pointer down so short notes no longer
pay a full editor remount.
2026-09-18 15:51:38 +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 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 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 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 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 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 aca0f17113 feat(desktop): capture a screenshot from the tray into a new note
Replace the old E menu-bar mark with the cat brand template, and swap the unused sync/backup tray actions for an interactive screenshot that saves into a note.
2026-09-14 23:52:48 +08:00
tianma-if 0e5be33a44 feat(plugins): sync the install list across Web and desktop
Keep plugin and theme membership on the workspace so browsers and desktop apps can re-download verified packages. Settings, secrets, and native mobile runtimes stay out of this catalog.

Related Issue: #396
2026-09-14 10:41:56 +08:00
tianma-if 8f957dad60 feat(web): collapse the notebook sidebar into an icon rail
Add a desktop-only control so the notebook column can fold into a compact rail of primary destinations, then expand again. The expanded footer keeps download and profile aligned, with collapse as a trailing action.
2026-09-13 12:08:03 +08:00
tianma-if 7a257edfe9 fix(web): keep bulk-move target from snapping back to the current notebook
Selecting a destination in the multi-select bar was immediately overwritten by the open notebook, so Move did nothing while drag-and-drop still worked.
2026-09-11 16:59:40 +08:00
tianma-if ab7b3ecf47 fix(web): paint dark mode from CSS tokens instead of utility remaps
Drive light and dark from one token table so Tailwind utilities follow
:root.dark assignments. Drop the leftover dark: color variants and the
[class~="…"] inversion layer, and keep PDF paper as a white surface.
2026-09-10 18:23:42 +08:00
tianma-if a4a10a32b9 feat(web): export selected notes as a Markdown ZIP
Add a bulk Markdown ZIP action for selected notes, reuse the existing
readable export layout, and keep the desktop bulk action card visible
when a diagram note is open.
2026-09-10 17:07:46 +08:00
tianma-if 3ec61d706d fix(plugins): stop interrupting for official auto-updates
Official plugins already update silently in the background. Drop the blocking "got it" notice so a successful auto-update does not steal focus from the workspace.
2026-09-09 21:31:10 +08:00
tianma-if cf5cae5251 feat: import markdown notes by drag and drop 2026-09-09 12:11:16 +08:00
tianma-if 9f17063c94 fix(desktop): replace file renderer origin 2026-09-09 10:18:49 +08:00
tianma-if 0ec00c8887 fix: resolve latest official plugin releases 2026-09-09 00:54:32 +08:00
tianma-if c43e574611 feat: auto-update official plugins 2026-09-08 23:07:38 +08:00
tianma-if c7fadef36e refactor(web): share editor metadata chrome 2026-09-07 14:48:41 +08:00
tianma-if af9d3cfc5f refactor(web): remove sequential note controls 2026-09-07 13:47:47 +08:00
tianma-if d032072c67 refactor(web): share memo editor header actions 2026-09-07 12:59:39 +08:00
tianma-if 1b804b165d feat: improve diagram reading and layout across clients 2026-09-07 10:20:46 +08:00
tianma-if 7f84ee4349 feat: label diagram notes in memo list 2026-09-06 17:09:15 +08:00
tianma-if 28659e6848 feat: add architecture diagram notes 2026-09-05 23:59:49 +08:00
tianma-if 28e3f4944d feat(web): align diagram editor header 2026-09-05 19:34:19 +08:00
tianma-if d400371841 feat: add editable mind map and flowchart notes 2026-09-05 15:44:48 +08:00
tianma-if 12fca0db5f perf(plugins): keep public requests off the backend when possible 2026-09-04 13:35:27 +08:00
tianma-if 0afdab17d6 fix(web): refine Paw discovery entry 2026-09-04 01:33:26 +08:00
tianma-if 2ead192557 feat(agent): add quiet discoveries and confirmed note actions 2026-09-03 20:30:14 +08:00
tianma-if ee9632038f feat(plugins): expose generic AI and public HTTPS capabilities 2026-09-03 16:05:41 +08:00