feat: filter invalid pubkeys in the follow list

This commit is contained in:
codytseng
2025-01-19 14:58:11 +08:00
parent cbae26e492
commit 9c0fa6257a
2 changed files with 6 additions and 1 deletions

View File

@@ -42,6 +42,10 @@ export function userIdToPubkey(userId: string) {
return userId
}
export function isValidPubkey(pubkey: string) {
return /^[0-9a-f]{64}$/.test(pubkey)
}
const pubkeyImageCache = new LRUCache<string, string>({ max: 1000 })
export function generateImageByPubkey(pubkey: string): string {
if (pubkeyImageCache.has(pubkey)) {

View File

@@ -1,5 +1,6 @@
import { TImageInfo } from '@/types'
import { isBlurhashValid } from 'blurhash'
import { isValidPubkey } from './pubkey'
export function tagNameEquals(tagName: string) {
return (tag: string[]) => tag[0] === tagName
@@ -49,7 +50,7 @@ export function extractPubkeysFromEventTags(tags: string[][]) {
tags
.filter(tagNameEquals('p'))
.map(([, pubkey]) => pubkey)
.filter(Boolean)
.filter((pubkey) => !!pubkey && isValidPubkey(pubkey))
.reverse()
)
)