fix: use || for emoji url fallback instead of ??

This commit is contained in:
tamaina 2022-12-30 13:37:58 +00:00
parent 8090850ed6
commit 1a408db3b1
5 changed files with 10 additions and 6 deletions

View file

@ -111,7 +111,8 @@ export class CustomEmojiService {
if (emoji == null) return null; if (emoji == null) return null;
const isLocal = emoji.host == null; const isLocal = emoji.host == null;
const emojiUrl = emoji.publicUrl || emoji.originalUrl; // || emoji.originalUrl してるのは後方互換性のため // || emoji.originalUrl してるのは後方互換性のためpublicUrlはstringなので??はだめ)
const emojiUrl = emoji.publicUrl || emoji.originalUrl;
const url = emojiUrl; const url = emojiUrl;
return { return {

View file

@ -161,7 +161,8 @@ export class ReactionService {
reaction: decodedReaction.reaction, reaction: decodedReaction.reaction,
emoji: emoji != null ? { emoji: emoji != null ? {
name: emoji.host ? `${emoji.name}@${emoji.host}` : `${emoji.name}@.`, name: emoji.host ? `${emoji.name}@${emoji.host}` : `${emoji.name}@.`,
url: emoji.publicUrl ?? emoji.originalUrl, // || emoji.originalUrl してるのは後方互換性のため // || emoji.originalUrl してるのは後方互換性のためpublicUrlはstringなので??はだめ)
url: emoji.publicUrl || emoji.originalUrl,
} : null, } : null,
userId: user.id, userId: user.id,
}); });

View file

@ -172,7 +172,8 @@ export class ApRendererService {
icon: { icon: {
type: 'Image', type: 'Image',
mediaType: emoji.type ?? 'image/png', mediaType: emoji.type ?? 'image/png',
url: emoji.publicUrl ?? emoji.originalUrl, // ?? emoji.originalUrl してるのは後方互換性のため // || emoji.originalUrl してるのは後方互換性のためpublicUrlはstringなので??はだめ)
url: emoji.publicUrl || emoji.originalUrl,
}, },
}; };
} }

View file

@ -32,8 +32,8 @@ export class EmojiEntityService {
name: emoji.name, name: emoji.name,
category: emoji.category, category: emoji.category,
host: emoji.host, host: emoji.host,
// ?? emoji.originalUrl してるのは後方互換性のため // || emoji.originalUrl してるのは後方互換性のためpublicUrlはstringなので??はだめ)
url: opts.omitUrl ? undefined : (emoji.publicUrl ?? emoji.originalUrl), url: opts.omitUrl ? undefined : (emoji.publicUrl || emoji.originalUrl),
}; };
} }

View file

@ -245,7 +245,8 @@ export class ClientServerService {
reply.header('Content-Security-Policy', 'default-src \'none\'; style-src \'unsafe-inline\''); reply.header('Content-Security-Policy', 'default-src \'none\'; style-src \'unsafe-inline\'');
const url = new URL("/proxy/emoji.webp", this.config.url); const url = new URL("/proxy/emoji.webp", this.config.url);
url.searchParams.set('url', emoji.publicUrl ?? emoji.originalUrl); // ?? emoji.originalUrl してるのは後方互換性のため // || emoji.originalUrl してるのは後方互換性のためpublicUrlはstringなので??はだめ)
url.searchParams.set('url', emoji.publicUrl || emoji.originalUrl);
url.searchParams.set('emoji', '1'); url.searchParams.set('emoji', '1');
if ('static' in request.query) url.searchParams.set('static', '1'); if ('static' in request.query) url.searchParams.set('static', '1');