Merge remote-tracking branch 'upstream/develop' into fix-12160

This commit is contained in:
yukineko 2023-11-16 18:14:10 +09:00
commit abd6194cd3
No known key found for this signature in database
GPG Key ID: E5BACB72109B7B90
6 changed files with 15 additions and 6 deletions

View File

@ -36,6 +36,7 @@
- Fix: トークンのないプラグインをアンインストールするときにエラーが出ないように
- Fix: 投稿通知がオンでもダイレクト投稿はユーザーに通知されないようにされました
- Fix: ユーザタイムラインの「ノート」選択時にリノートが混ざり込んでしまうことがある問題の修正 #12306
- Fix: LTLに特定条件下にてチャンネルへの投稿が混ざり込む現象を修正
- Fix: ActivityPub: 追加情報のカスタム絵文字がユーザー情報のtagに含まれない問題を修正
- Fix: ActivityPubに関するセキュリティの向上
- Fix: 非公開の投稿に対して返信できないように

View File

@ -180,8 +180,10 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
redisTimeline.push(...timeline);
}
// fallback to db
if (redisTimeline.length === 0) {
// fallback to db
if (!serverSettings.enableFanoutTimelineDbFallback) return [];
return await this.getFromDb({
untilId,
sinceId,

View File

@ -155,8 +155,10 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
redisTimeline.push(...timeline);
}
// fallback to db
if (redisTimeline.length === 0) {
// fallback to db
if (!serverSettings.enableFanoutTimelineDbFallback) return [];
return await this.getFromDb({
untilId,
sinceId,
@ -185,7 +187,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
}, me: MiLocalUser | null) {
const query = this.queryService.makePaginationQuery(this.notesRepository.createQueryBuilder('note'),
ps.sinceId, ps.untilId)
.andWhere('(note.visibility = \'public\') AND (note.userHost IS NULL)')
.andWhere('(note.visibility = \'public\') AND (note.userHost IS NULL) AND (note.channelId IS NULL)')
.innerJoinAndSelect('note.user', 'user')
.leftJoinAndSelect('note.reply', 'reply')
.leftJoinAndSelect('note.renote', 'renote')

View File

@ -142,8 +142,10 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
redisTimeline.push(...timeline);
}
// fallback to db
if (redisTimeline.length === 0) {
// fallback to db
if (!serverSettings.enableFanoutTimelineDbFallback) return [];
return await this.getFromDb({
untilId,
sinceId,

View File

@ -161,8 +161,10 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
redisTimeline.push(...timeline);
}
// fallback to db
if (redisTimeline.length === 0) {
// fallback to db
if (!serverSettings.enableFanoutTimelineDbFallback) return [];
return await this.getFromDb(list, {
untilId,
sinceId,

View File

@ -52,7 +52,7 @@ class LocalTimelineChannel extends Channel {
if (note.user.host !== null) return;
if (note.visibility !== 'public') return;
if (note.channelId != null && !this.followingChannels.has(note.channelId)) return;
if (note.channelId != null) return;
// 関係ない返信は除外
if (note.reply && this.user && !this.following[note.userId]?.withReplies && !this.withReplies) {