fix(server): 非公開のクリップのURLでOGPレンダリングされる問題を修正

Fix #9129
This commit is contained in:
syuilo 2023-01-09 13:26:42 +09:00
parent 13aa4b64b4
commit 962373cf06
2 changed files with 3 additions and 3 deletions

View file

@ -100,6 +100,7 @@ You should also include the user name that made the change.
- Server: pages/likeのエラーIDが重複しているのを修正 @syuilo - Server: pages/likeのエラーIDが重複しているのを修正 @syuilo
- Server: pages/updateのパラメータによってはsummaryの値が更新されないのを修正 @syuilo - Server: pages/updateのパラメータによってはsummaryの値が更新されないのを修正 @syuilo
- Server: Escape SQL LIKE @mei23 - Server: Escape SQL LIKE @mei23
- Server: 非公開のクリップのURLでOGPレンダリングされる問題を修正 @syuilo
- Client: case insensitive emoji search @saschanaz - Client: case insensitive emoji search @saschanaz
- Client: InAppウィンドウが操作できなくなることがあるのを修正 @tamaina - Client: InAppウィンドウが操作できなくなることがあるのを修正 @tamaina
- Client: use proxied image for instance icon @syuilo - Client: use proxied image for instance icon @syuilo

View file

@ -312,7 +312,7 @@ export class ClientServerService {
fastify.get('/opensearch.xml', async (request, reply) => { fastify.get('/opensearch.xml', async (request, reply) => {
const meta = await this.metaService.fetch(); const meta = await this.metaService.fetch();
const name = meta.name || 'Misskey'; const name = meta.name ?? 'Misskey';
let content = ''; let content = '';
content += '<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">'; content += '<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">';
content += `<ShortName>${name}</ShortName>`; content += `<ShortName>${name}</ShortName>`;
@ -533,13 +533,12 @@ export class ClientServerService {
}); });
// Clip // Clip
// TODO: 非publicなclipのハンドリング
fastify.get<{ Params: { clip: string; } }>('/clips/:clip', async (request, reply) => { fastify.get<{ Params: { clip: string; } }>('/clips/:clip', async (request, reply) => {
const clip = await this.clipsRepository.findOneBy({ const clip = await this.clipsRepository.findOneBy({
id: request.params.clip, id: request.params.clip,
}); });
if (clip) { if (clip && clip.isPublic) {
const _clip = await this.clipEntityService.pack(clip); const _clip = await this.clipEntityService.pack(clip);
const profile = await this.userProfilesRepository.findOneByOrFail({ userId: clip.userId }); const profile = await this.userProfilesRepository.findOneByOrFail({ userId: clip.userId });
const meta = await this.metaService.fetch(); const meta = await this.metaService.fetch();