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

@@ -111,8 +111,9 @@ namespace PrivaPub.Domain.Relationships
// The second place PrivaPub decides by a server's software (owner decision 2026-10-06): Lemmy takes a report only from a
// person or a service, about one post or comment, addressed to its community, so a report for it leaves in that shape
// from the server's anonymous reporter; a server joins only once the pasture shows it stores such a report with its
// reason. NodeInfo names it: PieFed and Mbin speak Lemmy's shapes, and nothing else tells them apart.
static readonly HashSet<string> ServiceReportTakers = new(StringComparer.Ordinal) { "lemmy" };
// reason. PieFed (which drops a report from an Application) and Mbin (which reads the reason from summary alone) did on
// 2026-10-06. NodeInfo names them: they speak Lemmy's shapes, and nothing else tells them apart.
static readonly HashSet<string> ServiceReportTakers = new(StringComparer.Ordinal) { "lemmy", "piefed", "mbin" };
static async Task<bool> TakesServiceReports(string actorUri, CancellationToken token)
{
+2 -1
View File
@@ -13,7 +13,8 @@ namespace PrivaPub.Models.Jobs
public string Software { get; set; }//NodeInfo software.name: for display, never for deciding behaviour, but for two
//owner decisions: a first private message to Lemmy before 1.0 or Mbin is a ChatMessage (2026-10-05), and a report
//to a Lemmy community leaves from the reporter in Lemmy's shape (2026-10-06, ReportService.ServiceReportTakers)
//to a community on Lemmy, PieFed or Mbin leaves from the reporter in Lemmy's shape (2026-10-06,
//ReportService.ServiceReportTakers)
public string SoftwareVersion { get; set; }
public string NodeName { get; set; }
public List<string> Protocols { get; set; } = new();