subscription is an option, i specifically separated it from the filter endpoint, unlike the REQ of nostr protocol which is a filter, and then a subscription, and the dumbass client devs can't comprehend this, and it's messy
subscription is better than polling, both in latency of messaging and a solution for propagating data on demand without pushing it, people ask, and then you SSE and done
the actual SSE protocol is just a thin wrapper around what could have easily been line structured JSON, which for whatever reason also isn't widely supported, but the difference is very trivial
you know what JSONL is
just add event: eventype, newline, data: json, newline. same same
the web server just adds to the message as data comes in, it's the same as what you get from a REQ in standard nostr protocol AFTER the EOSE, or if you make a REQ that has a "since" that is very close to now.