Skip to content

Added UI KIT changes for Identity server version 11.4.0 - #288

Merged
pjoshi2023 merged 102 commits into
mainfrom
dev
Aug 12, 2026
Merged

Added UI KIT changes for Identity server version 11.4.0#288
pjoshi2023 merged 102 commits into
mainfrom
dev

Conversation

@pjoshi2023

Copy link
Copy Markdown
Contributor

Added UI KIT changes for Identity server version 11.4.0

aleixsuau and others added 30 commits June 4, 2026 08:37
…k-self-contained

IS-11407 Make haapi-react-sdk self-contained (relocate SDK-owned files)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…tion-react-portal

IS-11428 Render HAAPI error notification via React portal
IS-11431 Add meaningful alt text to Logo image
Move the SDK out of the app into a standalone workspace at src/haapi-react-sdk with its own lint/test/typecheck tooling (no build). The app consumes it transparently via the npm workspace symlink — no Vite alias or tsconfig paths. CI gains SDK steps + a path trigger. App setupTests slimmed (dialog mocks now SDK-only). 312 tests preserved.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…viewer-hashes

IS-9816: updates previewer hashes with the 1.3 values
…a-uri

Fix/dev/is 7660 csp img src data uri
…_path-stylesheet-link-to-api-driven-ui-template

IS-11474 Add theme css path stylesheet link to API driven UI and Self Service Portal templates
The theme_css_path variable (set in settings-defaults.vm, default
/assets/css/curity-theme.css) already renders the curity-theme.css
stylesheet link via the #if ($theme_css_path) block, so the hardcoded
link produced a duplicate stylesheet on every SSP page. Removing it also
makes the SSP respect $_staticResourceRootPath and a configured theme
css path, consistent with core fragments/css.vm and the api-driven-ui
template.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…te-curity-theme-css-link

IS-11474 Remove redundant curity-theme.css link from SSP loader template
…es it

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…react-sdk-workspace

IS-11406 Extract haapi-react-sdk into its own npm workspace library
markoweb and others added 17 commits July 28, 2026 12:37
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…nsent

IS-6007 Add skeleton of support for the logos section in HAAPI user c…
…loyment-guide

IS-11604 Fix SSP app README deployment guide (asset hash stripping, .env handling)
Improves the BankID failure flow, avoiding the redundant step.
…e-flow

IS-11632 Auto-follow redirect/continue action in failed polling steps.
Added UI KIT Previewer for Identity server version 11.4.0
@pjoshi2023
pjoshi2023 requested review from aleixsuau, markoweb and vahag-curity and a lite review from Copilot August 11, 2026 09:50

Copilot AI 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.

Pull request overview

This PR updates the UI Kit assets/templates and HAAPI React components to align with Identity Server 11.4.0, including new runtime theming/cache-busting behavior and expanded HAAPI Stepper functionality (BankID UX, user-consent view, WebAuthn registration attachment selection), plus deployment/CI updates.

Changes:

  • Updated Velocity templates (SSP + API-driven UI) for cache-busting query handling, theme CSS injection, and improved page titles.
  • Introduced a new @curity/haapi-react-sdk workspace package and refactored haapi-react-app to consume it (with new UI + step handling behaviors and tests).
  • Updated deployment script and GitHub Actions workflow to build/lint/test the new SDK and deploy HAAPI React App assets via a template fragment.

Reviewed changes

Copilot reviewed 117 out of 174 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/self-service-portal/templates/apps/self-service-portal/index.vm Adds cache-busting query handling and optional theme CSS link.
src/self-service-portal/app/src/error-handling/RouteErrorBoundary.tsx Updates error message extraction via getErrorMessage.
src/self-service-portal/app/README.md Clarifies build/deploy flows and .env usage for SSP.
src/self-service-portal/app/package.json Bumps React/router/i18n and tooling dependencies.
src/identity-server/templates/core/views/api-driven-ui/index.vm Adds localized <title>, shared assets fragment, cache-busting query, optional theme CSS.
src/identity-server/templates/core/settings-defaults.vm Merges CSP img-src sources when both are configured.
src/identity-server/templates/core/fragments/api-driven-ui/assets.vm New shared loader fragment for API-driven UI assets with cache busting.
src/identity-server/templates/core/authentication-action/opt-in-mfa/setup-confirm.vm Replaces inline style with utility classes.
src/identity-server/previewer-checksums.json Updates previewer version + checksums.
src/identity-server/messages/core/sv/messages Adds new meta.signin* message keys.
src/identity-server/messages/core/sv/authenticator/messages Adds external browser window-open failure message.
src/identity-server/messages/core/pt/messages Adds new meta.signin* message keys.
src/identity-server/messages/core/pt/authenticator/messages Adds external browser window-open failure message.
src/identity-server/messages/core/pt-pt/messages Adds new meta.signin* message keys.
src/identity-server/messages/core/pt-pt/authenticator/messages Adds external browser window-open failure message.
src/identity-server/messages/core/en/messages Adds new meta.signin* message keys.
src/identity-server/messages/core/en/authenticator/messages Adds external browser window-open failure message.
src/haapi-react-sdk/vitest.config.ts Adds Vitest config for the new SDK workspace.
src/haapi-react-sdk/vite-env.d.ts Replaces prior stub with vite/client reference.
src/haapi-react-sdk/tsconfig.json Adds strict SDK TS config including vitest globals.
src/haapi-react-sdk/setupTests.ts Adds shared test setup (e.g., <dialog> mocks).
src/haapi-react-sdk/package.json Introduces new SDK workspace package metadata/scripts/deps.
src/haapi-react-sdk/haapi-stepper/util/useThrowErrorToAppErrorBoundary.ts Adds hook to rethrow async errors into React error boundaries.
src/haapi-react-sdk/haapi-stepper/util/useRefCallBack.tsx Adds stable-callback hook to avoid stale closures.
src/haapi-react-sdk/haapi-stepper/util/types/helpers.ts Adds StringWithAutocomplete helper type.
src/haapi-react-sdk/haapi-stepper/util/tests/mocks.ts Updates HAAPI step/action mocks and adds new helper step builders.
src/haapi-react-sdk/haapi-stepper/util/tests/api-responses.ts Updates imports, renames fixtures, adds completed-step form-post fixtures, adds default case.
src/haapi-react-sdk/haapi-stepper/util/link-predicates.ts Adds isHaapiLink and centralizes link subtype/media checks.
src/haapi-react-sdk/haapi-stepper/util/link-predicates.spec.ts Adds tests for link predicate behavior.
src/haapi-react-sdk/haapi-stepper/util/isMobileDevice.ts Adds mobile detection helper for BankID deep-link choice.
src/haapi-react-sdk/haapi-stepper/util/index.ts Exposes selected util exports for SDK consumers.
src/haapi-react-sdk/haapi-stepper/util/generic-render-interceptor.tsx Adds generic render-interceptor utility for list rendering customization.
src/haapi-react-sdk/haapi-stepper/ui/spinner/Spinner.tsx Adds SDK-local spinner component.
src/haapi-react-sdk/haapi-stepper/ui/spinner/spinner.module.css Adds spinner CSS module animation.
src/haapi-react-sdk/haapi-stepper/ui/messages/HaapiStepperMessageUI.tsx Adds message rendering with class-based variants (heading/userCode/userName).
src/haapi-react-sdk/haapi-stepper/ui/messages/HaapiStepperMessagesUI.tsx Adds messages container with render interception support.
src/haapi-react-sdk/haapi-stepper/ui/messages/defaultHaapiStepperMessageElementFactory.tsx Adds default message element factory wrapper.
src/haapi-react-sdk/haapi-stepper/ui/links/HaapiStepperQrCodeLinkDialog.tsx Adds QR-code fullscreen dialog with focus restore.
src/haapi-react-sdk/haapi-stepper/ui/links/HaapiStepperLinkUI.tsx Updates QR-code detection import to link predicates.
src/haapi-react-sdk/haapi-stepper/ui/links/HaapiStepperLinkUI.spec.tsx Updates tests to cover undefined subtype and HAAPI media types.
src/haapi-react-sdk/haapi-stepper/ui/links/HaapiStepperLinksUI.tsx Opens non-HAAPI links in new tab; HAAPI links call onClick; QR links open dialog.
src/haapi-react-sdk/haapi-stepper/ui/links/HaapiStepperLinksUI.spec.tsx Adds tests for external links via window.open and HAAPI link routing.
src/haapi-react-sdk/haapi-stepper/ui/links/defaultHaapiStepperLinkElementFactory.tsx Adds default link element factory wrapper.
src/haapi-react-sdk/haapi-stepper/ui/index.ts Exposes SDK UI components and factories.
src/haapi-react-sdk/haapi-stepper/ui/icons/authenticator-icons.ts Adds authenticator-icon resolution mapping for UI rendering.
src/haapi-react-sdk/haapi-stepper/ui/actions/HaapiStepperActionsUI.tsx Adds actions container with per-action-type render interception.
src/haapi-react-sdk/haapi-stepper/ui/actions/HaapiStepperActionsUI.spec.tsx Updates tests to use new media type import path.
src/haapi-react-sdk/haapi-stepper/ui/actions/defaultHaapiStepperActionElementFactory.tsx Adds default action element factory for form/selector/client-operation actions.
src/haapi-react-sdk/haapi-stepper/README.md Updates SDK docs, viewName built-in UI explanation, CSS customization notes, class list.
src/haapi-react-sdk/haapi-stepper/feature/viewnames/viewname.types.ts Adds USER_CONSENT viewName built-in UI enum entry.
src/haapi-react-sdk/haapi-stepper/feature/viewnames/viewname-built-in-uis.ts Registers new built-in UI mapping for user consent view.
src/haapi-react-sdk/haapi-stepper/feature/viewnames/UserConsentViewNameBuiltInUI.tsx Adds consent view built-in UI with logo association header.
src/haapi-react-sdk/haapi-stepper/feature/viewnames/typings.ts Introduces shared props type for viewName built-in UIs.
src/haapi-react-sdk/haapi-stepper/feature/viewnames/index.ts Exposes viewname helpers/components for SDK consumers.
src/haapi-react-sdk/haapi-stepper/feature/viewnames/HaapiStepperBankIdQrCodeAccessibilityMessages.tsx Adds BankID QR-code accessibility <details> sections based on viewData messages.
src/haapi-react-sdk/haapi-stepper/feature/viewnames/HaapiStepperBankIdPollingProgressUI.tsx Adds BankID session countdown progress bar + localized readout.
src/haapi-react-sdk/haapi-stepper/feature/viewnames/BankIdViewNameBuiltInUI.tsx Enhances BankID view rendering (QR link placement + progress + accessibility messages).
src/haapi-react-sdk/haapi-stepper/feature/steps/typings.ts Extracts Step UI prop types to avoid runtime cycles with viewnames package.
src/haapi-react-sdk/haapi-stepper/feature/steps/step-element-factories.tsx Switches spinner import to SDK-local spinner implementation.
src/haapi-react-sdk/haapi-stepper/feature/stepper/step-handlers/polling-step.ts Adds auto-advance on failed polling step when next action is redirect/continue.
src/haapi-react-sdk/haapi-stepper/feature/stepper/step-handlers/completed-step.ts Adds completed-step auto redirect handling including form-post response mode.
src/haapi-react-sdk/haapi-stepper/feature/stepper/step-handlers/authentication-or-registration-step.ts Adds handler that triggers WebAuthn autostart on configured steps.
src/haapi-react-sdk/haapi-stepper/feature/stepper/HaapiStepperHook.ts Adds useHaapiStepper hook using React use() and enforced provider usage.
src/haapi-react-sdk/haapi-stepper/feature/stepper/HaapiStepperErrorNotifier.tsx Moves toast to a portal (document.body) for layout correctness.
src/haapi-react-sdk/haapi-stepper/feature/stepper/HaapiStepperContext.tsx Introduces context via createContext.
src/haapi-react-sdk/haapi-stepper/feature/stepper/HaapiStepper.tsx Updates stepper context value to include config; supports no-action client-operation results.
src/haapi-react-sdk/haapi-stepper/feature/stepper/haapi-stepper.types.ts Extends config/theme types (logos/page symbols) and WebAuthn attachment typing.
src/haapi-react-sdk/haapi-stepper/feature/stepper/data-formatters/problem-step.ts Adds formatting for error steps into app/input error buckets.
src/haapi-react-sdk/haapi-stepper/feature/stepper/data-formatters/format-next-step-data.ts Removes polling client-operation maxWait injection from actions.
src/haapi-react-sdk/haapi-stepper/feature/stepper/data-formatters/continue-same-step.ts Adds support for HAAPI continue-same-step responses.
src/haapi-react-sdk/haapi-stepper/feature/index.ts Re-exports additional stepper/viewname utilities.
src/haapi-react-sdk/haapi-stepper/feature/actions/selector/HaapiStepperSelectorUI.tsx Ensures selector rendering returns null for non-form options.
src/haapi-react-sdk/haapi-stepper/feature/actions/form/HaapiStepperFormValidationErrorInputWrapper.tsx Adds wrapper to show per-field invalid input errors.
src/haapi-react-sdk/haapi-stepper/feature/actions/form/HaapiStepperFormSubmitButton.tsx Switches authenticator-icon resolver import to SDK-local icons mapping.
src/haapi-react-sdk/haapi-stepper/feature/actions/form/HaapiStepperFormHook.ts Adds form state hook supporting checkbox/select/text semantics.
src/haapi-react-sdk/haapi-stepper/feature/actions/form/HaapiStepperFormContext.ts Adds form context + hook using React use().
src/haapi-react-sdk/haapi-stepper/feature/actions/form/fields/HaapiStepperTextFormFieldUI.tsx Adds text/username field component with autocomplete handling.
src/haapi-react-sdk/haapi-stepper/feature/actions/form/fields/HaapiStepperSelectFormFieldUI.tsx Adds select field component.
src/haapi-react-sdk/haapi-stepper/feature/actions/form/fields/HaapiStepperPasswordFormFieldUI.tsx Adds password field component with show/hide toggle.
src/haapi-react-sdk/haapi-stepper/feature/actions/form/fields/HaapiStepperFormFieldUI.tsx Adds field dispatcher for visible HAAPI form fields.
src/haapi-react-sdk/haapi-stepper/feature/actions/form/fields/HaapiStepperCheckboxFormFieldUI.tsx Adds checkbox field component.
src/haapi-react-sdk/haapi-stepper/feature/actions/form/fields/defaultHaapiStepperFormFieldElementFactory.tsx Wraps fields with validation-error wrapper by default.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/useIsClientOperationAvailable.ts Adds capability gating for client operations (WebAuthn availability etc.).
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/webauthn/webauthn.ts Improves WebAuthn error handling and adds localized viewData message lookup.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/webauthn/webauthn-registration-attachment.ts Adds attachment metadata builder for any-device WebAuthn registration actions.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/webauthn/webauthn-registration-attachment.spec.ts Adds tests for attachment metadata resolution.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/webauthn/webauthn-registration-attachment-icon-map.tsx Adds icon mapping for attachment kinds.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/webauthn/utils.ts Refactors WebAuthn utils and adds attachment-kind helpers and type guards.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/webauthn/utils.spec.ts Adds tests for WebAuthn attachment-kind helpers.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/webauthn/useIsWebAuthnPlatformAuthenticatorAvailable.ts Adds hook to detect platform authenticator availability.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/webauthn/typings.ts Adds NOT_SUPPORTED WebAuthn error type.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/webauthn/index.ts Re-exports new WebAuthn helpers/components.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/webauthn/HaapiStepperWebAuthnRegistrationAttachmentCard.tsx Adds UI card for attachment selection.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/webauthn/HaapiStepperWebAuthnRegistrationAttachmentCard.spec.tsx Adds tests for attachment card rendering/copy lookup.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/webauthn/auto-start.ts Adds WebAuthn autostart logic for eligible steps.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/typings.ts Extends client-operation result type to support { action: null } “no action”.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/helpers.ts Adds helper for synthesizing stepper errors from client-side failures.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/external-browser-flow/index.ts Removes export of deleted EBF typings.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/external-browser-flow/external-browser-flow.ts Updates EBF error handling + cancellation behavior and window-open localization.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/external-browser-flow/external-browser-flow.spec.ts Updates tests for new EBF behavior and localized window-open message usage.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/client-operations.ts Adds unified client-operation dispatcher (WebAuthn/EBF/BankID).
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/bankid/utils.ts Adds BankID client-operation type guard.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/bankid/open-bankid-app.ts Adds BankID deep-link navigation logic (mobile vs desktop).
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/bankid/index.ts Exposes BankID operation helpers.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/bankid/bankid.ts Adds BankID operation runner that triggers app open and continues flow.
src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/HaapiStepperClientOperationUI.tsx Adds WebAuthn attachment-card rendering path for any-device registration actions.
src/haapi-react-sdk/haapi-stepper/data-access/useHaapiFetch.ts Adds cached singleton driver wrapper for HAAPI web-driver fetch.
src/haapi-react-sdk/haapi-stepper/data-access/useHaapiFetch.spec.ts Updates media type import and tests for fetch behavior.
src/haapi-react-sdk/haapi-stepper/data-access/types/media.types.ts Introduces consolidated HAAPI media type constants.
src/haapi-react-sdk/haapi-stepper/data-access/types/index.ts Adds types barrel export for data-access types.
src/haapi-react-sdk/haapi-stepper/data-access/types/haapi-step.types.ts Adds viewData typing and completed-step actions support for form-post response mode.
src/haapi-react-sdk/haapi-stepper/data-access/types/haapi-form.types.ts Moves media type import to local SDK types.
src/haapi-react-sdk/haapi-stepper/data-access/types/haapi-fetch.types.ts Adds typed HAAPI fetch action/payload wrappers.
src/haapi-react-sdk/haapi-stepper/data-access/types/haapi-action.types.ts Adds AUTHORIZATION_RESPONSE form action kind.
src/haapi-react-sdk/haapi-stepper/data-access/index.ts Adds data-access barrel exports including new hook.
src/haapi-react-sdk/haapi-stepper/data-access/haapi-fetch-utils.ts Updates media type import and keeps request builder logic in SDK.
src/haapi-react-sdk/haapi-stepper/data-access/haapi-fetch-utils.spec.ts Updates media type import for request-builder tests.
src/haapi-react-sdk/haapi-stepper/data-access/haapi-fetch-request.ts Updates media type import for request sending.
src/haapi-react-sdk/eslint.config.js Adds SDK-specific typed ESLint config.
src/haapi-react-sdk/.prettierrc Adds SDK Prettier configuration.
src/haapi-react-sdk/.prettierignore Adds SDK Prettier ignore rules.
src/haapi-react-app/vite.config.ts Removes local alias to embedded SDK source.
src/haapi-react-app/tsconfig.app.json Removes TS path mapping for embedded SDK alias.
src/haapi-react-app/src/shared/util/page-symbol-utils.ts Updates page symbol resolution to SDK types and adds showPageSymbol rule.
src/haapi-react-app/src/shared/util/css/styles.css Adds styles for consent logos, BankID accessibility, WebAuthn cards, and polling progress bar.
src/haapi-react-app/src/shared/ui/Well.tsx Adds local Well component (moved from SDK consumption).
src/haapi-react-app/src/shared/ui/SuccessCheckmark.tsx Removes unused SuccessCheckmark component.
src/haapi-react-app/src/shared/ui/PageSymbol/PageSymbol.tsx Fixes imports after folder reorg and updated util path.
src/haapi-react-app/src/shared/ui/PageSymbol/PageSymbol.spec.tsx Updates tests to new types + moved imports.
src/haapi-react-app/src/shared/ui/Logo/Logo.tsx Fixes import path and improves accessibility by adding alt text.
src/haapi-react-app/src/shared/ui/Logo/Logo.spec.tsx Updates tests for img role + alt text.
src/haapi-react-app/src/shared/ui/Layout/Layout.tsx Refactors layout imports and hides page symbol for user consent step.
src/haapi-react-app/src/shared/ui/Layout/Layout.spec.tsx Updates layout tests for new stepper config/type behavior.
src/haapi-react-app/src/shared/feature/error-handling/default-error-fallback.tsx Switches Well import to local Well.
src/haapi-react-app/src/shared/feature/app-config/types.ts Simplifies app config to SDK bootstrap config type alias.
src/haapi-react-app/src/shared/feature/app-config/HaapiAppConfigProvider.tsx Removes explicit HaapiAppConfig cast and relies on window.__CONFIG__.
src/haapi-react-app/src/haapi-react-sdk/haapi-stepper/feature/viewnames/BankIdViewNameBuiltInUI.tsx Removes embedded SDK BankID built-in UI duplicate.
src/haapi-react-app/src/haapi-react-sdk/haapi-stepper/feature/stepper/step-handlers/completed-step.ts Removes embedded SDK completed-step handler duplicate.
src/haapi-react-app/src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/external-browser-flow/typings.ts Removes embedded SDK EBF typings duplicate.
src/haapi-react-app/src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/HaapiStepperClientOperationUI.spec.tsx Removes embedded SDK client-operation UI tests duplicate.
src/haapi-react-app/src/App.tsx Updates Layout import after refactor.
src/haapi-react-app/setupTests.ts Removes <dialog> mocks (now provided by SDK test setup).
src/haapi-react-app/previewer/vite.config.ts Removes embedded SDK alias usage.
src/haapi-react-app/previewer/shared/ui/preview/Preview.tsx Updates imports and hides page symbol for user consent step.
src/haapi-react-app/previewer/shared/ui/json-representation/pretty-print.css Improves string wrapping in JSON pretty-print.
src/haapi-react-app/previewer/Previewer.tsx Adds stepper config to previewer context value.
src/haapi-react-app/previewer/examples.authenticators.ts Updates media type import to SDK.
src/haapi-react-app/previewer/examples.authentication-actions.ts Updates media type import to SDK.
src/haapi-react-app/package.json Adds dependency on @curity/haapi-react-sdk and bumps jsdom/react-dom.
src/haapi-react-app/.prettierignore Normalizes indentation/formatting.
src/common/icons/src/components/authenticator/index.ts Exposes new WebAuthn platform/cross-platform icons.
src/common/icons/src/components/authenticator/IconAuthenticatorWebauthnPlatform.tsx Adds platform authenticator icon component.
src/common/icons/src/components/authenticator/IconAuthenticatorWebauthnCrossPlatform.tsx Adds cross-platform authenticator icon component.
src/common/css/lib/src/base/base-buttons.css Forces default button text color to white.
src/common/css/docs/package.json Bumps Astro/react-dom and type deps.
src/common/component-library/package.json Tightens React peer deps and bumps router/jsdom/stylelint-config versions.
README.md Documents per-project builds and HAAPI React App deployment outputs.
package.json Adds src/haapi-react-sdk to workspace list.
deploy.sh Adds template-area assertion helper and HAAPI React App asset + fragment deployment flow.
.github/workflows/lwa-github-ci-workflow.yml Runs format/lint/typecheck/test for the new SDK workspace in CI.
Suppressed comments (3)

src/haapi-react-sdk/haapi-stepper/feature/stepper/HaapiStepper.tsx:365

  • HaapiStepperContext is a context object created via createContext, so it must be used via .Provider. Rendering it as <HaapiStepperContext ...> will throw at runtime and prevents the stepper from providing context to consumers.
    src/haapi-react-app/src/shared/ui/Layout/Layout.spec.tsx:141
  • HaapiStepperContext is a React context object, so tests must render its Provider. Using <HaapiStepperContext value=...> will throw and make this test suite fail.
    src/haapi-react-sdk/haapi-stepper/feature/actions/client-operation/operations/external-browser-flow/external-browser-flow.ts:36
  • ClientOperationResult is documented/typed as “runners always resolve”, but this implementation rejects the Promise on unexpected message origin/data. Since performClientOperation is awaited without a try/catch, this will bubble into the app error boundary instead of producing a normal clientOperationError via useHaapiStepper().error.app.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/haapi-react-app/previewer/Previewer.tsx

@aleixsuau aleixsuau 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.

@pjoshi2023 👋

The FE changes make sense.

Claude has some concerns:

  1. CSP img-src merging (IS-7660)settings-defaults.vm: the configured Look-and-Feel img-src used to replace the page's img-src; now they're combined via $CspUtil.combine(...). Intentional (inline data: QR codes broke), but it widens the effective policy versus what an admin explicitly configured. A security-minded reviewer should confirm this is the desired precedence.
  2. Deployment script rewrite (IS-11461)deploy.sh now deploys the HAAPI React App to the global webroot/assets and generates an assets.vm fragment pointing at hash-renamed bundles, while the shipped core fragment (templates/core/fragments/api-driven-ui/assets.vm) references non-hashed api-driven-ui.js/.css. Someone who knows the server packaging should confirm the product build really emits those un-hashed names, and that overrides-vs-template-area precedence behaves.
  3. Velocity template changes (IS-11474 + title)api-driven-ui/index.vm and SSP index.vm: new $_cacheBustingQuery pattern, new theme_css_path link, and a dynamic <title> using #message("meta.signin-to") $_tr.encodeHtml($_apiDrivenApplicationName). Encoding is applied (good); reviewer should verify the title renders without stray whitespace and that theme_css_path can't be attacker-influenced (it's admin config, so presumably fine).

@urre Are you familiar with these?

@markoweb

Copy link
Copy Markdown
Contributor

This is just a back-merge PR from dev to main.

@pjoshi2023

Copy link
Copy Markdown
Contributor Author

this is back merge and would not contain any changes from dev. So all comments need to be targeted to dev or be fixed in dev.

@pjoshi2023 pjoshi2023 closed this Aug 12, 2026
@pjoshi2023 pjoshi2023 reopened this Aug 12, 2026
@pjoshi2023
pjoshi2023 merged commit f76e50b into main Aug 12, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants