support subscription label, not only an absolute id.

This commit is contained in:
fiatjaf
2025-03-01 19:41:17 -03:00
parent 3c4019a154
commit 05eb62da5b
2 changed files with 13 additions and 6 deletions

View File

@@ -279,15 +279,21 @@ export class AbstractRelay {
return ret
}
public subscribe(filters: Filter[], params: Partial<SubscriptionParams> & { id?: string }): Subscription {
public subscribe(
filters: Filter[],
params: Partial<SubscriptionParams> & { label?: string; id?: string },
): Subscription {
const subscription = this.prepareSubscription(filters, params)
subscription.fire()
return subscription
}
public prepareSubscription(filters: Filter[], params: Partial<SubscriptionParams> & { id?: string }): Subscription {
public prepareSubscription(
filters: Filter[],
params: Partial<SubscriptionParams> & { label?: string; id?: string },
): Subscription {
this.serial++
const id = params.id || 'sub:' + this.serial
const id = params.id || (params.label ? params.label + ':' : 'sub:') + this.serial
const subscription = new Subscription(this, id, filters, params)
this.openSubs.set(id, subscription)
return subscription