summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/web/UrlPreviewService.ts
diff options
context:
space:
mode:
authorpiuvas <mail@piuvas.net>2025-05-27 13:25:06 -0300
committerpiuvas <mail@piuvas.net>2025-05-27 13:25:06 -0300
commit5545ddf9ddefa5620c58ea34b2e6fdf18fdac30a (patch)
tree67606539def90e70a758e56272b16493b0d1c84c /packages/backend/src/server/web/UrlPreviewService.ts
parentfix generated migration. (diff)
downloadsharkey-5545ddf9ddefa5620c58ea34b2e6fdf18fdac30a.tar.gz
sharkey-5545ddf9ddefa5620c58ea34b2e6fdf18fdac30a.tar.bz2
sharkey-5545ddf9ddefa5620c58ea34b2e6fdf18fdac30a.zip
requested changes.
Diffstat (limited to 'packages/backend/src/server/web/UrlPreviewService.ts')
-rw-r--r--packages/backend/src/server/web/UrlPreviewService.ts18
1 files changed, 8 insertions, 10 deletions
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);
}
}