mirror of
https://github.com/MisskeyIO/misskey
synced 2024-11-23 14:46:40 +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 } & (
|
||||
{ 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 && (
|
||||
note.text != null ||
|
||||
note.reply != null ||
|
||||
|
@ -29,11 +29,13 @@ export function isRenote(note: MiNote): note is Renote {
|
||||
|
||||
export function isQuote(note: Renote): note is Quote {
|
||||
// NOTE: SYNC WITH NoteCreateService.isQuote
|
||||
return note.text != null ||
|
||||
return note.renoteId != null && (
|
||||
note.text != null ||
|
||||
note.cw != null ||
|
||||
note.replyId != null ||
|
||||
note.hasPoll ||
|
||||
note.fileIds.length > 0;
|
||||
note.fileIds.length > 0
|
||||
);
|
||||
}
|
||||
|
||||
type PackedRenote =
|
||||
@ -59,9 +61,11 @@ export function isRenotePacked(note: Packed<'Note'>): note is PackedRenote {
|
||||
}
|
||||
|
||||
export function isQuotePacked(note: PackedRenote): note is PackedQuote {
|
||||
return note.text != null ||
|
||||
return note.renoteId != null && (
|
||||
note.text != null ||
|
||||
note.cw != null ||
|
||||
note.replyId != 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 (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 (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 (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 (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) {
|
||||
const reply = note.renote.reply;
|
||||
// 自分のフォローしていないユーザーの 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 (note.renote.reply) {
|
||||
const reply = note.renote.reply;
|
||||
|
Loading…
Reference in New Issue
Block a user