fix: NoMethodError: undefined method `id' for nil:NilClass (#4172)
fixes: #4171
This commit is contained in:
parent
b3ba8b9513
commit
25876993ff
1 changed files with 7 additions and 0 deletions
|
@ -1,5 +1,8 @@
|
||||||
class RoomChannel < ApplicationCable::Channel
|
class RoomChannel < ApplicationCable::Channel
|
||||||
def subscribed
|
def subscribed
|
||||||
|
# TODO: should we only do ensure stream if current account is present?
|
||||||
|
# for now going ahead with guard clauses in update_subscription and broadcast_presence
|
||||||
|
|
||||||
ensure_stream
|
ensure_stream
|
||||||
current_user
|
current_user
|
||||||
current_account
|
current_account
|
||||||
|
@ -15,6 +18,8 @@ class RoomChannel < ApplicationCable::Channel
|
||||||
private
|
private
|
||||||
|
|
||||||
def broadcast_presence
|
def broadcast_presence
|
||||||
|
return if @current_account.blank?
|
||||||
|
|
||||||
data = { account_id: @current_account.id, users: ::OnlineStatusTracker.get_available_users(@current_account.id) }
|
data = { account_id: @current_account.id, users: ::OnlineStatusTracker.get_available_users(@current_account.id) }
|
||||||
data[:contacts] = ::OnlineStatusTracker.get_available_contacts(@current_account.id) if @current_user.is_a? User
|
data[:contacts] = ::OnlineStatusTracker.get_available_contacts(@current_account.id) if @current_user.is_a? User
|
||||||
ActionCable.server.broadcast(@pubsub_token, { event: 'presence.update', data: data })
|
ActionCable.server.broadcast(@pubsub_token, { event: 'presence.update', data: data })
|
||||||
|
@ -26,6 +31,8 @@ class RoomChannel < ApplicationCable::Channel
|
||||||
end
|
end
|
||||||
|
|
||||||
def update_subscription
|
def update_subscription
|
||||||
|
return if @current_account.blank?
|
||||||
|
|
||||||
::OnlineStatusTracker.update_presence(@current_account.id, @current_user.class.name, @current_user.id)
|
::OnlineStatusTracker.update_presence(@current_account.id, @current_user.class.name, @current_user.id)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue