Commit Graph
20 Commits
Author SHA1 Message Date
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 9011a1ce62 feat(plugins): add guarded editing for structured notes 2026-10-13 13:25:16 +08:00
tianma-if f697ffb7dc test: stop restoring window as an undefined global
Assigning globalThis.window = undefined creates an own property. On Ubuntu
that shadows the host window, so later editor tests throw when ProseMirror
reads window.MutationObserver.
2026-09-30 21:52:02 +08:00
tianma-if 7a09ecc1d3 test(plugins): expect panel purpose in the host snapshot
The snapshot now includes purpose so the toolbar can hide workflow
dialogs; update the fixture assertion to match.
2026-09-11 01:30:13 +08:00
tianma-if e953faad87 feat(plugins): add host-rendered panel chrome
Let plugins describe header actions, search, tabs, selects, and empty states through mount context shell.set(), and render them with the host UI.
2026-09-09 23:51:00 +08:00
tianma-if 29ec6fe766 refactor: simplify plugin toolbar menu 2026-09-09 00:04:01 +08:00
tianma-if eeec5c9d5f feat(plugins): enforce host-rendered settings 2026-09-08 19:37:39 +08:00
tianma-if 72d655a109 feat(plugins): notify extensions of settings changes 2026-09-08 19:29:50 +08:00
tianma-if 46dfc2d304 feat(plugins): adopt trusted code permissions 2026-09-08 15:37:32 +08:00
tianma-if 72b90d3482 feat(plugins): trust declared network access 2026-09-08 12:52:00 +08:00
tianma-if 39754d2f08 feat(plugins): allow broad public read access 2026-09-08 12:41:28 +08:00
tianma-if 016058254d test(web): restore plugin host globals 2026-09-04 19:06:44 +08:00
tianma-if 12fca0db5f perf(plugins): keep public requests off the backend when possible 2026-09-04 13:35:27 +08:00
tianma-if ee9632038f feat(plugins): expose generic AI and public HTTPS capabilities 2026-09-03 16:05:41 +08:00
tianma-if bde35ebb83 feat: add desktop plugin task scheduling 2026-09-02 18:20:10 +08:00
tianma-if cee98bc90b feat(plugins): add resource panels and embeds 2026-09-01 21:35:25 +08:00
tianma-if 62038c6330 feat(plugins): expand generic plugin APIs 2026-09-01 18:04:15 +08:00
tianma-if 39cf34b018 feat: expand and harden plugin platform 2026-09-01 15:52:45 +08:00
tianma-if dc7626843a feat: add plugin updates and details 2026-08-16 19:34:16 +08:00
tianma-if e9dfb3a76a feat: add plugin marketplace and GitHub distribution 2026-08-16 14:52:06 +08:00