Skip to content

Commit 73c33f9

Browse files
committed
feat: add nip45.enabled toggle for COUNT
1 parent d7769bb commit 73c33f9

3 files changed

Lines changed: 13 additions & 0 deletions

File tree

resources/default-settings.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ nip05:
5353
domainWhitelist: []
5454
# Block authors with NIP-05 at these domains
5555
domainBlacklist: []
56+
nip45:
57+
enabled: true
5658
network:
5759
maxPayloadSize: 524288
5860
# Comment the next line if using CloudFlare proxy

src/@types/settings.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,10 @@ export interface Mirroring {
230230

231231
export type Nip05Mode = 'enabled' | 'passive' | 'disabled'
232232

233+
export interface Nip45Settings {
234+
enabled?: boolean
235+
}
236+
233237
export interface Nip05Settings {
234238
mode: Nip05Mode
235239
/**
@@ -260,4 +264,5 @@ export interface Settings {
260264
limits?: Limits
261265
mirroring?: Mirroring
262266
nip05?: Nip05Settings
267+
nip45?: Nip45Settings
263268
}

src/handlers/count-message-handler.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ export class CountMessageHandler implements IMessageHandler {
2121

2222
public async handleMessage(message: CountMessage): Promise<void> {
2323
const queryId = message[1]
24+
const countEnabled = this.settings().nip45?.enabled ?? true
25+
if (!countEnabled) {
26+
this.webSocket.emit(WebSocketAdapterEvent.Message, createClosedMessage(queryId, 'COUNT is disabled by relay configuration'))
27+
return
28+
}
29+
2430
// Some clients send the same filter more than once.
2531
// We remove duplicates so we do less DB work.
2632
const filters = uniqWith(equals, message.slice(2)) as SubscriptionFilter[]

0 commit comments

Comments
 (0)