Repository navigation
Keep the NotificationList ports as scope exceptions; e2e waits for the port's view again - #278
Merged
Merged
Conversation
…5 1.153
OpenUI5 1.153 deprecates the whole NotificationList family, and the weekly
generate-result run failed the hard scope gate on apps 076, 077, 291, 444
and 520. Maintainer decision: keep them, like UploadSet (app 121).
- ui5/scope-exceptions.json: five KEEP entries pinned to
{ deprecated, since 1.34, deprecated 1.153 }
- ui5/properties.json: refreshed from OpenUI5 main by the linter's
generate-metadata.mjs (the exceptions would read as stale against the
old snapshot)
- README, api.md, STATUS.md and the overview app regenerated; the five
rows now carry the deprecation note
- docs/history.md: journal entry
npm run gates, abaplint, check:overview and npm test pass.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017L77ar9bP7ABaNmoZiesNJ
…e 702 config as JSONC
e2e-nightly has been red since 2026-10-14 on the overview app alone ("the
control never appeared — tried 0 overflow popover(s)"), while e2e-pr at
the pin passed it. The nightly builds abap2UI5 main.
abap2UI5#2913 creates the root control at run time through a new
z2ui5.core.RootSlot element in the shell view. The smoke's boot wait,
[data-sap-ui] count > 3, was one more than the shell's three elements;
with four it was met before the first roundtrip answered. Every port
without an interaction module passed boot and render on an empty page,
and the overview - the largest response, so the last to arrive - clicked
into nothing.
- lib-e2e.mjs appRendered: waits for a second rendered
sap.ui.core.mvc.View (the port's own) or the error overlay; used by the
smoke and by the eight interaction modules that repeated the count
after a reload (022, 167, 235, 301, 302, 303, 557, 585)
abap2UI5#2950 (today) put a comment into .github/abaplint/abap_702.jsonc,
which e2e-build read with JSON.parse - the next nightly would have died
before the downport.
- lib/jsonc.mjs: the JSONC reader of check-app-rules.mjs, now shared;
e2e-build reads the 702 config through it
Reproduced and verified locally against abap2UI5 main (cab1966): the
overview fails before and passes after. e2e-debugging guide and journal
record both; npm test 64/64 (the demo-apps fixture copies lib-e2e.mjs).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017L77ar9bP7ABaNmoZiesNJ
oblomov-dev
added a commit
that referenced
this pull request
Oct 26, 2026
#278 moved parseJsonc out of scripts/check-app-rules.mjs into lib/jsonc.mjs, but the file is a copy of abap2UI5's .github/shared/check-app-rules.mjs, and abap2UI5's shared-file gate now fails on the difference. The source already has its own inline parseJsonc, so the copy goes back to it verbatim; lib/jsonc.mjs stays for e2e-build.mjs. Claude-Session: https://claude.ai/code/session_01VTHUii3vvZF41gabs3JqHc Co-authored-by: Claude <noreply@anthropic.com>
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.
Two independent fixes, one commit each.
1. Keep the five NotificationList ports as scope exceptions after OpenUI5 1.153 (35aa335)
OpenUI5 1.153 marks the whole NotificationList family
@deprecated(NotificationList,NotificationListBase,NotificationListGroup,NotificationListItem, replaced by the UI5 Web Components notifications). The weeklygenerate-resultrun of 2026-10-26 refreshedui5/properties.jsonfrom OpenUI5 main and failed the hard scope gate on five ports:sap.m.sample.NotificationListItemsap.m.sample.NotificationListGroupsap.m.sample.NotificationListGroupBindingssap.m.sample.MaxNumberOfNotificationsReachedsap.m.sample.NotificationListGroupLazyLoadingMaintainer decision: keep them, the same KEEP shape as UploadSet (app 121).
ui5/scope-exceptions.json: five entries pinned to{ scope: deprecated, since: 1.34, deprecated: 1.153 }.ui5/properties.json: refreshed from OpenUI5 main with the linter'sgenerate-metadata.mjs, the stepgenerate-resultruns. It has to land in the same change: against the old snapshot the samples still read as in scope, and the gate would reject the new entries as stale.README.md,api.md,STATUS.md,src/z2ui5_cl_smpc_app_000.clas.abap: regenerated. The overview rows of the five ports now carry the deprecation note.docs/history.md: journal entry.ui5/universe.jsonis not refreshed here: the sap.mapi.jsongrunt build was not run. For these five samples that makes no difference, because the deprecation reachesscopeOfthrough theproperties.jsonfallback.2. e2e: wait for the port's view, not for the framework's shell; read the 702 config as JSONC (6084fe0)
e2e-nightly has been red since 2026-10-14 on the overview app alone (
the control never appeared — tried 0 overflow popover(s)). e2e-pr at the pin passes it; e2e-nightly builds abap2UI5 main.z2ui5.core.RootSlotelement to the shell view. The smoke's boot wait,[data-sap-ui]count > 3, had been exactly one more than the shell's three elements. With four, it is met before the first roundtrip answers.lib-e2e.mjsappRenderedwaits for a second renderedsap.ui.core.mvc.View, the port's own, or for the error overlay. The smoke uses it, and so do the eight interaction modules that repeated the count after a reload (022, 167, 235, 301, 302, 303, 557, 585).A second breakage at abap2UI5 main: abap2UI5#2950 (today) puts a comment into
.github/abaplint/abap_702.jsonc.e2e-build.mjsread that file withJSON.parseand died before the downport. The JSONC reader ofcheck-app-rules.mjsnow lives inscripts/lib/jsonc.mjs, and both scripts use it.The e2e-debugging guide and the journal record both lessons.
Verification
Run locally:
npm run gates: exit 0.npx abaplint ./abaplint.jsonc: 0 issues.npm run check:overview: 0 failing.npm test: 64/64.cab1966), overview-only build: the overview fails before the fix and passes after it.e2e_pr answers
allfor a harness change and skips by design. The full-corpus run against abap2UI5 main is a manuale2e-nightlydispatch on this branch. Because the old boot wait was hollow against main, that run may surface ports that broke after 2026-10-14 and were hidden by it.This also unblocks the pin bump #275, whose only failure was the overview.
🤖 Generated with Claude Code
https://claude.ai/code/session_017L77ar9bP7ABaNmoZiesNJ