diff --git a/src/apps/relay/RelayIngester.cpp b/src/apps/relay/RelayIngester.cpp index d553f5d..77362f5 100644 --- a/src/apps/relay/RelayIngester.cpp +++ b/src/apps/relay/RelayIngester.cpp @@ -92,6 +92,17 @@ void RelayServer::ingesterProcessEvent(lmdb::txn &txn, uint64_t connId, std::str auto *flat = flatbuffers::GetRoot(flatStr.data()); + { + for (const auto &tagArr : origJson.at("tags").get_array()) { + auto tag = tagArr.get_array(); + if (tag.size() == 1 && tag.at(0).get_string() == "-") { + LI << "Protected event, skipping"; + sendOKResponse(connId, to_hex(sv(flat->id())), false, "blocked: event marked as protected"); + return; + } + } + } + { auto existing = lookupEventById(txn, sv(flat->id())); if (existing) { diff --git a/src/apps/relay/RelayWebsocket.cpp b/src/apps/relay/RelayWebsocket.cpp index 01fbbc8..0434fb1 100644 --- a/src/apps/relay/RelayWebsocket.cpp +++ b/src/apps/relay/RelayWebsocket.cpp @@ -48,7 +48,7 @@ void RelayServer::runWebsocket(ThreadPool::Thread &thr) { tempBuf.reserve(cfg().events__maxEventSize + MAX_SUBID_SIZE + 100); - tao::json::value supportedNips = tao::json::value::array({ 1, 2, 4, 9, 11, 12, 16, 20, 22, 28, 33, 40 }); + tao::json::value supportedNips = tao::json::value::array({ 1, 2, 4, 9, 11, 20, 22, 28, 40, 70 }); auto getServerInfoHttpResponse = [&supportedNips, ver = uint64_t(0), rendered = std::string("")]() mutable { if (ver != cfg().version()) {