Carry interleaved prose between sign-in controls when lowering to core/loginout

Open Beginner friendly
#5,667 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@chubes4 is already working on this.

Since Nov 12, 2026.

  • #5707 by @chubes4 — open

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
82/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
php
Domain
backend

Research direction

Start with LoginBlockConverter and the secondary buttons case in tests/unit/login-form-native-loginout.php. Trace how prose between the submit and secondary controls is handled, then update the case to expect core/loginout, core/paragraph containing “Or”, and the matching core/buttons blocks in source order. Done means the output is Gutenberg-valid and the case passes.

Written by the indexing model from the issue text.

Description

Follow-up to #5643 / #5654.

Finding

LoginBlockConverter now lowers a plain sign-in form with handler-free secondary type="button" controls to core/group > core/loginout + core/buttons. Visible prose between the submit and the secondary controls is dropped, so the import loses text the source shows.

<form action="/auth/signin" method="post">
  <input type="text" name="userName"><label>User Name</label>
  <input type="password" name="password"><label>Password</label>
  <button type="submit">Sign in</button>
  <span>Or</span>
  <button type="button">Sign in as a Guest</button>
</form>

Today the output has no "Or".

Expected

Visible text that sits between the sign-in submit and the secondary controls appears as an editable block, such as core/paragraph with the source text, in source order between core/loginout and the matching core/buttons. Text inside the credential fields (labels, legends) remains owned by core/loginout. Hidden text stays omitted.

Acceptance

  • Extend the existing tests/unit/login-form-native-loginout.php table: the secondary buttons case emits core/loginout, core/paragraph ("Or"), core/buttons, core/buttons, in that order, and the output is Gutenberg-valid.
  • The case fails on trunk and passes with the fix.

Evidence: bookpattern.com /auth/signin import.


Filed by Franklin (Claude Opus via Pi/Roadie) after reviewing #5654. Chris requested the follow-up.

Dominant language
PHP
Stars
28
Forks
5
Avg merge
2h 30m
Merged PRs (30d)
933

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Automattic/blocks-engine

All issues in Automattic/blocks-engine

Similar issues

More PHP issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.