Repository navigation
Release 1.39.1 (DEV → main) - #2797
Merged
Merged
Conversation
…pendent
The new URL Health admin tile (app/admin/health) failed to render with a
runtime ModuleError: "failed to load sap/ui/model/odata/v4/library.js ...
script load error". Three defects compounded:
1. manifest + (intended) ui5.yaml listed `sap.ui.model.odata.v4` under
dependency libs. That is NOT a SAPUI5 framework library — the OData V4
model ships inside `sap.ui.core`. `ui5 build` can't resolve it
("Could not find library"), so copy-components.js silently fell back from
the preload build to a raw copy that ships NO Component-preload.js.
UI5 then lazy-loaded each declared lib from the CDN at runtime, and the
bogus odata/v4 path 404'd → the ModuleError.
2. app/admin/health had no ui5.yaml AND no package.json. `ui5 build` needs
both; without them it walked up to app/admin (tutorials-admin-fiori,
ui5:null) and failed project resolution — another path to the same raw-copy
fallback.
Fix: add app/admin/health/{ui5.yaml,package.json} matching the sibling apps,
and drop the non-existent sap.ui.model.odata.v4 lib from both the manifest and
ui5.yaml (sap.m + sap.ui.core only). Result: 52/52 admin components now
preload-build (was 51/52, health raw-copied); health ships a real
Component-preload.js and no longer hits the CDN.
Guard so this class can't ship silently again: discoverComponents() now throws
at build time when a non-excluded admin component lacks its ui5.yaml, with a
message pointing at the raw-copy/CDN failure mode and the PRELOAD_EXCLUDE
opt-out. preload-components.cjs threads PRELOAD_EXCLUDE through so excluded
tiles stay exempt. Unit tests cover the real tree, a throwing fixture, and the
exempt path.
Bump deploy version 1.39.0 -> 1.39.1 (.deploy/mta.yaml) for the DEV->main promotion and refresh the What's New digest (hugo/data/whats_new.json). Patch release: carries #2796 — make the URL Health admin tile preload-buildable (bundled into the admin UI, not CDN-dependent), a follow-up to the URL Health subsystem shipped in 1.39.0 (not yet deployed to PROD; this is the version that will deploy). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
jung-thomas
force-pushed
the
release/v1.39.1
branch
from
October 15, 2026 21:17
bd7faf3 to
aa8213b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
DEV → main release promotion
Patch promotion on top of 1.39.0 (which has not yet deployed to PROD). Deploy version: `1.39.0 → 1.39.1`.
What this adds over 1.39.0
Carried from 1.39.0 (first time to PROD)
The full 1.39.0 train: URL Health subsystem (#2787/#2791), the LinkHealth HANA migration fix (#2787), mission/group completion markers (#2779), Devtoberfest points/identity fixes, scheduler self-heal (#2771/#2784), parser CommonMark fixes, SSR island fix — see the 1.39.0 release notes (#2795).
What's New digest
`hugo/data/whats_new.json` → 816 entries (adds #2796 + the 1.39.0 promotion entry).
Deploy plan after merge
PROD blue-green from the primary tree on `main` (deploy-mta guards reject worktrees for prod): `npm run deploy -- --env prod --strategy blue-green` — the swap pauses pre-cutover for operator resume. `cf target` confirmed PROD.
🤖 Generated with Claude Code