For flamenet-messenger-ios#56 and the App Review 1.2 gap in flamenet-messenger-ios#12. Spec: flamenet-e2e!19 (§6.25).
There was no report mechanism anywhere — Moderation.swift held blocks and notifications only.
A report is the one place a user deliberately breaks their own confidentiality. The relay cannot read a reported story, so a report carrying only an accusation gives an operator nothing but the assertion. The reporter's own decrypted copy travels with it, and §6.25 requires the client to say so before sending.
No route reads reports back — that would be a way to ask the relay what somebody reported. Asserted against the router, so adding one breaks it deliberately.
An empty copy is accepted: refusing would mean the only way to report is to hand over a copy.
Three tests initially passed for the wrong reason (signing path mismatch made authenticate throw a WireError, satisfying #expect(throws:)). They assert the error code now.
8 new tests; full relay suite 478 green.
For flamenet-messenger-ios#56 and the App Review 1.2 gap in flamenet-messenger-ios#12. Spec: flamenet-e2e!19 (§6.25).
There was **no report mechanism anywhere** — `Moderation.swift` held blocks and notifications only.
**A report is the one place a user deliberately breaks their own confidentiality.** The relay cannot read a reported story, so a report carrying only an accusation gives an operator nothing but the assertion. The reporter's own decrypted copy travels with it, and §6.25 requires the client to say so before sending.
**No route reads reports back** — that would be a way to ask the relay what somebody reported. Asserted against the router, so adding one breaks it deliberately.
An empty copy is accepted: refusing would mean the only way to report is to hand over a copy.
Three tests initially passed for the wrong reason (signing path mismatch made `authenticate` throw a `WireError`, satisfying `#expect(throws:)`). They assert the error code now.
8 new tests; full relay suite 478 green.
Client side of this, for the record. It does have both halves — the titles just do not show it:
iOS: ios!65 "Report or block from a story" — posts to /e2e/moderation/report
Android: android!28 "Report or block from a story" — same endpoint, via RelayClient
So this is not a relay-only change looking for a client. It is a three-MR set, and the two clients should land after this one, since they call an endpoint that has to exist first.
One gap worth naming while it is in view. This endpoint takes a subject and a reason and does not care what kind of thing it is, but both clients can only reach it from the story viewer. There is no way to report a message or a contact — see ios#61 and android#12, filed just now. No change needed here; the endpoint is already general enough.
**Client side of this, for the record.** It does have both halves — the titles just do not show it:
- iOS: ios!65 "Report or block from a story" — posts to `/e2e/moderation/report`
- Android: android!28 "Report or block from a story" — same endpoint, via `RelayClient`
So this is not a relay-only change looking for a client. It is a three-MR set, and the two clients should land after this one, since they call an endpoint that has to exist first.
**One gap worth naming while it is in view.** This endpoint takes a subject and a reason and does not care what kind of thing it is, but both clients can only reach it from the story viewer. There is no way to report a message or a contact — see ios#61 and android#12, filed just now. No change needed here; the endpoint is already general enough.
added 6 commits
<ul><li>834cba50...1a0a93fa - 4 commits from branch <code>main</code></li><li>202ee211 - Accept a report, so blocking is not the only thing a person can do</li><li>4b2b73ed - Give reports a switch, and say in discovery which way it is set</li></ul>
[Compare with previous version](/paulhitt/flamenet-relay/-/merge_requests/24/diffs?diff_id=2000714939&start_sha=834cba50b1f323ee08145a4d898a4cad9a305db6)
added 17 commits
<ul><li>4b2b73ed...58e2d980 - 15 commits from branch <code>main</code></li><li>9bab0874 - Accept a report, so blocking is not the only thing a person can do</li><li>2cc0a80a - Give reports a switch, and say in discovery which way it is set</li></ul>
[Compare with previous version](/paulhitt/flamenet-relay/-/merge_requests/24/diffs?diff_id=2001139351&start_sha=4b2b73ed3c3307ccd24096038e5a85c8f4d8bc16)
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.
For flamenet-messenger-ios#56 and the App Review 1.2 gap in flamenet-messenger-ios#12. Spec: flamenet-e2e!19 (§6.25).
There was no report mechanism anywhere —
Moderation.swiftheld blocks and notifications only.A report is the one place a user deliberately breaks their own confidentiality. The relay cannot read a reported story, so a report carrying only an accusation gives an operator nothing but the assertion. The reporter's own decrypted copy travels with it, and §6.25 requires the client to say so before sending.
No route reads reports back — that would be a way to ask the relay what somebody reported. Asserted against the router, so adding one breaks it deliberately.
An empty copy is accepted: refusing would mean the only way to report is to hand over a copy.
Three tests initially passed for the wrong reason (signing path mismatch made
authenticatethrow aWireError, satisfying#expect(throws:)). They assert the error code now.8 new tests; full relay suite 478 green.
mentioned in merge request flamenet-messenger-ios!65
mentioned in commit flamenet-messenger-android@c5f7343384fab169d693f14dd347f39cc44d8c32
mentioned in merge request flamenet-messenger-android!28
Client side of this, for the record. It does have both halves — the titles just do not show it:
/e2e/moderation/reportRelayClientSo this is not a relay-only change looking for a client. It is a three-MR set, and the two clients should land after this one, since they call an endpoint that has to exist first.
One gap worth naming while it is in view. This endpoint takes a subject and a reason and does not care what kind of thing it is, but both clients can only reach it from the story viewer. There is no way to report a message or a contact — see ios#61 and android#12, filed just now. No change needed here; the endpoint is already general enough.
added 6 commits
mainCompare with previous version
mentioned in commit flamenet-messenger-android@6fe463d57873aff3c3e018e90093f0f55e2d2d8e
added 17 commits
main9bab0874- Accept a report, so blocking is not the only thing a person can do2cc0a80a- Give reports a switch, and say in discovery which way it is setCompare with previous version
mentioned in commit
deb55da5cfchanged the description