mirror of
https://github.com/dergigi/boris.git
synced 2025-12-19 07:34:28 +01:00
refactor: use applesauce EventStore for offline event management
Major improvements: - Store highlights in EventStore immediately when created - Query EventStore instead of local relays for offline sync - Pass eventStore to highlight creation service and hooks - Simplified offline sync: no more relay queries, just EventStore lookups - More efficient and reliable offline event tracking - Better integration with applesauce architecture Benefits: - Faster sync (no relay queries needed) - More reliable (events always in EventStore) - Cleaner code (leveraging applesauce patterns) - Better separation of concerns
This commit is contained in:
@@ -3,7 +3,7 @@ import { RelayPool } from 'applesauce-relay'
|
||||
import { IAccount } from 'applesauce-accounts'
|
||||
import { AddressPointer } from 'nostr-tools/nip19'
|
||||
import { NostrEvent } from 'nostr-tools'
|
||||
import { Helpers } from 'applesauce-core'
|
||||
import { Helpers, IEventStore } from 'applesauce-core'
|
||||
import { RELAYS } from '../config/relays'
|
||||
import { Highlight } from '../types/highlights'
|
||||
import { UserSettings } from './settingsService'
|
||||
@@ -35,6 +35,7 @@ export async function createHighlight(
|
||||
source: NostrEvent | string,
|
||||
account: IAccount,
|
||||
relayPool: RelayPool,
|
||||
eventStore: IEventStore,
|
||||
contentForContext?: string,
|
||||
comment?: string,
|
||||
settings?: UserSettings
|
||||
@@ -143,6 +144,10 @@ export async function createHighlight(
|
||||
eventId: signedEvent.id
|
||||
})
|
||||
|
||||
// Store the event in the local EventStore immediately
|
||||
eventStore.add(signedEvent)
|
||||
console.log('💾 Stored highlight in EventStore:', signedEvent.id.slice(0, 8))
|
||||
|
||||
// If we're in local-only mode, mark this event for later sync
|
||||
if (isLocalOnly) {
|
||||
markEventAsOfflineCreated(signedEvent.id)
|
||||
|
||||
Reference in New Issue
Block a user