main
tag: launch-2026-06-01
tag: magicmirror-v0.1.1
tag: magicmirror-v0.3.0
tag: mnw-cli-v0.1.2
tag: mnw-cli-v0.1.3
tag: mnw-cli-v0.1.4
tag: pom-v0.4.1
tag: pom-v0.4.2
tag: pom-v0.4.3
tag: pom-v0.4.4
tag: pom-v0.4.5
tag: wam-v0.3.0
tag: wam-v0.3.1
Files
Commits
Tags
Notes
Issues
Fix auto_hide audit trail: set removed_by to NULL for system-initiated removals
The mod action log already records AutoHidePost with the triggering flagger.
Setting removed_by to a specific user was misleading since no mod acted.
Co-Authored-By
Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2 files changed,
+4 insertions,
-5 deletions
79
79
&& threshold > 0
80
80
{
81
81
match mt_db::mutations::auto_hide_if_threshold_met(
82
-
&state.db, post_id, user.user_id, threshold,
82
+
&state.db, post_id, threshold,
83
83
).await {
84
84
Ok(true) => {
85
85
log_mod_action(
223
223
/// Atomically auto-hide a post if pending flag count meets the threshold.
224
224
/// Combines count check and removal in a single query to avoid race conditions.
225
225
/// Returns true if the post was actually removed.
226
+
/// Sets removed_by to NULL (system action) — the mod log records the event.
226
227
#[tracing::instrument(skip_all)]
227
228
pub async fn auto_hide_if_threshold_met(
228
229
pool: &PgPool,
229
230
post_id: Uuid,
230
-
removed_by_id: Uuid,
231
231
threshold: i32,
232
232
) -> Result<bool, sqlx::Error> {
233
233
let result = sqlx::query(
234
-
"UPDATE posts SET removed_by = $2, removed_at = now()
234
+
"UPDATE posts SET removed_by = NULL, removed_at = now()
235
235
WHERE id = $1 AND removed_at IS NULL
236
-
AND (SELECT COUNT(*) FROM post_flags WHERE post_id = $1 AND resolved_at IS NULL) >= $3",
236
+
AND (SELECT COUNT(*) FROM post_flags WHERE post_id = $1 AND resolved_at IS NULL) >= $2",
237
237
)
238
238
.bind(post_id)
239
-
.bind(removed_by_id)
240
239
.bind(threshold as i64)
241
240
.execute(pool)
242
241
.await?;