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.
Give GitHub a first-class Japanese landing page that tracks the English README, and require future README edits to update Chinese, English, and Japanese together.
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.
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.
Add a bulk Markdown ZIP action for selected notes, reuse the existing
readable export layout, and keep the desktop bulk action card visible
when a diagram note is open.
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