<oembed><type>rich</type><version>1.0</version><title>sandwich wrote</title><author_name>sandwich (npub1ua…q99rx)</author_name><author_url>https://yabu.me/npub1uac67zc9er54ln0kl6e4qp2y6ta3enfcg7ywnayshvlw9r5w6ehsqq99rx</author_url><provider_name>njump</provider_name><provider_url>https://yabu.me</provider_url><html>So that when req&#39;ing notes only root notes are returned. Building a feed is already difficult enough, we have many kinds there&#39;s no reason why kind 1 should share space with replies.  The &#34;backwards compatibility&#34; argument to keep kind 1 replies as kind 1 is myopic and demonstrates a lack of intellectual maturity on the subject of protocol development or ecosystem growth rules; one of which is to progressively eliminate DX friction points (not irrationally cling to them)&#xA;&#xA;Old clients will break, yes, but old clients are already broken. We accept unmaintained clients will break just as we accept bit-rot on public and free relays; so the &#34;old client preservation argument&#34; is BS and doesn&#39;t make it two steps past any logical counter-argument.&#xA;&#xA;In the short term clients would have to support two patterns, but the kind 1111 pattern is a fraction of the implementation complexity of the kind 1 reply publish/aggregation pattern, so the overhead is minimal while the payoff for everyone is huge, especially on a long enough time-scale. Most client devs know this nostr:npub1q3sle0kvfsehgsuexttt3ugjd8xdklxfwwkh559wxckmzddywnws6cd26p nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft &#xA;&#xA;Over time there would be less and less kind 1 replies, eventually, clients would drop support entirely, and once again, everybody wins: &#xA;&#xA;- Relays win because they don&#39;t have to return a haystack so that clients can find needles (less bandwidth, less clock-time for relays = higher throughput, easier scaling) ... this particular solution imposes zero new scope on relays.  &#xA;- Users win because everything is snappier and consumes less of their data plan&#xA;- Client developers win because they just eliminated 2-3k lines of complex, buggy and fragile code and countless tests from their source tree and now have a predictable pattern.&#xA;&#xA;Either that or extend filters to include `IS SET` and `IS NOT SET` operand such such `[&#34;?p&#34;]` and `[&#34;!?p&#34;]` (nostr:npub12262qa4uhw7u8gdwlgmntqtv7aye8vdcmvszkqwgs0zchel6mz7s6cgrkj)  ... don&#39;t make me start yet another operand battle nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6</html></oembed>