Skip to content

chore: bump abap2UI5 — THE E2E SMOKE IS RED AT THE NEW PIN - #181

Open
github-actions[bot] wants to merge 2 commits into
mainfrom
bump-a2ui5
Open

chore: bump abap2UI5 — THE E2E SMOKE IS RED AT THE NEW PIN#181
github-actions[bot] wants to merge 2 commits into
mainfrom
bump-a2ui5

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Weekly re-resolve of A2UI5_PIN against abap2UI5 main (6c433149ccd46704b4f683461c93805c266d38e0) —
what node-setup, the Pages build and the e2e smoke run against.
The abaplint configs resolve main directly (unpinned), and the
nightly e2e keeps testing main tip as the canary.

The verdict at the new pin

The strict e2e smoke FAILED at the new pin. Read this PR as the report of a breaking framework change — here is the change, and below is what it broke — not as a routine bump. Do not merge it to clear the badge: either the ports below get their fix in this same PR, or the pin waits for an upstream fix and this PR is closed.

Run: https://github.com/abap2UI5/samples-controls/actions/runs/34211067751

e2e-smoke: 622 port(s), backend from /home/runner/work/samples-controls/samples-controls/.abap2UI5
FAIL  049  backend HTTP 500 for /?app_start=z2ui5_cl_smpc_app_049 — ASSERTION_FAILED @ lcl_heap.add_object (kernel_call_transformation.clas.locals.mjs:112)
FAIL  101  boot: locator.click: Timeout 30000ms exceeded.
FAIL  121  backend HTTP 500 for /?app_start=z2ui5_cl_smpc_app_121 — ASSERTION_FAILED @ lcl_heap.add_object (kernel_call_transformation.clas.locals.mjs:112)
FAIL  241  backend HTTP 500 for /?app_start=z2ui5_cl_smpc_app_241 — ASSERTION_FAILED @ lcl_heap.add_object (kernel_call_transformation.clas.locals.mjs:112)
FAIL  291  backend HTTP 500 for /?app_start=z2ui5_cl_smpc_app_291 — ASSERTION_FAILED @ lcl_heap.add_object (kernel_call_transformation.clas.locals.mjs:112)
FAIL  299  backend HTTP 500 for /?app_start=z2ui5_cl_smpc_app_299 — ASSERTION_FAILED @ lcl_heap.add_object (kernel_call_transformation.clas.locals.mjs:112)
FAIL  307  boot: the second day was not selected
FAIL  308  backend HTTP 500 for /?app_start=z2ui5_cl_smpc_app_308 — ASSERTION_FAILED @ lcl_heap.add_object (kernel_call_transformation.clas.locals.mjs:112)
FAIL  350  boot: the ICON_POOL registerFont action never registered the SAP-icons-TNT collection
FAIL  534  boot: step A points at null, not "B1" - path 0 was not applied on render ({"A":null,"B1":"C","B2":"C","C":"D","D":"E","E":null,"F1":"G","F2":"G","G":null})
FAIL  575  boot: pressing a row never opened the mid column
FAIL  578  boot: pressing a category never opened the mid column
FAIL  579  boot: pressing a product never opened the mid column
FAIL  584  boot: pressing a product never opened the mid column
e2e-smoke: 623 app(s), 14 failing.

Every FAIL line is a port whose live wire broke against the new
framework commit — or a harness effect, see .claude/skills/e2e-debugging.

oblomov-dev added a commit that referenced this pull request Sep 8, 2026
… does (#185)

Six ports have been 500ing on their first roundtrip - 049, 121, 241, 291, 299,
308 - with ASSERTION_FAILED @ lcl_heap.add_object and nothing naming a class or
an attribute. The nightly reported them for over a week (#162, #172, #173), and
the weekly pin bump then read as "the framework broke six ports" (#181). It did
not: this build was not running a shim the framework has shipped since
abap2UI5#2707.

The draft is written with CALL TRANSFORMATION id, whose transpiled
re-implementation walks a serializable object attribute by attribute through a
dynamic ASSIGN obj->( name ). A PRIVATE ABAP attribute is a JavaScript #field
once transpiled, which no name lookup reaches - sy-subrc is 4 and the writer's
ASSERT dies. A real system serializes private attributes fine, so nothing else
can catch it: not ABAP, not abaplint, not the transpiler.

All six ports bind with omit_initial_paths, which makes the client hand in
lcl_initial_paths_filter - a framework class, serializable by design, whose
mt_names is private. Nothing in the corpus was wrong.

abap2UI5 knows this: node/setup/patch-abaplint-runtime-assign.mjs, block 2,
falls back to the transpiler's FRIENDS_ACCESS_INSTANCE, and the framework runs
it before every one of its own transpiled runs. e2e-build ran its downport
sibling and never this one. It runs it now, guarded - a pin older than #2707
has no such script and the build says so.

Measured on a full build against framework main with this change: 6 app(s), 0
failing, four of them including their interaction. Measured at the bump's pin
with the transpiled output byte-identical and only the runtime patched: 6
failing before, 0 after. Confirmed independently by rewriting the single
#mt_names private field to an ordinary property with the runtime untouched -
the same six turn green.

The e2e-debugging skill's "never PRIVATE" entry described the symptom as a law
of the runtime; it is a property of the corpus and of whether the shim ran, and
now says so.
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