Favicon uses the original page URL to resolve relative icon links after a redirect
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 78/100
Rechercherichtung
Beginne in Get.php bei den Zeilen 278, 115 und 152-154. Verfolge, wie safeFetch() Weiterleitungen behandelt und wie der Icon-Link sowie der Fallback /favicon.ico aufgelöst werden; reproduziere den Weiterleitungsfall und bestätige, dass das zurückgegebene Icon von der URL der endgültigen Seite stammt, beispielsweise /blog/images/icon.ico.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
👟 Reproduction steps
- On a public test host, make
/startredirect to/blog/page. - Serve
/blog/pagewith<link rel="icon" href="images/icon.ico">. - Serve different icons at
/images/icon.icoand/blog/images/icon.ico. - Request
/v1/avatars/faviconwithurlset tohttps://<test-host>/start.
👍 Expected behavior
The endpoint returns the icon from /blog/images/icon.ico, resolving the relative link against the page URL reached after the redirect.
👎 Actual Behavior
It follows the redirect but resolves the icon link against the original /start URL, so it returns /images/icon.ico instead.
Cause: safeFetch() loses the final URL after redirects (Get.php:278), and icon links and the /favicon.ico fallback are resolved against the original $url (Get.php:115, 152-154).
🎲 Appwrite version
Different version (specify in environment)
💻 Operating system
Linux
🧱 Your Environment
Appwrite self-hosted build from upstream main. No SDK used. Reproduced with controlled redirect and favicon responses.
👀 Have you spent some time to check if this issue has been raised before?
- I checked and didn't find similar issue
🏢 Have you read the Code of Conduct?
- I have read the Code of Conduct
- Vorherrschende Sprache
- PHP
- Sterne
- 57.5k
- Forks
- 5.8k
- Ø Merge
- 19 Std. 44 Min.
- Gemergte PRs (30 T.)
- 365
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus appwrite/appwrite
-
product / databases product / self-hosted product / sites product / storage product / vcs
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
appwrite/appwrite#12786 · 2 Kommentare · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
api / realtime product / auth product / functions product / storage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
appwrite/appwrite#11943 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
product / databases product / sites
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
appwrite/appwrite#11657 · 5 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
product / storage
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
appwrite/appwrite#11612 · 5 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
product / docs
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
appwrite/appwrite#7720 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in appwrite/appwrite
Ähnliche Issues
-
sync-en
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug Feature: Kiosk
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 1 Tag
-
Infrastructure: actions Module: zmscitizenapi Module: zmsentities php Type: Bug unit tests
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
it-at-m/eappointment#3480 ·
Maintainer antworten meist innerhalb von 1 Tag
-
HttpClient
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
CI: composer install fails — league/flysystem 1.x blocked by security advisory GHSA-cxf4-7mrp-vvprOffendevops type: bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 1 Tag