diff options
| author | piuvas <mail@piuvas.net> | 2025-05-27 13:25:06 -0300 |
|---|---|---|
| committer | piuvas <mail@piuvas.net> | 2025-05-27 13:25:06 -0300 |
| commit | 5545ddf9ddefa5620c58ea34b2e6fdf18fdac30a (patch) | |
| tree | 67606539def90e70a758e56272b16493b0d1c84c /packages/backend | |
| parent | fix generated migration. (diff) | |
| download | sharkey-5545ddf9ddefa5620c58ea34b2e6fdf18fdac30a.tar.gz sharkey-5545ddf9ddefa5620c58ea34b2e6fdf18fdac30a.tar.bz2 sharkey-5545ddf9ddefa5620c58ea34b2e6fdf18fdac30a.zip | |
requested changes.
Diffstat (limited to 'packages/backend')
| -rw-r--r-- | packages/backend/src/models/json-schema/user.ts | 2 | ||||
| -rw-r--r-- | packages/backend/src/server/web/UrlPreviewService.ts | 18 |
2 files changed, 9 insertions, 11 deletions
diff --git a/packages/backend/src/models/json-schema/user.ts b/packages/backend/src/models/json-schema/user.ts index 9bfb57fc66..82d354cfd0 100644 --- a/packages/backend/src/models/json-schema/user.ts +++ b/packages/backend/src/models/json-schema/user.ts @@ -237,7 +237,7 @@ export const packedUserLiteSchema = { }, }, attributionDomains: { - type: 'object', + type: 'array', nullable: false, optional: false, additionalProperties: { type: 'string', diff --git a/packages/backend/src/server/web/UrlPreviewService.ts b/packages/backend/src/server/web/UrlPreviewService.ts index b50e5d49fd..ccf8fa342d 100644 --- a/packages/backend/src/server/web/UrlPreviewService.ts +++ b/packages/backend/src/server/web/UrlPreviewService.ts @@ -28,7 +28,7 @@ import { ApNoteService } from '@/core/activitypub/models/ApNoteService.js'; import { AuthenticateService, AuthenticationError } from '@/server/api/AuthenticateService.js'; import { SkRateLimiterService } from '@/server/SkRateLimiterService.js'; import { BucketRateLimit, Keyed, sendRateLimitHeaders } from '@/misc/rate-limit-utils.js'; -import type { MiLocalUser } from '@/models/User.js'; +import type { MiLocalUser, MiUser } from '@/models/User.js'; import { getIpHash } from '@/misc/get-ip-hash.js'; import { isRetryableError } from '@/misc/is-retryable-error.js'; import type { FastifyRequest, FastifyReply } from 'fastify'; @@ -36,10 +36,7 @@ import type { FastifyRequest, FastifyReply } from 'fastify'; export type LocalSummalyResult = SummalyResult & { haveNoteLocally?: boolean; linkAttribution?: { - name: string, - username: string, - avatarUrl: string, - avatarBlurhash: string, + user: MiUser, } }; @@ -448,6 +445,10 @@ export class UrlPreviewService { } const array = fediverseCreator.split('@'); + + // make sure we only have username@host. + if (array.length !== 2) return; + const username = array[0].toLowerCase(); let host: string | null = array[1]; if (host.toLowerCase() === this.config.host) { @@ -459,14 +460,11 @@ export class UrlPreviewService { const attributionDomains = user.attributionDomains; if (attributionDomains.some(x => `.${url.host.toLowerCase()}`.endsWith(`.${x}`))) { summary.linkAttribution = { - name: user.name ?? user.username, - username: fediverseCreator, - avatarUrl: user.avatarUrl ?? '', - avatarBlurhash: user.avatarBlurhash ?? '', + user: user, }; } } catch { - console.warn('user not found: ' + fediverseCreator); + this.logger.warn('user not found: ' + fediverseCreator); } } |