From 5f8457ad9d2a42f4f59c60f8a1a94d74b8db3d59 Mon Sep 17 00:00:00 2001 From: Jorge Manrubia Date: Thu, 2 Oct 2025 14:19:21 +0200 Subject: [PATCH] Don't broadcast updates of cards unless published To prevent https://fizzy.37signals.com/5986089/cards/1631 --- app/controllers/cards_controller.rb | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/controllers/cards_controller.rb b/app/controllers/cards_controller.rb index 809428f91..cd8abfaa8 100644 --- a/app/controllers/cards_controller.rb +++ b/app/controllers/cards_controller.rb @@ -27,7 +27,9 @@ class CardsController < ApplicationController end def update - @card.update! card_params + suppressing_broadcasts_unless_published(@card) do + @card.update! card_params + end if @card.published? render_card_replacement @@ -50,6 +52,14 @@ class CardsController < ApplicationController @card = Current.user.accessible_cards.find params[:id] end + def suppressing_broadcasts_unless_published(&block) + if @card.published? + yield + else + Collection.suppressing_turbo_broadcasts(&block) + end + end + def card_params params.expect(card: [ :status, :title, :description, :image, tag_ids: [] ]) end