Favicon uses the original page URL to resolve relative icon links after a redirect
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 78/100
Hướng nghiên cứu
Bắt đầu trong Get.php tại các dòng 278, 115 và 152-154. Theo dõi cách safeFetch() xử lý các chuyển hướng và cách liên kết biểu tượng cùng fallback /favicon.ico được phân giải; tái hiện trường hợp chuyển hướng và xác nhận rằng biểu tượng được trả về đến từ URL của trang cuối cùng, chẳng hạn như /blog/images/icon.ico.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
👟 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
- Ngôn ngữ chính
- PHP
- Star
- 57.5k
- Fork
- 5.8k
- Merge trung bình
- 19 giờ 44 phút
- Pull request đã merge (30 ngày)
- 365
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của appwrite/appwrite
-
product / databases product / self-hosted product / sites product / storage product / vcs
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
appwrite/appwrite#12786 · 2 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
api / realtime product / auth product / functions product / storage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
appwrite/appwrite#11943 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
product / databases product / sites
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
appwrite/appwrite#11657 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
fix redis/redisinsight image tagĐang mởproduct / storage
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
appwrite/appwrite#11612 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
product / docs
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
appwrite/appwrite#7720 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của appwrite/appwrite
Issue tương tự
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
-
sync-en
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
Maintainer thường phản hồi trong vòng 1 ngày
-
sync-en
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Yoast/wordpress-seo#23658 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
fixed
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
firefly-iii/firefly-iii#12934 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày