Problem with apple-touch-icon

Hi Bruno,

i try to run your PWA example on my IIS and get problems with the desktop icon on
my ipad with ios 14.3

In Safari i start https://www.tmssoftware.com/pwa/calculator.html. Then i add this
app to home screen. Everything is running well and i see the TMS logo with the green dot on my desktop.

Now i compile your example and copy all files to my IIS (runs on 192.168.247.60).
In Safari i now start https://192.168.247.60/index.html and get the same calculator app and the app runs ok. But when i try to add this app to home screen i do not see the TMS logo but a dummy screenshot icon.

Why ?

Best regards
Peter

Did you deploy all files to your IIS server, i.e. all icon files & manifest.json file?

Den Inhalt des kompletten Ordners habe ich kopiert:
Dieser enthält folgende Files:

digital regular.ttf
IconResHigh.png
IconResLow.png
IconResMid.png
index.html
Manifest.json
PWACalculator.js
PWACalculator.js.map
ServiceWorker.js
IPWACalc.html

I cannot inspect this from here as this appears a local IP address.
Are you sure you use this local IP address from a correct working HTTPS enabled server?
I suggest to use the Chrome Lighthouse tool to inspect if everything is OK with your PWA.

Hi Bruno,

i did not change anything in your PWA example (except StartURL) and copied all files to the Rootdir
for port 443 in the IIS (runs on 192.168.247.60)

See index.html and TMS Options:

Running Lighthouse tells me there is an unkown error in starting the serviceworker

And apple-touch-icon is still not functional and why is page loading so slow?
I am testing on my LAN.

best regards
Peter

Look at serviceworker.js, it is possible there is a questionmark ? in front of the code.
Remove that questionmark. That was a bug that is internally here (and in beta 1.6) already fixed.

No there is no questionmark and i am running beta 1.6.

The serviceworker.js

var CACHE_NAME = "PWACalculator";
var CACHED_URLS = [
"index.html",
"digital%20regular.ttf",
"PWACalculator.js",
"UPWACalc.html"
];

self.addEventListener('install', function(event) {
event.waitUntil(
caches.open(CACHE_NAME).then(function(cache) {
return cache.addAll(CACHED_URLS);
})
);
});

self.addEventListener('fetch',function(event) {
event.respondWith(
fetch(event.request).catch(function() {
return caches.match(event.request).then(function(response) {
if (response) {
return response;
} else if (event.request.headers.get("accept").includes("text/html")) {
return caches.match("index.html");
}
});
})
);
});

I'm out of ideas, I cannot understand how copying a project can lead to a different behavior.