Commit Graph
163 Commits
Author SHA1 Message Date
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 b346400f6a test: align coverage with Japanese locale and create-note layout
Update source and locale tests that still treated Japanese as unmatched English and pinned the previous fixed-width New note control.
2026-09-14 18:19:31 +08:00
tianma-if c7f05c672a docs: add a Traditional Chinese README and language switcher 2026-09-14 18:07:08 +08:00
tianma-if 2b49d36575 docs: add a Japanese README and language switcher
Give GitHub a first-class Japanese landing page that tracks the English README, and require future README edits to update Chinese, English, and Japanese together.
2026-09-14 15:56:21 +08:00
tianma-if ea9900b7e2 feat(i18n): add Japanese as a first-class in-app locale
Ship a full shared Japanese catalog for Web, desktop, and Android, resolve ja-JP to ja instead of English, and give iOS a three-language path with Japanese login, settings, and list chrome. Unmatched languages still fall back to English.
2026-09-14 12:49:11 +08:00
tianma-if 760e82ab50 fix(i18n): fall unmatched locales back to English
Unknown browser and system languages now resolve to English instead of
Simplified Chinese, and Japanese App Store / Play listing copy is kept
in store-assets for console publishing.
2026-09-14 10:56:53 +08:00
tianma-if cf082734d6 fix(ai): default the whole-note assistant to a custom instruction
Restore the last processing method only when text is selected so Space and other whole-note opens start on custom.
2026-09-13 23:24:06 +08:00
tianma-if bb43940135 feat(ai): replace social starter prompts with note workflows
Keep six factory prompts, swap Xiaohongshu and Twitter presets for extract-todos and continue-writing, and use four-character Chinese names.
2026-09-13 22:11:35 +08:00
tianma-if 8e2dfec1b4 fix(mobile): enter note editing without remounting the viewer
Open the existing detail WebView in place instead of waiting on a
network refresh and a second editor startup. Close is queued while a
save is in flight so back/done still respond, and the DomWebView
unmounts with the modal to avoid injectJavaScript after hide.
2026-09-12 23:02:02 +08:00
tianma-if 31ae9c975c feat(ai): open the assistant from selection or the whole note
Default to a custom instruction without a selection and to polish with one. Remember the last action separately for each scope, keep the composer from overriding selected text, and quiet the action-row chrome.
2026-09-12 10:08:57 +08:00
tianma-if 42a2d2da4e feat(ai): remember the last assistant action
Reopen the assistant on the last processing action, prompt, language, and
tone across web, Android, and iOS.
2026-09-12 00:07:20 +08:00
tianma-if 2cec726f43 feat(ai): stream note generation from the client when the model host allows it
Desktop, Android, and iOS call the configured model API after a short prepare hop so Cloudflare no longer sits in the token path. The web app probes CORS first and direct-connects only when the host allows it; blocked hosts keep using the instance proxy without downloading the API key.
2026-09-11 18:34:55 +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 d41d068e0c fix(mobile): apply exact tag filters on Android and iOS lists
Selecting a tag kept showing every note because json_each on the full memo blob could fail or stall. Match tags from parsed memo data and paginate after filtering.

Refs #366
2026-09-10 11:48:13 +08:00
tianma-if 594c8c9ce7 feat(mobile): filter notes from a visible tag chip
Replace the tagged/untagged toggles with the specific-tag picker on Android and iOS so the list filter matches desktop.

Refs #366
2026-09-10 00:32:47 +08:00
tianma-if b82719abdb test desktop private protocol file flows 2026-09-09 11:19:12 +08:00
tianma-if 533a9bf638 test: isolate filesystem integration suites 2026-09-05 23:55:49 +08:00
tianma-if 2b9d568045 ci: pin the Bun toolchain across workflows 2026-09-05 23:43:38 +08:00
tianma-if 09b8b14668 test: tolerate slower CI integration tests 2026-09-05 23:24:55 +08:00
tianma-if 1a1429cde0 fix(desktop): keep new note editor focused during sync 2026-09-04 16:40:20 +08:00
tianma-if 7da54257f7 fix: report instance deployment source 2026-09-04 11:58:24 +08:00
tianma-if 2c20889d85 fix(editor): preserve focus after note creation 2026-09-04 11:42:54 +08:00
tianma-if 60d56103af refactor(web): simplify AI integration settings 2026-09-04 10:04:06 +08:00
tianma-if 110c238373 fix(web): preserve AI refinement context 2026-09-01 21:35:39 +08:00
tianma-if dcbb0d3383 fix(web): respect AI assistant input 2026-09-01 21:10:28 +08:00
tianma-if 609a589ebb feat(web): make AI assistant draggable 2026-09-01 18:14:33 +08:00
tianma-if 206e9e03d6 feat: support 1 GiB streamed attachments 2026-08-31 17:52:07 +08:00
tianma-if 4eda31ca30 refactor: decompose core runtime modules 2026-08-30 01:00:42 +08:00
tianma-if d483f6db00 feat: expand shared system diagnostics 2026-08-29 21:37:07 +08:00
tianma-if dd0c1d3566 fix(sync): batch large change detail queries 2026-08-29 18:28:25 +08:00
tianma-if 630bb98e3f fix(web): recover stalled local note saves 2026-08-29 18:06:27 +08:00
tianma-if bab4c55720 fix(deploy): guard default Cloudflare D1 deployment 2026-08-28 22:06:27 +08:00
tianma-if 903fe8e6c0 test(e2e): cover attachment deletion regression (#314) 2026-08-28 20:10:34 +08:00
tianma-if f00c98c355 revert: remove automatic note title derivation 2026-08-28 18:01:53 +08:00
tianma-if 475f87e24e fix: restrict automatic titles to leading H1 2026-08-28 17:52:29 +08:00
tianma-if 3316b158d1 fix: derive note titles from the first H1 2026-08-28 17:41:54 +08:00
tianma-if c00e21fbde fix(desktop): isolate renderer failures and recover safely
Refs #312
2026-08-28 12:22:29 +08:00
tianma-if a3889ee147 fix(editor): show stable image upload preview 2026-08-27 18:33:24 +08:00
tianma-if 290752c3d3 test(e2e): cover autosave revision rebase 2026-08-27 18:05:52 +08:00
tianma-if 36952165dd fix(editor): clear image selection on canvas click 2026-08-27 16:22:51 +08:00
tianma-if bd10429a6a fix(sharing): 修复新笔记同步与公开引用 2026-08-26 01:50:57 +08:00
tianma-if af02e7fa2f feat(editor): add Marxico theme and refine mobile editing 2026-08-24 00:58:12 +08:00
tianma-if 8db4ef4203 test: align native note action menu contracts 2026-08-23 00:50:47 +08:00
tianma-if 0aff87e2ef feat: polish social note images (#292) 2026-08-22 18:23:36 +08:00
tianma-if 45c3f2004a refactor: simplify note image sharing (#292) 2026-08-22 17:45:53 +08:00
tianma-if ad73ea8f2d feat: optimize note image sharing (#292) 2026-08-22 17:38:13 +08:00
tianma-if 89599f8649 feat: export notes as PNG or JPEG (#292) 2026-08-22 17:03:54 +08:00
tianma-if 9628fd8c35 style(ai): refine Enter shortcut hint (#236) 2026-08-21 19:09:35 +08:00
tianma-if 798628f0b5 feat(ai): generate with Enter shortcut (#236) 2026-08-21 19:04:42 +08:00
tianma-if db58da7c3e fix(ai): keep assistant actions visible (#236) 2026-08-21 18:59:53 +08:00