Document React 18 review compatibility pin

This commit is contained in:
murashit 2026-05-28 14:42:23 +09:00
parent 069d6efff9
commit 9d944fa5bd

View file

@ -29,6 +29,8 @@ Keep new code near the state or API it owns. Feature code should not import from
Codex Panel's runtime UI is React-owned. Keep chat panel UI, the Threads view, and the selection rewrite popover in React components. Imperative DOM writes are limited to explicit bridge modules or Obsidian-owned API boundaries such as `MarkdownRenderer`, diff rendering, icon rendering, `SuggestModal`, and the Obsidian `Setting`-based settings tab. ESLint enforces this boundary with allowlisted bridge files; add a new allowlist entry only when the code is genuinely bridging an external DOM API.
React is pinned to 18.x for Obsidian Community plugin review compatibility. React DOM 19 currently bundles runtime code that creates `<script>` elements, which is flagged by Obsidian's automated review even though Codex Panel does not dynamically load external scripts. Revisit this pin only after Obsidian's review tooling can distinguish that React runtime code from plugin-controlled script injection.
## App-Server Bindings
The app-server TypeScript bindings in `src/generated/app-server/` are generated from the installed Codex CLI: