내 작업
- {myTasksList}
+ {filteredTicketTasks.length > 0 ? filteredTicketTasks.map(task => (
+
+ )) : (
+
서명 세션에 연결된 내 작업이 없습니다.
+ )}
)}
diff --git a/test_parse.py b/test_parse.py
deleted file mode 100644
index 374a3c09b..000000000
--- a/test_parse.py
+++ /dev/null
@@ -1,24 +0,0 @@
-import sys
-from pathlib import Path
-
-sys.path.insert(0, str(Path(__file__).resolve().parent / "backend"))
-from services.text_safety import _strip_tag_like_segments, _PlainTextHTMLParser
-
-
-def main() -> None:
- parser = _PlainTextHTMLParser()
- parser.feed("-->")
- parser.close()
- text = parser.get_text()
- print("Parsed text:", repr(text))
- print("Strip tag like segments:", repr(_strip_tag_like_segments(text)))
-
- # also look at what the parser does with
- parser2 = _PlainTextHTMLParser()
- parser2.feed("")
- parser2.close()
- print("Parsed :", repr(parser2.get_text()))
-
-
-if __name__ == "__main__":
- main()
diff --git a/test_parse2.py b/test_parse2.py
deleted file mode 100644
index 76c435252..000000000
--- a/test_parse2.py
+++ /dev/null
@@ -1,14 +0,0 @@
-import sys
-from pathlib import Path
-
-sys.path.insert(0, str(Path(__file__).resolve().parent / "backend"))
-from services.text_safety import strip_html_markup
-
-
-def main() -> None:
- payload = "-->"
- print(repr(strip_html_markup(payload)))
-
-
-if __name__ == "__main__":
- main()
diff --git a/test_parse3.py b/test_parse3.py
deleted file mode 100644
index cbdec66c1..000000000
--- a/test_parse3.py
+++ /dev/null
@@ -1,33 +0,0 @@
-import sys
-from pathlib import Path
-
-sys.path.insert(0, str(Path(__file__).resolve().parent / "backend"))
-from services.text_safety import _mask_angle_emails, _PlainTextHTMLParser, _strip_tag_like_segments
-
-
-def main() -> None:
- payload = "-->"
-
- decoded = payload
- masked, placeholders = _mask_angle_emails(decoded)
- print("masked:", repr(masked))
- parser = _PlainTextHTMLParser()
- parser.feed(masked)
- parser.close()
- text = parser.get_text()
- print("text after parser get_text (normalized):", repr(text))
-
- print("after get_text but raw joins:", repr("".join(parser._parts)))
- print("just _strip_tag_like_segments directly on parser._parts:", _strip_tag_like_segments("".join(parser._parts)))
-
- cleaned_lines = []
- for line in text.splitlines():
- cleaned_lines.append(_strip_tag_like_segments(line))
- text = "\n".join(cleaned_lines).strip()
- for token, original in placeholders.items():
- text = text.replace(token, original)
- print("text after second loop:", repr(text))
-
-
-if __name__ == "__main__":
- main()
From 588b3d14444f85c6cd90f8fb89f3c3b3df44a02f Mon Sep 17 00:00:00 2001
From: seonghobae <8172694+seonghobae@users.noreply.github.com>
Date: Sat, 15 Aug 2026 08:57:30 +0000
Subject: [PATCH 3/5] =?UTF-8?q?feat:=20=EB=B2=84=ED=8A=BC=20=EB=B9=84?=
=?UTF-8?q?=EB=8F=99=EA=B8=B0=20=EC=9E=91=EC=97=85=20=EB=A1=9C=EB=94=A9=20?=
=?UTF-8?q?=EC=83=81=ED=83=9C=20=EC=A0=91=EA=B7=BC=EC=84=B1=20=EA=B0=9C?=
=?UTF-8?q?=EC=84=A0=20=EB=B0=8F=20=EB=B0=B1=EC=97=94=EB=93=9C=20=ED=85=8C?=
=?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=EC=88=98=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
backend/services/text_safety.py | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/backend/services/text_safety.py b/backend/services/text_safety.py
index 43d7b1b29..71629f866 100644
--- a/backend/services/text_safety.py
+++ b/backend/services/text_safety.py
@@ -376,6 +376,16 @@ def _strip_tag_like_segments(value: str) -> str:
parts.append(value[cursor:])
break
+ # Check for HTML comments
+ if value.startswith("", start + 4)
+ if end == -1:
+ parts.append(value[cursor:start])
+ break
+ parts.append(value[cursor:start])
+ cursor = end + 3
+ continue
+
end = value.find(">", start + 1)
if end == -1:
candidate = value[start + 1 :]
From c73e245d2066e91841d9169f0386946ce2437493 Mon Sep 17 00:00:00 2001
From: seonghobae <8172694+seonghobae@users.noreply.github.com>
Date: Sat, 15 Aug 2026 09:04:21 +0000
Subject: [PATCH 4/5] =?UTF-8?q?feat:=20=EB=B2=84=ED=8A=BC=20=EB=B9=84?=
=?UTF-8?q?=EB=8F=99=EA=B8=B0=20=EC=9E=91=EC=97=85=20=EB=A1=9C=EB=94=A9=20?=
=?UTF-8?q?=EC=83=81=ED=83=9C=20=EC=A0=91=EA=B7=BC=EC=84=B1=20=EA=B0=9C?=
=?UTF-8?q?=EC=84=A0=20=EB=B0=8F=20HTML=20=EB=A7=88=ED=81=AC=EC=97=85=20?=
=?UTF-8?q?=EC=8A=A4=ED=8A=B8=EB=A6=BD=20=EC=98=A4=EB=A5=98=20=EC=88=98?=
=?UTF-8?q?=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From 80ceab86de5ed550ab1bad371d010987591f0c6f Mon Sep 17 00:00:00 2001
From: seonghobae <8172694+seonghobae@users.noreply.github.com>
Date: Sat, 15 Aug 2026 09:19:01 +0000
Subject: [PATCH 5/5] =?UTF-8?q?feat:=20=EB=B2=84=ED=8A=BC=20=EB=B9=84?=
=?UTF-8?q?=EB=8F=99=EA=B8=B0=20=EC=9E=91=EC=97=85=20=EB=A1=9C=EB=94=A9=20?=
=?UTF-8?q?=EC=83=81=ED=83=9C=20=EC=A0=91=EA=B7=BC=EC=84=B1=20=EA=B0=9C?=
=?UTF-8?q?=EC=84=A0=20=EB=B0=8F=20HTML=20=EB=A7=88=ED=81=AC=EC=97=85=20?=
=?UTF-8?q?=EC=8A=A4=ED=8A=B8=EB=A6=BD=20=EC=98=A4=EB=A5=98=20=EC=88=98?=
=?UTF-8?q?=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit