#asknostr: what does a client or relay need to implement to be "nostr-complete"? I was under the impression that most nips are optional, and it would be a natural selection process that determines what is, and what is not, a nostr-complete application (as in users abandoning one app, client, or relay, because they don't implement the most valued features) which nips make a client nostr-complete? and what about clients/relays built for specific functionalities?