feat(firehose): sanitize user-generated content at indexing time (#62)
* feat(firehose): sanitize user-generated content at indexing time
Content from PDS records was stored unsanitized in PostgreSQL. Add
DOMPurify sanitization in topic and reply indexers so all stored
content is clean regardless of which client reads it.
- sanitizeHtml: allows safe markdown tags, strips scripts/iframes/forms
- sanitizeText: strips all HTML (used for topic titles)
- Both apply Unicode NFC normalization and strip bidi override chars
- 32 new tests (26 sanitize module + 6 indexer integration)
* fix(ci): remove lockfile that should not be tracked
This repo intentionally has no lockfile (removed in 1dd1cbc). The
workspace root manages dependencies. CI generates a fresh lockfile.
authored by