Browse Source

bug-fixes

Nostr-Signature: f5bde3d9199d8cbacca481959663f1e14c43e143ef2b5686502559408e1c526b 573634b648634cbad10f2451776089ea21090d9407f715e83c577b4611ae6edc 3ed47cd283746d290d8609cbfdefbcee31a19d8e43e1a6ebf5a2829904000d79b83d3235296af4b5f7b555051214fbf2fa5c7a6d7986dca853112bb4e122a6d5
main
Silberengel 3 weeks ago
parent
commit
c7ba8de2af
  1. 1
      nostr/commit-signatures.jsonl
  2. 30
      src/lib/services/nostr/event-cache.ts
  3. 5
      src/lib/services/nostr/persistent-event-cache.ts

1
nostr/commit-signatures.jsonl

@ -32,3 +32,4 @@ @@ -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"}

30
src/lib/services/nostr/event-cache.ts

@ -5,7 +5,17 @@ @@ -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<Logger> => {
if (!loggerCache) {
const loggerModule = await import('../logger.js');
loggerCache = loggerModule.default;
}
return loggerCache;
};
interface CacheEntry {
events: NostrEvent[];
@ -252,7 +262,11 @@ export class EventCache { @@ -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 { @@ -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 { @@ -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
});
}
}
}

5
src/lib/services/nostr/persistent-event-cache.ts

@ -12,8 +12,9 @@ @@ -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'; @@ -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
/**

Loading…
Cancel
Save