templates: repair failing blank & website e2e suites#16926
Merged
Conversation
blank/website admin e2e: update stale dashboard breadcrumb selector `span[title="Dashboard"]` -> `.step-nav__first` (StepNav refactor #16680). website build: forwarder components still typed rich-text props as assignable to (#16919). Type them as `SerializedEditorState`, matching the RichText `data` sink.
Contributor
📦 esbuild Bundle Analysis for payloadThis analysis was generated by esbuild-bundle-analyzer. 🤖
Largest pathsThese visualization shows top 20 largest paths in the bundle.Meta file: packages/next/meta_index.json, Out file: esbuild/index.js
Meta file: packages/payload/meta_index.json, Out file: esbuild/index.js
Meta file: packages/payload/meta_shared.json, Out file: esbuild/exports/shared.js
Meta file: packages/richtext-lexical/meta_client.json, Out file: esbuild/exports/client_optimized/index.js
Meta file: packages/ui/meta_client.json, Out file: esbuild/exports/client_optimized/index.js
Meta file: packages/ui/meta_shared.json, Out file: esbuild/exports/shared_optimized/index.js
DetailsNext to the size is how much the size has increased or decreased compared with the base branch of this PR.
|
AlessioGr
approved these changes
Jun 8, 2026
denolfe
added a commit
that referenced
this pull request
Jun 9, 2026
# Overview Makes the `website` template e2e suite reliable. Follow-up to #16926, which fixed the build and selector but exposed a dev-only crash once the suite could run. ## Key Changes #### Run the e2e webServer against the production build Under `next dev` (Turbopack) the website admin crashes with `chunk.reason.enqueueModel is not a function` — an upstream React Flight / Turbopack HMR manifest race ([#14419](#14419)) triggered by Payload's import-map admin client components (e.g. plugin-seo's `PreviewComponent`). It is dev-only; production rendering is unaffected. The webServer now runs `pnpm build && pnpm start`, so the suite builds and tests the production build and works whether or not the app was built beforehand. #### Relax the list-view URL assertion The production list view appends `?depth=1&limit=10`, so the exact-string URL match is now a pathname-tolerant regex. ## References / Links - #14419 - #14860
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
Fixes the
blankandwebsitetemplate e2e suites, the only two template jobs failing in CI.Key Changes
Update stale dashboard breadcrumb selector
The admin e2e login helper and dashboard test waited for
span[title="Dashboard"], which no longer exists after the StepNav refactor in #16680. The dashboard breadcrumb now renders with class.step-nav__first. Applied to bothblankandwebsite.Fix website rich-text prop types
Three website forwarder components (
Form,Form/Message,RelatedPosts) typed their rich-text props asDefaultTypedEditorState. After #16919, generated fields are typedLexicalRichText<...>, which is not assignable to that, so the websitenext buildtype-check failed. They now useSerializedEditorState, matching theRichTextdataprop they forward to.Design Decisions
SerializedEditorStateis the type the underlyingRichTextcomponent already accepts for itsdataprop. Typing the forwarder props the same way keeps them consistent with the sink and accepts any generated editor state, which is what other blocks (Content,CallToAction) already pass through.