Scenario:
Apple decided to not support PWAs in Europe in IOS 17.4. My company has multiple Angular PWAs, all using IndexedDB and providing full offline-usage as main feature, that apparently won't work anymore.
The apps communicate with a server. We maintain two versions of that server, e.g. v1.1 and v1.2 - some customers don't want or can't upgrade to v1.2 just yet. Not all new features of an app will get implemented in v1.1, and eventually we won't push updates for it anymore. At some point, we'll have the same situation with e.g. v1.2 and v1.3.
My questions:
Do I understand correctly that offline-usage and IndexedDB features won't work anymore?
If I wrap the PWAs via Capacitor and upload them as Custom App via App Store Connect, in IOS 17.4...
Will the app, including routing, work offline?
Will the IndexedDb still be usable as permanent data storage?
Can I upload v1.1 and v1.2 as separate apps or will I have to create on app with in-app purchase options? If it's the latter, how do I push updates? Apparently, Apple Review can cause problems with separate apps that have similar functions...
Thank you for your time!
Safari and Web
RSS for tagEnable web views and services in your apps.
Posts under Safari and Web tag
122 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
I recently noticed that using Google Docs, Google Sheets, and any other Google-related sites on a Safari browser uses tons of RAM. It usually consumes around 4-5 GB of RAM.
Compare it to when I use Google Docs on Chrome; it only uses around 1-2 GB.
Why is this so? I want to use Safari alone for work, but it's so slow. Do you have any tips on this?
Getting this error on some safari devices on few it is working.
{"logs":["Unable to generate ICNS file for push notification package"]}
https://monayqa.washgas.com/portal/auth/payment/2814a6ac-e9ef-4e54-86c3-a9e811cb46d2
If my app utilizes ASWebAuthenticationSession or SFSafariViewController, do I need to add all potential tracking domains that users may access within the session?
There is virtually no way to limit the URLs or domains that users can access within the ASWebAuthenticationSession or SFSafariViewController, so how can I know all the potential domains?
In Safari 17's private mode, an inconsistent behaviour has been observed where GET query parameters are stripped from window.location after following user's click on any link with GET query parameters. The issue is reproducible for any link with GET query parameters.
This issue varies; in some cases, the parameters remain visible in the URL, while in others, they are removed. (The window.location is always stripped of the query parameters).
This behaviour impacts both iOS and MacOS users, suggesting a broader issue with Safari's treatment of URL parameters in private mode.
The issue is not reproducible on both Safari < 17 and Safari 17 in Normal mode. Most probably it is the result of adding Advanced Tracking and Fingerprinting Protection in Safari 17.
Can you please clarify logic behind Advanced Tracking and Fingerprinting Protection? Is it an expected behaviour?
We have a credit card registration page where each input fields are loaded in each individual iframes.
Something like this: https://codesandbox.io/p/sandbox/autocomplete-and-iframes-qvy8dz
Using pre-registered test credit cards
Chrome: All fields are auto-filled
Safari: Only credit card number field is auto-filled
Is there a way to make Safari behave the same way with Chrome?
I have a web application built in NextJS that I use cookies to handle persisting authentication details. I clear the cookies on logout and this works in other browsers.
However, when I run this on Safari, it seems the browser is caching the cookie information. When I use the Safari debugger, I do not see the cookies in the Storage view, however, when I use document.cookies, I can retrieve them fine - which should not happen. This is not the case in Chrome.
I can't find any information on this online, so any help or insights would be greatly appreciated.
i suspected that the updated IOS may block the Leaflet Library and bootstrap
my website works on chrome, firefox but not the safari after it updates
can anyone please advise?
I have implemented Web push notifications for a website built on NextJs 13 using Firebase and they are working perfectly on desktop Chrome, Safari, and Android Chrome. But on IOS after adding the website to the home screen, the user initially starts receiving notifications after 3-4 notifications even if the user does nothing and just leaves the PWA open, the user stops receiving notifications foreground and background. On further debugging, I found out that the FCM device token gets changed.
I have no idea why it is changing automatically without doing anything It happens only for IOS.
IOS version 17.3 and 16.7, Firebase version 10.7.1
Is this a bug? or if someone can guide me on this?
Hi, I need to intercept from a UIViewController the postMessage that originate from the web page that is rendered in the SFSafariViewController component, is it possible to do it? how would be the correct implementation? thanks!
Safari shows error "QuotaExceededError: The quota has been exceeded"
May I ask what is the quota limit for Safari session storage / local storage?
macOS 13.4.1
Safari 17.1
Thanks
It was fine in 17.3, after upgrade to 17.4 beta the audio in Html just become silence.
I've tried iPhone13 and iPhone XS got the same result.
when i touch up on down the page get automatically scrolled
here is one gif video to show what i mean :
https://s13.gifyu.com/images/SCzSj.gif
i am trying to find any css or javascript solution to stop this
user experience is bad since user will push a button and page will move
Hello, since the last iOS 17.4 Europe update, and since the implementation of new rules for default browsers, PWAs no longer work. In fact, they are nothing more than shortcuts for internet pages, so this makes the application unusable, which could not necessarily be launched in install mode with notifications. I tried looking for changes but couldn't find them. I think it's linked to the fact that you can install applications from the web from a marketplace. If anyone has a solution or the same problem. Thank you
I have a table with a filter. The table only displays the table rows that matches the filter. In the javascript code, I have a filterInteraction() function that have a commonElements list and display the table rows if they are included in the commonElements list. In my html, when the user click, the filterInteraction() will be triggered. Here's part of my filterInteraction() function (the sensitive code is removed): "
function filterInteraction(){
let searchList = searchResult();
let checkboxList = checkboxResult();
let commonElements = searchList.filter(element => checkboxList.includes(element));
console.log("commonElements ==========", commonElements)
var table, tr, i;
table = document.getElementById("employeeTable");
let rows = table.getElementsByTagName("tbody")[0].getElementsByTagName("tr");
for (i = 0; i < rows.length; i++) {
let currentName = rows[i].getElementsByTagName("td")[0].textContent.trim();
if(commonElements.includes(currentName)){
rows[i].style.visibility = "visible";
// rows[i].removeAttribute("hidden");
// rows[i].style.display = "";
}
else{
rows[i].style.visibility = "hidden";
// rows[i].setAttribute("hidden", true);
// rows[i].style.display = "none";
}
}
countPart(commonElements.length);
}".
In this function, I printed the commonElements list, and the list is always correct. However, for the display, it's switching between displaying nothing and displaying the correct rows. (When entering the Safari, the first click on the filter makes the table empty, but the second click displays the correct rows, the next click will make the table displays nothing again .... ). Even during the time that the table display nothing, the commonElements list printed in console is still correct, which means the function does have the correct table rows, but they are not displayed. I tried three different ways to display the table row: "rows[i].style.visibility = "visible"; rows[i].removeAttribute("hidden"); rows[i].style.display = "";". None of them could work without the bug I mentioned above. I tested my filter on Chrome, FireFox, and IE, and my filter works perfectly on them. Any possible way to solve the issue on Safari? Why it has the display bug like this in Safari? Really need help!!! Thanks
Hi All,
I am having some issues with my website font on safari. It is showing the correct font, but it appears too bold. If I zoom into the site the font then appears correct but at full screen it is showing very bold.
Any ideas what the issue could be?
Kindest
Liam
On Safari Mobile and iOS version 16 or 17, while scrolling the webpage, the function browser.tabs.captureVisibleTab() is not returning the expected screen image.
The image is cropped from the top.
The probable reason for the same is the collapsible Address Bar.
The below attached image is the iPad mini (6th generation ) Simulator OS Version:17.0 simulator
The below attached image is created by browser.tabs.captureVisibleTab()
I tested it on
iPad mini (6th generation ) Simulator OS Version:17.0 and
iPad (8th generation) - iPadOS Version 16.2.
I'm developing a website. When I write font-family: system-ui,PingFang SC in css, I understand that there is no risk of infringement. Can you confirm it for me? At the same time, what I'm not sure about is if I take screenshots on my website, are there any risks in terms of copyright infringement? Looking forward to your reply
Add to apple calendar is not working react PWA app on iPhone
I have developed react PWA app
reactjs - v16.14.0
and testing in my iphone13.
I have used **npm library **
which opens google,outlook, apple calender event properly on android device, on IOS google and outlook works fine but add to apple calendar event doesnt not show any popup or not showing any error.
I have reported one issue on this library forum but they have mentioned that Apple blocks the dynamic generation of ics files
I am looking for resolution for this. Let me know proper way to add event in apple calender considering javascript library.
[Edited by Moderator]
Intercept WebView requests and add Auth token in all subsequent resource request [GET --> .js, .png, .css].
We have tried the below delegate methods and those call are not getting invoked.
We have a challenge with Webview when load our application URL.
func webView(_ webView: WKWebView, didReceiveServerRedirectForProvisionalNavigation navigation: WKNavigation!) {
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
we are looking for some delegate or protocol to intercept the request to add the token for all the requests.
is there any possible solution to fix this issue?
Thanks