I don’t believe Nostr has a protocol level way of keeping track of read/unread so up to the client. And, if you’re using multiple clients, no single client actually knows what you’ve read.