Skip to content

VSB-TUO/Backport: Fix home-page SSR->CSR flicker#1320

Open
jr-rk wants to merge 2 commits into
customer/vsb-tuofrom
vsb-tuo/fe-fix-home-page-flicker-followup
Open

VSB-TUO/Backport: Fix home-page SSR->CSR flicker#1320
jr-rk wants to merge 2 commits into
customer/vsb-tuofrom
vsb-tuo/fe-fix-home-page-flicker-followup

Conversation

@jr-rk

@jr-rk jr-rk commented Jun 20, 2026

Copy link
Copy Markdown

What this is

A follow-up fix to the already-merged VSB-TUO flicker backport (#1288). That PR cherry-picked the original SSR->CSR flicker fix (#1287) onto customer/vsb-tuo before two later corrections existed. This PR brings VSB-TUO in line with the corrected version now shared across the other customer backports (#1310, #1311, #1312, #1314).

Tracking issue: dataquest-dev/dspace-customers#717

Why it's needed (the "fixing" character)

#1288 shipped two latent issues that were found and fixed on the other instances afterwards:

  1. Permanent blank-page risk (critical). The inline overlay remover in src/index.html bailed out via if (!el) return; before unhiding <ds-app>. If the overlay node ever goes missing (browser extension, race, another script), the real app stays visibility:hidden forever -> blank page, and the kept SSR styles leak. Fixed by always unhiding the app and cleaning the kept styles first, before checking for the overlay node.

  2. Duplicate eager-theme import (cleanup). The cherry-pick left ./dspace/eager-theme.module imported twice (as DSpaceEagerThemeModule and again, unaliased, as EagerThemeModule), both in imports[]. Angular dedupes module imports so it was harmless, but it was cruft. Aligned to the canonical form used by the other backports: dspace eager theme once + custom eager theme once.

What's intentionally NOT in this PR

VSB-TUO independently evolved its overlay-removal trigger (removeSsrOverlayWhenContentVisible, keyed off !isAuthenticationBlocking && !isThemeLoading) which differs from the ApplicationRef.isStable trigger the other backports use. Deciding which trigger becomes canonical across all instances is a separate step and is out of scope here; this PR only brings over the two approach-independent fixes above.

Related

jr-rk and others added 2 commits June 20, 2026 12:26
Follow-up to the merged VSB-TUO flicker backport (#1288). The overlay remover
bailed out via `if (!el) return;` before unhiding <ds-app>, so if the overlay
node went missing (browser extension, race, external script) the app stayed
visibility:hidden forever -> blank page, plus the kept SSR styles leaked.
Unhide the app and clean up the kept styles unconditionally, before checking
for the overlay node. This matches the guard already applied to the other
customer backports.

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

The original VSB-TUO cherry-pick (#1288) left the dspace eager theme imported
twice (as DSpaceEagerThemeModule and again, unaliased, as EagerThemeModule),
with both listed in imports[]. Angular dedupes module imports so it was
harmless, but it was cruft. Align the file with the other customer backports:
dspace eager theme once + custom eager theme once. The custom theme stays
eager (also keeps untyped-item theming working, ref DSpace#1897).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 20, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 62a8a31b-882c-4bb6-933e-4f5a00b170ba

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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 and usage tips.

@jr-rk jr-rk self-assigned this Jun 20, 2026
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.

1 participant