diff --git a/AGENTS.md b/AGENTS.md index cf3f5eb..a905d3b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4766,6 +4766,18 @@ Type. The owner has been told this explicitly and accepts it. If the position ev is one setting (repo → private) plus `tailscale serve` for the over-the-air host (section AI), and nothing else in the project depends on anonymous access. +**Consequence: Gitea itself is now the over-the-air host**, no Tailscale needed while the repo stays +public. `companion-app/auslieferung/` carries `App.ipa`, `manifest.plist` and both icons, generated by +`ios-luftweg.sh auslieferung` (the second argument writes straight into the tracked folder). +Verified against the live server: manifest and icons return HTTP 200, the manifest parses (`plutil +-lint`) and its asset URL resolves to the real `.ipa`. + +One wrinkle worth knowing before debugging it twice: **Gitea serves every raw file as +`text/plain`**, deliberately, so the generated `index.html` is displayed as source and its install +button never renders. The manifest is unaffected — the iOS installer parses it as a plist regardless +of content type — so the working route is to paste the `itms-services://` URL into Safari's address +bar directly. The script prints that URL for exactly this reason. + --- ## Working conventions (observed — keep them) diff --git a/companion-app/scripts/ios-luftweg.sh b/companion-app/scripts/ios-luftweg.sh index 1264b81..97c3741 100755 --- a/companion-app/scripts/ios-luftweg.sh +++ b/companion-app/scripts/ios-luftweg.sh @@ -124,5 +124,13 @@ HTMLENDE echo "Ordner fertig: $ZIEL" echo -echo "Ausliefern: tailscale serve --bg $ZIEL" -echo "Auf dem iPhone in Safari oeffnen: $BASIS/" +echo "Wenn ein eigener Host ausliefert:" +echo " tailscale serve --bg $ZIEL" +echo " dann auf dem iPhone in Safari oeffnen: $BASIS/" +echo +# Gitea liefert rohe Dateien grundsaetzlich als text/plain aus - die +# index.html wird dort also als Quelltext angezeigt statt gerendert. Deshalb +# hier zusaetzlich der fertige Link zum Einfuegen in die Safari-Adresszeile; +# der funktioniert unabhaengig davon, ob eine Seite drumherum existiert. +echo "Ohne Seite (z. B. aus dem Repository heraus) direkt in Safari einfuegen:" +echo " itms-services://?action=download-manifest&url=$BASIS/manifest.plist"