summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-01-03 09:00:42 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-01-03 09:00:42 +0900
commitc8bd13971355e1f2a720bdd7d5c75404833bc0bd (patch)
treefa568c2a93a608acd0d5f2d82339b74bff00322f /packages
parentdrop latestRequestSentAt of instance (diff)
downloadsharkey-c8bd13971355e1f2a720bdd7d5c75404833bc0bd.tar.gz
sharkey-c8bd13971355e1f2a720bdd7d5c75404833bc0bd.tar.bz2
sharkey-c8bd13971355e1f2a720bdd7d5c75404833bc0bd.zip
drop lastCommunicatedAt of instance
Diffstat (limited to 'packages')
-rw-r--r--packages/backend/migration/1672704017999-remove-lastCommunicatedAt.js11
-rw-r--r--packages/backend/src/core/FederatedInstanceService.ts1
-rw-r--r--packages/backend/src/core/chart/charts/federation.ts4
-rw-r--r--packages/backend/src/core/entities/InstanceEntityService.ts1
-rw-r--r--packages/backend/src/models/entities/Instance.ts6
-rw-r--r--packages/backend/src/models/schema/federation-instance.ts5
-rw-r--r--packages/backend/src/queue/processors/DeliverProcessorService.ts1
-rw-r--r--packages/backend/src/queue/processors/InboxProcessorService.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/federation/instances.ts2
-rw-r--r--packages/frontend/src/pages/about.federation.vue4
-rw-r--r--packages/frontend/src/pages/admin/overview.instances.vue2
-rw-r--r--packages/frontend/src/pages/admin/overview.vue2
-rw-r--r--packages/frontend/src/ui/_common_/statusbar-federation.vue2
-rw-r--r--packages/frontend/src/widgets/federation.vue2
-rw-r--r--packages/frontend/src/widgets/instance-cloud.vue2
15 files changed, 19 insertions, 27 deletions
diff --git a/packages/backend/migration/1672704017999-remove-lastCommunicatedAt.js b/packages/backend/migration/1672704017999-remove-lastCommunicatedAt.js
new file mode 100644
index 0000000000..38a6769851
--- /dev/null
+++ b/packages/backend/migration/1672704017999-remove-lastCommunicatedAt.js
@@ -0,0 +1,11 @@
+export class removeLastCommunicatedAt1672704017999 {
+ name = 'removeLastCommunicatedAt1672704017999'
+
+ async up(queryRunner) {
+ await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "lastCommunicatedAt"`);
+ }
+
+ async down(queryRunner) {
+ await queryRunner.query(`ALTER TABLE "instance" ADD "lastCommunicatedAt" TIMESTAMP WITH TIME ZONE NOT NULL`);
+ }
+}
diff --git a/packages/backend/src/core/FederatedInstanceService.ts b/packages/backend/src/core/FederatedInstanceService.ts
index 97745a1168..48e77caaee 100644
--- a/packages/backend/src/core/FederatedInstanceService.ts
+++ b/packages/backend/src/core/FederatedInstanceService.ts
@@ -35,7 +35,6 @@ export class FederatedInstanceService {
id: this.idService.genId(),
host,
caughtAt: new Date(),
- lastCommunicatedAt: new Date(),
}).then(x => this.instancesRepository.findOneByOrFail(x.identifiers[0]));
this.cache.set(host, i);
diff --git a/packages/backend/src/core/chart/charts/federation.ts b/packages/backend/src/core/chart/charts/federation.ts
index d9234e8028..b8012809f7 100644
--- a/packages/backend/src/core/chart/charts/federation.ts
+++ b/packages/backend/src/core/chart/charts/federation.ts
@@ -86,7 +86,7 @@ export default class FederationChart extends Chart<typeof schema> {
.where(`instance.host IN (${ subInstancesQuery.getQuery() })`)
.andWhere(meta.blockedHosts.length === 0 ? '1=1' : 'instance.host NOT IN (:...blocked)', { blocked: meta.blockedHosts })
.andWhere('instance.isSuspended = false')
- .andWhere('instance.lastCommunicatedAt > :gt', { gt: new Date(Date.now() - (1000 * 60 * 60 * 24 * 30)) })
+ .andWhere('instance.isNotResponding = false')
.getRawOne()
.then(x => parseInt(x.count, 10)),
this.instancesRepository.createQueryBuilder('instance')
@@ -94,7 +94,7 @@ export default class FederationChart extends Chart<typeof schema> {
.where(`instance.host IN (${ pubInstancesQuery.getQuery() })`)
.andWhere(meta.blockedHosts.length === 0 ? '1=1' : 'instance.host NOT IN (:...blocked)', { blocked: meta.blockedHosts })
.andWhere('instance.isSuspended = false')
- .andWhere('instance.lastCommunicatedAt > :gt', { gt: new Date(Date.now() - (1000 * 60 * 60 * 24 * 30)) })
+ .andWhere('instance.isNotResponding = false')
.getRawOne()
.then(x => parseInt(x.count, 10)),
]);
diff --git a/packages/backend/src/core/entities/InstanceEntityService.ts b/packages/backend/src/core/entities/InstanceEntityService.ts
index 7742608b07..81d02bb331 100644
--- a/packages/backend/src/core/entities/InstanceEntityService.ts
+++ b/packages/backend/src/core/entities/InstanceEntityService.ts
@@ -33,7 +33,6 @@ export class InstanceEntityService {
notesCount: instance.notesCount,
followingCount: instance.followingCount,
followersCount: instance.followersCount,
- lastCommunicatedAt: instance.lastCommunicatedAt.toISOString(),
isNotResponding: instance.isNotResponding,
isSuspended: instance.isSuspended,
isBlocked: meta.blockedHosts.includes(instance.host),
diff --git a/packages/backend/src/models/entities/Instance.ts b/packages/backend/src/models/entities/Instance.ts
index e4e9835ce8..40d964dece 100644
--- a/packages/backend/src/models/entities/Instance.ts
+++ b/packages/backend/src/models/entities/Instance.ts
@@ -76,12 +76,6 @@ export class Instance {
public latestRequestReceivedAt: Date | null;
/**
- * このインスタンスと最後にやり取りした日時
- */
- @Column('timestamp with time zone')
- public lastCommunicatedAt: Date;
-
- /**
* このインスタンスと不通かどうか
*/
@Column('boolean', {
diff --git a/packages/backend/src/models/schema/federation-instance.ts b/packages/backend/src/models/schema/federation-instance.ts
index 739548103a..f3f93f3097 100644
--- a/packages/backend/src/models/schema/federation-instance.ts
+++ b/packages/backend/src/models/schema/federation-instance.ts
@@ -32,11 +32,6 @@ export const packedFederationInstanceSchema = {
type: 'number',
optional: false, nullable: false,
},
- lastCommunicatedAt: {
- type: 'string',
- optional: false, nullable: false,
- format: 'date-time',
- },
isNotResponding: {
type: 'boolean',
optional: false, nullable: false,
diff --git a/packages/backend/src/queue/processors/DeliverProcessorService.ts b/packages/backend/src/queue/processors/DeliverProcessorService.ts
index 0e74260386..571b9e9045 100644
--- a/packages/backend/src/queue/processors/DeliverProcessorService.ts
+++ b/packages/backend/src/queue/processors/DeliverProcessorService.ts
@@ -86,7 +86,6 @@ export class DeliverProcessorService {
this.federatedInstanceService.registerOrFetchInstanceDoc(host).then(i => {
this.instancesRepository.update(i.id, {
latestStatus: 200,
- lastCommunicatedAt: new Date(),
isNotResponding: false,
});
diff --git a/packages/backend/src/queue/processors/InboxProcessorService.ts b/packages/backend/src/queue/processors/InboxProcessorService.ts
index c032122caf..56058638c9 100644
--- a/packages/backend/src/queue/processors/InboxProcessorService.ts
+++ b/packages/backend/src/queue/processors/InboxProcessorService.ts
@@ -179,7 +179,6 @@ export class InboxProcessorService {
this.federatedInstanceService.registerOrFetchInstanceDoc(authUser.user.host).then(i => {
this.instancesRepository.update(i.id, {
latestRequestReceivedAt: new Date(),
- lastCommunicatedAt: new Date(),
isNotResponding: false,
});
diff --git a/packages/backend/src/server/api/endpoints/federation/instances.ts b/packages/backend/src/server/api/endpoints/federation/instances.ts
index 81276a7ab0..6672434fb5 100644
--- a/packages/backend/src/server/api/endpoints/federation/instances.ts
+++ b/packages/backend/src/server/api/endpoints/federation/instances.ts
@@ -64,8 +64,6 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
case '-followers': query.orderBy('instance.followersCount', 'ASC'); break;
case '+caughtAt': query.orderBy('instance.caughtAt', 'DESC'); break;
case '-caughtAt': query.orderBy('instance.caughtAt', 'ASC'); break;
- case '+lastCommunicatedAt': query.orderBy('instance.lastCommunicatedAt', 'DESC'); break;
- case '-lastCommunicatedAt': query.orderBy('instance.lastCommunicatedAt', 'ASC'); break;
default: query.orderBy('instance.id', 'DESC'); break;
}
diff --git a/packages/frontend/src/pages/about.federation.vue b/packages/frontend/src/pages/about.federation.vue
index 2b20f383d1..1709f06a16 100644
--- a/packages/frontend/src/pages/about.federation.vue
+++ b/packages/frontend/src/pages/about.federation.vue
@@ -30,15 +30,13 @@
<option value="-followers">{{ i18n.ts.followers }} ({{ i18n.ts.ascendingOrder }})</option>
<option value="+caughtAt">{{ i18n.ts.registeredAt }} ({{ i18n.ts.descendingOrder }})</option>
<option value="-caughtAt">{{ i18n.ts.registeredAt }} ({{ i18n.ts.ascendingOrder }})</option>
- <option value="+lastCommunicatedAt">{{ i18n.ts.lastCommunication }} ({{ i18n.ts.descendingOrder }})</option>
- <option value="-lastCommunicatedAt">{{ i18n.ts.lastCommunication }} ({{ i18n.ts.ascendingOrder }})</option>
</MkSelect>
</FormSplit>
</div>
<MkPagination v-slot="{items}" ref="instances" :key="host + state" :pagination="pagination">
<div class="dqokceoi">
- <MkA v-for="instance in items" :key="instance.id" v-tooltip.mfm="`Last communicated: ${dateString(instance.lastCommunicatedAt)}\nStatus: ${getStatus(instance)}`" class="instance" :to="`/instance-info/${instance.host}`">
+ <MkA v-for="instance in items" :key="instance.id" v-tooltip.mfm="`Status: ${getStatus(instance)}`" class="instance" :to="`/instance-info/${instance.host}`">
<MkInstanceCardMini :instance="instance"/>
</MkA>
</div>
diff --git a/packages/frontend/src/pages/admin/overview.instances.vue b/packages/frontend/src/pages/admin/overview.instances.vue
index ae10017aa8..15dbdc4639 100644
--- a/packages/frontend/src/pages/admin/overview.instances.vue
+++ b/packages/frontend/src/pages/admin/overview.instances.vue
@@ -22,7 +22,7 @@ const fetching = ref(true);
const fetch = async () => {
const fetchedInstances = await os.api('federation/instances', {
- sort: '+lastCommunicatedAt',
+ sort: '+latestRequestReceivedAt',
limit: 6,
});
instances.value = fetchedInstances;
diff --git a/packages/frontend/src/pages/admin/overview.vue b/packages/frontend/src/pages/admin/overview.vue
index d656e55200..5fdfa5f263 100644
--- a/packages/frontend/src/pages/admin/overview.vue
+++ b/packages/frontend/src/pages/admin/overview.vue
@@ -153,7 +153,7 @@ onMounted(async () => {
});
os.api('federation/instances', {
- sort: '+lastCommunicatedAt',
+ sort: '+latestRequestReceivedAt',
limit: 25,
}).then(res => {
activeInstances = res;
diff --git a/packages/frontend/src/ui/_common_/statusbar-federation.vue b/packages/frontend/src/ui/_common_/statusbar-federation.vue
index 7c3de32ac9..70d683d755 100644
--- a/packages/frontend/src/ui/_common_/statusbar-federation.vue
+++ b/packages/frontend/src/ui/_common_/statusbar-federation.vue
@@ -44,7 +44,7 @@ let key = $ref(0);
const tick = () => {
os.api('federation/instances', {
- sort: '+lastCommunicatedAt',
+ sort: '+latestRequestReceivedAt',
limit: 30,
}).then(res => {
instances.value = res;
diff --git a/packages/frontend/src/widgets/federation.vue b/packages/frontend/src/widgets/federation.vue
index 221972bc6f..a701ca5673 100644
--- a/packages/frontend/src/widgets/federation.vue
+++ b/packages/frontend/src/widgets/federation.vue
@@ -58,7 +58,7 @@ const fetching = ref(true);
const fetch = async () => {
const fetchedInstances = await os.api('federation/instances', {
- sort: '+lastCommunicatedAt',
+ sort: '+latestRequestReceivedAt',
limit: 5,
});
const fetchedCharts = await Promise.all(fetchedInstances.map(i => os.apiGet('charts/instance', { host: i.host, limit: 16, span: 'hour' })));
diff --git a/packages/frontend/src/widgets/instance-cloud.vue b/packages/frontend/src/widgets/instance-cloud.vue
index 4965616995..6d522ddbe8 100644
--- a/packages/frontend/src/widgets/instance-cloud.vue
+++ b/packages/frontend/src/widgets/instance-cloud.vue
@@ -54,7 +54,7 @@ function onInstanceClick(i) {
useInterval(() => {
os.api('federation/instances', {
- sort: '+lastCommunicatedAt',
+ sort: '+latestRequestReceivedAt',
limit: 25,
}).then(res => {
activeInstances = res;