chore: bump abap2UI5 — THE E2E SMOKE IS RED AT THE NEW PIN - #181
Open
github-actions[bot] wants to merge 2 commits into
Open
chore: bump abap2UI5 — THE E2E SMOKE IS RED AT THE NEW PIN#181github-actions[bot] wants to merge 2 commits into
github-actions[bot] wants to merge 2 commits into
Conversation
github-actions
Bot
force-pushed
the
bump-a2ui5
branch
from
September 8, 2026 10:48
caa984c to
47f393b
Compare
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.
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.
Weekly re-resolve of
A2UI5_PINagainst 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
Every FAIL line is a port whose live wire broke against the new
framework commit — or a harness effect, see
.claude/skills/e2e-debugging.