-
Notifications
You must be signed in to change notification settings - Fork 263
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
Table: Filtering items in table crashes app on Safari #6570
Comments
Thanks for reporting! I'll forward this issue to our UI5 Web Components Colleagues as the affected component is developed in their repository. It seems not related to the issue, but is something I think is worth pointing out. You're recreating the Hi colleagues, I'm not sure what the root cause of the issue here is (Safari bug, or bug within the component), as I wasn't able to debug it since the page just refreshes with the following message:
I also noticed that for example typing "SAP" inside the input is working fine, but when I type "SAP C" it always crashes. I tried it in codeSandbox (with and w/o iframe) and also on my locale machine, but the error persisted in all envs. Here you can find an example using ui5-webcomponents with react, but without our wrapper: https://codesandbox.io/s/frosty-snowflake-07yfln?file=/src/App.js |
Hi @Lukas742, Thanks for pointing out the optimization. Also to add to the issue. We also couldn't debug what happens and it was very hard to understand that the table causes the page crash. It's very interesting because the logic is quite simple and it works perfectly on Chrome. |
@AndrianStoikov a colleague just pointed out to me that it's possible to find the crash report in the Excerpt of the error:
|
Hi @ilhan007, |
Hello Colleagues, Please, test whether the issue is reproducible from your side and do a pre-analysis before forwarding the issue to our component as there is nothing described and following the steps to reproduce in the description of the issue, I am not able to reproduce the issue. In Safari, the isolated sample works in the same way as in Chrome from my side. Kind Regards, |
Hello @niyap, The example that I provided is tested and it definitely does not work on Safari. I just tested in on my phone and when I type |
Hi @niyap there is clearly an issue, either with the web component or with Safari. I’ve added a codeSandbox that is using only ui5 web components and not our wrapper. We always preprocess the issues and try to help the user when we have the necessary knowledge about the component even if it’s not related to wcr. I also tested it in the codeSandbox and in my local environment, posted the crash report and pointed out that it’s not always crashing for me just with specific strings. So I don’t know what else there is to do on preprocessing. |
Hi @niyap, I have checked it and it is reproducible. Steps to reproduce:
I have checked it with a colleague, he reproduced it too Best Regards, |
Hi @Lukas742 , @AndrianStoikov , What is missing for me is a code snippet with only web components and no react. Can you please provide such where the issue can be reproduced only with web-components and no react at all? Best Regards, |
Hello @hristop, We have always provided examples with react because that is the technology we use. I don't know how to create the sandbox only with html and javascript and it's not even close to our productive setup. @Lukas742 has already provided a sandbox without the react wrapper so the problem is clearly not on the react side. Also as it can be clearly seen the sandbox in this issue is as well on react (#6591). I don't understand what is the problem at the moment ... |
Hi @hristop since ui5-webcomponents can be used with React (outlined in your docs), it should work with it as well in my opinion. (With React but without the React wrapper). Since I’m currently out sick, I won’t be able creating another example until I’m feeling better (I’m only on my phone right now). |
I wasn't able to reproduce the issue with plain js, but since it is still crashing the page in React, could you please check if "Medium" is really the right priority for this issue? Thanks. https://codesandbox.io/s/ui5-webcomponents-forked-ftsrul?file=/src/index.js |
Hello @Lukas742 @AndrianStoikov I used the codesandbox with React + pure ui5 web components, provided earlier, thank you for setting it up. As Lucas and some of the dispatchers, I also started reproducing the issue every time by typing "C" in the input I could track down the issue to the usage of <ui5-table-row key={el.id}> When I remove the <ui5-table-row> Here is a codesandbox, forked by the previous one with the Maybe you can also try it out, remove the key attribute ad observe if something changes, I know setting a key is recommended in React, so we will still have to continue debugging. |
Hello colleagues @SAP/ui5-webcomponents-topic-rl We created very small, almost blank project, with As in all provided samples so far, we filter a table upon typing: At first, we stopped injecting any styles to the TableCell|TableRow| shadow Dom as we thought for Safari we use How we tested it I don't have explanation why this happens. It should be combination of the React + Safari factor.
breaks.mov
works_without_overflow_hidden.movBR, |
Hello Team, Can we have an update on this issue? Our product is pretty much unusable at the moment in Safari. Can we please increase the priority of this issue? Also, another option is opening an issue in Safari, if it is possible. Best, |
Hi, any update on this issue? We are also encountering a similar issue in a SuccessFactors project. Thanks. |
Hello @SAP/ui5-webcomponents-topic-rl colleagues - changed the priority to High. The Table is not really usable on Safari. You can refer to the findings so far, especially one of the last comments to get you going. |
The combination of display: table-cell and overflow: hidden styles was causing the browser to crash upon component re-rendering Fixes: #6570
I tried to find information for the issue on the web and couldn't, but there are similar issues that have been reported for Safari crashing the same way with other styles/combination of styles in the past. I've test the removing of the style on the provided sample app and it seems to work fine, also it doesn't seem to break the visual appearance of the component. I created a pull-request that doesn't add this style in case the detected browser is Safari Updated: We removed the style for all browsers to avoid writing device specific code and because it has unclear purpose |
* fix(ui5-table): prevent Safari from crashing The combination of display: table-cell and overflow: hidden styles was causing the browser to crash upon component re-rendering Fixes: #6570 * fix(ui5-table): prevent Safari from crashing * fix(ui5-table): prevent Safari from crashing Remove overflow: hidden style from the ui5-table-cell for all browsers --------- Co-authored-by: Deshev <I521896@Deshevs-MacBook-Pro.local>
Hello @AndrianStoikov @Lukas742 the issue has been fixed and released with the latest 1.13.0-rc.1 https://github.com/SAP/ui5-webcomponents/releases/tag/v1.13.0-rc.1 @Lukas742 probably we need to align how to make it available via the ui5-webcompoents-react package |
* fix(ui5-table): prevent Safari from crashing The combination of display: table-cell and overflow: hidden styles was causing the browser to crash upon component re-rendering Fixes: #6570 * fix(ui5-table): prevent Safari from crashing * fix(ui5-table): prevent Safari from crashing Remove overflow: hidden style from the ui5-table-cell for all browsers --------- Co-authored-by: Deshev <I521896@Deshevs-MacBook-Pro.local>
* fix(ui5-table): prevent Safari from crashing The combination of display: table-cell and overflow: hidden styles was causing the browser to crash upon component re-rendering Fixes: #6570 * fix(ui5-table): prevent Safari from crashing * fix(ui5-table): prevent Safari from crashing Remove overflow: hidden style from the ui5-table-cell for all browsers --------- Co-authored-by: Deshev <I521896@Deshevs-MacBook-Pro.local>
* fix(ui5-table): prevent Safari from crashing The combination of display: table-cell and overflow: hidden styles was causing the browser to crash upon component re-rendering Fixes: #6570 * fix(ui5-table): prevent Safari from crashing * fix(ui5-table): prevent Safari from crashing Remove overflow: hidden style from the ui5-table-cell for all browsers --------- Co-authored-by: Deshev <I521896@Deshevs-MacBook-Pro.local>
* fix(ui5-table): prevent Safari from crashing The combination of display: table-cell and overflow: hidden styles was causing the browser to crash upon component re-rendering Fixes: #6570 * fix(ui5-table): prevent Safari from crashing * fix(ui5-table): prevent Safari from crashing Remove overflow: hidden style from the ui5-table-cell for all browsers --------- Co-authored-by: Deshev <I521896@Deshevs-MacBook-Pro.local>
Describe the bug
When the items of the
Table
component change, the whole application crashes on Safari.Isolated Example
sandbox
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The
Table
component should be able to handle element filteringScreenshots
If applicable, add screenshots to help explain your problem.
UI5 Web Components for React Information
@ui5/webcomponents
version: latest (1.10.3)@ui5/webcomponents-react
version: 1.8.1Operating System: Mac OS Ventura 13.2.1
Browser: Safari Version 16.3 (18614.4.6.1.6)
Additional context
When the keys in React are not unique the page works correctly. Unfortunately, once the keys are switched to unique(as it should be) the whole application crashes. The bug happens both on iPhone and Mac.
The text was updated successfully, but these errors were encountered: