bug: tryParseNostrLink

This commit is contained in:
2023-06-13 14:46:16 +01:00
parent fdf3d855df
commit 7992601f46
6 changed files with 18 additions and 20 deletions

View File

@ -2,7 +2,7 @@ import { EventKind, HexKey, NostrPrefix, NostrEvent } from ".";
import { HashtagRegex } from "./Const";
import { getPublicKey, unixNow } from "./Utils";
import { EventExt } from "./EventExt";
import { parseNostrLink } from "./NostrLink";
import { tryParseNostrLink } from "./NostrLink";
export class EventBuilder {
#kind?: EventKind;
@ -90,7 +90,7 @@ export class EventBuilder {
#replaceMention(match: string) {
const npub = match.slice(1);
const link = parseNostrLink(npub);
const link = tryParseNostrLink(npub);
if (link) {
if (link.type === NostrPrefix.Profile || link.type === NostrPrefix.PublicKey) {
this.tag(["p", link.id]);

View File

@ -52,6 +52,7 @@ export class RequestBuilder {
id: string;
#builders: Array<RequestFilterBuilder>;
#options?: RequestBuilderOptions;
#log = debug("RequestBuilder");
constructor(id: string) {
this.id = id;
@ -96,16 +97,13 @@ export class RequestBuilder {
*/
buildDiff(relays: RelayCache, filters: Array<FlatReqFilter>): Array<BuiltRawReqFilter> {
const start = unixNowMs();
const next = this.#builders.flatMap(f => expandFilter(f.filter))
const diff = diffFilters(filters, next);
const ts = (unixNowMs() - start);
const log = debug("buildDiff");
log("%s %d ms", this.id, ts);
if (ts > 200) {
console.warn(diff, filters);
}
this.#log("buildDiff %s %d ms", this.id, ts);
if (diff.changed) {
log(diff);
this.#log(diff);
return splitAllByWriteRelays(relays, diff.added).map(a => {
return {
strategy: RequestStrategy.AuthorsRelays,

View File

@ -71,14 +71,14 @@ export function reqFilterEq(a: FlatReqFilter | ReqFilter, b: FlatReqFilter | Req
}
export function flatFilterEq(a: FlatReqFilter, b: FlatReqFilter): boolean {
return a.ids === b.ids
&& a.kinds === b.kinds
&& a["#e"] === b["#e"]
&& a.authors === b.authors
&& a.limit === b.limit
&& a.since === b.since
return a.since === b.since
&& a.until === b.until
&& a.limit === b.limit
&& a.search === b.search
&& a.ids === b.ids
&& a.kinds === b.kinds
&& a.authors === b.authors
&& a["#e"] === b["#e"]
&& a["#p"] === b["#p"]
&& a["#t"] === b["#t"]
&& a["#d"] === b["#d"]