summaryrefslogtreecommitdiff
path: root/packages/backend/src/server
diff options
context:
space:
mode:
authorCyberRex <hspwinx86@gmail.com>2023-10-21 18:38:51 +0900
committerGitHub <noreply@github.com>2023-10-21 18:38:51 +0900
commit12fe09c6e7c204c5b064eab2c8eda7329ff3a7a3 (patch)
treef6b919078c2abc24435fdf5e568739b156e38387 /packages/backend/src/server
parentfeat: Avatar decoration (#12096) (diff)
downloadsharkey-12fe09c6e7c204c5b064eab2c8eda7329ff3a7a3.tar.gz
sharkey-12fe09c6e7c204c5b064eab2c8eda7329ff3a7a3.tar.bz2
sharkey-12fe09c6e7c204c5b064eab2c8eda7329ff3a7a3.zip
プロフィールのURL認証をrel=meで可能に (#12100)
Diffstat (limited to 'packages/backend/src/server')
-rw-r--r--packages/backend/src/server/api/endpoints/i/update.ts8
1 files changed, 6 insertions, 2 deletions
diff --git a/packages/backend/src/server/api/endpoints/i/update.ts b/packages/backend/src/server/api/endpoints/i/update.ts
index f1837e7082..79ead57a66 100644
--- a/packages/backend/src/server/api/endpoints/i/update.ts
+++ b/packages/backend/src/server/api/endpoints/i/update.ts
@@ -437,9 +437,13 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
const myLink = `${this.config.url}/@${user.username}`;
- const includesMyLink = Array.from(doc.getElementsByTagName('a')).some(a => a.href === myLink);
+ const aEls = Array.from(doc.getElementsByTagName('a'));
+ const linkEls = Array.from(doc.getElementsByTagName('link'));
- if (includesMyLink) {
+ const includesMyLink = aEls.some(a => a.href === myLink);
+ const includesRelMeLinks = [...aEls, ...linkEls].some(link => link.rel === 'me' && link.href === myLink);
+
+ if (includesMyLink || includesRelMeLinks) {
await this.userProfilesRepository.createQueryBuilder('profile').update()
.where('userId = :userId', { userId: user.id })
.set({