Skip to content

[bug] ssr-shims.js uses deprecated globalThis.litSsrCallConnectedCallback #3158

Description

@zeroedin

Summary

@patternfly/pfe-core/ssr-shims.js sets globalThis.litSsrCallConnectedCallback = true to opt elements into connectedCallback during Lit SSR. This global was deprecated in @lit-labs/ssr@4.x in favor of LitElementRenderer.renderOptions.

The result is a repeated console warning during every SSR render pass:

litSsrCallConnectedCallback is deprecated. Please use LitElementRenderer.renderOptions instead.

Current behavior

https://github.com/patternfly/patternfly-elements/blob/main/core/pfe-core/ssr-shims.ts

globalThis.litSsrCallConnectedCallback = true;

This triggers the deprecation path inside LitElementRenderer.connectedCallback() on every element instance rendered, flooding build logs with warnings.

Expected behavior

Replace the deprecated global with the new per-element configuration API:

import { LitElementRenderer } from '@lit-labs/ssr/lib/lit-element-renderer.js';

// Replicate the previous blanket opt-in for PFE/RHDS elements
LitElementRenderer.renderOptions.push(
  (element) =>
    element.localName.startsWith('pf-') || element.localName.startsWith('rh-')
      ? { connectedCallback: true }
      : undefined
);

Or, to preserve the exact previous behavior (all LitElements get connectedCallback called):

LitElementRenderer.renderOptions.push(() => ({ connectedCallback: true }));

Impact

  • The warning is cosmetic for now — @lit-labs/ssr still honors the global alongside the warning.
  • However, a future major version of @lit-labs/ssr will likely remove support for the global entirely, making this a future breaking change.

Environment

  • @patternfly/pfe-core: 5.0.8
  • @lit-labs/ssr: 4.1.0

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions