Skip to content
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

Aurelia-kendoui-bridge broken in iOS 16 #808

Open
HeyndrickxKarel opened this issue Oct 1, 2022 · 9 comments
Open

Aurelia-kendoui-bridge broken in iOS 16 #808

HeyndrickxKarel opened this issue Oct 1, 2022 · 9 comments

Comments

@HeyndrickxKarel
Copy link

For what it's worth, since the new release of iOS(16) the wrapper is broken. Loading a page and using the components works perfectly fine, however when you change route and there is a kendo component attached to the DOM before changing, the code will somewhere crash, i think in the detached process of the component. The code crashing results into the new route not being attached to the DOM and therefor you'll get a white screen with an empty router-view. I've tried this on combobox, dropdownlist, scheduler.

@HeyndrickxKarel
Copy link
Author

image

@HeyndrickxKarel
Copy link
Author

Here is a reproduction repo:
https://github.com/HeyndrickxKarel/aurelia-kendoui-bridge-ios16-fix

@jded76
Copy link

jded76 commented Oct 11, 2022

We have the same problem. The problem appears to the following lines:

widget.element.insertBefore(widget.wrapper);

element.show().empty();

Can I help somehow fixing this?
P.S. I tried it in windows 11 with Playwright and it has the same problem, if someone wants to see this in windows.

@jded76
Copy link

jded76 commented Oct 11, 2022

Here the reproduction repo of @HeyndrickxKarel with playwright installed:
https://github.com/jded76/aurelia-app-safari-16

If you install this vs code extension you can start the project (npm run start) and then you can open safari from the extension (see attached picture).

runSafari

@HeyndrickxKarel
Copy link
Author

I think the only way to solve this in the bridge is to either rewrite those 2 lines you referenced with plain javascript. Or to adjust the location the destroy method gets called. Now it gets called from detached so maybe it can be relocated to deactivate, as mentioned on the aurelia discourse here. However i'm not sure what the effect of doing that would mean since the destroy gets called by all the components. And what that would mean on all devices and operating systems.

@jded76
Copy link

jded76 commented Oct 11, 2022

I think deactivate is called only on pages and not on components.

@jded76
Copy link

jded76 commented Oct 23, 2022

After some searching and a lot of headaches (you can see the discussion here aurelia/framework#1003), I filed an issue on jquery jquery/jquery#5147.
I have already tried it and it's working.
If jquery accepts it, aurelia-kendo-bridge will work again in Safari 16+.

@mgol
Copy link

mgol commented Jan 12, 2023

FWIW, the jQuery fix has landed and is available in jQuery 3.6.3.

@jded76
Copy link

jded76 commented Jan 12, 2023

I'll git it a try. Thank you @mgol.

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

No branches or pull requests

3 participants