Commit Graph
1134 Commits
Author SHA1 Message Date
tianma-if b4e8be688b fix(mobile): push note edits online-first and unstick sync queue
Android edits could stay pending after pull-to-refresh because content always queued and refresh only pulled. Save online when reachable, force-flush the outbox on refresh and resume, and surface retry/error details so Web sees Android changes again.

Related Issue: #185
2026-08-06 21:05:57 +08:00
tianma-if 95db3ee5a3 fix(mobile): delete offline-created and empty notes from list selection
Unsynced notes used local temporary IDs while multi-select delete only
called the remote API, so empty notes could not be removed and failed
silently. Delete local-only notes offline, soft-delete remotes after
API success, remap multi-select IDs, and surface delete errors.

Refs #184
2026-08-06 20:47:24 +08:00
tianma-if ee49d280ec fix(deploy): make fork upstream sync a readable deploy mirror
Read-only Cloudflare forks were getting silent green no-ops when already
aligned, or unclear merge skips after Sync fork. Align deploy-only forks
with reset, keep merge for customized trees, always write a job summary,
and document force_redeploy plus an optional Cloudflare Deploy Hook.
2026-08-06 18:22:33 +08:00
tianma-if 852e618835 Revert "fix(mobile): harden iPadOS 26.5 paths against Fabric/WebView crashes"
This reverts commit 494cce5e84.
2026-08-06 18:02:13 +08:00
tianma-if 494cce5e84 fix(mobile): harden iPadOS 26.5 paths against Fabric/WebView crashes
Detail preview now uses static HTML WebView instead of Dom TipTap. Stagger
TextInput and editor host mount/teardown for edit, Me, create, and back so
Fabric ShadowNode measure and Hermes GC no longer SIGSEGV on iPadOS 26.5.
2026-08-06 17:41:30 +08:00
tianma-if e46e66b46e fix(mobile): stop App Review crashes on iPadOS 26.5
Apple rejected 1.10.1 for SIGSEGV in RCTTextLayoutManager and malloc
corruption during WKWebView media TCC probes on iPad. Drop Reanimated
list layout transitions, deny DOM/WebView media capture by default, and
declare required iOS privacy strings with full-screen phone-on-iPad
presentation for the next review build.
2026-08-06 11:47:50 +08:00
tianma-if 969fde537a chore: release v1.12.5 [skip ci] 2026-08-06 00:43:40 +08:00
tianma-if 548cf3de2a feat(mobile): allow landscape orientation
Unlock device rotation for tablet/phone landscape use (#182), and make
the login form scrollable on short landscape viewports.
2026-08-06 00:33:57 +08:00
tianma-if 2c2b5e3f0c fix(mobile): rename resource Export menu to Download
Folder save matches user expectation of Download; Share stays separate.
2026-08-06 00:01:59 +08:00
tianma-if 35f0195352 fix(mobile): label resource share action as Share, not Download
The action opens the system share sheet; Download was misleading.
2026-08-05 23:53:47 +08:00
tianma-if 50611ef9d5 chore: release v1.12.4 [skip ci] 2026-08-05 23:35:10 +08:00
tianma-if 2f62a24486 fix(mobile): make resource download and export work on Android
Read RN blobs via FileReader instead of missing Blob.arrayBuffer, dismiss
the action sheet before SAF/share UI, surface cancel/errors, and confirm
successful folder exports.
2026-08-05 23:32:15 +08:00
tianma-if 0056150f05 chore: release v1.12.3 [skip ci] 2026-08-05 22:06:05 +08:00
tianma-if f1f5804340 feat(mobile): surface app updates with a quiet toast and settings entry
Show a one-time bottom toast per installed version, and let users open
Play/GitHub or apply OTA updates from System info without blocking notes.
2026-08-05 22:05:19 +08:00
tianma-if bae5f910f2 chore(demo): reset the public demo daily at 03:00 CST
Document and default the demo reset cron to every day at 19:00 UTC
(03:00 China Standard Time), replacing the previous weekly Monday schedule.
2026-08-05 21:48:34 +08:00
tianma-if 72b4791557 fix(sync): resolve memo conflicts with adopt-cloud and copy-draft actions
Give Web, desktop, and mobile the same product-baseline conflict recovery:
copy the local draft, then adopt the cloud version and rehydrate, instead of
telling users to reload while durable local conflict state remains.
2026-08-05 21:44:45 +08:00
tianma-if 9d34f31eea fix(mobile): fit TipTap tables on narrow screens with shared styles
Equalize columns via container-query widths so typical tables wrap in place, and scroll only inside tableWrapper when many columns still overflow. Preview and edit share LocalTiptapEditor styles.
2026-08-05 21:14:36 +08:00
tianma-if 092b092508 fix(mobile): tighten attachment chips in TipTap preview
Reduce attachment row height, icon, and padding so chips sit closer to the
15px body scale while remaining within a 48px touch target.
2026-08-05 20:31:50 +08:00
tianma-if 5717160c09 fix(mobile): align TipTap body type with PC memo style
Use MEMO_CONTENT_STYLE (15px / 24 line-height) for the mobile editor and
preview WebView instead of a hardcoded 17px body, and size headings in rem
so notes feel consistent with desktop reading density.
2026-08-05 20:28:35 +08:00
tianma-if a665009226 fix(mobile): keep TipTap preview layout within the WebView width
Wide tables and flex attachment rows were expanding the editor shell past
the viewport, so text and cells clipped on the right. Cap the shell/content
to 100%, use content-relative table column widths instead of 100vw, and
scroll wide tables inside their wrappers.
2026-08-05 20:16:20 +08:00
tianma-if 3a1ce18c5a fix(mobile): make image ⋯ menu work in TipTap preview
Bind resource actions on the image control itself instead of relying on
ProseMirror handleClick after pointerdown preventDefault, which Android
WebView often suppresses. Also accept resource URLs without a /blob suffix.
2026-08-05 19:56:34 +08:00
tianma-if 2d784297ff fix(desktop): ship complete macOS ICNS so Dock never blanks
Prebuild a full iconutil ICNS (including 1024) instead of converting a lone
512 PWA PNG, validate Dock-critical types at package verify time, and set the
Dock icon at runtime as a Launch Services cache fallback.
2026-08-05 19:22:00 +08:00
tianma-if 1fe3fdc428 chore: release v1.12.2 [skip ci] 2026-08-05 19:01:29 +08:00
tianma-if 9d73865306 feat(mobile): render note preview with read-only TipTap
Share the editor TipTap schema for App note detail body so images, tables,
and Mermaid stay aligned with edit mode instead of a second Markdown path.
2026-08-05 18:56:47 +08:00
tianma-if 4d95d834f3 feat(web): explain note save conflicts with concrete reasons
Surface revision, content, edit-session, and offline-stale conflict details in the editor, keep error metadata through the sync queue, and avoid hook-order crashes plus stale dev service workers after failed HMR.
2026-08-05 17:19:55 +08:00
tianma-if 6bebb5c1d6 feat(web): expose note delete as a direct list action
Make deleting notes one click on desktop list cards instead of buried under the more menu, while keeping the existing menu path for keyboard and right-click.
2026-08-05 16:53:03 +08:00
tianma-if cdb6d00be2 chore: release v1.12.1 [skip ci] 2026-08-05 14:43:59 +08:00
tianma-if 7a7f89339f fix(web): harden Mermaid preference reads against test window stubs
getStoredMermaidRenderer assumed localStorage always exists whenever window
was defined, so full bun test runs could fail after other suites stubbed a
partial window. Safe-read the storage key and clean up shared window mocks
so Verify update stays green for forked deployments.
2026-08-05 14:41:01 +08:00
tianma-if 1709746b7b chore: release v1.12.0 [skip ci] 2026-08-05 13:55:39 +08:00
tianma-if b20d43e642 fix(web): prevent stale remote detail from clobbering editor state
Stop getMemo background refresh from overwriting newer local autosaves or
queued updates, and skip redundant setContent when reopening a note so the
caret no longer jumps to the end after detail refetches.
2026-08-05 13:54:08 +08:00
tianma-if b94903fb52 feat: add instance-level S3-compatible object storage
Let instance owners route new uploads to an external OSS while keeping
existing attachments on their original store. Secrets are encrypted with
EDGE_EVER_STORAGE_ENCRYPTION_KEY before being stored in D1.
2026-08-05 12:27:10 +08:00
tianma-if 9c9fe65cdb chore: release v1.11.1 [skip ci] 2026-08-04 20:26:22 +08:00
tianma-if e7ce493c01 docs: remove duplicate WeChat contact 2026-08-04 20:24:33 +08:00
tianma-if ef05ae9dc7 docs: highlight community information 2026-08-04 20:22:37 +08:00
tianma-if 384c70ae92 docs: describe native client benefits 2026-08-04 20:14:08 +08:00
tianma-if 41b57c5fac docs: streamline client guidance 2026-08-04 20:02:32 +08:00
tianma-if 6f865125a9 fix: refine image resource controls 2026-08-04 19:55:12 +08:00
tianma-if 4718c6d82c docs: refresh WeChat group QR code 2026-08-04 19:42:58 +08:00
tianma-if 196e40a959 chore: release v1.11.0 [skip ci] 2026-08-04 19:12:19 +08:00
tianma-if 8603258d4c feat: add mobile image resource actions 2026-08-04 19:10:43 +08:00
tianma-if 4ef60cfbf3 Merge pull request #171 from Shunamxiao/fix/public-share-scroll
fix: allow scrolling on public share pages
2026-08-04 18:47:22 +08:00
tianma-if 91cd734c8e docs: streamline release guide 2026-08-04 17:39:29 +08:00
tianma-if 7224174cc1 fix: require release note commit coverage 2026-08-04 17:34:14 +08:00
小秘书 e707bebc07 fix: allow scrolling on public share pages
Global app CSS sets html/body/#root { overflow: hidden } for the
three-pane workspace layout. Public share pages (/share/:token) inherit
this and cannot scroll when content exceeds the viewport. Restore
document scrolling when .edgeever-public-share is present via :has().
2026-08-04 14:24:05 +08:00
tianma-if 9a9f96f3c5 chore: release v1.10.2 [skip ci] 2026-08-04 12:32:26 +08:00
tianma-if 8ffd4062fa Unify editor text spacing across themes 2026-08-04 12:30:40 +08:00
tianma-if ddefcffb41 chore: release v1.10.1 [skip ci] 2026-08-04 12:01:34 +08:00
tianma-if 6a469d77c1 fix(mobile): avoid launch-time WebView prewarm 2026-08-04 11:59:34 +08:00
tianma-if 2e3678121b feat: add shared resource actions for note media 2026-08-04 11:59:16 +08:00
tianma-if 543076c12a Fix mobile editor type dependency 2026-08-04 01:12:57 +08:00