Feature: Typing Indicator on widget and dashboard (#811)

* Adds typing indicator for widget
* typing indicator for agents in dashboard

Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
This commit is contained in:
Nithin David Thomas
2020-05-04 23:07:56 +05:30
committed by GitHub
parent fabc3170b7
commit 5bc8219db5
36 changed files with 663 additions and 78 deletions

View File

@@ -25,11 +25,10 @@ class Api::V1::Accounts::ConversationsController < Api::BaseController
end
def toggle_typing_status
user = current_user.presence || @resource
if params[:typing_status] == 'on'
Rails.configuration.dispatcher.dispatch(CONVERSATION_TYPING_ON, Time.zone.now, conversation: @conversation, user: user)
trigger_typing_event(CONVERSATION_TYPING_ON)
elsif params[:typing_status] == 'off'
Rails.configuration.dispatcher.dispatch(CONVERSATION_TYPING_OFF, Time.zone.now, conversation: @conversation)
trigger_typing_event(CONVERSATION_TYPING_OFF)
end
head :ok
end
@@ -42,6 +41,11 @@ class Api::V1::Accounts::ConversationsController < Api::BaseController
private
def trigger_typing_event(event)
user = current_user.presence || @resource
Rails.configuration.dispatcher.dispatch(event, Time.zone.now, conversation: @conversation, user: user)
end
def parsed_last_seen_at
DateTime.strptime(params[:agent_last_seen_at].to_s, '%s')
end