Repository navigation
fix(builder): say the editor needs more width, not a wider screen - #887
Conversation
The notice named the wrong cause once the shell started measuring its container. An editor embedded in a narrow column on a large display told the author their screen was too small, which is both untrue and unactionable: widening the window changes nothing when the column is what constrains it. The heading and both bodies now talk about width and about the space the editor was given, which is accurate whether the window or the column is what is narrow. Comments describing the measurement are rewritten to state the current invariants rather than the readings that preceded them. One in the e2e spec described the observer as following whichever root is visible, which stopped being true when the always-rendered wrapper replaced that design.
|
@codex please review this PR |
|
@nextly-bot review |
|
Warning Review limit reached
Next review available in: 10 minutes Limit details: You’ve used all 1 included review currently available under your plan. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (5)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Claude encountered an error after 29m 6s —— View job Review in progress
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f5a5c9cfd1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
@nextlyhq/adapter-drizzle
@nextlyhq/adapter-mysql
@nextlyhq/adapter-postgres
@nextlyhq/adapter-sqlite
@nextlyhq/admin
@nextlyhq/admin-css
@nextlyhq/blocks-engine
@nextlyhq/blocks-react
@nextlyhq/builder
create-nextly-app
nextly
@nextlyhq/plugin-form-builder
@nextlyhq/plugin-page-builder
@nextlyhq/plugin-sdk
@nextlyhq/plugin-seo
@nextlyhq/storage-s3
@nextlyhq/storage-uploadthing
@nextlyhq/storage-vercel-blob
@nextlyhq/ui
commit: |
MediaControl explained why the picker consumes the shell's active state by quoting a notice that no longer says that, and by attributing the narrow state to the viewport and to the width of the window. The shell measures the space it was given, so all three references described a model it had already stopped using. The unconsumed changeset for the measurement change quoted the same retired string, which would have shipped it into the changelog, and its body carried an em dash that does not belong in released copy.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
@codex please review this PR |
|
@nextly-bot review |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Claude encountered an error after 1s —— View job I'll analyze this and get back to you. |

Restores a commit that #884 lost, and it is user-facing.
Why this exists
47951929dwas pushed while GitHub was computing #884's merge, so it never landed. Verified by content rather than by ancestry: the markerThe page editor needs more widthis present at the branch tip and absent from merge commit737f6c87a, with zero history-rewrite events on the timeline. This is the second stranded tail on this lane today and, per another lane, the fifth in the repository.What
maincurrently doesMeasured on
origin/mainjust now:setFits(fitsFullShell(entry.contentRect.width))— present. The shell measures its CONTAINER.The page editor needs a wider screen— present. The notice still names the WINDOW.Those two together are the defect. An editor embedded in a narrow column on a large display now correctly refuses to compress, and then tells the author their screen is too small — which is untrue, and widening the window does nothing because the column is what constrains it. The body carried the same wrong cause: "On a smaller screen you can still edit this page's content from the admin."
The change
Matchers in
packages/builder/src/builder-shell.test.tsxande2e/tests/shell/shell.spec.tsmove with it, along with three prose comments inshell-state.tsandbuilder-shell.tsxthat explained the refuse-rather-than-compress decision in terms of a screen.It also carries a comment repair that #884 lost.
e2e/tests/shell/shell.spec.tsopened with "THE DEADLOCK, and the reason the observer follows the VISIBLE root" — a design replaced before #884 merged, somaincurrently documents an implementation that does not exist. It now states the property the test pins: the decision has to be reversible, which is what an always-rendered measured element buys.Verification
Stub-verified rather than asserted: restoring the old heading fails four notice tests in the unit suite, so the matchers are bound to the rendered text rather than passing vacuously.
packages/builder: 370/370, typecheck, lint cleanpackages/plugin-page-builder: 828/828e2e/tests/shell/shell.spec.ts: 20/20 in Chromiumnpx sherif: 0 errorsscripts/release/check-changesets.mjs(all 24 lockstep packages)