Skip to content

Compose BetterEditor, fix editor gestures, and migrate workspace tooling - #431

Open
rmolinamir wants to merge 14 commits into
mainfrom
codex/better-editor-composition
Open

rmolinamir wants to merge 14 commits into
mainfrom
codex/better-editor-composition

Conversation

@rmolinamir

@rmolinamir rmolinamir commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

BetterEditor exports composable engine and React parts. Journl assembles its own editor, toolbar, block/context/table menus, and reference actions. The library has no application preset, UI-component injection, or services map.

  • Preserve the engine across layout, editability, and callback changes; require explicit extension resets. Retain missed edits after synchronous commit-callback failures. Toolbar callback changes use React Effect Events without resetting owned-popup focus.
  • Expose inline/sticky/floating toolbars, independent controls, consumer-defined menus, and abortable asynchronous slash sources. Consumers own responsive policy, URLs, persistence, reference actions, embedded-content rendering, and preview depth.
  • Cache unchanged node payloads, use linear diffs and targeted structural transactions, narrow subscriptions, and make highlighting optional.
  • Give native handle drags an owned session and transaction-mapped source, preserving explicit copies, stable IDs, nested blocks, cancellation, and atomic undo. Hide floating controls during native dragging.
  • Improve table-selection contrast, code/divider handle alignment, and double-digit list markers. Keep added columns visible through delayed native scrolling, with bounded correction and cancellation on new input.
  • Use Node 26 through mise and pnpm 12.15.0 through devEngines.packageManager. Native addMissingPeerTypes replaces the removed .pnpmfile.cjs hook. Remove NVM configuration and the obsolete hoist exclusion; declare dependencies exposed by isolated installation.
  • Replace Dependabot version updates with Renovate, preserving the weekly cross-ecosystem group and security alerts. Verify extraction of Node, pnpm, workspace packages, and Actions. The organization's Renovate App already covers this repository.
  • Refresh project skills through skills.sh, including official Workflow and workflow-init guidance, with project-only installation.

Distribution is intentionally future work. Source namespaces, relative internal imports, explicit leaf exports, and consumer-owned composition leave the way open for npm and shadcn distribution. The editor registry prototype, its test, generated assets, installation instructions, and all dev/build/test wiring have been removed. No registry is generated or hosted, and no packages were published.

The document/reference contracts remain. Further schema modularization, transaction-mapped indexes, bounded pointer hit testing, and AI replacement remain separate work. Architecture and validation notes are under docs/editor-design/.

Validation:

  • On pnpm 12.15.0 without the hook: frozen installation, dependency checks, lint, global-store workspace typechecks, and 446 unit/UI tests passed. A fresh isolated project-store installation, typechecks, and uncached Turbopack build passed; the build produced no registry output. The held-click list-conversion regression passed three additional times on this toolchain.
  • The toolbar focus regression fails against the prior implementation and passes with the fix. The preceding focused run passed ten consecutive 700 ms held-click cases and 16 related browser tests across Chromium/WebKit, with eight platform skips.
  • Before these follow-ups, the complete local CI sequence passed 445 unit/UI tests, 43 database tests, and 109 browser tests with 21 platform skips, plus an uncached Turbopack production build. That full browser/database sweep was not rerun for the final tooling/registry removal.

The requested global virtual-store default installs and typechecks. Current Workflow/Turbopack loaders cannot transform dependencies outside the project filesystem, so app development/builds and CI require PNPM_VIRTUAL_STORE_TYPE=project. The README documents switching layouts. Builds used disposable fixture values, not production credentials. Benchmarks distinguish cached read/diff/commit delivery from full decoding and do not measure browser typing latency.

Independent audit follow-up

A read-only subagent audited tooling, the original findings, and the agreed coding standards. It found two P2 defects: retained table actions could apply obsolete state/positions, and independently composed controls could mutate read-only editors. The corrections resolve current target state, subscribe menus independently, reject stale/readonly mutations, cancel pending gestures, and hide mutation handles. A second read-only review caught and verified corrections for destroy-event timing and cell-selection anchor changes. The unused pnpm metadata reader was removed from Next config.

No additional blocking tooling defect was found. This does not close every original design finding. Incremental document processing, broad subscriptions, gutter/reference fan-out, the engine/DOM presentation seam, optional feature splitting, and public export curation remain partial or open. See the full audit.

Correction validation passed 455 unit/UI tests, ten workspace typecheck tasks, lint, frozen installation, and an uncached Turbopack build. Related table/accessibility acceptance passed 15 tests across Chromium/WebKit with five platform skips. The final read-only handle regression then passed in both browsers. These are focused follow-up checks, not another complete browser/database sweep. Existing document/reference dependencies remain explicitly deferred.

@vercel

vercel Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
journl Error Error Oct 29, 2026 9:17am UTC

@rmolinamir rmolinamir changed the title Compose BetterEditor UI and stabilize engine updates Compose BetterEditor in consumer applications and stabilize engine updates Oct 29, 2026
@rmolinamir rmolinamir changed the title Compose BetterEditor in consumer applications and stabilize engine updates Compose BetterEditor, fix editor gestures, and migrate workspace tooling Oct 29, 2026

This branch had an error being deployed

1 failed deployment
Preview — 308a128e Deployed Oct 29, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant