You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
conformance: test_gap_6301_event_target_subclass regressed on main (untriaged, inside required conformance-smoke-complete) — fixed 07-13, red again by 07-31 #7178
test_gap_6301_event_target_subclass is failing on main (pass -> parity_fail per the harness log) and is not in test-parity/known_failures.json — an untriaged regression of a test that was fixed on 2026-07-13 by 81ab8e5d6 (issue #6301, native-base EventTarget subclassing).
Why it matters more than a normal red
It fails inside conformance-smoke (4), which feeds conformance-smoke-complete — a required status check. An untriaged regression in a required context blocks every PR (or trains people to admin-bypass, which is worse).
Bisect between 81ab8e5d6 (fix landed, green) and ff85fd483 (confirmed red) — the window is ~2.5 weeks of merges.
Native-base subclassing is a documented weak family (5 defects, keyed on literal extends names) — the regression likely rode in on one of the globalThis/proto/builtin-install changes in that window.
This is the same regression as #7518 (same failing gap test, same class Bus extends EventTarget shape). It was fixed and closed by #7520 on 2026-08-06 (6a051ec18), five days after this issue was opened. #7520 closed #7518 but never closed this one.
c6ed8175d (#6853, 2026-07-30) added "EventTarget" to builtin_constructor_spec_length so EventTarget.length === 0 like Node. That flipped an incidental gate in try_dispatch_value_called_proto_method: constructors that share the globalThis no-op thunk were only excluded because they had no recorded .length. With a length recorded, js_fetch_or_value_super(<EventTarget>, this, …) re-dispatched as bus.EventTarget() and threw TypeError: EventTarget is not a function.
Fix on main
#7520 makes the exclusion explicit and table-driven via is_global_this_builtin_constructor_name / GLOBAL_THIS_BUILTIN_CONSTRUCTORS, and adds a per-PR unit test (global_builtin_constructor_values_are_not_redispatched_by_name) so a future .length addition cannot re-open the hole.
Re-verified on current origin/main (6fb58cdea)
test_gap_6301_event_target_subclass is byte-identical to node --experimental-strip-types (Node 26.5.1), exit 0 on both sides.
Unit test global_builtin_constructor_values_are_not_redispatched_by_namepasses.
Activity
proggeramlug commentedon Aug 7, 2026
Already fixed — no further code change needed
This is the same regression as #7518 (same failing gap test, same
class Bus extends EventTargetshape). It was fixed and closed by #7520 on 2026-08-06 (6a051ec18), five days after this issue was opened. #7520 closed #7518 but never closed this one.Root cause (from #7520 / #7518)
c6ed8175d(#6853, 2026-07-30) added"EventTarget"tobuiltin_constructor_spec_lengthsoEventTarget.length === 0like Node. That flipped an incidental gate intry_dispatch_value_called_proto_method: constructors that share the globalThis no-op thunk were only excluded because they had no recorded.length. With a length recorded,js_fetch_or_value_super(<EventTarget>, this, …)re-dispatched asbus.EventTarget()and threwTypeError: EventTarget is not a function.Fix on main
#7520 makes the exclusion explicit and table-driven via
is_global_this_builtin_constructor_name/GLOBAL_THIS_BUILTIN_CONSTRUCTORS, and adds a per-PR unit test (global_builtin_constructor_values_are_not_redispatched_by_name) so a future.lengthaddition cannot re-open the hole.Re-verified on current
origin/main(6fb58cdea)test_gap_6301_event_target_subclassis byte-identical tonode --experimental-strip-types(Node 26.5.1), exit 0 on both sides.global_builtin_constructor_values_are_not_redispatched_by_namepasses.test-parity/known_failures.json.Closing as completed. No PR required.