diff --git a/packages/app/__tests__/tags.test.ts b/packages/app/__tests__/tags.test.ts index 268ca76..7dcf55d 100644 --- a/packages/app/__tests__/tags.test.ts +++ b/packages/app/__tests__/tags.test.ts @@ -262,10 +262,14 @@ describe("tags", () => { } const result = tagEventForComment(eventWithMultipleRoots) - // First root should be uppercase - expect(result.some(tag => tag[0] === "E" && tag[1] === id1)).toBe(true) - // Subsequent roots should be lowercase - expect(result.some(tag => tag[0] === "e" && tag[1] === id2)).toBe(true) + expect(result).toEqual([ + ["K", String(NOTE)], + ["P", pubkey, "pubkey-relay-url"], + ["E", id, "event-relay-url", pubkey], + ["k", String(NOTE)], + ["p", pubkey, "pubkey-relay-url"], + ["e", id, "event-relay-url", pubkey], + ]) }) it("should handle events with mixed tag types", () => { @@ -282,18 +286,16 @@ describe("tags", () => { } const result = tagEventForComment(eventWithMixedTags) - // Should propagate root tags (e, p, i, a) to uppercase - expect(result.some(tag => tag[0] === "E" && tag[1] === id)).toBe(true) - expect(result.some(tag => tag[0] === "P" && tag[1] === pubkey1)).toBe(true) - expect(result.some(tag => tag[0] === "I" && tag[1] === id1)).toBe(true) - expect(result.some(tag => tag[0] === "A" && tag[1] === "some-address")).toBe(true) - - // Should include parent variants in lowercase - expect(result.some(tag => tag[0] === "e" && tag[1] === id)).toBe(true) - expect(result.some(tag => tag[0] === "p" && tag[1] === pubkey1)).toBe(true) - - // Should not include non-relevant tags - expect(result.some(tag => tag[0] === "custom")).toBe(false) + expect(result).toEqual([ + ["K", String(MUTES)], + ["P", pubkey, "pubkey-relay-url"], + ["E", id, "event-relay-url", pubkey], + ["A", getAddress(eventWithMixedTags), "event-relay-url", pubkey], + ["k", String(MUTES)], + ["p", pubkey, "pubkey-relay-url"], + ["e", id, "event-relay-url", pubkey], + ["a", getAddress(eventWithMixedTags), "event-relay-url", pubkey], + ]) }) it("should add event metadata tags when no root tags exist", () => { diff --git a/packages/app/src/tags.ts b/packages/app/src/tags.ts index 3f4a425..6d59e63 100644 --- a/packages/app/src/tags.ts +++ b/packages/app/src/tags.ts @@ -97,22 +97,13 @@ export const tagEventForComment = (event: TrustedEvent) => { const pubkeyHint = ctx.app.router.FromPubkey(event.pubkey).getUrl() const eventHint = ctx.app.router.Event(event).getUrl() const address = getAddress(event) - const tags = tagEventPubkeys(event) const seenRoots = new Set() + const tags: string[][] = [] - for (const [raw, ...tag] of event.tags) { - const T = raw.toUpperCase() - const t = raw.toLowerCase() - - if (!["k", "e", "a", "i", "p"].includes(t)) { - continue - } - - if (seenRoots.has(T)) { + for (const [t, ...tag] of event.tags) { + if (["K", "E", "A", "I", "P"].includes(t)) { tags.push([t, ...tag]) - } else { - tags.push([T, ...tag]) - seenRoots.add(T) + seenRoots.add(t) } }