461 Commits
Author SHA1 Message Date
edgeever-updater[bot] 507cb892ad chore: update EdgeEver from v2.19.0
EdgeEver-Upstream-Commit: a80d9bfda1aad846e20882813758a59fe27bf8ca
2026-11-04 09:13:22 +00:00
edgeever-updater[bot] 67cf5297de chore: update EdgeEver from v2.18.0
EdgeEver-Upstream-Commit: 4235f3f2f1f68ad94802612362d1daea6dabb3cb
2026-11-03 09:33:32 +00:00
edgeever-updater[bot] eaf37b4aeb chore: update EdgeEver from v2.16.1
EdgeEver-Upstream-Commit: 6e79c1bd81a3678b1d0d01f5476564cfecdd40d8
2026-10-31 08:26:31 +00:00
edgeever-updater[bot] d78620caaa chore: update EdgeEver from v2.15.0
EdgeEver-Upstream-Commit: e052ac3b54bdcba4b2c452e6b06c091b1e2c70f4
2026-10-30 08:39:50 +00:00
edgeever-updater[bot] d04350db18 chore: update EdgeEver from v2.14.0
EdgeEver-Upstream-Commit: 355286814e746828688e6b0de139c39d3ecd2b20
2026-10-29 08:29:49 +00:00
edgeever-updater[bot] 55a447d8f8 chore: update EdgeEver from v2.12.0
EdgeEver-Upstream-Commit: eeaab088f41d0417fbce2266f58ff4adde7f5d76
2026-10-28 08:33:37 +00:00
edgeever-updater[bot] 83a99699c3 chore: update EdgeEver from v2.9.0
EdgeEver-Upstream-Commit: d5c62eeda4ece2affc36c7d5463c87dd7a8a292f
2026-10-27 07:52:48 +00:00
edgeever-updater[bot] 05e53dcba3 chore: update EdgeEver from v2.7.0
EdgeEver-Upstream-Commit: 30fcb3fc65c419000a3e6f8cfb70eca47ae53914
2026-10-26 07:48:43 +00:00
tianma-if 644ed04d62 chore: release v2.5.0 [skip ci] 2026-10-25 11:05:36 +08:00
tianma-if 2412594d3c docs(readme): add contributors wall with automatic release sync 2026-10-25 10:54:57 +08:00
tianma-if 7a91e7d592 chore: release v2.4.0 [skip ci] 2026-10-24 00:59:55 +08:00
tianma-if 92a0a71b61 chore: release v2.3.0 [skip ci] 2026-10-22 14:41:07 +08:00
tianma-if 4f49821e3f chore: release v2.2.0 [skip ci] 2026-10-21 23:59:38 +08:00
tianma-if e15792d0a6 chore: release v2.1.0 [skip ci] 2026-10-21 18:57:02 +08:00
tianma-if 5d1a0661d1 chore: release v2.0.3 [skip ci] 2026-10-21 00:28:45 +08:00
tianma-if 2523d0c1fb chore: release v2.0.2 [skip ci] 2026-10-20 22:19:54 +08:00
tianma-if cc71768c0f chore: release v2.0.1 [skip ci] 2026-10-20 07:07:17 +08:00
tianma-if 55f7767fdf chore: release v2.0.0 [skip ci] 2026-10-20 01:18:31 +08:00
tianma-if 6539323ae1 chore: release v1.125.0 [skip ci] 2026-10-19 20:45:42 +08:00
tianma-if 10b4753955 feat(poster): automatically ensure static thumbnails during development and builds 2026-10-19 18:17:47 +08:00
tianma-if 5f54aeaddc perf(poster): use pregenerated static template thumbnails 2026-10-19 17:57:35 +08:00
tianma-if fdad077843 chore: release v1.124.0 [skip ci] 2026-10-19 11:42:38 +08:00
tianma-if 5eecc8df13 perf: reduce bundled fonts and defer startup dependencies
Keep shared offline defaults and download optional fonts into a validated cache with reliable export fallbacks. Prune stale Android DOM assets and refresh the smaller iOS editor bundles.

Preserve lazy startup boundaries through direct shared exports and dependency-aware splitting. Add ESM graph and Chrome startup checks to prevent eager editor and font loading.
2026-10-19 11:10:25 +08:00
tianma-if cb13c07592 chore: release v1.123.0 [skip ci] 2026-10-18 22:21:14 +08:00
tianma-if 862132acc7 chore: release v1.122.0 [skip ci] 2026-10-18 12:47:22 +08:00
Dariusz Korytoandtianma-if 5ac19b542b feat(web): show a QR code for note and notebook share links (#610)
Opening a shared note on a phone meant copying the link to another
device. Add a collapsible "QR code" section to the note and notebook
share dialogs that renders the public link as a scannable code.

- Rendered with qrcode.react 4.2.0 (SVG, no dependencies), loaded with
  the share dialogs only.
- Dark modules on a white panel in every theme so phone cameras can
  read it; labelled for screen readers, no native title tooltip.
- Hidden for password-protected links, so the code never replaces the
  password the recipient still has to receive separately.
- Copy in all four catalogs.

Co-authored-by: tianma-if <yingwaizhiying@gmail.com>
2026-10-18 11:39:00 +08:00
tianma-if 8820de1273 chore: release v1.121.0 [skip ci] 2026-10-17 01:23:52 +08:00
Dariusz Koryto bec688b91a ci: add oxlint correctness check and resolve its findings (#592)
* refactor: resolve oxlint correctness findings without behavior changes

- Snapshot iterations that mutate their collection with Array.from()
  instead of a spread (live childNodes, self-removing disposers, a Set
  extended inside its own loop).
- Drop empty spread fallbacks, redundant regex escapes, Boolean() casts
  inside negations, a rethrow-only try/catch and statement ternaries.
- Use startsWith/endsWith for anchored literal checks in the extension.
- List U+FE0F explicitly in the mobile attachment emoji class; the
  matched set is unchanged.
- Fix the WeChat copy fixture, where \oint in a template literal lost its
  backslash and the block formula never exercised \oint.
- Document the intentional control-character regexes (filename
  sanitizing and input validation), the throwing provider stream test,
  Astro's generated type reference and the mobile auto-sync finally
  block with narrow inline exceptions.

* ci: run oxlint correctness rules on pull requests

Pin oxlint 1.88.0 and enable only its correctness category across apps/
and packages/, excluding build output, vendored code and the iOS app.
Findings are errors and the script passes --deny-warnings, so CI fails
on any finding. no-unused-vars stays off until unused code is removed
in a dedicated pass.
2026-10-16 21:57:36 +08:00
tianma-if 1d6cc281e2 chore: release v1.120.0 [skip ci] 2026-10-16 01:51:16 +08:00
tianma-if 6113e18fff test: isolate ACP cleanup in full regression suite 2026-10-16 01:50:03 +08:00
tianma-if bc617ccd93 test(desktop): keep ACP cleanup in the isolated test group 2026-10-15 22:20:33 +08:00
Dariusz Koryto ffff9ac2a1 ci(desktop): discover main-process tests instead of listing them (#576)
test:desktop listed 40 of the 49 Electron main-process test files by hand,
and the five ACP tests that need the desktop working directory ran in a
second command. Four files were missing from both lists
(desktop-device-model, edit-context-menu, rpc, window-lifecycle), so the
desktop build never ran them.

The first command now runs everything under apps/desktop/src/main and
ignores only the five tests the second command runs with --cwd
apps/desktop. The renderer tests and the sidecar step are unchanged, and a
new main-process test is picked up without editing the script.
2026-10-15 21:54:48 +08:00
LuoQianhong 1bb9580007 feat(extension): expand vertical and article platform clipping (#578) 2026-10-15 21:39:41 +08:00
tianma-if 544a6e8e8c chore: release v1.119.0 [skip ci] 2026-10-15 12:46:48 +08:00
tianma-if 4609f72a85 test: isolate WorkBuddy launcher subprocess checks 2026-10-15 12:42:37 +08:00
tianma-if 2ba1e8e70e chore: release v1.118.0 [skip ci] 2026-10-14 11:03:01 +08:00
tianma-if 8127802f32 chore: release v1.117.0 [skip ci] 2026-10-14 10:56:01 +08:00
tianma-if c6a5eeef5d chore: release v1.116.0 [skip ci] 2026-10-14 10:51:28 +08:00
tianma-if 30a4ab08ca chore: release v1.115.0 [skip ci] 2026-10-13 18:04:02 +08:00
tianma-if ccc8a57129 chore: release v1.114.0 [skip ci] 2026-10-13 17:55:08 +08:00
tianma-if c7c4a5e329 chore: release v1.113.0 [skip ci] 2026-10-13 14:15:15 +08:00
tianma-if be93432e78 fix: capture desktop update network diagnostics
Record sanitized request URLs, redirects, timing, HTTP errors and proxy resolution from the actual updater session. Include the trace in copyable update diagnostics. Refs #513
2026-10-13 13:40:11 +08:00
tianma-if 9011a1ce62 feat(plugins): add guarded editing for structured notes 2026-10-13 13:25:16 +08:00
tianma-if 6b5027e8b4 fix(security): harden renderer and desktop execution boundaries
Preserve trusted plugin and automatic ACP permission models. Track release and remaining validation in #546.
2026-10-13 00:42:36 +08:00
tianma-if 16e8f1a8f3 chore: release v1.112.0 [skip ci] 2026-10-12 23:54:04 +08:00
tianma-if 435376ca56 feat: add optional desktop PicGo image uploads
Add local PicGo configuration, connection testing, and explicit upload failure recovery. Expose the configuration preview on Web.

Refs #530
2026-10-12 21:45:06 +08:00
tianma-if 566d65fde0 chore: release v1.111.1 [skip ci] 2026-10-12 14:06:05 +08:00
tianma-if 59d6548abd fix: harden remaining dependency paths and desktop npm
Remove the unused React Native Markdown renderer. Pin safe YAML, shell quoting, tar, and cache dependencies; upgrade npm within the 11 series and apply upstream fixes to its hidden bundled Undici and cache copies.

Add actual-consumer security regressions and an opt-in real npm/ACP upgrade verifier. Typechecks, Web build, Android APK/signature checks, and 2,997 tests passed (23 skipped). Real old-to-new npm installs, ACP initialize, rollback, restart, and fallback retention passed under the desktop Electron runtime.

Android USB-device validation and full desktop automatic-update release gates remain pending. Dependency audit is reduced from 85 to 74 unique advisories; this is not a complete security clearance.
2026-10-12 12:48:47 +08:00
tianma-if 0e958b4944 chore: upgrade core dependencies and migrate site to Astro 7
Align editor, AI SDK, query, and Expo SDK 57 dependencies; pin floating versions and rebase the Mermaid and Android sharing patches. Refresh the standalone iOS editor bundle and migrate site content collections while preserving routes.

Validation: typechecks for Web/API, Android, and iOS editor; Web, site, iOS editor, Worker, Docker server, extension, and Android APK builds; 2,994 tests passed, 23 skipped. Built-in browser verified rich-text paste/undo and bilingual site navigation.

USB-device upgrade/data/share verification and desktop cross-version release gates remain pending. Remaining dependency audit advisories are not all resolved.
2026-10-12 12:22:42 +08:00
tianma-if 1b0bbf6ed6 chore: release v1.111.0 [skip ci] 2026-10-11 23:42:12 +08:00