webcomponents / polyfills

Web Components Polyfills
BSD 3-Clause "New" or "Revised" License
1.13k stars 165 forks source link

TypeError: Attempting to configurable attribute of unconfigurable property on a connected TV browser. #558

Open mateoperez opened 10 months ago

mateoperez commented 10 months ago

Description

I'm trying to use the polyfill on a connected TV using an old browser: image

User Agent:

"YouViewHTML/1.0 AppleWebKit/538.1 (Huawei Technologies Co., Ltd; DN360T.01.02.P; 001; CDS/60.48.91; API/3.2.0; PS/3.8.128) (+HTML+MHEG+IPCMC+DASH+DRM)"

And when the polyfill tries to add a get and a set to any html tag it raises an error: TypeError: Attempting to configurable attribute of unconfigurable property.

image

Example

This is the code I'm using, only core-js and webcomponents polyfills.

import 'core-js/actual/map';
import 'core-js/actual/weak-map';
import 'core-js/actual/set';
import 'core-js/actual/promise';
import 'core-js/actual/array';
import 'core-js/actual/string';
import 'core-js/actual/number';
import 'core-js/actual/object';
import 'core-js/actual/symbol';
import 'core-js/actual/function';
import '@webcomponents/webcomponentsjs';

Steps to reproduce

Launch the app.

Expected behavior

No error is thrown

Actual behavior

TypeError: Attempting to configurable attribute of unconfigurable property.

Version

@webcomponents/webcomponentsjs@2.8.0

Browsers affected

"YouViewHTML/1.0 AppleWebKit/538.1 (Huawei Technologies Co., Ltd; DN360T.01.02.P; 001; CDS/60.48.91; API/3.2.0; PS/3.8.128) (+HTML+MHEG+IPCMC+DASH+DRM)"
trusktr commented 10 months ago

If the polyfill relies on configuring properties and they are not configurable, I'm not sure there's a solution unless the polyfill implementation can be somehow fundamentally changed to do something else. Not sure it's possible.

Any luck with this other polyfill?

https://github.com/ungap/custom-elements

mateoperez commented 10 months ago

I've tried that one (https://github.com/ungap/custom-elements) and the error is in the same line (when it is trying to use the native defineProperty): image It is trying to change the constructor for the HTMLElementPrototype. image

The error I had with the webcomponentsjs polyfill was when it was trying to modify the textContent from any html element. image

image