mirror of
https://github.com/MisskeyIO/misskey
synced 2024-11-30 15:58:16 +09:00
fix(backend): リノートの評価の順番を変更、isQuote・isQuotePackedの挙動を修正 (MisskeyIO#622)
This commit is contained in:
parent
ba037963e8
commit
dc9a839626
@ -791,7 +791,7 @@ export class NoteCreateService implements OnApplicationShutdown {
|
|||||||
private isQuote(note: Option): note is Option & { renote: MiNote } & (
|
private isQuote(note: Option): note is Option & { renote: MiNote } & (
|
||||||
{ text: string } | { cw: string } | { reply: MiNote } | { poll: IPoll } | { files: MiDriveFile[] }
|
{ text: string } | { cw: string } | { reply: MiNote } | { poll: IPoll } | { files: MiDriveFile[] }
|
||||||
) {
|
) {
|
||||||
// NOTE: SYNC WITH misc/is-quote.ts
|
// NOTE: SYNC WITH misc/is-renote.ts
|
||||||
return note.renote != null && (
|
return note.renote != null && (
|
||||||
note.text != null ||
|
note.text != null ||
|
||||||
note.reply != null ||
|
note.reply != null ||
|
||||||
|
@ -29,11 +29,13 @@ export function isRenote(note: MiNote): note is Renote {
|
|||||||
|
|
||||||
export function isQuote(note: Renote): note is Quote {
|
export function isQuote(note: Renote): note is Quote {
|
||||||
// NOTE: SYNC WITH NoteCreateService.isQuote
|
// NOTE: SYNC WITH NoteCreateService.isQuote
|
||||||
return note.text != null ||
|
return note.renoteId != null && (
|
||||||
|
note.text != null ||
|
||||||
note.cw != null ||
|
note.cw != null ||
|
||||||
note.replyId != null ||
|
note.replyId != null ||
|
||||||
note.hasPoll ||
|
note.hasPoll ||
|
||||||
note.fileIds.length > 0;
|
note.fileIds.length > 0
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
type PackedRenote =
|
type PackedRenote =
|
||||||
@ -59,9 +61,11 @@ export function isRenotePacked(note: Packed<'Note'>): note is PackedRenote {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function isQuotePacked(note: PackedRenote): note is PackedQuote {
|
export function isQuotePacked(note: PackedRenote): note is PackedQuote {
|
||||||
return note.text != null ||
|
return note.renoteId != null && (
|
||||||
|
note.text != null ||
|
||||||
note.cw != null ||
|
note.cw != null ||
|
||||||
note.replyId != null ||
|
note.replyId != null ||
|
||||||
note.poll != null ||
|
note.poll != null ||
|
||||||
(note.fileIds != null && note.fileIds.length > 0);
|
(note.fileIds != null && note.fileIds.length > 0)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
@ -67,7 +67,7 @@ class GlobalTimelineChannel extends Channel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 純粋なリノート(引用リノートでないリノート)の場合
|
// 純粋なリノート(引用リノートでないリノート)の場合
|
||||||
if (isRenotePacked(note) && !isQuotePacked(note) && note.renote) {
|
if (note.renote && isRenotePacked(note) && !isQuotePacked(note)) {
|
||||||
if (!this.withRenotes) return;
|
if (!this.withRenotes) return;
|
||||||
if (note.renote.reply) {
|
if (note.renote.reply) {
|
||||||
const reply = note.renote.reply;
|
const reply = note.renote.reply;
|
||||||
|
@ -71,7 +71,7 @@ class HomeTimelineChannel extends Channel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 純粋なリノート(引用リノートでないリノート)の場合
|
// 純粋なリノート(引用リノートでないリノート)の場合
|
||||||
if (isRenotePacked(note) && !isQuotePacked(note) && note.renote) {
|
if (note.renote && isRenotePacked(note) && !isQuotePacked(note)) {
|
||||||
if (!this.withRenotes) return;
|
if (!this.withRenotes) return;
|
||||||
if (note.renote.reply) {
|
if (note.renote.reply) {
|
||||||
const reply = note.renote.reply;
|
const reply = note.renote.reply;
|
||||||
|
@ -85,7 +85,7 @@ class HybridTimelineChannel extends Channel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 純粋なリノート(引用リノートでないリノート)の場合
|
// 純粋なリノート(引用リノートでないリノート)の場合
|
||||||
if (isRenotePacked(note) && !isQuotePacked(note) && note.renote) {
|
if (note.renote && isRenotePacked(note) && !isQuotePacked(note)) {
|
||||||
if (!this.withRenotes) return;
|
if (!this.withRenotes) return;
|
||||||
if (note.renote.reply) {
|
if (note.renote.reply) {
|
||||||
const reply = note.renote.reply;
|
const reply = note.renote.reply;
|
||||||
|
@ -70,7 +70,7 @@ class LocalTimelineChannel extends Channel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 純粋なリノート(引用リノートでないリノート)の場合
|
// 純粋なリノート(引用リノートでないリノート)の場合
|
||||||
if (isRenotePacked(note) && !isQuotePacked(note) && note.renote) {
|
if (note.renote && isRenotePacked(note) && !isQuotePacked(note)) {
|
||||||
if (!this.withRenotes) return;
|
if (!this.withRenotes) return;
|
||||||
if (note.renote.reply) {
|
if (note.renote.reply) {
|
||||||
const reply = note.renote.reply;
|
const reply = note.renote.reply;
|
||||||
|
@ -54,7 +54,7 @@ class RoleTimelineChannel extends Channel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 純粋なリノート(引用リノートでないリノート)の場合
|
// 純粋なリノート(引用リノートでないリノート)の場合
|
||||||
if (isRenotePacked(note) && !isQuotePacked(note) && note.renote) {
|
if (note.renote && isRenotePacked(note) && !isQuotePacked(note)) {
|
||||||
if (note.renote.reply) {
|
if (note.renote.reply) {
|
||||||
const reply = note.renote.reply;
|
const reply = note.renote.reply;
|
||||||
// 自分のフォローしていないユーザーの visibility: followers な投稿への返信のリノートは弾く
|
// 自分のフォローしていないユーザーの visibility: followers な投稿への返信のリノートは弾く
|
||||||
|
@ -110,7 +110,7 @@ class UserListChannel extends Channel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 純粋なリノート(引用リノートでないリノート)の場合
|
// 純粋なリノート(引用リノートでないリノート)の場合
|
||||||
if (isRenotePacked(note) && !isQuotePacked(note) && note.renote) {
|
if (note.renote && isRenotePacked(note) && !isQuotePacked(note)) {
|
||||||
if (!this.withRenotes) return;
|
if (!this.withRenotes) return;
|
||||||
if (note.renote.reply) {
|
if (note.renote.reply) {
|
||||||
const reply = note.renote.reply;
|
const reply = note.renote.reply;
|
||||||
|
Loading…
Reference in New Issue
Block a user