Commit Graph
55 Commits
Author SHA1 Message Date
Dariusz Koryto 80dadb3194 feat(i18n): add Polish as an in-app locale (#473)
* feat(editor): add setting to turn off spellcheck underlines

Add a device-local "Underline spelling mistakes" switch to the editing
preferences. The rich-text editor and the mobile plain-text editor now
set spellcheck from this preference and update live when it changes.
Defaults to enabled, so existing behavior is unchanged.

Refs #468

* feat(i18n): add Polish as an in-app locale

Add Polish (pl) across clients, mirroring how Japanese was added:

- Shared: full pl catalog, locale matching for pl/pl-*, Polish memo
  templates and factory AI prompts, mobile editor strings, and Polish as
  an AI translation target and selection-translate chip.
- Web: "Polski" in the language picker; the catalog is lazy-loaded in its
  own i18n-pl chunk and kept out of the PWA precache like ja.
- Android: pl locale option, mobile-only strings, web-clip labels.
  Messages that only had an English branch now use English for every
  non-Chinese locale, so Japanese no longer falls back to Chinese there.
- iOS: .polish UI language (pl-PL), pl argument for every t() call,
  pl in CFBundleLocalizations and Localizable.xcstrings.
- Companion: accepts locale "pl" and detects Polish requests.
- Browser extension: _locales/pl messages.
- Marketing site: /pl/ pages, hreflang, sitemap, language switcher.
- Google Play listing copy for pl-PL (manual publish only).

* fix(ios): show the note editor in Polish and Japanese

The iOS editor received every interface language except English as
Chinese, so with Polish or Japanese selected its toolbar and image
gallery controls were labeled in Chinese. Pass Polish and Japanese
through to the embedded editor, label its toolbar and the shared image
gallery controls in both languages, and rebuild the checked-in
EditorBundle. The Android editor uses the same gallery labels.

Also translate the last iOS strings that had no Polish text: the
follow-system language label, note created/updated times and the
current-device marker.

Refs #473

* fix(companion): recognize Polish typed without diacritics

Requests in Latin letters without Polish diacritics were always treated
as English, so with a Polish interface "Napisz plan na jutro" got an
English reply. With a Polish interface, such text is now told apart by
common English and Polish words; when it is still unclear, the recent
conversation and then the interface language decide. Other interface
languages keep treating Latin text as English.

Refs #473

* chore(ios): regenerate the Xcode project for Polish

Run xcodegen so the shipped Info.plist lists Polish in
CFBundleLocalizations and the project knows the pl region. The
hand-written AiDirectStream.swift entries are replaced by the IDs
xcodegen generates. MARKETING_VERSION and CURRENT_PROJECT_VERSION stay
in the project file because the release script and Xcode Cloud update
them there.

Refs #473

* i18n(pl): translate the sidebar shortcut, desktop menus and video scope

Add Polish for features that reached main while this branch was open:
the show/hide sidebar shortcut label, the desktop application and
editing context menus, and the new "ai:generate" MCP scope. The desktop
menus switch to Polish for pl and pl-* locales; other locales are
unchanged.

Refs #473
2026-10-06 16:18:38 +08:00
tianma-if fbb41aee9d feat(attachments): 全面扩展笔记附件专属图标与标签类型体系
- 细分支持各平台原生安装包 (APK, EXE, DMG, Linux 包)
- 新增设计工程 (AI/PSD/FIG/SKETCH) 与 3D/CAD 建模 (BLEND/STL/DWG)
- 新增终端运维自动化脚本 (SH/PS1/BAT) 与系统日志排障 (LOG/CRASH)
- 新增证书密钥安全凭据 (CRT/PEM/PUB/KEY) 与思维导图架构 (XMIND/DRAWIO)
- 新增电子书 (EPUB/MOBI)、字体资源 (WOFF2/TTF)、磁盘镜像 (ISO) 与数据库 (DB)
- 增加大写扩展名精准徽标输出与 .key 密钥/Keynote 消歧
- 跨端同步更新 Web、iOS 原生 EditorBundle 与 Android/Mobile 编辑器样式
- 补全单元测试与格式映射断言
2026-09-30 19:42:06 +08:00
tianma-if 1ff8a44f92 feat: identify executables, books, fonts, disk images, and databases across web and mobile 2026-09-30 17:48:53 +08:00
tianma-if 4878298592 feat(mobile): add undo and redo to phone editors
Android web, the Android app, and iOS share the same toolbar. Loading a note clears that replacement from history so the first undo does not wipe the document.
2026-09-28 15:15:47 +08:00
tianma-if 0c37516e3f feat(diagram): default mind maps and flowcharts to a plain theme
Add 素简 as the selectable default, with graphite emphasis instead of solid black. Unset diagrams render in that theme, and every mind map, flowchart, and architecture canvas uses the note editor surface while named themes keep their node colors.
2026-09-27 17:36:09 +08:00
tianma-if 0681e70c97 fix(mobile): fill the note column for images on narrow screens
A stored desktop width such as 35% stays in the note. Phone-width
layouts show the image at the text column width.
2026-09-26 16:30:04 +08:00
tianma-if ff45b64c5a fix(web): use ink for note dividers and task checks
Default horizontal rules and checked task boxes follow the black-and-white note style. Named editor themes keep their own accent on checkboxes.
2026-09-25 23:48:57 +08:00
tianma-if ec5e7bc8d6 Set newly uploaded note images to small size 2026-09-24 17:37:46 +08:00
tianma-if be5b1eaeba fix(editor): preserve empty links and paste resources in Markdown mode 2026-09-24 13:09:38 +08:00
tianma-if 69d4896758 style(editor): enable cjk punctuation squeezing and text overflow wrapping
Enable font-feature-settings: 'chws' 1 and overflow-wrap / word-break across Web, Mobile, iOS, and image cards for improved typography and long text wrapping.
2026-09-20 21:50:23 +08:00
tianma-if e0a2f38447 feat(web): add GitHub-style details fold blocks (#418) 2026-09-20 19:35:04 +08:00
tianma-if dcf2c138cb feat(web): support rich-text headings through level 6 (#413) 2026-09-18 16:20:32 +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 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 a126c3441f fix(mobile): open large mind maps at a readable size
Phone viewers no longer shrink a whole diagram into an unreadable overview. The canvas fills the remaining viewport, pinch-zooms, and focuses a topic on tap, without zoom chrome.
2026-09-10 10:36:50 +08:00
tianma-if 54fa334bbc feat(diagram): render visual notes with X6 on share and native viewers
First-party canvases, including public share, parse diagram IR and draw
with read-only X6. Embedded Mermaid fences in ordinary notes stay on
Mermaid. Native viewers no longer inject a hidden Mermaid document when
the IR is valid.
2026-09-09 14:19:16 +08:00
tianma-if 8eb47d39a1 feat(diagram): refine mind-map hierarchy and branch styling
Give mind maps a shared three-level appearance across Web, mobile, and
iOS: capsule roots, stronger first-level topics, lighter nested nodes,
and side-anchored tapered branches. Keep flowchart and architecture
edges unfilled so SVG does not paint them black.
2026-09-08 12:00:24 +08:00
tianma-if 1b804b165d feat: improve diagram reading and layout across clients 2026-09-07 10:20:46 +08:00
tianma-if 7e419b6464 feat: render mobile diagram notes with X6 2026-09-06 14:00:45 +08:00
tianma-if 12f16633c2 fix: prevent diagram metadata leaking on mobile 2026-09-06 13:06:40 +08:00
tianma-if 35f36fc9c8 feat: support architecture diagrams in mobile apps 2026-09-06 10:12:31 +08:00
tianma-if 5fdc1c1aa1 fix(editor): stop links extending into new text
Make the shared TipTap link mark non-inclusive so text typed after a pasted or terminal link remains plain across web, desktop, Android, and iOS editors.

Refs #355
2026-09-05 22:39:10 +08:00
tianma-if 4b20d39d34 feat(mobile): add direct note editing gestures 2026-09-04 20:57:59 +08:00
tianma-if 3aea120ea6 feat: enable native mobile image gallery editing (#342) 2026-09-03 01:26:14 +08:00
tianma-if 24158a1b52 fix: refine reversible image gallery layouts (#342) 2026-09-02 22:50:11 +08:00
tianma-if dfea0939c6 feat: add automatic image gallery layouts (#342) 2026-09-02 21:33:53 +08:00
tianma-if 2952fd45ec feat(attachments): show file type and size 2026-08-28 01:13:27 +08:00
tianma-if 9f355f418a fix(mobile): safely preserve unsupported editor nodes 2026-08-28 00:56:41 +08:00
tianma-if 7f5328e232 feat(mobile): distinguish attachment file types 2026-08-28 00:26:12 +08:00
tianma-if e0584f1d0b feat(theme): add refined emerald micro-tint to inline code 2026-08-25 21:30:41 +08:00
tianma-if 9057a82a3f feat(editor): refine cross-platform content layout 2026-08-25 21:00:21 +08:00
tianma-if 47b8f86c1d feat: align mobile note image sharing 2026-08-23 00:12:06 +08:00
tianma-if 6ae6effdfa feat(ios): upgrade native iOS note image export with 8 shared poster themes, typography options, and brand logo 2026-08-22 23:04:46 +08:00
tianma-if 0aff87e2ef feat: polish social note images (#292) 2026-08-22 18:23:36 +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 091d83e858 修复移动端 AI 选区替换换行 2026-08-17 13:10:13 +08:00
tianma-if e3dc61a5ac fix: keep task list items on one line (#227) 2026-08-12 22:24:55 +08:00
tianma-if 49c3448bb6 feat: unify cross-platform AI selection assistant 2026-08-10 20:54:28 +08:00
tianma-if a257e53220 feat: add task lists across clients 2026-08-10 12:31:26 +08:00
tianma-if 8af75fc0de feat: align iOS mobile parity 2026-08-09 22:40:55 +08:00
tianma-if ef3b81aaa5 feat(editor): render LaTeX formulas (#197) 2026-08-09 15:45:11 +08:00
tianma-if 30f47dac4c refactor: harden mobile editing and PWA caching 2026-08-08 21:47:55 +08:00
tianma-if 7f1af71dcb feat: use semantic merge dividers between combined notes
Insert a dedicated merge-divider node instead of a plain horizontal rule so
theme hairlines no longer wash out merge boundaries, with Markdown round-trip
markers and stronger multi-client styling.
2026-08-08 01:10:07 +08:00
tianma-if 676ae9c530 fix(editor): style default-theme external hyperlinks
External links were indistinguishable from body text under the default
theme because Tailwind preflight resets anchors. Add brand-green
underline styles for ProseMirror (Web, mobile web, Android, iOS) while
leaving note/attachment chips unchanged. Closes the styling half of #193;
Notion-style link cards remain deferred per #192.
2026-08-07 23:15:17 +08:00
tianma-if 5124ef3539 fix(ios): image UX, editor stability, and create draft hygiene
Align iOS TipTap images with Android (width presets, ⋯ actions, WebP
compress, reliable preview). Persist contentJson so image width survives
detail/viewer; force shared WebView re-push and block late autosave so
new notes open empty. Long-press fullscreen image preview opens resource
actions on both iOS and Android.
2026-08-07 19:12:27 +08:00
tianma-if 96e4473a1b fix(ios): create-back commit, press motion, editor keyboard and toolbar
Make create Back commit like Android so notes appear in the list and the
next New note opens empty. Harden memo-card press feedback, allow
programmatic WKWebView keyboard focus, and pin the format toolbar above
the scrolling editor body so it no longer jumps under the software keyboard.
2026-08-07 14:54:04 +08:00
tianma-if 16c1d836d5 fix(ios): make note image upload pick, insert, and persist on reopen
Replace the silent PhotosPicker/Transferable path with PHPicker, insert
into TipTap with local hydrate, and flush materialized create/edit body
so uploaded images survive list → detail reopen.
2026-08-07 11:38:30 +08:00