6c9959c00d
CI / test (push) Has been cancelled
iOS Safari's Add-to-Home-Screen flow probes /apple-touch-icon.png at the site root in addition to the <link rel> on the page. Those root paths currently 302 through Symfony's auth firewall to /login, so iOS gets HTML where it expects a PNG and falls back to whatever it cached from earlier installs (the 1 KB placeholder icon). Dropping the real PNG (and the -precomposed alias) directly in public/ makes nginx serve them as static files, ahead of the firewall. Also adds favicon.svg and a multi-size favicon.ico at the root for browsers/bots that probe / paths instead of reading <link>, and adds sizes="180x180" to every apple-touch-icon link so iOS doesn't have to guess. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
27 lines
1.1 KiB
Twig
27 lines
1.1 KiB
Twig
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>{% block title %}Welcome!{% endblock %}</title>
|
|
<link rel="icon" type="image/svg+xml" href="/build/favicon.svg">
|
|
<link rel="icon" type="image/png" sizes="32x32" href="/build/icons/favicon-32.png">
|
|
<link rel="icon" type="image/png" sizes="16x16" href="/build/icons/favicon-16.png">
|
|
<link rel="apple-touch-icon" sizes="180x180" href="/build/icons/apple-touch-icon.png">
|
|
{% block stylesheets %}
|
|
{% endblock %}
|
|
|
|
{% block javascripts %}
|
|
{% endblock %}
|
|
|
|
{% set frankenphpHotReload = app.request.server.get('FRANKENPHP_HOT_RELOAD') %}
|
|
{% if frankenphpHotReload %}
|
|
<meta name="frankenphp-hot-reload:url" content="{{ frankenphpHotReload }}">
|
|
<script src="https://cdn.jsdelivr.net/npm/idiomorph"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/frankenphp-hot-reload/+esm" type="module"></script>
|
|
{% endif %}
|
|
</head>
|
|
<body>
|
|
{% block body %}{% endblock %}
|
|
</body>
|
|
</html>
|