Commit Graph
37 Commits
Author SHA1 Message Date
tianma-if e3dc61a5ac fix: keep task list items on one line (#227) 2026-08-12 22:24:55 +08:00
tianma-if 55fd32686d feat(ai): complete cross-platform custom prompt behavior 2026-08-12 16:06:28 +08:00
tianma-if 66a7b9b6c5 fix(mobile): receive shared images 2026-08-12 10:50:16 +08:00
tianma-if 49c3448bb6 feat: unify cross-platform AI selection assistant 2026-08-10 20:54:28 +08:00
tianma-if b71dff0e0c feat(ios): support taking photos in notes 2026-08-10 14:22:03 +08:00
tianma-if 8cff6aafce refactor(settings): remove provider preset selector from external AI card 2026-08-10 14:05:33 +08:00
tianma-if a257e53220 feat: add task lists across clients 2026-08-10 12:31:26 +08:00
tianma-if 3661cc3367 feat: add native mobile AI note assistant 2026-08-10 07:05:02 +08:00
tianma-if cf1bb1aef5 feat: copy current note ID across clients 2026-08-10 02:11:18 +08:00
tianma-if 8af75fc0de feat: align iOS mobile parity 2026-08-09 22:40:55 +08:00
tianma-if 2dea7cf49c feat(brand): adopt open cat logo 2026-08-09 20:54:30 +08:00
tianma-if abd871c06b fix: improve dark mode across clients (#204) 2026-08-09 17:58:52 +08:00
tianma-if 65803d9de9 feat(brand): adopt bold cat outline logo 2026-08-09 17:37:15 +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 f39c24b96d refactor: split API seeds and iOS editor helpers 2026-08-08 22:27:45 +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 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 a32272019f feat(ios): show first-login note sync progress like Android
Surface bootstrap loaded/total counts with the same loading card, list banner, and error UI so first sign-in feels responsive instead of empty.
2026-08-07 23:07:44 +08:00
tianma-if 7a44e9c8ff chore(ios): ignore Xcode userdata and local build artifacts
Keep machine-local xcuserdata, userstate, and signing material out of git.
2026-08-07 22:53:21 +08:00
tianma-if 73d3bad9a3 fix(ios): harden Xcode Cloud store builds and auto-upload
Use Automatic signing and Cloud lifecycle scripts so App Store IPAs get
correct build numbers and reach ASC even when secondary exports fail.
2026-08-07 22:51:36 +08:00
tianma-if 7ceed4ea16 feat(ios): route App Store archives through Xcode Cloud on beta macOS
Add Cloud post-clone setup and docs so store binaries build on Apple's
release hosts; block local archive-app-store on seed OS to avoid ITMS-90111.
2026-08-07 19:54:28 +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 0bbfd47357 release(ios): ship SwiftUI binary 1.12.6 (31) for App Review
Bump the native build number, prefer stable Xcode for archives, disable
fastlane precheck IAP checks, and document the App Store archive path.
2026-08-07 13:45:57 +08:00
tianma-if cf76d9dbb8 release(ios): prepare native SwiftUI App Store archive path
Bump marketing/build versions for the Swift client, reuse the existing
App Store share-extension App ID, and add ExportOptions/fastlane/archive
scripts so the native binary can be signed and submitted without EAS iOS.
2026-08-07 13:16:17 +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 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
tianma-if c246f916f7 fix(ios): stop yanking caret to end while typing in the editor
Focus at document end only once when opening a note for edit. SwiftUI
re-binds and setContent no longer call focusEnd on every keystroke, so
mid-document editing keeps the caret in place.
2026-08-07 11:15:17 +08:00
tianma-if 753a09c9a4 perf(ios): reuse TipTap WebViews and harden detail/edit open path
Keep one long-lived viewer and editor WKWebView so switching notes only
rebinds setContent instead of reloading the EditorBundle. Warm both
runtimes after sign-in, restore Evernote-style focus-at-end on edit,
block empty autosave from clobbering notes, and stop showing flattened
contentText when the rich viewer is still booting.
2026-08-07 11:12:04 +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