mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-05 19:28:25 +00:00
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2.5 KiB
2.5 KiB
Test Results — Desktop Moderation & Safety
Executed: 2026-07-24 · Build: branch feat/desktop-moderation-safety
Method: live app (./gradlew :desktopApp:run) on a real account (22 relays
connected), plus automated unit tests. Moderation publishes are logged under the
[Moderation] tag.
Legend: [x] PASS · [ ] not run.
Live app — verified
- Enforcement — muting a user removes their notes from feeds live (no restart).
- Mute publishes — kind-10000 mute list signed + broadcast to relays.
- Report (NIP-56) publishes — kind-1984 report signed + broadcast to relays.
- Discoverability — note ⋮ overflow and right-click both open the note menu with Mute / Report / copy / broadcast (same items).
- Report dialog — reason picker + comment + Report / Block & report.
- Profile ⋮ — Mute/Unmute + Report on another user's profile.
- Content-warning blur — NIP-36 notes collapse with tap-to-reveal; "always show sensitive content" toggle persists.
- Management screens — Content Filters → Moderation & Safety lists muted users / hidden words / muted threads with remove/add.
- Feedback (new) — moderation actions now show a snackbar (Muted user / Report sent / Reported & muted) and log the relay count.
Captured logs (this session)
INFO: [Moderation] mute+ kind=10000 id=95057975 → 22 relays
INFO: [Moderation] report(spam) kind=1984 id=447fbf93 → 22 relays
INFO: [Moderation] report(spam) kind=1984 id=c6f58e03 → 22 relays
→ one mute and two spam reports were signed and delivered to 22 relays each,
with no failures. (A zero-relay send would log WARNING … → 0 connected relays (not delivered); a signer error logs WARNING … report failed: ….)
Automated tests — green
DesktopMuteEnforcementTest— muted author hidden (even if followed), hidden-word note dropped, clean notes pass.PreferencesSensitiveContentSettingsTest— sensitive toggle mapson→true/off→null(never false) and persists../gradlew :desktopApp:test :commons:jvmTest— BUILD SUCCESSFUL.spotlessApplyclean; pre-commit hook (spotless + tests) green on every commit.
Notes / known gaps
- Reports broadcast to connected relays (not a NIP-56 outbox split) — advisory per NIP-56.
- Thread root is always shown even if the author is muted (intentional — you navigated in).