-
Notifications
You must be signed in to change notification settings - Fork 441
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: make sure unknown is mapped to HTMLUnknownElement cstr #606
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
no idea why the test would fail because of my changes. They also fail locally for me when checking out the main branch |
I see, thanks @hoebbelsB for your help |
Hello @gioboa Is there anything we can do to move it forward? |
Hi @aaa123eee, I'm sorry. I'm no longer in the project. You can contact the builder.io team in this Discord channel |
Thanks for your reply and your contributions! |
Unfortunately this link does not work for me Is there anybody I can ask for a proper one? probably @adamdbradley @mhevery |
there's a related issue about that #547 maybe @hamatoyogi knows 🤔
|
@aaa123eee can you try this one please? |
this invite works well! thank you! |
Hey, I'm no longer at Builder, but maybe if i tag @steve8708 something will happen 😅 |
Thanks for the PR, we will have a look at this next week. |
I think if we can get a unit test on the change to verify behavior following our contribution guides we should be good to get this merged in. thanks for the patience here. https://github.com/BuilderIO/partytown/blob/main/CONTRIBUTING.md#submitting-issues-and-writing-tests |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @hoebbelsB for your commitment and patience 🙏
Can you add a test for this specific case and flip the double ! condition in the filter please? ( it's not that readable in this way )
yo, cool to see you back. will do as soon as I find time! Hopefully this week |
@hoebbelsB is this PR still valid? |
it definitely is! |
@aaa123eee Do you also have this error? if yes, can you check this change to verify it please?
@hoebbelsB based on your description I changed the filter logic.
|
@gioboa no, it's not the same as before. I've also worked on a test to proof it. I've double checked the previous, my solution and your solution. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @hoebbelsB for your help
It looks good to me
What is it?
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
The issue
Chrome maps correctly
WebKit browsers map other nodeNames (in this case
DIRECTORY
) to HTMLUnknownElementWhich results in the hardcoded
UNKNOWN
property being undefined in WebKit browsers, causing them to throw errors like a madman.The reason
Webkit iterates over the possible APIs in a different order. It will receive
directory
as first nodeName which results inHTMLUnknownElement
constructor. The functionreadOwnImplementation
maintains aSet<string>
with constructor names. So the first one to occupy the space forHTMLUnknownElement
will bedirectory
.If you filter for the possible
cstrImpls
which have theHTMLUnknownElement
constructor name, you'll get multiple results with different orderings, depending on the browser.Broken ordering on webkit
Proper ordering on chrome
The fix
I've simply introduced a new filter that filters out all nodenames that will result in
HTMLUnknownElement
, butUNKNOWN
. The worker will anyway fall back toHTMLUnknownElement
, so there should be no change in functionality.Checklist: