Skip to content

chore(next): align apps on 16.3 preview - #489

Merged
BleedingDev merged 3 commits into
masterfrom
chore/next-16-3-app-alignment
Jun 30, 2026
Merged

BleedingDev merged 3 commits into
masterfrom
chore/next-16-3-app-alignment

Conversation

@BleedingDev

@BleedingDev BleedingDev commented Jun 30, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Align all Next-consuming apps and the analytics Next peer/dev dependency on next@16.3.0-preview.5.
  • Align Payload's eslint-config-next to 16.3.0-preview.5.
  • Update app popover imports that were using template props against the molecule export, exposed by the stricter Next 16.3 type check.
  • Regenerate the lockfile minimally so pnpm resolves a single Next version.

Notes

Validation

  • mise exec -- pnpm install --frozen-lockfile
  • mise exec -- pnpm --filter=n1 exec next typegen
  • mise exec -- pnpm lint:nx
  • mise exec -- ./node_modules/.bin/nubx --node nx run new-engine-ctl:test
  • NX_BASE=origin/master NX_HEAD=HEAD mise exec -- ./node_modules/.bin/nubx --node nx affected -t lint test
  • mise exec -- pnpm -C apps/frontend-demo exec next build
  • mise exec -- ./node_modules/.bin/nubx --node nx run n1:build
  • mise exec -- ./node_modules/.bin/nubx --node nx run herbatika:build
  • DATABASE_URL=postgresql://payload:payload@localhost:5432/payload PAYLOAD_SECRET=payload_build_secret PAYLOAD_LOCALES=en FEATURE_PAYLOAD_ARTICLES_ENABLED=1 FEATURE_PAYLOAD_PAGES_ENABLED=1 FEATURE_PAYLOAD_HERO_CAROUSELS_ENABLED=1 S3_ENDPOINT=http://localhost:9004 S3_REGION=us-east-1 S3_BUCKET=payload S3_ACCESS_KEY_ID=payload S3_SECRET_ACCESS_KEY=payload mise exec -- ./node_modules/.bin/nubx --node nx run payload:build

Closes #484

Summary by CodeRabbit

  • Chores
    • Upgraded the app framework to a newer preview release across several products, keeping them aligned on the same version.
  • Bug Fixes
    • Updated header and navigation popovers to use the latest shared UI behaviour, with a small refinement to mobile header focus styling for better keyboard interaction.

@semanticdiff-com

semanticdiff-com Bot commented Jun 30, 2026 •

Copy link
Copy Markdown

@vercel

vercel Bot commented Jun 30, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
new-engine-ui-storybook Ready Ready Preview, Comment Jun 30, 2026 3:31pm

@coderabbitai

coderabbitai Bot commented Jun 30, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@BleedingDev, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 43 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 5fab53d6-5b73-42b8-a08a-a90ea9f2bffd

📥 Commits

Reviewing files that changed from the base of the PR and between 12b888e and ef85eb9.

⛔ Files ignored due to path filters (2)
  • apps/herbatika/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (2)
  • apps/frontend-demo/src/components/header.tsx
  • libs/analytics/package.json

Walkthrough

Bumps Next.js to 16.3.0-preview.5 across frontend-demo, herbatika, n1, payload, and the analytics library (including eslint-config-next in payload and tightened peer deps in analytics). Simultaneously migrates all Popover component imports from @techsio/ui-kit/molecules/popover to @techsio/ui-kit/templates/popover via PopoverTemplate as Popover.

Changes

Next.js version alignment and Popover import migration

Layer / File(s) Summary
Next.js dependency bumps
apps/frontend-demo/package.json, apps/herbatika/package.json, apps/n1/package.json, apps/payload/package.json, libs/analytics/package.json
Pins next to 16.3.0-preview.5 in all apps; also bumps eslint-config-next in payload and tightens peerDependencies.next in analytics from >=16.0.0 to the exact preview version.
Popover import migration
apps/frontend-demo/src/components/auth/auth-dropdown.tsx, apps/frontend-demo/src/components/header.tsx, apps/frontend-demo/src/components/molecules/header-search.tsx, apps/frontend-demo/src/components/molecules/navigation.tsx, apps/n1/src/components/header/cart-popover.tsx, apps/n1/src/components/header/login-popover.tsx
Switches Popover imports from @techsio/ui-kit/molecules/popover to @techsio/ui-kit/templates/popover (via PopoverTemplate as Popover) in all consuming components. Also removes focus-visible:outline-ring from the mobile menu button className in header.tsx.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Possibly related issues

  • #484 – chore(next): align all Next apps on Next.js 16.3: This PR directly addresses the acceptance criteria by bumping all listed apps to the 16.3.0-preview.5 line.

Possibly related PRs

  • TechsioCZ/new-engine#392: Introduced the PopoverTemplate abstraction and compound API that this PR's import migration targets.
  • TechsioCZ/new-engine#133: Previously refactored the UI-kit popover component/styling, directly related to the molecules → templates path change.
  • TechsioCZ/new-engine#194: Modified the same frontend-demo files with @techsio/ui-kit popover import changes.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The header focus-visible className tweak is unrelated to the Next.js alignment work and appears out of scope. Move the header styling change to a separate PR unless it is required for the Next 16.3 upgrade.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is concise and clearly reflects the main change: aligning apps on the Next.js 16.3 preview line.
Linked Issues check ✅ Passed The PR updates the listed apps and related Next.js dependencies to the same 16.3 line, matching the issue objective.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/next-16-3-app-alignment
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch chore/next-16-3-app-alignment

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@greptile-apps

greptile-apps Bot commented Jun 30, 2026 •

Copy link
Copy Markdown

Greptile Summary

This PR aligns all Next.js-consuming apps (n1, herbatika, frontend-demo, payload) and the analytics library's peer/dev dependency on next@16.3.0-preview.5, regenerates the monorepo lockfile, and fixes popover import paths that Next 16.3's stricter type-checking exposed.

  • Version alignment: All four apps now pin next to the exact preview string 16.3.0-preview.5; the root pnpm-lock.yaml is updated accordingly and the stale apps/herbatika/pnpm-lock.yaml (which pinned the old 16.1.1 version) is removed to consolidate on the root lockfile.
  • Popover import migration: All call sites that imported Popover from the molecules path (@techsio/ui-kit/molecules/popover) are redirected to the templates path (PopoverTemplate as Popover from @techsio/ui-kit/templates/popover), fixing the template-prop type mismatch raised by Next 16.3's stricter checks.
  • Minor style tweak: focus-visible:* classes are moved to the front of the mobile menu button's className string in header.tsx, with no functional impact.

Confidence Score: 5/5

Safe to merge — this is a focused dependency alignment with no logic changes beyond import path corrections that Next 16.3 itself required.

All changes are version pins and import path migrations. The popover import changes are mechanically consistent across every call site, props are identical, and the removal of the stale herbatika app-level lockfile consolidates resolution into the root lockfile correctly. No new runtime behaviour is introduced.

No files require special attention.

Important Files Changed

Filename Overview
apps/frontend-demo/package.json Pins next from ^16.1.1 to exact 16.3.0-preview.5; intentional and consistent with all other apps.
apps/herbatika/package.json Pins next from 16.1.1 to 16.3.0-preview.5; consistent with the rest of the alignment.
apps/herbatika/pnpm-lock.yaml App-level lockfile removed; resolution now consolidated into the root pnpm-lock.yaml, which is the correct monorepo approach.
apps/n1/package.json Pins next to 16.3.0-preview.5; matches the other apps.
apps/payload/package.json Pins both next (dep) and eslint-config-next (devDep) to 16.3.0-preview.5, keeping the ESLint config aligned with the framework version.
libs/analytics/package.json devDep pinned exactly to 16.3.0-preview.5; peerDep uses ^16.3.0-preview.5 (caret), which is more flexible for consumers. No new issues beyond what the previous review thread addressed.
apps/frontend-demo/src/components/auth/auth-dropdown.tsx Import updated from molecules/popover to templates/popover (PopoverTemplate as Popover); props and usage unchanged.
apps/frontend-demo/src/components/header.tsx Popover import migrated to templates path; mobile button's focus-visible:* classes moved to the front of the class string — cosmetic Tailwind reorder only.
apps/frontend-demo/src/components/molecules/navigation.tsx Import-only change; PopoverTemplate used for submenu rendering same as before.
apps/n1/src/components/header/cart-popover.tsx Import updated to templates/popover; all three render variants (content, loading, error) updated consistently.
apps/n1/src/components/header/login-popover.tsx Import updated to templates/popover; functionality unchanged.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    subgraph Apps["Apps (next: 16.3.0-preview.5)"]
        A[n1]
        B[herbatika]
        C[frontend-demo]
        D[payload]
    end
    subgraph Libs["Libraries"]
        E["analytics\n(peerDep: ^16.3.0-preview.5)"]
    end
    subgraph UIKit["@techsio/ui-kit"]
        F["molecules/popover\n(old — removed from imports)"]
        G["templates/popover\n(PopoverTemplate — new)"]
    end

    A -->|imports| G
    B -->|no popover| G
    C -->|imports| G
    D -->|no popover| G
    E --> Apps

    C -- "auth-dropdown.tsx\nheader.tsx\nheader-search.tsx\nnavigation.tsx" --> G
    A -- "cart-popover.tsx\nlogin-popover.tsx" --> G
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    subgraph Apps["Apps (next: 16.3.0-preview.5)"]
        A[n1]
        B[herbatika]
        C[frontend-demo]
        D[payload]
    end
    subgraph Libs["Libraries"]
        E["analytics\n(peerDep: ^16.3.0-preview.5)"]
    end
    subgraph UIKit["@techsio/ui-kit"]
        F["molecules/popover\n(old — removed from imports)"]
        G["templates/popover\n(PopoverTemplate — new)"]
    end

    A -->|imports| G
    B -->|no popover| G
    C -->|imports| G
    D -->|no popover| G
    E --> Apps

    C -- "auth-dropdown.tsx\nheader.tsx\nheader-search.tsx\nnavigation.tsx" --> G
    A -- "cart-popover.tsx\nlogin-popover.tsx" --> G
Loading

Reviews (3): Last reviewed commit: "fix(next): address preview alignment rev..." | Re-trigger Greptile

Comment thread libs/analytics/package.json

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 12b888e0a6

ℹ️ 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".

Comment thread apps/herbatika/package.json

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/frontend-demo/src/components/header.tsx`:
- Line 112: The `header` component’s focus-visible outline classes include both
explicit typed outline utilities and a trailing `focus-visible:outline-ring`;
review the `className` on the mobile menu button and remove the redundant
shorthand if the typed `outline-(style:…)`, `outline-(length:…)`, and
`outline-offset-(length:…)` utilities are meant to fully define the outline,
otherwise keep it only if the color override is intentional.

In `@libs/analytics/package.json`:
- Around line 48-51: The analytics package is pinning the Next.js peer
dependency too tightly, which blocks consumers using nearby compatible releases.
Update the peerDependencies entry for next in the package.json for the analytics
library to a version range instead of the exact 16.3.0-preview.5 build, while
keeping the react and react-dom peer constraints unchanged. Use the existing
peerDependencies block as the location to adjust this policy, and if strict
single-version enforcement is still desired, handle that separately from the
published peer range.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: dd044563-aab4-4387-9030-67e75a60dcbc

📥 Commits

Reviewing files that changed from the base of the PR and between 015121b and 12b888e.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (11)
  • apps/frontend-demo/package.json
  • apps/frontend-demo/src/components/auth/auth-dropdown.tsx
  • apps/frontend-demo/src/components/header.tsx
  • apps/frontend-demo/src/components/molecules/header-search.tsx
  • apps/frontend-demo/src/components/molecules/navigation.tsx
  • apps/herbatika/package.json
  • apps/n1/package.json
  • apps/n1/src/components/header/cart-popover.tsx
  • apps/n1/src/components/header/login-popover.tsx
  • apps/payload/package.json
  • libs/analytics/package.json
📜 Review details
⏰ Context from checks skipped due to timeout. (1)
  • GitHub Check: Greptile Review
⚠️ CI failures not shown inline (5)

GitHub Actions: CI / main: chore(next): align apps on 16.3 preview

Conclusion: failure

View job details

##[group]Run pnpm install --frozen-lockfile
 �[36;1mpnpm install --frozen-lockfile�[0m
 shell: /usr/bin/bash -e {0}
 env:
   NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY: ***
   NX_NO_CLOUD: true
   PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin
 ##[endgroup]
 Scope: all 13 workspace projects
 ? Verifying lockfile against supply-chain policies (3594 entries)...
 Lockfile is up to date, resolution step is skipped
 Progress: resolved 1, reused 0, downloaded 0, added 0
 Packages: +3474
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Progress: resolved 3474, reused 0, downloaded 0, added 0
 Progress: resolved 3474, reused 0, downloaded 1, added 0
 Progress: resolved 3474, reused 3, downloaded 59, added 0
 Progress: resolved 3474, reused 3, downloaded 106, added 4
 Progress: resolved 3474, reused 3, downloaded 226, added 16
 Progress: resolved 3474, reused 3, downloaded 333, added 24
 Progress: resolved 3474, reused 3, downloaded 419, added 32
 Progress: resolved 3474, reused 3, downloaded 458, added 40
 [WARN] Request took 10782ms: https://registry.npmjs.org/@graphql-codegen%2Fvisitor-plugin-common
 Progress: resolved 3474, reused 3, downloaded 496, added 44
 Progress: resolved 3474, reused 3, downloaded 531, added 48
 Progress: resolved 3474, reused 3, downloaded 549, added 52
 Progress: resolved 3474, reused 3, downloaded 599, added 54
 Progress: resolved 3474, reused 3, downloaded 656, added 57
 [WARN] Request took 11746ms: https://registry.npmjs.org/@payloadcms%2Fui
 Progress: resolved 3474, reused 3, downloaded 764, added 64
 Progress: resolved 3474, reused 3, downloaded 845, added 72
 Progress: resolved 3474, reused 3, downloaded 890, added 76
 Progress: resolved 3474, reused 3, downloaded 917, added 80
 [WARN] Request took 12107ms: https://registry.npmjs.org/@typescript-eslint%2Fscope-manager
 Progress: resolved 3474, reused 3, downloaded 953, added 82
 Progress: resolved 3474, reused 3, downloaded 985, added 84
 [WARN] Request t...

GitHub Actions: CI / 0_main.txt: chore(next): align apps on 16.3 preview

Conclusion: failure

View job details

##[group]Run pnpm install --frozen-lockfile
 �[36;1mpnpm install --frozen-lockfile�[0m
 shell: /usr/bin/bash -e {0}
 env:
   NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY: ***
   NX_NO_CLOUD: true
   PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin
 ##[endgroup]
 Scope: all 13 workspace projects
 ? Verifying lockfile against supply-chain policies (3594 entries)...
 Lockfile is up to date, resolution step is skipped
 Progress: resolved 1, reused 0, downloaded 0, added 0
 Packages: +3474
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Progress: resolved 3474, reused 0, downloaded 0, added 0
 Progress: resolved 3474, reused 0, downloaded 1, added 0
 Progress: resolved 3474, reused 3, downloaded 59, added 0
 Progress: resolved 3474, reused 3, downloaded 106, added 4
 Progress: resolved 3474, reused 3, downloaded 226, added 16
 Progress: resolved 3474, reused 3, downloaded 333, added 24
 Progress: resolved 3474, reused 3, downloaded 419, added 32
 Progress: resolved 3474, reused 3, downloaded 458, added 40
 [WARN] Request took 10782ms: https://registry.npmjs.org/@graphql-codegen%2Fvisitor-plugin-common
 Progress: resolved 3474, reused 3, downloaded 496, added 44
 Progress: resolved 3474, reused 3, downloaded 531, added 48
 Progress: resolved 3474, reused 3, downloaded 549, added 52
 Progress: resolved 3474, reused 3, downloaded 599, added 54
 Progress: resolved 3474, reused 3, downloaded 656, added 57
 [WARN] Request took 11746ms: https://registry.npmjs.org/@payloadcms%2Fui
 Progress: resolved 3474, reused 3, downloaded 764, added 64
 Progress: resolved 3474, reused 3, downloaded 845, added 72
 Progress: resolved 3474, reused 3, downloaded 890, added 76
 Progress: resolved 3474, reused 3, downloaded 917, added 80
 [WARN] Request took 12107ms: https://registry.npmjs.org/@typescript-eslint%2Fscope-manager
 Progress: resolved 3474, reused 3, downloaded 953, added 82
 Progress: resolved 3474, reused 3, downloaded 985, added 84
 [WARN] Request t...

GitHub Actions: Storybook A11y (APCA) / 0_storybook-a11y _ storybook-a11y.txt: chore(next): align apps on 16.3 preview

Conclusion: failure

View job details

##[group]Run set -euo pipefail
 �[36;1mset -euo pipefail�[0m
 �[36;1mcmd="pnpm install --frozen-lockfile && timeout 420 pnpm -C {{workdir}} exec playwright install --only-shell chromium"�[0m
 �[36;1mcmd="${cmd//\{\{workdir\}\}/libs/ui}"�[0m
 �[36;1mecho "Running: $cmd"�[0m
 �[36;1meval "$cmd"�[0m
 shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
 env:
   WORKDIR: libs/ui
   REPORT_ROOT: libs/ui/a11y-report
   STATIC_DIR: libs/ui/storybook-static
   BASE_URL: http://127.0.0.1:6006/
   PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin
 ##[endgroup]
 Running: pnpm install --frozen-lockfile && timeout 420 pnpm -C libs/ui exec playwright install --only-shell chromium
 Scope: all 13 workspace projects
 ? Verifying lockfile against supply-chain policies (3594 entries)...
 Lockfile is up to date, resolution step is skipped
 Progress: resolved 1, reused 0, downloaded 0, added 0
 Packages: +3474
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Progress: resolved 3474, reused 0, downloaded 0, added 0
 Progress: resolved 3474, reused 0, downloaded 1, added 0
 Progress: resolved 3474, reused 3, downloaded 61, added 0
 Progress: resolved 3474, reused 3, downloaded 131, added 8
 Progress: resolved 3474, reused 3, downloaded 254, added 16
 Progress: resolved 3474, reused 3, downloaded 361, added 32
 Progress: resolved 3474, reused 3, downloaded 407, added 42
 Progress: resolved 3474, reused 3, downloaded 429, added 46
 Progress: resolved 3474, reused 3, downloaded 463, added 50
 Progress: resolved 3474, reused 3, downloaded 498, added 54
 Progress: resolved 3474, reused 3, downloaded 530, added 55
 [WARN] Request took 10292ms: https://registry.npmjs.org/@prisma%2Finstrumentation
 Progress: resolved 3474, reused 3, downloaded 603, added 62
 Progress: resolved 3474, reused 3, downloaded 737, added 72
 Progress: resolved 3474, reused 3, downloaded 825, added 82
 Progress: resolved 3474, reused 3, downloaded 895, added 88
 [WARN] Reques...

GitHub Actions: Storybook A11y (APCA) / storybook-a11y _ storybook-a11y: chore(next): align apps on 16.3 preview

Conclusion: failure

View job details

##[group]Run set -euo pipefail
 �[36;1mset -euo pipefail�[0m
 �[36;1mcmd="pnpm install --frozen-lockfile && timeout 420 pnpm -C {{workdir}} exec playwright install --only-shell chromium"�[0m
 �[36;1mcmd="${cmd//\{\{workdir\}\}/libs/ui}"�[0m
 �[36;1mecho "Running: $cmd"�[0m
 �[36;1meval "$cmd"�[0m
 shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
 env:
   WORKDIR: libs/ui
   REPORT_ROOT: libs/ui/a11y-report
   STATIC_DIR: libs/ui/storybook-static
   BASE_URL: http://127.0.0.1:6006/
   PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin
 ##[endgroup]
 Running: pnpm install --frozen-lockfile && timeout 420 pnpm -C libs/ui exec playwright install --only-shell chromium
 Scope: all 13 workspace projects
 ? Verifying lockfile against supply-chain policies (3594 entries)...
 Lockfile is up to date, resolution step is skipped
 Progress: resolved 1, reused 0, downloaded 0, added 0
 Packages: +3474
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Progress: resolved 3474, reused 0, downloaded 0, added 0
 Progress: resolved 3474, reused 0, downloaded 1, added 0
 Progress: resolved 3474, reused 3, downloaded 61, added 0
 Progress: resolved 3474, reused 3, downloaded 131, added 8
 Progress: resolved 3474, reused 3, downloaded 254, added 16
 Progress: resolved 3474, reused 3, downloaded 361, added 32
 Progress: resolved 3474, reused 3, downloaded 407, added 42
 Progress: resolved 3474, reused 3, downloaded 429, added 46
 Progress: resolved 3474, reused 3, downloaded 463, added 50
 Progress: resolved 3474, reused 3, downloaded 498, added 54
 Progress: resolved 3474, reused 3, downloaded 530, added 55
 [WARN] Request took 10292ms: https://registry.npmjs.org/@prisma%2Finstrumentation
 Progress: resolved 3474, reused 3, downloaded 603, added 62
 Progress: resolved 3474, reused 3, downloaded 737, added 72
 Progress: resolved 3474, reused 3, downloaded 825, added 82
 Progress: resolved 3474, reused 3, downloaded 895, added 88
 [WARN] Reques...

Commit Status: Vercel: Vercel

Conclusion: failure

Deployment has failed — run this Vercel CLI command: npx vercel inspect dpl_72YNoFPS3ysg33vCc5MxdvWeSkPW --logs
🧰 Additional context used
📓 Path-based instructions (11)
**/package.json

📄 CodeRabbit inference engine (CLAUDE.md)

Use pnpm CLI to add dependencies; never edit package.json directly

Files:

  • apps/n1/package.json
  • apps/herbatika/package.json
  • apps/payload/package.json
  • apps/frontend-demo/package.json
  • libs/analytics/package.json
apps/n1/**/package.json

📄 CodeRabbit inference engine (apps/n1/CLAUDE.md)

Do NOT manually edit package.json - use pnpm add <pkg> or pnpm add -D <pkg> commands instead

Files:

  • apps/n1/package.json
apps/herbatika/**

📄 CodeRabbit inference engine (AGENTS.md)

apps/herbatika/**: Read apps/herbatika/AGENTS.md before editing Herbatika app and follow its specific configuration which overrides root assumptions
Herbatika app runs on http://localhost:3001 and routes work through libs/ui/skills and libs/storefront-data/skills workflows

Files:

  • apps/herbatika/package.json
apps/n1/**/*.{js,jsx,ts,tsx}

📄 CodeRabbit inference engine (apps/n1/CLAUDE.md)

apps/n1/**/*.{js,jsx,ts,tsx}: Use spacing tokens 50-950 (e.g., p-400, gap-600, m-200) in Tailwind classes - NEVER use small/medium/large tokens (sm, md, lg)
Use semantic color tokens (primary, secondary, success, warning, danger, info, fg-primary, fg-secondary, bg-surface, border-primary, etc.) - NEVER use arbitrary color names like bg-gray-100 or text-blue-500
Do NOT use arbitrary Tailwind values like p-[20px] or bg-[#fff] - use predefined spacing and color tokens only
Use ref as a prop pattern in React 19 components instead of forwardRef
Do NOT use useCallback hook (React 19 has automatic memoization via the React Compiler)
Import UI components from @libs/ui with the appropriate directory path: @libs/ui/atoms/<component> for atoms, @libs/ui/molecules/<component> for molecules
Import hooks with the use- naming convention from @/hooks/<hook-name> directory (e.g., useCart, useAuth, useOrders)
Import services from @/services/<service-name> directory following the <noun>-service naming pattern (e.g., product-service)

Files:

  • apps/n1/src/components/header/cart-popover.tsx
  • apps/n1/src/components/header/login-popover.tsx
apps/n1/**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (apps/n1/AGENTS.md)

No barrel files or re-export-only index.ts files. Import from source files directly (e.g., import { formatDate } from '@/utils/date/format-date'). This improves traceability, reduces circular dependency risk, and supports Nx module boundary enforcement.

Files:

  • apps/n1/src/components/header/cart-popover.tsx
  • apps/n1/src/components/header/login-popover.tsx
apps/**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

Import UI components using the @techsio/ui-kit namespace, not @libs/ui, for runtime apps

Files:

  • apps/n1/src/components/header/cart-popover.tsx
  • apps/frontend-demo/src/components/molecules/header-search.tsx
  • apps/n1/src/components/header/login-popover.tsx
  • apps/frontend-demo/src/components/auth/auth-dropdown.tsx
  • apps/frontend-demo/src/components/molecules/navigation.tsx
  • apps/frontend-demo/src/components/header.tsx
**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (AGENTS.md)

Run Biome linting and formatting only on changed files using 'bunx biome check --write path/to/file'

Files:

  • apps/n1/src/components/header/cart-popover.tsx
  • apps/frontend-demo/src/components/molecules/header-search.tsx
  • apps/n1/src/components/header/login-popover.tsx
  • apps/frontend-demo/src/components/auth/auth-dropdown.tsx
  • apps/frontend-demo/src/components/molecules/navigation.tsx
  • apps/frontend-demo/src/components/header.tsx
apps/**/!(medusa-be)/**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

Use modern React patterns and React 19 for frontend applications in the monorepo

Files:

  • apps/n1/src/components/header/cart-popover.tsx
  • apps/frontend-demo/src/components/molecules/header-search.tsx
  • apps/n1/src/components/header/login-popover.tsx
  • apps/frontend-demo/src/components/auth/auth-dropdown.tsx
  • apps/frontend-demo/src/components/molecules/navigation.tsx
  • apps/frontend-demo/src/components/header.tsx
apps/frontend-demo/src/components/@(atoms|molecules|organisms)/*.tsx

📄 CodeRabbit inference engine (apps/frontend-demo/CLAUDE.md)

apps/frontend-demo/src/components/@(atoms|molecules|organisms)/*.tsx: Place app-specific components in apps/frontend-demo/src/components/[atoms|molecules|organisms]/component-name.tsx
In each component TSX file, import its token CSS (e.g., import './_component-name.css')
Define component props with TypeScript interfaces
Use functional components and hooks for implementation
Use tv() with slots for component styles; only add variants/sizes when necessary
Use Tailwind classes mapped to tokens (e.g., bg-button-bg, p-button-sm); never use arbitrary CSS variable values like bg-[var(--...)] or p-[var(--...)]
Do not hardcode colors or spacing in JSX/TSX; use design tokens and/or tv()

Files:

  • apps/frontend-demo/src/components/molecules/header-search.tsx
  • apps/frontend-demo/src/components/molecules/navigation.tsx
apps/payload/**/package.json

📄 CodeRabbit inference engine (apps/payload/.cursor/rules/components.md)

Pin all @payloadcms/* packages to the exact same version to avoid dependency version mismatch errors with hooks like useConfig

Files:

  • apps/payload/package.json
libs/**

📄 CodeRabbit inference engine (AGENTS.md)

Use RSLib for building libraries in the monorepo

Files:

  • libs/analytics/package.json
🧠 Learnings (7)
📚 Learning: 2026-02-05T14:43:17.404Z
Learnt from: KaiUweCZE
Repo: NMIT-WR/new-engine PR: 324
File: apps/medusa-be/package.json:0-0
Timestamp: 2026-02-05T14:43:17.404Z
Learning: Validate and enforce React 19 compatibility across monorepo workspaces. Since Medusa UI supports React 19 via root package.json overrides and Medusa Cloud prerequisites show React 19 overrides for npm workspaces, ensure workspace root and all relevant package.json files align with React 19 (18+ requirement is satisfied). When reviewing, verify that overrides exist in the root package.json and that dependent packages in apps or packages directories declare React 19 (or compatible) in their peerDependencies or dependencies as appropriate for workspace usage.

Applied to files:

  • apps/n1/package.json
  • apps/herbatika/package.json
  • apps/payload/package.json
  • apps/frontend-demo/package.json
  • libs/analytics/package.json
📚 Learning: 2026-05-07T19:05:58.339Z
Learnt from: redeyecz
Repo: TechsioCZ/new-engine PR: 390
File: apps/medusa-be/package.json:78-81
Timestamp: 2026-05-07T19:05:58.339Z
Learning: When reviewing changes to `package.json`, do not automatically flag dependency additions/removals as "manually edited" or as "bypassing the pnpm lockfile" just because the `package.json` diff shows only that file changed. First verify whether `pnpm-lock.yaml` is missing the corresponding entries. Since `pnpm add` updates both `package.json` and `pnpm-lock.yaml` together, legitimate changes can appear in the `package.json` diff while still being properly tracked in the lockfile.

Applied to files:

  • apps/n1/package.json
  • apps/herbatika/package.json
  • apps/payload/package.json
  • apps/frontend-demo/package.json
  • libs/analytics/package.json
📚 Learning: 2026-05-20T15:58:53.048Z
Learnt from: redeyecz
Repo: TechsioCZ/new-engine PR: 413
File: apps/medusa-be/package.json:77-80
Timestamp: 2026-05-20T15:58:53.048Z
Learning: When reviewing monorepo `package.json` files, treat any dependencies/devDependencies using the `paykit-sdk/*` scope (e.g., `paykit-sdk/core`, `paykit-sdk/stripe`, `paykit-sdk/comgate`, `paykit-sdk/gopay`) as coming from the TechsioCZ/new-engine private npm registry. Do not flag dependency version constraints (e.g., `^1.2.0`) as invalid merely because those packages/versions are not found on the public npm registry. Public-web/private-web availability checks against the public npm API are not applicable for these packages; if validation is needed, rely on the private registry/CI install behavior instead.

Applied to files:

  • apps/n1/package.json
  • apps/herbatika/package.json
  • apps/payload/package.json
  • apps/frontend-demo/package.json
📚 Learning: 2025-12-16T19:45:17.746Z
Learnt from: BleedingDev
Repo: NMIT-WR/new-engine PR: 207
File: libs/ui/src/molecules/select.tsx:50-50
Timestamp: 2025-12-16T19:45:17.746Z
Learning: When reviewing Tailwind classes in TSX/TS files, prefer using square brackets for arbitrary CSS values and complex expressions. Specifically: - Do not use the parentheses syntax (z-(--z-index)) for anything beyond simple CSS variable references; this syntax auto-wraps in var() and cannot handle calc or complex functions. - Use the square brackets syntax (e.g., h-[calc(var(--available-height)-var(--spacing-content))]) for calc expressions, var with calc, and any complex CSS expressions. This rule applies broadly to Tailwind v4 usage in TSX code across the project.

Applied to files:

  • apps/n1/src/components/header/cart-popover.tsx
  • apps/frontend-demo/src/components/molecules/header-search.tsx
  • apps/n1/src/components/header/login-popover.tsx
  • apps/frontend-demo/src/components/auth/auth-dropdown.tsx
  • apps/frontend-demo/src/components/molecules/navigation.tsx
  • apps/frontend-demo/src/components/header.tsx
📚 Learning: 2026-03-20T08:17:59.136Z
Learnt from: KaiUweCZE
Repo: TechsioCZ/new-engine PR: 353
File: apps/n1/src/hooks/use-prefetch-category-children.ts:24-25
Timestamp: 2026-03-20T08:17:59.136Z
Learning: In TechsioCZ/new-engine’s Next.js app under apps/n1, the app-level Suspense boundary is already provided by the root layout via the Providers component (apps/n1/src/components/provider.tsx). Therefore, hooks that use useSuspenseQuery (and functions/hooks called within the app tree, e.g., hooks like useSuspenseCategoryRegistry) are already covered for correctness and should not require additional local Suspense boundaries at the page/layout level. Adding additional Suspense boundaries is only an optional UX decision for more granular fallback UI, not something required to make the Suspense-enabled queries work.

Applied to files:

  • apps/n1/src/components/header/cart-popover.tsx
  • apps/n1/src/components/header/login-popover.tsx
📚 Learning: 2026-04-16T08:11:11.954Z
Learnt from: KaiUweCZE
Repo: TechsioCZ/new-engine PR: 352
File: apps/n1/src/app/pokladna/_components/checkout-review.tsx:4-5
Timestamp: 2026-04-16T08:11:11.954Z
Learning: In `apps/n1`, UI components must be imported using the real `techsio/ui-kit` package entrypoints: `techsio/ui-kit/atoms/<component>` and `techsio/ui-kit/molecules/<component>`. Do not flag `techsio/ui-kit/*` imports as incorrect in `apps/n1`—they are the mandated import pattern. (Legacy aliases like `ui/atoms/*` and `ui/molecules/*` are removed for `apps/n1` via its `tsconfig.json`.)

Applied to files:

  • apps/n1/src/components/header/cart-popover.tsx
  • apps/n1/src/components/header/login-popover.tsx
📚 Learning: 2026-02-10T15:19:38.125Z
Learnt from: KaiUweCZE
Repo: NMIT-WR/new-engine PR: 328
File: apps/frontend-demo/src/components/molecules/header-search.tsx:75-99
Timestamp: 2026-02-10T15:19:38.125Z
Learning: In apps/frontend-demo/src/components/molecules/header-search.tsx, the dataset invariant is that every product has a handle property. The current fallback in handleSelect calls handleSearch(selected) when a product exists but lacks a handle, and this is acceptable only if that invariant always holds. Actionable guidance: 1) Document the invariant and rely on it in code reviews. 2) Add a defensive guard or a test to verify no product arrives without a handle. For future-proofing, consider guarding the fallback (e.g., if (product?.handle) { handleSearch(product) } else { log/throw or skip }) and ensure a log message when the invariant is violated.

Applied to files:

  • apps/frontend-demo/src/components/molecules/header-search.tsx
  • apps/frontend-demo/src/components/auth/auth-dropdown.tsx
  • apps/frontend-demo/src/components/molecules/navigation.tsx
  • apps/frontend-demo/src/components/header.tsx
🔇 Additional comments (10)
apps/frontend-demo/package.json (1)

27-27: LGTM!

apps/herbatika/package.json (1)

33-33: LGTM!

apps/n1/package.json (1)

32-32: LGTM!

apps/payload/package.json (1)

36-36: LGTM!

Also applies to: 54-54

apps/frontend-demo/src/components/auth/auth-dropdown.tsx (1)

6-6: LGTM!

apps/frontend-demo/src/components/header.tsx (1)

5-5: LGTM!

apps/frontend-demo/src/components/molecules/header-search.tsx (1)

4-4: LGTM!

apps/frontend-demo/src/components/molecules/navigation.tsx (1)

3-3: LGTM!

apps/n1/src/components/header/cart-popover.tsx (1)

4-4: LGTM!

apps/n1/src/components/header/login-popover.tsx (1)

3-3: LGTM!

Comment thread apps/frontend-demo/src/components/header.tsx Outdated
Comment thread libs/analytics/package.json
@github-actions

Copy link
Copy Markdown

Storybook A11y Report

⚠️ Non-blocking mode: violations will NOT fail CI (A11Y_REPORT_FAIL_ON_VIOLATIONS=false).

Light

No a11y report JSON found for light. Storybook test-runner likely failed before reporting.

Dark

No a11y report JSON found for dark. Storybook test-runner likely failed before reporting.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ef85eb9fa7

ℹ️ 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".

Comment thread apps/herbatika/package.json
@BleedingDev
BleedingDev merged commit cbe985f into master Jun 30, 2026
8 of 9 checks passed
@BleedingDev
BleedingDev deleted the chore/next-16-3-app-alignment branch June 30, 2026 16:16
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 0.19.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

This branch was successfully deployed

1 active deployment
Preview — ef85eb9f Deployed Jun 30, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore(next): align all Next apps on Next.js 16.3

1 participant