PieFed and Mbin take reports from the reporter too
Build / Build (push) Failing after 7m51s
Deploy / privapub.thepra.dev (push) Successful in 7m58s

Both speak Lemmy's shapes and joined the servers that get reports in that shape only once the pasture showed each keeps
one with its reason. By their source, PieFed dropped the instance actor's report (it makes a user only of a Person or a
Service) and Mbin kept it without the persona's words (it reads the reason from `summary` alone). With them in
`ServiceReportTakers`, each keeps the reports of a thread and of a comment from "Reports from privapub.test" with
alice's words, and none names her (piefed.sh and mbin.sh, 65 checks with the full sweep's 876). A report of a PieFed
account alone, which PieFed would take from the reporter, is not sent yet; INTEROP says so.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
This commit is contained in:
thepraandClaude Opus 5.5 committed 2026-10-06 19:24:09 +02:00
1 parent f66c280b0b
commit f105d1f7ea
9 files changed
+72 -24

No files matched your search

+15
View File
@@ -112,6 +112,21 @@ until_true 45 '[ "$(p_locked)" = "True" ]' && ok "a moderator's lock reaches Pri
&& ok "a reply to the locked thread is refused" || ko "a reply to the locked thread was taken"
pf POST post/lock "{\"post_id\":$pies_thread_id,\"locked\":false}" >/dev/null
until_true 45 '[ "$(p_locked)" = "False" ]' && ok "a moderator's unlock reaches PrivaPub" || ko "a moderator's unlock did not reach PrivaPub"
echo " reports"
# PieFed takes a report only from a person or a service, as Lemmy does (owner decision 2026-10-06): alice's report of
# pfuser's thread and comment leaves from PrivaPub's reporter, one Flag each, and never names her
pf POST comment "{\"post_id\":$pies_thread_id,\"body\":\"a PieFed comment to report $run\"}" >/dev/null
pf_comment_on_p() { curl -s -H "$PH" "$P/api/v1/statuses/$pies_thread_on_p/context" | j "print(next((s['id'] for s in d['descendants'] if 'a PieFed comment to report $run' in s['content']), ''))"; }
until_true 45 '[ -n "$(pf_comment_on_p)" ]' && ok "pfuser's comment to report reaches PrivaPub" || ko "pfuser's comment never reached PrivaPub"
pf_author_on_p=$(curl -s -H "$PH" "$P/api/v1/statuses/$pies_thread_on_p" | j "print(d['account']['id'])")
reason="a pasture report $run"
[ "$(p_report "$PH" "$pf_author_on_p" "$reason" "$pies_thread_on_p" "$(pf_comment_on_p)")" = "True" ] \
&& ok "PrivaPub says alice's report was forwarded" || ko "PrivaPub did not forward alice's report"
pf_reports() { podman exec pasture-postgres psql -U pasture -d piefed -tAc "select count(*) from report r join \"user\" u on u.id = r.reporter_id where r.reasons = '$reason' and u.ap_profile_id = '$P_REPORTER' and r.$1"; }
until_true 45 '[ "$(pf_reports "suspect_post_id is not null and r.suspect_post_reply_id is null")" = "1" ]' && ok "PieFed keeps the thread's report from PrivaPub's reporter, with alice's words" || ko "PieFed kept no report of the thread"
until_true 45 '[ "$(pf_reports "suspect_post_reply_id is not null")" = "1" ]' && ok "PieFed keeps the comment's report from PrivaPub's reporter, with alice's words" || ko "PieFed kept no report of the comment"
[ "$(podman exec pasture-postgres psql -U pasture -d piefed -tAc "select count(*) from report r join \"user\" u on u.id = r.reporter_id where u.ap_profile_id like '%alice_piefed%'")" = "0" ] \
&& ok "no report on PieFed names alice" || ko "a report on PieFed names alice"
pf POST post/remove "{\"post_id\":$pies_thread_id,\"removed\":true,\"reason\":\"pasture\"}" >/dev/null
until_true 45 '[ -z "$(p_home_has "$pf_pies_thread")" ]' && ok "a moderator's removal reaches PrivaPub" || ko "a moderator's removal did not reach PrivaPub"