From 362860f236dc9a13c5c9b48b5e6fec80f5de7ab0 Mon Sep 17 00:00:00 2001 From: Weather Date: Tue, 7 Apr 2026 14:29:55 -0400 Subject: [PATCH 1/2] feat: Character limits usernames --- src/core/slack.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/slack.py b/src/core/slack.py index c2a7c23..a5fda15 100644 --- a/src/core/slack.py +++ b/src/core/slack.py @@ -178,7 +178,7 @@ async def add_announcement(announcement_text: str, user_id: str) -> None: return username: str = await get_username(user_id=user_id) - + username = username[:40] new_addition: dict[str, str] = {"content": announcement_text, "user": username} announcements.append(new_addition) From 83848592842f118985529551c4c9d0347e26570e Mon Sep 17 00:00:00 2001 From: Weather Date: Tue, 7 Apr 2026 14:38:30 -0400 Subject: [PATCH 2/2] tests: Updated tests for new slack --- src/api/endpoints.py | 6 +++++- src/core/slack.py | 4 +--- tests/src/core/test_slack.py | 8 ++++---- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/api/endpoints.py b/src/api/endpoints.py index 5a613c7..9a74d7f 100644 --- a/src/api/endpoints.py +++ b/src/api/endpoints.py @@ -128,7 +128,11 @@ async def message_actions(payload: str = Form(...)) -> JSONResponse: ).get("text", None) user_id = form_json.get("user", {}).get("id") - await slack.add_announcement(message_object, user_id) + + username: str = await slack.get_username(user_id=user_id) + username = username[:40] + + slack.add_announcement(message_object, username) if response_url: async with httpx.AsyncClient() as client: diff --git a/src/core/slack.py b/src/core/slack.py index a5fda15..56d2e55 100644 --- a/src/core/slack.py +++ b/src/core/slack.py @@ -164,7 +164,7 @@ def get_announcement() -> dict[str, str] | None: return announcements.pop(0) -async def add_announcement(announcement_text: str, user_id: str) -> None: +def add_announcement(announcement_text: str, username: str) -> None: """ Adds an announcement to the queue. @@ -177,8 +177,6 @@ async def add_announcement(announcement_text: str, user_id: str) -> None: logger.warning("Attempted to add empty announcement, skipping!") return - username: str = await get_username(user_id=user_id) - username = username[:40] new_addition: dict[str, str] = {"content": announcement_text, "user": username} announcements.append(new_addition) diff --git a/tests/src/core/test_slack.py b/tests/src/core/test_slack.py index e6c0361..b1a143e 100644 --- a/tests/src/core/test_slack.py +++ b/tests/src/core/test_slack.py @@ -140,18 +140,18 @@ def test_get_and_add_announcement(monkeypatch): skip_announcements: list[str | None] = [None, "", " "] for ann in skip_announcements: - slack.add_announcement(ann) + slack.add_announcement(ann, "FAKE ID") assert slack.get_announcement() is None test_announcements: list[str] = ["First", "Second", "Third"] for ann in test_announcements: - slack.add_announcement(ann) + slack.add_announcement(ann, "FAKE ID") for ann in test_announcements: - assert slack.get_announcement() == ann + assert slack.get_announcement().get("content", "") == ann assert ( - slack.get_announcement() == test_announcements[-1] + slack.get_announcement().get("content", "") == test_announcements[-1] ) # should return last announcement when queue is empty