summaryrefslogtreecommitdiff
path: root/packages/backend/src/services
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2022-02-23 21:31:51 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2022-02-23 21:31:51 +0900
commit28a24d30d24f9456c6bd36fb17accfdcde579767 (patch)
tree1c2669dbf5b6a9d1f5033c809970e21ef19ccc6a /packages/backend/src/services
parentupdate deps (diff)
parentfix: also recognize "shortcut icon" favicon (#8220) (diff)
downloadmisskey-28a24d30d24f9456c6bd36fb17accfdcde579767.tar.gz
misskey-28a24d30d24f9456c6bd36fb17accfdcde579767.tar.bz2
misskey-28a24d30d24f9456c6bd36fb17accfdcde579767.zip
Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop
Diffstat (limited to 'packages/backend/src/services')
-rw-r--r--packages/backend/src/services/fetch-instance-metadata.ts18
1 files changed, 12 insertions, 6 deletions
diff --git a/packages/backend/src/services/fetch-instance-metadata.ts b/packages/backend/src/services/fetch-instance-metadata.ts
index 2c401508a9..95601bfd82 100644
--- a/packages/backend/src/services/fetch-instance-metadata.ts
+++ b/packages/backend/src/services/fetch-instance-metadata.ts
@@ -156,7 +156,8 @@ async function fetchFaviconUrl(instance: Instance, doc: DOMWindow['document'] |
const url = 'https://' + instance.host;
if (doc) {
- const href = doc.querySelector('link[rel="icon"]')?.getAttribute('href');
+ // https://github.com/misskey-dev/misskey/pull/8220#issuecomment-1025104043
+ const href = Array.from(doc.getElementsByTagName('link')).reverse().find(link => link.relList.contains('icon'))?.href;
if (href) {
return (new URL(href, url)).href;
@@ -186,11 +187,16 @@ async function fetchIconUrl(instance: Instance, doc: DOMWindow['document'] | nul
if (doc) {
const url = 'https://' + instance.host;
- const hrefAppleTouchIconPrecomposed = doc.querySelector('link[rel="apple-touch-icon-precomposed"]')?.getAttribute('href');
- const hrefAppleTouchIcon = doc.querySelector('link[rel="apple-touch-icon"]')?.getAttribute('href');
- const hrefIcon = doc.querySelector('link[rel="icon"]')?.getAttribute('href');
-
- const href = hrefAppleTouchIconPrecomposed || hrefAppleTouchIcon || hrefIcon;
+ // https://github.com/misskey-dev/misskey/pull/8220#issuecomment-1025104043
+ const links = Array.from(doc.getElementsByTagName('link')).reverse();
+ // https://github.com/misskey-dev/misskey/pull/8220/files/0ec4eba22a914e31b86874f12448f88b3e58dd5a#r796487559
+ const href =
+ [
+ links.find(link => link.relList.contains('apple-touch-icon-precomposed'))?.href,
+ links.find(link => link.relList.contains('apple-touch-icon'))?.href,
+ links.find(link => link.relList.contains('icon'))?.href,
+ ]
+ .find(href => href);
if (href) {
return (new URL(href, url)).href;