KK-1543 React 19#404
Conversation
|
Warning Review limit reached
Next review available in: 55 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. 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: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (68)
📝 WalkthroughWalkthroughThis PR upgrades Node.js to 24, React to 19, MUI to v6, react-admin, and TanStack Query, migrating components off ChangesPlatform and application upgrade
Estimated code review effort: 4 (Complex) | ~75 minutes Playwright E2E migration
Estimated code review effort: 4 (Complex) | ~60 minutes Sequence Diagram(s)sequenceDiagram
participant Spec as Test spec
participant SetupAuth as setupAuth
participant OidcMock as installOidcMock
participant SeedStorage as buildStorageSeed
participant Page as Playwright Page
Spec->>SetupAuth: setupAuth(page, user)
SetupAuth->>OidcMock: installOidcMock(page, user)
OidcMock->>Page: route OIDC authority requests
SetupAuth->>SeedStorage: buildStorageSeed(user)
SeedStorage-->>SetupAuth: localStorage/sessionStorage data
SetupAuth->>Page: addInitScript(seed storage)
Spec->>Page: page.goto(route)
Related labels: dependencies, tests, ci, documentation Suggested reviewers: none identified from provided data Poem: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
Refs: KK-1543
a386397 to
1c6fc5e
Compare
|
KUKKUU-ADMIN branch is deployed to platta: https://kukkuu-admin-pr404.dev.hel.ninja 🚀🚀🚀 |
TestCafe result is failed for https://kukkuu-admin-pr404.dev.hel.ninja 😿💢💥💥 |
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
KUKKUU-ADMIN branch is deployed to platta: https://kukkuu-admin-pr404.dev.hel.ninja 🚀🚀🚀 |
TestCafe result is failed for https://kukkuu-admin-pr404.dev.hel.ninja 😿💢💥💥 |
There was a problem hiding this comment.
Actionable comments posted: 7
🧹 Nitpick comments (3)
src/domain/application/layout/kukkuuCreatePage/KukkuuCreateToolbar.tsx (1)
31-34: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueHardcoded
sxafter spread drops any caller-suppliedsx.Since
KukkuuCreateToolbarPropsextendsReact.ComponentProps<typeof Toolbar>, a caller can passsxviadelegatedProps. Placing the literalsxafter{...delegatedProps}silently overrides it. Consider merging instead.♻️ Merge caller sx
<Toolbar {...delegatedProps} - sx={{ display: 'flex', justifyContent: 'space-between' }} + sx={[ + { display: 'flex', justifyContent: 'space-between' }, + ...(Array.isArray(delegatedProps.sx) + ? delegatedProps.sx + : [delegatedProps.sx]), + ]} >🤖 Prompt for 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. In `@src/domain/application/layout/kukkuuCreatePage/KukkuuCreateToolbar.tsx` around lines 31 - 34, The Toolbar in KukkuuCreateToolbar currently hardcodes sx after spreading delegatedProps, which overrides any caller-provided sx from React.ComponentProps<typeof Toolbar>. Update the KukkuuCreateToolbar component to merge the incoming delegatedProps.sx with the local flex/spacing styles instead of replacing it, so both the caller’s styling and the toolbar layout styles are preserved.src/domain/application/layout/kukkuuListPage/KukkuuListPage.tsx (1)
27-32: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win
as anycast plus trailingsxoverrides typed/caller props.Two concerns on this spread:
reactAdminProps as anydisables type checking even though it's already typedOmit<ListProps, 'children'>; spread it directly to retain validation.ListPropsincludessx, so a caller-suppliedsxinreactAdminPropsis silently dropped by the literalsxplaced after the spread. Merge if callers may style the list.🤖 Prompt for 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. In `@src/domain/application/layout/kukkuuListPage/KukkuuListPage.tsx` around lines 27 - 32, The spread in KukkuuListPage is bypassing type safety and overriding caller styling: remove the unnecessary reactAdminProps as any cast and pass reactAdminProps directly so ListProps validation stays intact, then update the List component props to merge any incoming sx from reactAdminProps with the local toolbar margin override instead of replacing it. Use the KukkuuListPage component and its ListProps/reactAdminProps wiring to locate the change.Dockerfile (1)
2-2: 📐 Maintainability & Code Quality | 🔵 TrivialPin
ubi9/nodejs-24if reproducible builds matter. The image is published, butFROM registry.access.redhat.com/ubi9/nodejs-24still floats to newer patches over time; use a digest or fully qualified tag to lock the build.🤖 Prompt for 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. In `@Dockerfile` at line 2, The base image in the Dockerfile is floating, so update the FROM instruction using the existing appbase stage to reference a pinned digest or fully qualified immutable tag instead of the moving ubi9/nodejs-24 reference. This keeps the build reproducible while preserving the same registry.access.redhat.com/ubi9/nodejs-24 image family.
🤖 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 `@pipelines/kukkuu-admin-review.yml`:
- Line 44: The pipeline resource is pinned to a temporary feature branch, which
will become unavailable once that branch is removed. Update the ref in the
kukkuu-admin-review pipeline to use a stable branch, tag, or commit SHA, and
keep the change aligned with the pipeline resource configuration around the ref
setting.
In `@src/domain/application/layout/kukkuuDetailPage/KukkuuDetailPage.tsx`:
- Around line 48-51: The KukkuuDetailPage component is unnecessarily using omit
and an any cast when passing reactAdminProps into KukkuuShow. Update
KukkuuDetailPage to spread reactAdminProps directly into KukkuuShow, and remove
the eslint disable plus the cast since reactAdminProps already excludes hasShow
and should remain type-checked.
In `@src/domain/messages/create/MessagesCreate.tsx`:
- Line 2: MessagesCreate.tsx imports useLocation from react-router-dom directly,
but the package is not declared as a direct dependency. Add react-router-dom to
package.json so MessagesCreate can resolve it explicitly rather than relying on
transitive dependencies, and verify the import remains valid in
MessagesCreate.tsx.
In `@src/domain/messages/form/MessageForm.tsx`:
- Around line 181-182: The SelectInput usage in MessageForm is passing a
redundant initialValue alongside defaultValue, but react-admin v5 only honors
defaultValue. Remove the initialValue prop from the SelectInput configuration in
MessageForm and keep the existing defaultValue based on record?.event?.id ||
'all' so the component is configured through the supported prop only.
In `@src/domain/occurrences/inputs.tsx`:
- Around line 30-47: Restore the event initialization logic in the occurrences
input component so the `event` state is populated for the capacity helper text.
Re-enable the `useEffect` in `OccurrenceCapacityOverrideInput` to first use
`props.record?.event` and otherwise fetch the event via
`dataProvider.getOne('events', ...)`, so `capacityPerOccurrence` can resolve
correctly instead of showing `'---'`.
In `@src/domain/profile/__tests__/ProfileProjectDropdown.test.jsx`:
- Around line 49-57: The `ProfileProjectDropdown` tests are using `useQuery`
with `mockReturnValueOnce`, which can break on re-render when the queued value
is exhausted. Update the affected tests to use
`vi.mocked(useQuery).mockReturnValue(...)` like the other cases in
`ProfileProjectDropdown.test.jsx`, so repeated calls from `getWrapper`,
`AdminContext`, or `waitFor` still receive a valid query object and the
component does not fail on destructuring.
In `@src/index.tsx`:
- Around line 35-54: The root error handlers in createRoot are intercepting
React render errors without forwarding them to Sentry. Update both onCaughtError
and onUncaughtError in index.tsx to call Sentry.captureException(error) while
keeping the existing console output, or replace these callbacks with
Sentry.reactErrorHandler if using `@sentry/react`. Use the createRoot setup and
the two callback names as the places to update.
---
Nitpick comments:
In `@Dockerfile`:
- Line 2: The base image in the Dockerfile is floating, so update the FROM
instruction using the existing appbase stage to reference a pinned digest or
fully qualified immutable tag instead of the moving ubi9/nodejs-24 reference.
This keeps the build reproducible while preserving the same
registry.access.redhat.com/ubi9/nodejs-24 image family.
In `@src/domain/application/layout/kukkuuCreatePage/KukkuuCreateToolbar.tsx`:
- Around line 31-34: The Toolbar in KukkuuCreateToolbar currently hardcodes sx
after spreading delegatedProps, which overrides any caller-provided sx from
React.ComponentProps<typeof Toolbar>. Update the KukkuuCreateToolbar component
to merge the incoming delegatedProps.sx with the local flex/spacing styles
instead of replacing it, so both the caller’s styling and the toolbar layout
styles are preserved.
In `@src/domain/application/layout/kukkuuListPage/KukkuuListPage.tsx`:
- Around line 27-32: The spread in KukkuuListPage is bypassing type safety and
overriding caller styling: remove the unnecessary reactAdminProps as any cast
and pass reactAdminProps directly so ListProps validation stays intact, then
update the List component props to merge any incoming sx from reactAdminProps
with the local toolbar margin override instead of replacing it. Use the
KukkuuListPage component and its ListProps/reactAdminProps wiring to locate the
change.
🪄 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: defaults
Review profile: CHILL
Plan: Pro
Run ID: 3cf4e44a-ae77-48fa-8a2c-d70956a92050
⛔ Files ignored due to path filters (2)
src/common/components/viewTitle/__tests__/__snapshots__/ViewTitle.test.jsx.snapis excluded by!**/*.snapyarn.lockis excluded by!**/yarn.lock,!**/*.lock
📒 Files selected for processing (124)
.eslintrc.cjs.github/workflows/ci.yml.nvmrcCHANGELOG.mdDockerfileREADME.mddocs/setup-keycloak.mddocs/setup-local-kukkuu-api.mddocs/setup-tunnistamo.mdpackage.jsonpipelines/kukkuu-admin-review.ymlsrc/common/components/appBar/KukkuuAppBar.tsxsrc/common/components/appTitle/AppTitle.tsxsrc/common/components/appTitle/__tests__/AppTitle.tests.jsxsrc/common/components/aside/Aside.tsxsrc/common/components/aside/__tests__/Aside.test.jsxsrc/common/components/breadcrumbs/Breadcrumbs.tsxsrc/common/components/breadcrumbs/__tests__/Breadcrumbs.test.jsxsrc/common/components/confirmMutationButton/ConfirmMutationButton.tsxsrc/common/components/confirmMutationButton/__tests__/ConfirmMutationButton.test.jsxsrc/common/components/dateTimeTextField/DateTimeTextField.tsxsrc/common/components/dateTimeTextField/__tests__/DateTimeTextField.test.jsxsrc/common/components/imageField/ImageUploadField.tsxsrc/common/components/imageField/__tests__/ImageUploadField.test.jsxsrc/common/components/isTestEnvironmentLabel/IsTestEnvironmentLabel.tsxsrc/common/components/localDataGrid/LocalDataGrid.tsxsrc/common/components/localDataGrid/__tests__/LocalDataGrid.test.jsxsrc/common/components/longTextField/LongTextField.tsxsrc/common/components/publishedField/PublishedField.tsxsrc/common/components/publishedField/__tests__/PublishedField.test.jsxsrc/common/components/sanitizedGrid/SanitizedGrid.tsxsrc/common/components/viewTitle/ViewTitle.tsxsrc/common/components/viewTitle/__tests__/ViewTitle.test.jsxsrc/common/materialUI/themeConfig.tssrc/domain/application/App.tsxsrc/domain/application/__tests__/App.test.tsxsrc/domain/application/layout/kukkuuAppLayout/KukkuuAppLayout.tsxsrc/domain/application/layout/kukkuuCardPageLayout/KukkuuCardPageLayout.tsxsrc/domain/application/layout/kukkuuCreatePage/KukkuuCreatePage.tsxsrc/domain/application/layout/kukkuuCreatePage/KukkuuCreateToolbar.tsxsrc/domain/application/layout/kukkuuDetailPage/KukkuuDetailPage.tsxsrc/domain/application/layout/kukkuuDetailPage/KukkuuShow.tsxsrc/domain/application/layout/kukkuuEditPage/KukkuuEdit.tsxsrc/domain/application/layout/kukkuuListPage/KukkuuList.tsxsrc/domain/application/layout/kukkuuListPage/KukkuuListPage.tsxsrc/domain/application/layout/kukkuuPageLayout/KukkuuPageLayout.tsxsrc/domain/application/layout/kukkuuPageTitle/KukkuuPageTitle.tsxsrc/domain/authentication/InfoPageTemplate.tsxsrc/domain/authentication/LoginPage.tsxsrc/domain/authentication/UnauthorizedPage.tsxsrc/domain/authentication/__tests__/AuthErrorPage.test.jsxsrc/domain/authentication/__tests__/LoginPage.test.jsxsrc/domain/authentication/__tests__/UnauthorizedPage.test.jsxsrc/domain/authentication/__tests__/idleProvider.test.jsxsrc/domain/children/ChildList.tsxsrc/domain/children/ChildShow.tsxsrc/domain/dashboard/Dashboard.tsxsrc/domain/dashboard/__tests__/Dashboard.test.jsxsrc/domain/eventGroups/create/EventGroupsCreate.tsxsrc/domain/eventGroups/detail/EventGroupsDetail.tsxsrc/domain/eventGroups/detail/EventGroupsDetailActions.tsxsrc/domain/eventGroups/detail/EventReadyField.tsxsrc/domain/eventGroups/detail/PublishEventGroupButton.tsxsrc/domain/eventGroups/detail/__tests__/EventGroupsDetailActions.test.jsxsrc/domain/eventGroups/detail/__tests__/EventReadyField.test.jsxsrc/domain/eventGroups/edit/EventGroupsEdit.tsxsrc/domain/eventGroups/form/EventGroupForm.tsxsrc/domain/eventGroups/hooks/usePublishEventGroupMutation.tsxsrc/domain/events/create/EventCreate.tsxsrc/domain/events/detail/EventPublishButton.tsxsrc/domain/events/detail/EventReadyToggle.tsxsrc/domain/events/detail/EventShow.tsxsrc/domain/events/detail/EventShowActions.tsxsrc/domain/events/detail/__tests__/EventReadyToggle.test.jsxsrc/domain/events/detail/__tests__/EventShowActions.test.jsxsrc/domain/events/edit/EventEdit.tsxsrc/domain/events/edit/EventEditToolbar.tsxsrc/domain/events/eventForm/EventForm.tsxsrc/domain/events/eventSelect/EventSelect.tsxsrc/domain/events/fields.tsxsrc/domain/events/hooks/usePublishEventMutation.tsxsrc/domain/events/hooks/useSetReadyMutation.tsxsrc/domain/events/ticketSystemInput/TicketSystemInput.tsxsrc/domain/eventsAndEventGroups/list/Empty.tsxsrc/domain/eventsAndEventGroups/list/EventsAndEventGroupsList.tsxsrc/domain/eventsAndEventGroups/list/ManagementButtonGroup.tsxsrc/domain/eventsAndEventGroups/list/__tests__/ManagementButtonGroup.test.jsxsrc/domain/messages/create/MessagesCreate.tsxsrc/domain/messages/detail/MessageDetailsToolbar.tsxsrc/domain/messages/detail/MessageSendButton.tsxsrc/domain/messages/detail/MessagesDetail.tsxsrc/domain/messages/edit/MessagesEdit.tsxsrc/domain/messages/fields/MessageRecipientCountField.tsxsrc/domain/messages/form/MessageForm.tsxsrc/domain/messages/form/__tests__/MessageForm.test.jsxsrc/domain/messages/hooks/useMessageSendMutation.tsxsrc/domain/messages/list/Empty.tsxsrc/domain/messages/list/MessageListToolbar.tsxsrc/domain/messages/list/MessagesManagementButtonGroup.tsxsrc/domain/occurrences/OccurrenceArraySelect.tsxsrc/domain/occurrences/OccurrenceCreate.tsxsrc/domain/occurrences/OccurrenceEdit.tsxsrc/domain/occurrences/OccurrenceShow.tsxsrc/domain/occurrences/__tests__/OccurrenceArraySelect.test.jsxsrc/domain/occurrences/__tests__/inputs.test.jsxsrc/domain/occurrences/fields/OccurrenceAttendedField.tsxsrc/domain/occurrences/fields/OccurrenceTimeRangeField.tsxsrc/domain/occurrences/fields/__tests__/OccurrenceAttendedField.test.jsxsrc/domain/occurrences/fields/__tests__/OccurrenceTimeRangeField.test.jsxsrc/domain/occurrences/inputs.tsxsrc/domain/profile/ProfileProjectDropdown.tsxsrc/domain/profile/__tests__/ProfileProjectDropdown.test.jsxsrc/domain/ticketSystemPassword/ImportTicketSystemPasswordsFormDialog.tsxsrc/domain/ticketValidation/OccurrenceCard.tsxsrc/domain/ticketValidation/TicketValidationPage.tsxsrc/domain/ticketValidation/__tests__/TicketValidationPage.test.jsxsrc/domain/venues/VenueCreate.tsxsrc/domain/venues/VenueEdit.tsxsrc/domain/venues/VenueEditToolbar.tsxsrc/domain/venues/VenueForm.tsxsrc/domain/venues/VenueList.tsxsrc/domain/venues/VenueShow.tsxsrc/index.tsxvite.config.ts
💤 Files with no reviewable changes (51)
- src/common/components/appTitle/AppTitle.tsx
- src/domain/eventsAndEventGroups/list/tests/ManagementButtonGroup.test.jsx
- src/domain/children/ChildList.tsx
- src/domain/events/detail/tests/EventReadyToggle.test.jsx
- src/domain/events/ticketSystemInput/TicketSystemInput.tsx
- src/domain/eventsAndEventGroups/list/Empty.tsx
- src/common/components/publishedField/tests/PublishedField.test.jsx
- src/domain/occurrences/OccurrenceCreate.tsx
- src/common/components/localDataGrid/tests/LocalDataGrid.test.jsx
- src/domain/events/fields.tsx
- src/domain/eventGroups/create/EventGroupsCreate.tsx
- src/domain/eventGroups/form/EventGroupForm.tsx
- src/common/components/dateTimeTextField/tests/DateTimeTextField.test.jsx
- src/domain/events/edit/EventEdit.tsx
- src/common/components/viewTitle/tests/ViewTitle.test.jsx
- src/domain/venues/VenueList.tsx
- src/common/components/publishedField/PublishedField.tsx
- src/domain/venues/VenueForm.tsx
- src/domain/messages/list/Empty.tsx
- src/domain/ticketValidation/tests/TicketValidationPage.test.jsx
- src/domain/venues/VenueEdit.tsx
- src/domain/application/layout/kukkuuCardPageLayout/KukkuuCardPageLayout.tsx
- src/common/components/aside/Aside.tsx
- src/domain/venues/VenueShow.tsx
- src/domain/application/tests/App.test.tsx
- src/domain/application/layout/kukkuuAppLayout/KukkuuAppLayout.tsx
- src/domain/authentication/tests/AuthErrorPage.test.jsx
- src/domain/authentication/tests/idleProvider.test.jsx
- src/common/components/isTestEnvironmentLabel/IsTestEnvironmentLabel.tsx
- src/domain/events/eventSelect/EventSelect.tsx
- src/domain/occurrences/fields/OccurrenceTimeRangeField.tsx
- src/common/components/aside/tests/Aside.test.jsx
- src/domain/messages/edit/MessagesEdit.tsx
- src/domain/occurrences/fields/tests/OccurrenceTimeRangeField.test.jsx
- src/domain/messages/list/MessagesManagementButtonGroup.tsx
- src/common/components/sanitizedGrid/SanitizedGrid.tsx
- src/domain/authentication/UnauthorizedPage.tsx
- src/domain/venues/VenueCreate.tsx
- src/domain/application/layout/kukkuuCreatePage/KukkuuCreatePage.tsx
- src/domain/children/ChildShow.tsx
- src/common/components/viewTitle/ViewTitle.tsx
- src/domain/eventGroups/detail/tests/EventReadyField.test.jsx
- src/domain/events/eventForm/EventForm.tsx
- src/common/components/appTitle/tests/AppTitle.tests.jsx
- src/domain/eventsAndEventGroups/list/ManagementButtonGroup.tsx
- src/domain/eventGroups/edit/EventGroupsEdit.tsx
- src/domain/messages/form/tests/MessageForm.test.jsx
- src/domain/events/create/EventCreate.tsx
- src/common/components/imageField/tests/ImageUploadField.test.jsx
- src/domain/authentication/tests/LoginPage.test.jsx
- vite.config.ts
|
KUKKUU-ADMIN branch is deployed to platta: https://kukkuu-admin-pr404.dev.hel.ninja 🚀🚀🚀 |
TestCafe result is failed for https://kukkuu-admin-pr404.dev.hel.ninja 😿💢💥💥 |
|
KUKKUU-ADMIN branch is deployed to platta: https://kukkuu-admin-pr404.dev.hel.ninja 🚀🚀🚀 |
TestCafe result is failed for https://kukkuu-admin-pr404.dev.hel.ninja 😿💢💥💥 |
1 similar comment
TestCafe result is failed for https://kukkuu-admin-pr404.dev.hel.ninja 😿💢💥💥 |
|
KUKKUU-ADMIN branch is deployed to platta: https://kukkuu-admin-pr404.dev.hel.ninja 🚀🚀🚀 |
TestCafe result is failed for https://kukkuu-admin-pr404.dev.hel.ninja 😿💢💥💥 |
TestCafe result is success for https://kukkuu-admin-pr404.dev.hel.ninja 😆🎉🎉🎉 |
ci: e2e jwt fix Refs: KK-1543 ci: vitest exclude e2e Refs: KK-1543 ci: eventGroups selector fix Refs: KK-1543 ci: convert eventGroupsFeature tests Refs: KK-1543 ci: eventFeature tests Refs: KK-1543 ci: breadcrumFeature tests Refs: KK-1543 ci: messageFeature tests Refs: KK-1543 ci: unauthorized page tests Refs: KK-1543 ci: remove testcafe Refs: KK-1543 ci: playwright settings Refs: KK-1543
b65e1dd to
1f6f0af
Compare
|
KUKKUU-ADMIN branch is deployed to platta: https://kukkuu-admin-pr404.dev.hel.ninja 🚀🚀🚀 |
TestCafe result is failed for https://kukkuu-admin-pr404.dev.hel.ninja 😿💢💥💥 |
|
KUKKUU-ADMIN branch is deployed to platta: https://kukkuu-admin-pr404.dev.hel.ninja 🚀🚀🚀 |
TestCafe result is success for https://kukkuu-admin-pr404.dev.hel.ninja 😆🎉🎉🎉 |
|
KUKKUU-ADMIN branch is deployed to platta: https://kukkuu-admin-pr404.dev.hel.ninja 🚀🚀🚀 |
TestCafe result is success for https://kukkuu-admin-pr404.dev.hel.ninja 😆🎉🎉🎉 |
|
|
KUKKUU-ADMIN branch is deployed to platta: https://kukkuu-admin-pr404.dev.hel.ninja 🚀🚀🚀 |
TestCafe result is failed for https://kukkuu-admin-pr404.dev.hel.ninja 😿💢💥💥 |
|
KUKKUU-ADMIN branch is deployed to platta: https://kukkuu-admin-pr404.dev.hel.ninja 🚀🚀🚀 |
TestCafe result is failed for https://kukkuu-admin-pr404.dev.hel.ninja 😿💢💥💥 |
1 similar comment
TestCafe result is failed for https://kukkuu-admin-pr404.dev.hel.ninja 😿💢💥💥 |
|
KUKKUU-ADMIN branch is deployed to platta: https://kukkuu-admin-pr404.dev.hel.ninja 🚀🚀🚀 |
TestCafe result is failed for https://kukkuu-admin-pr404.dev.hel.ninja 😿💢💥💥 |
|
KUKKUU-ADMIN branch is deployed to platta: https://kukkuu-admin-pr404.dev.hel.ninja 🚀🚀🚀 |
TestCafe result is success for https://kukkuu-admin-pr404.dev.hel.ninja 😆🎉🎉🎉 |



Description
Migrating React to version 19
Context
KK-1543
How Has This Been Tested?
Manual Testing Instructions for Reviewers
Screenshots
Summary by CodeRabbit
New Features
Bug Fixes
Chores