Commit Graph
50 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
LuoQianhong a820b5e2b4 feat(notebooks): add toggle to hide notes from sub-notebooks
Refs #157
2026-10-02 01:08:04 +08:00
tianma-if 532d1b8abb fix: localize web clip labels on Android and iOS
New clips store the source, capture time, and fetch-failure note in the current app language. Chinese keeps the existing wording, and already saved notes stay as they are.
2026-09-30 20:13:38 +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 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 6580bec3b1 feat(mobile): change notebook from note view without editing 2026-09-20 21:39:18 +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 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 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 9498902640 feat(ios): filter notes by tag
Refs #366
2026-09-08 22:33:46 +08:00
tianma-if 36445a94aa fix: restore wheel scrolling in diagram canvases 2026-09-07 10:43:06 +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 4b20d39d34 feat(mobile): add direct note editing gestures 2026-09-04 20:57:59 +08:00
tianma-if c7bee0afc9 fix: align memo timestamps with sort mode
Fixes #346
2026-09-04 12:02:25 +08:00
tianma-if 3aea120ea6 feat: enable native mobile image gallery editing (#342) 2026-09-03 01:26:14 +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 af1085e020 fix: complete titles while typing the first heading 2026-08-28 17:28:46 +08:00
tianma-if ddc228dfce feat: derive empty note titles from first heading 2026-08-28 17:16:01 +08:00
tianma-if 47b8f86c1d feat: align mobile note image sharing 2026-08-23 00:12:06 +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 e8c2d38b62 统一 iOS 智能标签入口 2026-08-17 12:52:17 +08:00
tianma-if f7cb16b703 优化移动端智能标签入口 2026-08-17 02:54:08 +08:00
tianma-if 41921ad96f fix(ios): always start new notes blank 2026-08-15 22:40:20 +08:00
tianma-if c9d0785c81 feat: unify editable note templates 2026-08-15 21:02:55 +08:00
tianma-if e2a77b7c4c feat: add cross-platform tag picker (#235) 2026-08-14 23:29:34 +08:00
tianma-if 4a73502f16 fix: make App Review demo instance URL unambiguous
Reviewers typed the login placeholder and the bare word "demo" instead of
https://demo.edgeever.org. Point the field at the public demo, add a
one-tap fill, and map that alias on every client.
2026-08-13 02:09:15 +08:00
tianma-if 66a7b9b6c5 fix(mobile): receive shared images 2026-08-12 10:50:16 +08:00
tianma-if b71dff0e0c feat(ios): support taking photos in notes 2026-08-10 14:22:03 +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 b357d1d9d3 refactor: modularize cross-platform workspace flows 2026-08-09 01:12:09 +08:00
tianma-if 754e520aa7 refactor: split iOS settings and revision views 2026-08-08 23:12:30 +08:00
tianma-if 30f47dac4c refactor: harden mobile editing and PWA caching 2026-08-08 21:47:55 +08:00
tianma-if ca218b3226 feat(mobile,ios): template create parity and DomWebView input stability
Add note-from-template on iOS with the same entry points as Android, harden
Android create/edit so DomWebView keeps focus, and silence stale injectJavaScript
rejections after editor unmount. Related to #187.
2026-08-08 12:22:02 +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 aaa8d47799 fix(ios): harden edit/sync so notes keep text, order, and Markdown rendering
Rebase stale outbox revisions, leave edit onto the list without flashing
detail, treat TipTap JSON as structural truth for image order while
deriving markdown for sync, and force the detail viewer through
setMarkdown so flattened contentJson no longer kills headings/lists.
2026-08-07 12:19:14 +08:00
tianma-if dfc96c686c feat(ios): Android-parity image and attachment action menus
Add bottom-sheet resource actions (share, download, rename, delete)
with success and failure feedback. Viewer image tap opens fullscreen
preview; long-press and attachment taps open the menu. Download uses
the Files export picker so users always know whether the save worked.
2026-08-07 10:33:27 +08:00
tianma-if c22064bcea fix(ios): render demo note images including SVG blobs
Pre-hydrate protected image srcs before TipTap setContent so file://
WebView never loads /api paths under sandbox. Detect SVG correctly,
emit data URLs for SVG assets, treat numeric image width as percent,
and keep unit tests off real demo cache keys.
2026-08-07 10:15:10 +08:00
tianma-if 8af900e24b fix(ios): load note images and fix bottom-tab create layout
Authenticated and remote images in TipTap now load via a custom
edgeever-res scheme after native fetch, so the file:// editor can
display protected blobs. Bottom create control sits under the tab
separator at a smaller size, and list decode skips corrupt memo rows
instead of blanking the feed.
2026-08-07 03:22:51 +08:00
tianma-if cd4f010d8f feat(ios): add native SwiftUI client with Android UI parity
Replace the abandoned RN iOS path with a SwiftUI app (iOS 17+) that reuses
the shared TipTap editor bundle, GRDB local mirror/outbox, and Android-aligned
shell chrome for list, create, detail, and Me. Package the editor HTML in the
app resources so Markdown renders, present edit from the workspace root with a
UIKit FAB, and keep caret stable while typing.
2026-08-07 02:52:01 +08:00