Store attachment files in object storage and keep only resource references in the table. A separate public form link appends one row without showing existing records.
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.
Show the connected instance URL on desktop and mobile, and the local
data directory on desktop. Keep both out of GitHub feedback. Relabel
health-check latency and distinguish an empty sync queue from never
having synced.
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.
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.
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.
Deleting a video attachment removed the stored file but left the player
in the note. File and PDF cards are custom nodes, while delete still
looked for old link marks. Also show the real filename in the confirm
dialog.
Fixes#394
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.
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.
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.
Present the version-skew hint as a small info line instead of a warning
banner, and point users to the daily instance update or the Update
deployed EdgeEver workflow.
Stop holding downloaded desktop updates until the connected instance
catches up. When the client is newer, system info shows a small hint
that some features may not work yet and that the instance can update
automatically each day or be updated manually.
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
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.
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.
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.
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