2026-01-13 14:49:19 +01:00

118 lines
3.9 KiB
TypeScript

import type { Event } from 'nostr-tools'
import { PLATFORM_SERVICE } from '../platformConfig'
import { TARGET_EVENT_ID } from './constants'
type ExtractedTags = ReturnType<typeof import('../nostrTagSystem').extractTagsFromEvent>
export function isTargetDebugEvent(eventId: string): boolean {
return eventId === TARGET_EVENT_ID
}
export function logRelaySyncProgress(params: { relayUrl: string; eventCount: number }): void {
if (params.eventCount % 100 !== 0) {
return
}
console.warn(
`[PlatformSync] Received ${params.eventCount} events from relay ${params.relayUrl} (client-side filtering in progress)`
)
}
export function logTargetEventReceived(params: { relayUrl: string; event: Event; eventCount: number }): void {
if (!isTargetDebugEvent(params.event.id)) {
return
}
console.warn(`[PlatformSync] ✅ Received target event from relay ${params.relayUrl} (event #${params.eventCount}):`, {
id: params.event.id,
created_at: params.event.created_at,
created_at_date: new Date(params.event.created_at * 1000).toISOString(),
pubkey: params.event.pubkey,
allTags: params.event.tags,
serviceTags: params.event.tags.filter((tag) => tag[0] === 'service'),
})
}
export function logTargetEventTags(params: {
event: Event
tags: ExtractedTags
}): void {
if (!isTargetDebugEvent(params.event.id)) {
return
}
console.warn(`[PlatformSync] Extracted tags for target event:`, {
extractedTags: params.tags,
hasServiceTag: params.tags.service === PLATFORM_SERVICE,
serviceValue: params.tags.service,
expectedService: PLATFORM_SERVICE,
})
}
export function logTargetEventAccepted(event: Event): void {
if (!isTargetDebugEvent(event.id)) {
return
}
console.warn(`[PlatformSync] Target event accepted and added to relayEvents`)
}
export function logTargetEventRejected(params: { event: Event; tags: ExtractedTags }): void {
if (!isTargetDebugEvent(params.event.id)) {
return
}
console.warn(
`[PlatformSync] Event ${params.event.id} rejected: service tag is "${params.tags.service}", expected "${PLATFORM_SERVICE}"`
)
}
export function logTargetEventDebug(params: { event: Event; tags: ExtractedTags }): void {
if (!isTargetDebugEvent(params.event.id)) {
return
}
console.warn(`[PlatformSync] Processing target event:`, {
id: params.event.id,
type: params.tags.type,
hidden: params.tags.hidden,
service: params.tags.service,
version: params.tags.version,
})
}
export function logTargetEventSkipped(params: { event: Event; tags: ExtractedTags }): void {
if (!isTargetDebugEvent(params.event.id) || !params.tags.hidden) {
return
}
console.warn(`[PlatformSync] Target event skipped: hidden=${params.tags.hidden}`)
}
export function logTargetEventAttempt(params: { event: Event; message: string }): void {
if (!isTargetDebugEvent(params.event.id)) {
return
}
console.warn(`[PlatformSync] ${params.message}`)
}
export function logTargetEventParsed(params: { event: Event; parsed: unknown }): void {
if (!isTargetDebugEvent(params.event.id)) {
return
}
const parsedObj = params.parsed as { hash?: string } | null
console.warn(`[PlatformSync] parsePresentationEvent result for target event:`, {
parsed: parsedObj !== null,
hasHash: parsedObj?.hash !== undefined,
hash: parsedObj?.hash,
})
}
export function logTargetEventCached(params: { event: Event; hash: string }): void {
if (!isTargetDebugEvent(params.event.id)) {
return
}
console.warn(`[PlatformSync] Target event cached successfully as author with hash:`, params.hash)
}
export function logTargetEventNotCached(params: { event: Event; parsed: unknown }): void {
if (!isTargetDebugEvent(params.event.id)) {
return
}
const parsedObj = params.parsed as { hash?: string } | null
console.warn(`[PlatformSync] Target event NOT cached: parsed=${parsedObj !== null}, hasHash=${parsedObj?.hash !== undefined}`)
}