From 8fde5acbbe7d8bf33562d8815c64492af8a6c344 Mon Sep 17 00:00:00 2001 From: Callum Macdonald Date: Sat, 10 Aug 2024 20:23:28 +0200 Subject: [PATCH] Add a 10ms delay after events. --- common/constants.ts | 4 +++- deno.lock | 4 ++++ deps.ts | 1 + validation/repost.ts | 4 ++++ 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/common/constants.ts b/common/constants.ts index 73bf8bd..32b79e1 100644 --- a/common/constants.ts +++ b/common/constants.ts @@ -22,7 +22,9 @@ export const MINIMUM_TRUSTROOTS_USERNAME_LENGTH = 3; export const WAIT_FOR_KIND_ZERO_TIMEOUT_SECONDS = 5; export const DEV_PUBKEY = - "80789235a71a388074abfa5c482e270456d2357425266270f82071cf2b1de74a" as const + "80789235a71a388074abfa5c482e270456d2357425266270f82071cf2b1de74a" as const; export const HITCHMAPS_AUTHOR_PUBLIC_KEY = "53055ee011e96a00a705b38253b9cbc6614ccbd37df4dad42ec69bbe608c4209" as const; + +export const DELAY_AFTER_PROCESSING_EVENT_MS = 10; diff --git a/deno.lock b/deno.lock index a4506d2..c9370ae 100644 --- a/deno.lock +++ b/deno.lock @@ -5,6 +5,7 @@ "jsr:@henrygd/queue@1.0.6": "jsr:@henrygd/queue@1.0.6", "jsr:@nostrify/nostrify@^0.30.0": "jsr:@nostrify/nostrify@0.30.0", "jsr:@nostrify/types@^0.30.0": "jsr:@nostrify/types@0.30.0", + "jsr:@std/async@1.0.3": "jsr:@std/async@1.0.3", "jsr:@std/encoding@^0.224.1": "jsr:@std/encoding@0.224.3", "jsr:@std/fmt@^1.0.0-rc.1": "jsr:@std/fmt@1.0.0", "jsr:@std/fs@^1.0.0-rc.5": "jsr:@std/fs@1.0.1", @@ -38,6 +39,9 @@ "@nostrify/types@0.30.0": { "integrity": "1f38fa849cff930bd709edbf94ef9ac02f46afb8b851f86c8736517b354616da" }, + "@std/async@1.0.3": { + "integrity": "6ed64678db43451683c6c176a21426a2ccd21ba0269ebb2c36133ede3f165792" + }, "@std/encoding@0.224.3": { "integrity": "5e861b6d81be5359fad4155e591acf17c0207b595112d1840998bb9f476dbdaf" }, diff --git a/deps.ts b/deps.ts index 02201f4..e091e5c 100644 --- a/deps.ts +++ b/deps.ts @@ -7,3 +7,4 @@ export const newQueue = newQueueImport; // import * as logImport from "jsr:@std/log@0.224.5"; // export const log = logImport.getLogger("nostroots-server"); export * as logPackage from "jsr:@std/log@0.224.5"; +export * as async from "jsr:@std/async@1.0.3"; diff --git a/validation/repost.ts b/validation/repost.ts index 3856be3..018ec60 100644 --- a/validation/repost.ts +++ b/validation/repost.ts @@ -13,6 +13,8 @@ import { validateEvent } from "./validate.ts"; import { newQueue } from "../deps.ts"; import { nostrTools } from "../deps.ts"; import { log } from "../log.ts"; +import { async } from "../deps.ts"; +import { DELAY_AFTER_PROCESSING_EVENT_MS } from "../common/constants.ts"; async function getRelayPool(isDev: true | undefined) { const relays = isDev ? DEV_RELAYS : DEFAULT_RELAYS; @@ -120,6 +122,8 @@ function processEventFactoryFactory( } const repostedEvent = await generateRepostedEvent(event, privateKey); publishEvent(relayPool, repostedEvent); + + await async.delay(DELAY_AFTER_PROCESSING_EVENT_MS); }; }; }