Skip to content

01a09c21 - Add member post and reply counts and feeds - #132

Merged
TaprootFreak merged 2 commits into
developfrom
01a09c21-member-activity
Sep 14, 2026
Merged

TaprootFreak merged 2 commits into
developfrom
01a09c21-member-activity

Conversation

@TaprootFreakAI

Copy link
Copy Markdown
Collaborator

EN:
Signed-in member profiles now include how many posts and replies that person has made, as live totals, not the latest-200 window.
New list endpoints return that member's latest 200 posts or replies so the app can open a stacked feed on click.
Replies carry parentId so a card can open the parent thread; they are not payable and have no replyCount.

DE:
Angemeldete Mitgliederprofile enthalten jetzt, wie viele Posts und Antworten die Person insgesamt geschrieben hat — als Live-Summe, nicht als Fenster der letzten 200.
Neue Listen-Endpunkte liefern die neuesten 200 Posts oder Antworten, damit die App beim Klick einen Feed darunter öffnen kann.
Antworten tragen parentId, damit eine Karte den Eltern-Thread öffnen kann; sie sind nicht zahlbar und haben keine replyCount.

Details

GET /members/:accountId adds uncapped postCount and replyCount (live rows only).

GET /members/:accountId/posts lists top-level notes by that account, newest-first, cap 200, same serialize as signed-in GET /messages (payable, replyCount, accountId). Missing-file videos are dropped.

GET /members/:accountId/replies lists that account's replies, newest-first, cap 200, payable false, no replyCount, optional parentId.

serializeMessage omits parentId when the row is top-level so living-room JSON stays unchanged.

GET /members/:id now returns uncapped live postCount and replyCount.
New GET /members/:id/posts and /replies list that member's latest 200
notes or replies. Public JSON includes parentId on replies only.
Handbook and TSDoc now name both replies routes as omit-on-throw,
and the posts feed as dropping missing-file video children from replyCount.
@TaprootFreakAI

Copy link
Copy Markdown
Collaborator Author

EN:
Grok quality took two passes and Grok logic two (one timeout) before both Codex lanes passed on the first complete run, all with 0 findings at this head.
Member profiles expose live post and reply totals and latest-200 feeds.

DE:
Grok-Qualität brauchte zwei Durchläufe und Grok-Logik zwei (davon ein Timeout), danach liefen beide Codex-Lanes im ersten vollständigen Lauf mit 0 Mängeln an diesem Head.
Mitgliederprofile zeigen Live-Summen von Posts und Antworten und die neuesten 200 als Feed.

Details

Head ca38d3d. Inner review approved before push. Build-host: typecheck, lint, handbook, e2e-check, 1602 unit tests at 100% coverage, build, 295 e2e.

Grok quality first pass: two handbook/TSDoc findings, fixed in ca38d3d. Second pass: 0 findings.
Grok logic first pass: timeout. Second pass: 0 findings.
Codex quality: 0 findings.
Codex logic: 0 findings.

@TaprootFreakAI
TaprootFreakAI marked this pull request as ready for review September 13, 2026 21:30
@TaprootFreak
TaprootFreak merged commit d80d101 into develop Sep 14, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants