upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/src/nostr
diff options
context:
space:
mode:
authorDanConwayDev <DanConwayDev@protonmail.com>2026-01-28 21:00:14 +0000
committerDanConwayDev <DanConwayDev@protonmail.com>2026-01-28 21:00:14 +0000
commitf148b3a0e4b032c0acf835cda6d2935e19b9f67e (patch)
treedceea944969465ae6855fa8b1c68d3553334fc1f /src/nostr
parente9daa340ce1bd215e71d2dc86a81207b7d61df02 (diff)
feat(purgatory): track event source for filtered expiry logging
Add EventSource enum (Direct/Sync) to purgatory entries to distinguish between user-submitted events and sync-fetched events. This enables: - WARN-level logging for direct submissions that expire (user should know) - DEBUG-level logging for sync-fetched expirations (expected behavior) - Source upgrade from Sync→Direct if user submits after sync - Expiry timer reset on source upgrade (fresh 30-min window for user) The source is included in [PURGATORY_EXPIRED] logs as source=direct or source=sync for easy filtering.
Diffstat (limited to 'src/nostr')
-rw-r--r--src/nostr/builder.rs2
-rw-r--r--src/nostr/policy/state.rs2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/nostr/builder.rs b/src/nostr/builder.rs
index 629c111..9211972 100644
--- a/src/nostr/builder.rs
+++ b/src/nostr/builder.rs
@@ -399,7 +399,7 @@ impl Nip34WritePolicy {
399 // Add to purgatory 399 // Add to purgatory
400 self.ctx 400 self.ctx
401 .purgatory 401 .purgatory
402 .add_pr(event.clone(), event.id.to_hex(), commit.clone()); 402 .add_pr(event.clone(), event.id.to_hex(), commit.clone(), is_synced);
403 403
404 WritePolicyResult::Reject { 404 WritePolicyResult::Reject {
405 status: true, // Client sees OK 405 status: true, // Client sees OK
diff --git a/src/nostr/policy/state.rs b/src/nostr/policy/state.rs
index f94f004..52f0483 100644
--- a/src/nostr/policy/state.rs
+++ b/src/nostr/policy/state.rs
@@ -207,7 +207,7 @@ impl StatePolicy {
207 // (add_state automatically enqueues for background sync) 207 // (add_state automatically enqueues for background sync)
208 self.ctx 208 self.ctx
209 .purgatory 209 .purgatory
210 .add_state(event.clone(), state.identifier.clone(), event.pubkey); 210 .add_state(event.clone(), state.identifier.clone(), event.pubkey, is_synced);
211 211
212 tracing::info!( 212 tracing::info!(
213 "state event added to purgatory: eventid: {}, identifier: {}", 213 "state event added to purgatory: eventid: {}, identifier: {}",