Overview

Proposed resolution

  • Integrate React Hook Form to take care of some of the lifting that we previously had custom code for
  • Make sure this new approach no longer treats attributes and other props as mutable (it's bad practice AND stopping us from updating to React 19)
  • If possible, this refactor should also address the excessive unnecessary rerenders in the Page Data and Component instance forms (✅ it does!)
  • If possible, this refactor should be accompanied by removing arbitrary waits in e2e tests, such as build ID and ajax completion, that do not reflect user facing events and can mask actual problems (✅ much of this is removed... and potentially more can be)
  • Address any underlying problems surfaced by the removal of the arbitrary waits (👀 this revealed that parallel preview requests were triggering errors, so this MR queues them and addresses the problem)
  • Prevent users from performing interactions that could cause conflicts (such as triggering an AJAX operation while a preview request is in progress)

User interface changes

Not much, but autocomplete reference fields work like core's now . the stored value is entity:node/etc but the display is the title.

Issue fork canvas-3562896

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

bnjmnm created an issue. See original summary.

jessebaker made their first commit to this issue’s fork.

bnjmnm changed the visibility of the branch 3562896-react-hook-form to hidden.

bnjmnm changed the visibility of the branch hook-form-claude-refactor to hidden.

bnjmnm changed the visibility of the branch react-hook-form to hidden.

bnjmnm changed the visibility of the branch 3562896-manage-propspage-data to hidden.

bnjmnm’s picture

Assigned: bnjmnm » Unassigned
Issue summary: View changes
Status: Active » Needs review

Switching to NR - this is so huge I'm sure there's some gank here and there, but we should get some eyes on it. The huge reduction of form input re-renders is particularly satisfying.

hooroomoo’s picture

Status: Needs review » Needs work

Left some feedback and there are failing tests but seems to be working well from my manual testing so far with less form re-renders!!