diff --git a/src/github/utils/sanitizer.ts b/src/github/utils/sanitizer.ts
index db9979a6..ef5d3cc9 100644
--- a/src/github/utils/sanitizer.ts
+++ b/src/github/utils/sanitizer.ts
@@ -52,6 +52,7 @@ export function normalizeHtmlEntities(content: string): string {
}
export function sanitizeContent(content: string): string {
+ content = stripHtmlComments(content);
content = stripInvisibleCharacters(content);
content = stripMarkdownImageAltText(content);
content = stripMarkdownLinkTitles(content);
diff --git a/test/integration-sanitization.test.ts b/test/integration-sanitization.test.ts
index 32bf232d..83cb6aeb 100644
--- a/test/integration-sanitization.test.ts
+++ b/test/integration-sanitization.test.ts
@@ -2,50 +2,47 @@ import { describe, expect, it } from "bun:test";
import { formatBody, formatComments } from "../src/github/data/formatter";
import type { GitHubComment } from "../src/github/types";
-describe("Integration: Text Sanitization", () => {
- it("should sanitize text in issue body", () => {
- const body = `
-# Title text
+describe("Sanitization Integration", () => {
+ it("should sanitize complete issue/PR body with various hidden content patterns", () => {
+ const issueBody = `
+# Feature Request: Add user dashboard
-Some content here.
+## Description
+We need a new dashboard for users to track their activity.
-Here's an image:
+
-And a markdown image: 
+## Technical Details
+The dashboard should display:
+- User statistics 
+- Activity graphs
+- Recent actions
-Check this link: [Click here](https://example.com "link title")
+## Implementation Notes
+See [documentation](https://docs.example.com "internal docs title") for API details.
-Text with hiddencharacters
-
-
- [link](url.com "title\u202Ewith\u202Ccharacters")
- visible text
- `;
-
- const sanitized = sanitizeContent(mixedInput);
-
- expect(sanitized).not.toContain("example");
- expect(sanitized).not.toContain("characters");
- expect(sanitized).not.toContain("title");
- expect(sanitized).not.toContain("data value");
- expect(sanitized).not.toContain("label text");
- expect(sanitized).toContain("visible text");
- });
});
describe("stripHtmlComments (legacy)", () => {