diff --git a/nostr/commit-signatures.jsonl b/nostr/commit-signatures.jsonl index e3a08a8..a0d34b1 100644 --- a/nostr/commit-signatures.jsonl +++ b/nostr/commit-signatures.jsonl @@ -32,3 +32,4 @@ {"kind":1640,"pubkey":"573634b648634cbad10f2451776089ea21090d9407f715e83c577b4611ae6edc","created_at":1771622823,"tags":[["author","Silberengel","silberengel7@protonmail.com"],["message","finish missing events"]],"content":"Signed commit: finish missing events","id":"964e4a35978748cbbc5127daad5c8a0724b6df6f4342c5b0940dd16bc2e8262d","sig":"f44401709ba7a5fdf988f149033d7aa9bd838e8d6b86cd6357d738e69fab405d0df70394910ceebdb22501518583280499320424a5e7b4999e91d1fb6a2b07b8"} {"kind":1640,"pubkey":"573634b648634cbad10f2451776089ea21090d9407f715e83c577b4611ae6edc","created_at":1771623058,"tags":[["author","Silberengel","silberengel7@protonmail.com"],["message","bug-fixes"]],"content":"Signed commit: bug-fixes","id":"29ded44ac53cd8c924310728e3bac34070a2daa62418f3d79a386fdc84d93afe","sig":"a60a145c2f234e4bad593423ebc2a39ab12ec7a78c343b46348e6dbeac809be9b61e42219c9d569cc0902788bb59af3c36ffd0de1aa56d9d52611575d2ac797f"} {"kind":1640,"pubkey":"573634b648634cbad10f2451776089ea21090d9407f715e83c577b4611ae6edc","created_at":1771624450,"tags":[["author","Silberengel","silberengel7@protonmail.com"],["message","bug-fixes and doc updates"]],"content":"Signed commit: bug-fixes and doc updates","id":"d089915a2d9a9d46ba25d2d3c1cb4608a2b658ecc4260f17e73efa4ccc63a28d","sig":"3d447f05a55704d45ed843b7cc5fa16e49f3da0e452b1523392aefbb7a2ae3e79400a763df5705db8e38abc89e9a89480ab2c529890b531b171c4e980520d9b8"} +{"kind":1640,"pubkey":"573634b648634cbad10f2451776089ea21090d9407f715e83c577b4611ae6edc","created_at":1771625218,"tags":[["author","Silberengel","silberengel7@protonmail.com"],["message","bug-fix"]],"content":"Signed commit: bug-fix","id":"1cc16c438c4b1cc5170a90a7e4b540afa24d0c698538dc332fa4753437b21dfe","sig":"3caddc0d00e29995f4920bd4035ea61b4fd2d17e366bdd18889ede38a5ea960cd9f83a9f524b777b8de7bf7e4cdf59ab55c8fb4e46932655985ba8c6f3d7e7da"} diff --git a/src/lib/services/nostr/event-cache.ts b/src/lib/services/nostr/event-cache.ts index d1d95ec..60b3dd7 100644 --- a/src/lib/services/nostr/event-cache.ts +++ b/src/lib/services/nostr/event-cache.ts @@ -5,7 +5,17 @@ import type { NostrEvent, NostrFilter } from '../../types/nostr.js'; import { KIND } from '../../types/nostr.js'; -import logger from '../logger.js'; +// Lazy import logger to avoid initialization order issues +import type { Logger } from '../../types/logger.js'; + +let loggerCache: Logger | null = null; +const getLogger = async (): Promise => { + if (!loggerCache) { + const loggerModule = await import('../logger.js'); + loggerCache = loggerModule.default; + } + return loggerCache; +}; interface CacheEntry { events: NostrEvent[]; @@ -252,7 +262,11 @@ export class EventCache { } if (cleaned > 0) { - logger.debug({ cleaned, remaining: this.cache.size }, 'Event cache cleanup'); + getLogger().then(logger => { + logger.debug({ cleaned, remaining: this.cache.size }, 'Event cache cleanup'); + }).catch(() => { + // Ignore logger errors + }); } } @@ -271,7 +285,11 @@ export class EventCache { this.cache.delete(entries[i].key); } - logger.debug({ removed: toRemove, remaining: this.cache.size }, 'Event cache eviction'); + getLogger().then(logger => { + logger.debug({ removed: toRemove, remaining: this.cache.size }, 'Event cache eviction'); + }).catch(() => { + // Ignore logger errors + }); } /** @@ -363,7 +381,11 @@ export class EventCache { } if (removedCount > 0) { - logger.debug({ removedCount, deletedEventIds: deletedEventIds.size, deletedAddresses: deletedAddresses.size }, 'Processed deletion events and removed from in-memory cache'); + getLogger().then(logger => { + logger.debug({ removedCount, deletedEventIds: deletedEventIds.size, deletedAddresses: deletedAddresses.size }, 'Processed deletion events and removed from in-memory cache'); + }).catch(() => { + // Ignore logger errors + }); } } } diff --git a/src/lib/services/nostr/persistent-event-cache.ts b/src/lib/services/nostr/persistent-event-cache.ts index fb4f361..f1ee885 100644 --- a/src/lib/services/nostr/persistent-event-cache.ts +++ b/src/lib/services/nostr/persistent-event-cache.ts @@ -12,8 +12,9 @@ import type { NostrEvent, NostrFilter } from '../../types/nostr.js'; import { KIND } from '../../types/nostr.js'; -import logger from '../logger.js'; import type { NostrClient } from './nostr-client.js'; +// Import logger normally - the singleton is created lazily in the class constructor +import logger from '../logger.js'; const DB_NAME = 'gitrepublic_events'; const DB_VERSION = 1; @@ -21,7 +22,7 @@ const STORE_EVENTS = 'events'; const STORE_FILTERS = 'filters'; const STORE_PROFILES = 'profiles'; // Optimized storage for kind 0 events -// Replaceable event kinds (only latest per pubkey matters) +// Replaceable event kinds (only latest per pubkey matters)s const REPLACEABLE_KINDS = [0, 3, 10002]; // Profile, Contacts, Relay List /**