From dc476392b229b637b759ccfc954e2c6cd5592b71 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sat, 10 Jan 2026 21:37:43 +0000 Subject: [PATCH] Fix: Ensure UI refreshes upon trusted seed updates Subscribes `js/app.js` to `moderationService` events (`trusted-mutes`, `user-blocks`, `summary`). This ensures that asynchronous updates to trusted seed block lists (Kind 10000) trigger an immediate UI refresh, correctly applying moderation (blur/hide) even for anonymous session actors who rely on these seeds. Previously, the initial render would complete before the async lists arrived, leaving blocked content visible until a page reload. --- js/app.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/js/app.js b/js/app.js index 7686c6e1..f60d7d22 100644 --- a/js/app.js +++ b/js/app.js @@ -2651,6 +2651,18 @@ class Application { * Setup general event listeners for logout, modals, etc. */ setupEventListeners() { + if (moderationService && typeof moderationService.on === "function") { + moderationService.on("trusted-mutes", () => { + this.refreshVisibleModerationUi({ reason: "trusted-mutes" }); + }); + moderationService.on("user-blocks", () => { + this.refreshVisibleModerationUi({ reason: "user-blocks" }); + }); + moderationService.on("summary", () => { + this.refreshVisibleModerationUi({ reason: "moderation-summary" }); + }); + } + if (this.appChromeController) { this.appChromeController.initialize(); return;