manifest icons: per-build version query — PWA icon URLs are cached 48h by the phone and remove/re-add does not clear that cache, so launchers kept rendering the previous build's icon bytes
This commit is contained in:
1 parent
077e6141b3
commit
17e7c92ece
1 file changed
+14
-7
+14
-7
@@ -69,14 +69,21 @@ try:
|
||||
mf["description"] = "Member-governed AI inference — private and renewable model choices."
|
||||
# Deterministic icon list: explicit any/maskable entries (no dual-purpose
|
||||
# values — some Firefox Android versions mishandle "any maskable"), and
|
||||
# the launcher-suitable sizes first.
|
||||
# the launcher-suitable sizes first. Each src carries a per-build version
|
||||
# query: PWA icon URLs are served with max-age=172800, and removing/re-adding
|
||||
# the PWA does NOT clear the phone's HTTP cache — without the query, launchers
|
||||
# keep rendering the PREVIOUS build's icon bytes ("my icon never changes").
|
||||
ver = str(int(time.time()))
|
||||
def _v(src: str) -> str:
|
||||
return f"{src}?v={ver}"
|
||||
|
||||
mf["icons"] = [
|
||||
{"src": "assets/icon-192x192.png", "sizes": "192x192", "type": "image/png", "purpose": "any"},
|
||||
{"src": "assets/maskable-icon.png", "sizes": "512x512", "type": "image/png", "purpose": "any"},
|
||||
{"src": "assets/maskable-icon.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable"},
|
||||
{"src": "assets/apple-touch-icon-180x180.png", "sizes": "180x180", "type": "image/png"},
|
||||
{"src": "assets/favicon-32x32.png", "sizes": "32x32", "type": "image/png"},
|
||||
{"src": "assets/favicon-16x16.png", "sizes": "16x16", "type": "image/png"},
|
||||
{"src": _v("assets/icon-192x192.png"), "sizes": "192x192", "type": "image/png", "purpose": "any"},
|
||||
{"src": _v("assets/maskable-icon.png"), "sizes": "512x512", "type": "image/png", "purpose": "any"},
|
||||
{"src": _v("assets/maskable-icon.png"), "sizes": "512x512", "type": "image/png", "purpose": "maskable"},
|
||||
{"src": _v("assets/apple-touch-icon-180x180.png"), "sizes": "180x180", "type": "image/png"},
|
||||
{"src": _v("assets/favicon-32x32.png"), "sizes": "32x32", "type": "image/png"},
|
||||
{"src": _v("assets/favicon-16x16.png"), "sizes": "16x16", "type": "image/png"},
|
||||
]
|
||||
open(MPATH, "w", encoding="utf-8").write(_json.dumps(mf, indent=2))
|
||||
print("manifest: co-op identity set")
|
||||
|
||||
Reference in new issue
Block a user