diff --git a/packages/backend/src/core/chart/charts/users.ts b/packages/backend/src/core/chart/charts/users.ts index d148fc629..08f2bea40 100644 --- a/packages/backend/src/core/chart/charts/users.ts +++ b/packages/backend/src/core/chart/charts/users.ts @@ -4,7 +4,7 @@ */ import { Injectable, Inject } from '@nestjs/common'; -import { Not, IsNull, DataSource } from 'typeorm'; +import { Not, IsNull, Like, DataSource } from 'typeorm'; import type { MiUser } from '@/models/User.js'; import { AppLockService } from '@/core/AppLockService.js'; import { DI } from '@/di-symbols.js'; @@ -37,7 +37,7 @@ export default class UsersChart extends Chart { // eslint-disable protected async tickMajor(): Promise>> { const [localCount, remoteCount] = await Promise.all([ - this.usersRepository.countBy({ host: IsNull() }), + this.usersRepository.countBy({ host: IsNull(), usernameLower: Like("%.%") }), this.usersRepository.countBy({ host: Not(IsNull()) }), ]); diff --git a/packages/backend/src/server/api/endpoints/stats.ts b/packages/backend/src/server/api/endpoints/stats.ts index bf0cf74be..d73d5517e 100644 --- a/packages/backend/src/server/api/endpoints/stats.ts +++ b/packages/backend/src/server/api/endpoints/stats.ts @@ -71,12 +71,12 @@ export default class extends Endpoint { // eslint- ) { super(meta, paramDef, async () => { const notesChart = await this.notesChart.getChart('hour', 1, null); - const notesCount = notesChart.local.total[0] + notesChart.remote.total[0]; const originalNotesCount = notesChart.local.total[0]; + const notesCount = originalNotesCount + notesChart.remote.total[0]; const usersChart = await this.usersChart.getChart('hour', 1, null); - const usersCount = usersChart.local.total[0] + usersChart.remote.total[0]; - const originalUsersCount = usersChart.local.total[0] - 2; + const originalUsersCount = usersChart.local.total[0]; + const usersCount = originalUsersCount + usersChart.remote.total[0]; const [ reactionsCount, diff --git a/packages/frontend/src/pages/admin/overview.stats.vue b/packages/frontend/src/pages/admin/overview.stats.vue index 0f4707f08..89f53c332 100644 --- a/packages/frontend/src/pages/admin/overview.stats.vue +++ b/packages/frontend/src/pages/admin/overview.stats.vue @@ -12,8 +12,8 @@ SPDX-License-Identifier: AGPL-3.0-only
- - + +
Users
@@ -22,8 +22,8 @@ SPDX-License-Identifier: AGPL-3.0-only
- - + +
Notes
@@ -32,7 +32,7 @@ SPDX-License-Identifier: AGPL-3.0-only
- +
Instances
@@ -85,11 +85,11 @@ onMounted(async () => { onlineUsersCount.value = _onlineUsersCount; misskeyApiGet('charts/users', { limit: 2, span: 'day' }).then(chart => { - usersComparedToThePrevDay.value = stats.value.originalUsersCount - chart.local.total[1]; + usersComparedToThePrevDay.value = stats.value?.originalUsersCount! - chart.local.total[1]; }); misskeyApiGet('charts/notes', { limit: 2, span: 'day' }).then(chart => { - notesComparedToThePrevDay.value = stats.value.originalNotesCount - chart.local.total[1]; + notesComparedToThePrevDay.value = stats.value?.originalNotesCount! - chart.local.total[1]; }); fetching.value = false;