From d3e43de42bac166a51347bf09a9fac3cdc9926fb Mon Sep 17 00:00:00 2001 From: Vignesh Natarajan Date: Thu, 12 Feb 2026 13:41:57 -0800 Subject: [PATCH] Signal: satisfy lint --- .../event-handler.mention-gating.test.ts | 14 ++++----- src/signal/monitor/mentions.test.ts | 1 - src/signal/monitor/mentions.ts | 30 ++++++++++++++----- 3 files changed, 28 insertions(+), 17 deletions(-) diff --git a/src/signal/monitor/event-handler.mention-gating.test.ts b/src/signal/monitor/event-handler.mention-gating.test.ts index f5c95cd802..6fb211f1ff 100644 --- a/src/signal/monitor/event-handler.mention-gating.test.ts +++ b/src/signal/monitor/event-handler.mention-gating.test.ts @@ -53,14 +53,12 @@ type GroupEventOpts = { message?: string; attachments?: unknown[]; quoteText?: string; - mentions?: - | Array<{ - uuid?: string; - number?: string; - start?: number; - length?: number; - }> - | null; + mentions?: Array<{ + uuid?: string; + number?: string; + start?: number; + length?: number; + }> | null; }; function makeGroupEvent(opts: GroupEventOpts) { diff --git a/src/signal/monitor/mentions.test.ts b/src/signal/monitor/mentions.test.ts index b733f539d5..1a30f6d2c3 100644 --- a/src/signal/monitor/mentions.test.ts +++ b/src/signal/monitor/mentions.test.ts @@ -1,5 +1,4 @@ import { describe, expect, it } from "vitest"; - import { renderSignalMentions } from "./mentions.js"; const PLACEHOLDER = "\uFFFC"; diff --git a/src/signal/monitor/mentions.ts b/src/signal/monitor/mentions.ts index 2c63d0a9ed..04adec9c96 100644 --- a/src/signal/monitor/mentions.ts +++ b/src/signal/monitor/mentions.ts @@ -3,10 +3,18 @@ import type { SignalMention } from "./event-handler.types.js"; const OBJECT_REPLACEMENT = "\uFFFC"; function isValidMention(mention: SignalMention | null | undefined): mention is SignalMention { - if (!mention) return false; - if (!(mention.uuid || mention.number)) return false; - if (typeof mention.start !== "number" || Number.isNaN(mention.start)) return false; - if (typeof mention.length !== "number" || Number.isNaN(mention.length)) return false; + if (!mention) { + return false; + } + if (!(mention.uuid || mention.number)) { + return false; + } + if (typeof mention.start !== "number" || Number.isNaN(mention.start)) { + return false; + } + if (typeof mention.length !== "number" || Number.isNaN(mention.length)) { + return false; + } return mention.length > 0; } @@ -23,17 +31,23 @@ export function renderSignalMentions(message: string, mentions?: SignalMention[] } let normalized = message; - const candidates = mentions.filter(isValidMention).sort((a, b) => b.start! - a.start!); + const candidates = mentions.filter(isValidMention).toSorted((a, b) => b.start! - a.start!); for (const mention of candidates) { const identifier = mention.uuid ?? mention.number; - if (!identifier) continue; + if (!identifier) { + continue; + } const { start, end } = clampBounds(mention.start!, mention.length!, normalized.length); - if (start >= end) continue; + if (start >= end) { + continue; + } const slice = normalized.slice(start, end); - if (!slice.includes(OBJECT_REPLACEMENT)) continue; + if (!slice.includes(OBJECT_REPLACEMENT)) { + continue; + } normalized = normalized.slice(0, start) + `@${identifier}` + normalized.slice(end); }