Skip to content

Commit

Permalink
fix(backend): チャート生成時にinstance.isSuspendedが読まれてしまう問題の修正 (misskey-dev#…
Browse files Browse the repository at this point in the history
…13951)

* fix(backend): use sustensionState instead of isSuspended

* Update CHANGELOG.md
  • Loading branch information
tai-cha authored and anatawa12 committed Jun 20, 2024
1 parent ef28b79 commit 3ec2d76
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 3 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
- これによりサードパーティクライアントがVRTLの有無を認知できるようになりました。
- Enhance: VRTL参加サーバーの取得に失敗したときのリトライの間隔を短く
- Fix: 自分自身に対するリプライがwithReplies = falseなVRTL/VSTLにて含まれていない問題を修正
- チャート生成時にinstance.suspentionStateに置き換えられたinstance.isSuspendedが参照されてしまう問題を修正

## 2024.5.0-kinel.1

Expand Down
6 changes: 3 additions & 3 deletions packages/backend/src/core/chart/charts/federation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ export default class FederationChart extends Chart<typeof schema> { // eslint-di

const suspendedInstancesQuery = this.instancesRepository.createQueryBuilder('instance')
.select('instance.host')
.where('instance.isSuspended = true');
.where('instance.suspensionState != \'none\'');

const pubsubSubQuery = this.followingsRepository.createQueryBuilder('f')
.select('f.followerHost')
Expand Down Expand Up @@ -89,15 +89,15 @@ export default class FederationChart extends Chart<typeof schema> { // eslint-di
.select('COUNT(instance.id)')
.where(`instance.host IN (${ subInstancesQuery.getQuery() })`)
.andWhere(meta.blockedHosts.length === 0 ? '1=1' : 'instance.host NOT ILIKE ANY(ARRAY[:...blocked])', { blocked: meta.blockedHosts.flatMap(x => [x, `%.${x}`]) })
.andWhere('instance.isSuspended = false')
.andWhere('instance.suspensionState = \'none\'')
.andWhere('instance.isNotResponding = false')
.getRawOne()
.then(x => parseInt(x.count, 10)),
this.instancesRepository.createQueryBuilder('instance')
.select('COUNT(instance.id)')
.where(`instance.host IN (${ pubInstancesQuery.getQuery() })`)
.andWhere(meta.blockedHosts.length === 0 ? '1=1' : 'instance.host NOT ILIKE ANY(ARRAY[:...blocked])', { blocked: meta.blockedHosts.flatMap(x => [x, `%.${x}`]) })
.andWhere('instance.isSuspended = false')
.andWhere('instance.suspensionState = \'none\'')
.andWhere('instance.isNotResponding = false')
.getRawOne()
.then(x => parseInt(x.count, 10)),
Expand Down

0 comments on commit 3ec2d76

Please sign in to comment.