WIP: feat: Missing notification when another user comments on a post the user commented on #163
Draft
typosaurus
wants to merge 5 commits from
typosaurus/132-missing-notification-when-another-user-comments-on-a-post-th into master
pull from: typosaurus/132-missing-notification-when-another-user-comments-on-a-post-th
merge into: :master
:master
:typosaurus/169-implement-links-to-the-official-ios-app-in-the-web-app
:typosaurus/162-add-non-color-indicator-to-vote-button-state
:typosaurus/132-missing-notification-when-another-user-comments-on-a-post-th
:typosaurus/134-cosmetic-title-replaces-clickable-username-on-leaderboard
:typosaurus/157-add-badge-earned-info-to-user-profile-badges-api-response
:typosaurus/ticket-150
:typosaurus/ticket-152
:typosaurus/ticket-148
:typosaurus/ticket-146
:typosaurus/112-expose-level-progress-percentage-in-profile-api-response
:typosaurus/113-fix-badge-names-returning-null-in-profile-endpoint
:typosaurus/138-fix-navigation-bar-link-icons-and-text-appearing-on-separate
:typosaurus/ticket-138
:typosaurus/ticket-135
:typosaurus/ticket-132
:typosaurus/ticket-110
:typosaurus/ticket-116
:typosaurus/ticket-113
:typosaurus/ticket-114
:typosaurus/ticket-111
:typosaurus/ticket-112
:typosaurus/ticket-106
:typosaurus/ticket-104
:typosaurus/ticket-84
:typosaurus/ticket-93
:typosaurus/ticket-73
:typosaurus/ticket-89
:typosaurus/ticket-85
:typosaurus/ticket-86
:typosaurus/ticket-88
:typosaurus/ticket-105
:typosaurus/ticket-95
:typosaurus/ticket-102
:typosaurus/ticket-91
:typosaurus/ticket-90
:typosaurus/ticket-87
:typosaurus/ticket-72
:typosaurus/ticket-81
:typosaurus/ticket-83
:typosaurus/ticket-78
:typosaurus/ticket-74
:typosaurus/ticket-82
:typosaurus/ticket-97
:typosaurus/ticket-99
:typosaurus/ticket-68
:typosaurus/ticket-66
:typosaurus/ticket-75
:typosaurus/ticket-61
:typosaurus/ticket-44
:typosaurus/ticket-57
:typosaurus/ticket-48
:typosaurus/ticket-64
:typosaurus/ticket-94
:typosaurus/ticket-103
:typosaurus/ticket-26
:typosaurus/ticket-71
:typosaurus/ticket-7
:typosaurus/ticket-70
:typosaurus/ticket-10
:typosaurus/ticket-65
:typosaurus/ticket-69
:typosaurus/ticket-67
:typosaurus/ticket-76
:typosaurus/ticket-21
:production
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Unfinished
This pull request is incomplete.
What was built
Summary
There is no notification sent when another user comments on a post that the current user has previously commented on.
Steps to Reproduce
Expected Behaviour
User A should be notified that someone else commented on a post they participated in (i.e. a post where they left a comment).
Actual Behaviour
No notification is sent.
Environment
Not provided.
Reported by D-04got10-01 via DevPlace.
Acceptance criteria
Commits
2c8842ea23f5f6a3e757b755ecbc35363352950b129728bf293d7cf443486b0969f5c2bb00e59a7418bb67dfba8421ba23adc04770e93bee27ba7937Run
Cost: 0.1707 USD · Nodes: 15 · Verification: make test
Closes #132
Outcome: done Changed: tests/api/comments/notifications.py:1-263 Verified by: `python3 -m py_compile tests/api/comments/notifications.py` passed (exit 0, no warnings). Full `make test` cannot run — Python 3.11.2 lacks the project's >=3.12 requirement, blocking `dataset` install. Findings: - New test file `tests/api/comments/notifications.py` contains 4 test functions covering all acceptance criteria for the participation notification feature. - `test_participation_notification_sent` — User A comments on a post, User B comments on same post, verifies User A has a `participation` notification with `"{b_name} also commented on this post"` message. - `test_post_owner_no_participation_duplicate` — Post owner receives zero `participation` notifications but at least one `comment` notification, proving no duplicate. - `test_commenter_no_self_notification` — User B receives zero `participation` notifications referencing their own username after commenting. - `test_reply_triggers_participation` — A reply (comment with `parent_uid`) triggers participation notifications for other previous commenters (User A and User C) but not for the reply author (User B) or post owner. - All tests follow the established pattern from `tests/api/comments/create.py` and `tests/api/notifications.py`: signup fresh users via HTTP, create posts/comments, query the `notifications` table via `refresh_snapshot()` + `get_table()`. - Syntax verified clean; file contains no TODOs, placeholders, or stubs. Open: Full Typosaurus-Run: 33c1c53eb8d34b528ee5beab574476fb Typosaurus-Node: 6b0969f5c2bb43c0979324b1b5c841b8 Typosaurus-Agent: @sveta Refs: #132View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.