From 47dd4cf4f7b552b8bbbe5eb03123c9b5c3a3f5df Mon Sep 17 00:00:00 2001 From: Sebastian Serth Date: Fri, 22 Sep 2023 16:48:43 +0200 Subject: [PATCH] Further check for programming group and add custom logging Fixes CODEOCEAN-V2 --- app/channels/synchronized_editor_channel.rb | 2 ++ app/policies/programming_group_policy.rb | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/channels/synchronized_editor_channel.rb b/app/channels/synchronized_editor_channel.rb index 91689c6a..6516e32e 100644 --- a/app/channels/synchronized_editor_channel.rb +++ b/app/channels/synchronized_editor_channel.rb @@ -31,6 +31,8 @@ class SynchronizedEditorChannel < ApplicationCable::Channel def specific_channel reject unless ProgrammingGroupPolicy.new(current_user, programming_group).stream_sync_editor? "synchronized_editor_channel_group_#{programming_group.id}" + rescue NoMethodError => e + Sentry.capture_exception(e, extras: {current_user:, programming_group:, session_id: @session_id, identifier: @identifier}) end def programming_group diff --git a/app/policies/programming_group_policy.rb b/app/policies/programming_group_policy.rb index 48414c16..aea09c55 100644 --- a/app/policies/programming_group_policy.rb +++ b/app/policies/programming_group_policy.rb @@ -11,7 +11,7 @@ class ProgrammingGroupPolicy < ApplicationPolicy def stream_sync_editor? # A programming group needs to exist for the user to be able to stream the synchronized editor. - return false unless @record + return false if @record.blank? admin? || author_in_programming_group? end