fix(backend): ユーザータイムラインのファイル付きフィルター機能がリプライやチャンネルの投稿にも適用されるように (MisskeyIO#252)
This commit is contained in:
		@@ -890,6 +890,9 @@ export class NoteCreateService implements OnApplicationShutdown {
 | 
			
		||||
			this.funoutTimelineService.push(`channelTimeline:${note.channelId}`, note.id, this.config.perChannelMaxNoteCacheCount, r);
 | 
			
		||||
 | 
			
		||||
			this.funoutTimelineService.push(`userTimelineWithChannel:${user.id}`, note.id, note.userHost == null ? meta.perLocalUserUserTimelineCacheMax : meta.perRemoteUserUserTimelineCacheMax, r);
 | 
			
		||||
			if (note.fileIds.length > 0) {
 | 
			
		||||
				this.funoutTimelineService.push(`userTimelineWithChannelWithFiles:${user.id}`, note.id, note.userHost == null ? meta.perLocalUserUserTimelineCacheMax / 2 : meta.perRemoteUserUserTimelineCacheMax / 2, r);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			const channelFollowings = await this.channelFollowingsRepository.find({
 | 
			
		||||
				where: {
 | 
			
		||||
@@ -931,6 +934,9 @@ export class NoteCreateService implements OnApplicationShutdown {
 | 
			
		||||
			// 自分自身以外への返信
 | 
			
		||||
			if (note.replyId && note.replyUserId !== note.userId) {
 | 
			
		||||
				this.funoutTimelineService.push(`userTimelineWithReplies:${user.id}`, note.id, note.userHost == null ? meta.perLocalUserUserTimelineCacheMax : meta.perRemoteUserUserTimelineCacheMax, r);
 | 
			
		||||
				if (note.fileIds.length > 0) {
 | 
			
		||||
					this.funoutTimelineService.push(`userTimelineWithRepliesWithFiles:${user.id}`, note.id, note.userHost == null ? meta.perLocalUserUserTimelineCacheMax / 2 : meta.perRemoteUserUserTimelineCacheMax / 2, r);
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if (note.visibility === 'public' && note.userHost == null) {
 | 
			
		||||
					this.funoutTimelineService.push('localTimelineWithReplies', note.id, 300, r);
 | 
			
		||||
 
 | 
			
		||||
@@ -85,11 +85,17 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
 | 
			
		||||
					this.cacheService.userMutingsCache.fetch(me.id),
 | 
			
		||||
				]) : [new Set<string>()];
 | 
			
		||||
 | 
			
		||||
				const [noteIdsRes, repliesNoteIdsRes, channelNoteIdsRes] = await Promise.all([
 | 
			
		||||
					this.funoutTimelineService.get(ps.withFiles ? `userTimelineWithFiles:${ps.userId}` : `userTimeline:${ps.userId}`, untilId, sinceId),
 | 
			
		||||
					ps.withReplies ? this.funoutTimelineService.get(`userTimelineWithReplies:${ps.userId}`, untilId, sinceId) : Promise.resolve([]),
 | 
			
		||||
					ps.withChannelNotes ? this.funoutTimelineService.get(`userTimelineWithChannel:${ps.userId}`, untilId, sinceId) : Promise.resolve([]),
 | 
			
		||||
				]);
 | 
			
		||||
				const [noteIdsRes, repliesNoteIdsRes, channelNoteIdsRes] = ps.withFiles
 | 
			
		||||
					? await Promise.all([
 | 
			
		||||
						this.funoutTimelineService.get(`userTimelineWithFiles:${ps.userId}`, untilId, sinceId),
 | 
			
		||||
						ps.withReplies ? this.funoutTimelineService.get(`userTimelineWithRepliesWithFiles:${ps.userId}`, untilId, sinceId) : Promise.resolve([]),
 | 
			
		||||
						ps.withChannelNotes ? this.funoutTimelineService.get(`userTimelineWithChannelWithFiles:${ps.userId}`, untilId, sinceId) : Promise.resolve([]),
 | 
			
		||||
					])
 | 
			
		||||
					: await Promise.all([
 | 
			
		||||
						this.funoutTimelineService.get(`userTimeline:${ps.userId}`, untilId, sinceId),
 | 
			
		||||
						ps.withReplies ? this.funoutTimelineService.get(`userTimelineWithReplies:${ps.userId}`, untilId, sinceId) : Promise.resolve([]),
 | 
			
		||||
						ps.withChannelNotes ? this.funoutTimelineService.get(`userTimelineWithChannel:${ps.userId}`, untilId, sinceId) : Promise.resolve([]),
 | 
			
		||||
					]);
 | 
			
		||||
 | 
			
		||||
				let noteIds = Array.from(new Set([
 | 
			
		||||
					...noteIdsRes,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user