3c6b2bec9f
The WakeUp notification path had three latent bugs that caused pushed WakeUps to silently not deliver anything to the user: - WakeUpEvent.build() tagged the about event's AUTHOR as the recipient (via EventHintBundle.toPTag()), so a WakeUp about a zap from Alice to Bob would p-tag Alice. The consumer matches recipients by p-tag, so Bob — the intended recipient — was filtered out. Forward the about event's audience (its own p-tags) instead. - wakeUpFor() passed the WakeUp's own note to EventFinderQueryState. The finder's filterMissingEvents only queries for the note itself (already in cache) or its replyTo (empty because computeReplyTo had no WakeUp case). The referenced events were never REQ'd on relays. Link the referenced events via computeReplyTo and subscribe the finder on each referenced note directly so filterMissingEvents picks them up. - UserFinder was subscribed against the WakeUp's own pubKey (typically a push bot), not the author of the event the notification is about. Pull author pubkeys from the e-tag author hint, falling back to the WakeUp signer only when the hint is absent. Also: bound e-tag count per WakeUp to 16 to prevent subscription flooding, log the 30s timeout, extract WAKEUP_WINDOW_MS constant, drop the now-unused Note parameter from wakeUpFor.