Commit graph

616 commits

Author SHA1 Message Date
Sojan Jose
cc02611007
Chore: Convert Message Sender to polymorphic (#740)
Fixes #680
2020-06-27 21:34:53 +05:30
Sojan Jose
4f83d5451e
Chore: Routine Bugfixes and enhancements (#979)
- Fix slack scopes
- Docs for authentication
Fixes: #704 , #973
2020-06-25 23:35:16 +05:30
Pranav Raj S
0aab717bb3
Chore: Add default value for label color (#981) 2020-06-25 21:33:56 +05:30
Pranav Raj S
97ad39713b
Feature: Improve label experience (#975)
Co-authored-by: Sojan <sojan@pepalo.com>
2020-06-25 21:04:03 +05:30
Sojan Jose
1ef8d03e18
Feature: Slack - receive messages, create threads, send replies (#974)
Co-authored-by: Pranav Raj S <pranav@thoughtwoot.com>
2020-06-22 13:19:26 +05:30
Pranav Raj S
963f173730
Feature: ResizableTextArea in widget and dashboard (#969)
* Create ResizableTextArea component
* Rubocop fixes and spec fixes

Co-authored-by: Sojan <sojan@pepalo.com>
2020-06-18 15:17:45 +05:30
Sojan Jose
04f6460afb
Chore: Fix failing sidekiq events for contact create (#966) 2020-06-16 19:39:57 +05:30
Sojan Jose
b0bbd757b5
Chore: FCM Notification Improvements (#957)
Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-06-15 13:36:56 +05:30
Pranav Raj S
667e3abbe1
Fix: Set widget bg color for file-bubble (#965) 2020-06-15 13:35:52 +05:30
Pranav Raj S
7c6ea3a05a
Chore: Fix HTML rendering in ConversationCard (#963) 2020-06-14 18:30:36 +05:30
Pranav Raj S
5cb88237f5
Chore: Move conversationStats to a seperate module (#962)
* Chore: Move conversationStats to a seperate module

* Move toggleTyping to conversationTypingStatus

* Remove unused agentTyping flag

* Fix review comments
2020-06-14 14:07:52 +05:30
Nithin David Thomas
5ec9af9325
Bug: Add min height to widget input box (#960) 2020-06-14 11:28:38 +05:30
Pranav Raj S
ecd5e20133
Bug: Replace non-numeric characters in Twilio phonenumber (#958) 2020-06-13 22:29:12 +05:30
Nithin David Thomas
944fbf27b7
Enhancement: Improve scrolling on widget #954 (#955)
Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-06-13 20:33:23 +05:30
Sojan Jose
f9e8bb8e10
Chore: Send browser language in webwidget events (#952)
Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-06-13 00:19:43 +05:30
Subin T P
ed1c871633
Feature: Slack integration (#783)
- Integrations architecture
- Slack integration
2020-06-12 23:12:47 +05:30
Pranav Raj S
e769282e7f
BugFix: Fix missing tagline in inbox settings (#949) 2020-06-10 00:30:37 +05:30
Pranav Raj S
eadc33d230
Use empty string as fallback greeting_message if null (#948) 2020-06-10 00:16:34 +05:30
Sojan Jose
432dad203b
Feature: Inbox greeting message (#927)
Co-authored-by: Pranav Raj S <pranav@thoughtwoot.com>
2020-06-09 23:54:35 +05:30
Sojan Jose
8b022311c0
Chore: FCM Push Fixes (#934) 2020-06-09 17:42:18 +05:30
Pranav Raj S
40481f6462
Bugfix: Update conversation counters in realtime (#944)
* Bug: Update conversation counters in realtime
2020-06-09 16:26:33 +05:30
Pranav Raj S
602132119b
Fix socket reconnect if the pubsub token is same (#942) 2020-06-08 19:13:33 +05:30
Sojan Jose
52d28105e4
Chore: Remove dead code related to billing (#935)
- remove subscription model
- remove billing-related code
2020-06-07 20:31:48 +05:30
Sojan Jose
051871a3cd
Chore: Code Cleanup in API controllers (#932)
* Chore: Code Cleanup in API controllers

* Remove unnecessary scoping for accounts controller
2020-06-07 13:58:05 +05:30
Sojan Jose
3d84568a37
Feature: Label APIs (#931) 2020-06-07 11:17:13 +05:30
Sojan Jose
915eefdc36
Bugfix: FCM push subscription builder fix (#930) 2020-06-06 20:53:30 +05:30
Sojan Jose
a13a474c23
Chore: Firebase Cloud Messaging Support (#858) 2020-06-05 00:15:50 +05:30
Sojan Jose
dafabac796
Chore: Minor bugfixes and housekeeping tasks (#896) 2020-06-02 23:50:39 +05:30
Sojan Jose
93d8a25877
Enable Spanish (#913) 2020-06-02 23:43:03 +05:30
Pranav Raj S
f78df91dd2
Chore: Contact Sidebar, conversation cleanup (#908)
- Update sidebar design
- Move every contact data to contacts module
- Revert go to next conversation feature
- Fix issues with new conversation in action cable
- Escape HTML content
- Broadcast event when conversation.contact changes.

Co-authored-by: Sojan <sojan@pepalo.com>
2020-06-02 22:59:02 +05:30
Sojan Jose
8c52a3a953
Chore: Remove duplication of user JBuilder (#911)
* Chore: Reduce duplication of user JBuilder
2020-05-31 23:10:20 +05:30
Pranav Raj S
586c616ae3
Bug: Render header title and tagline as HTML (#906)
* Render header title and tagline as HTML
2020-05-31 16:35:10 +05:30
Pranav Raj S
884a1c5971
Chore: Add an option to upload a business logo to inbox (#905)
Chore: Add an option to upload a business logo to inbox
2020-05-31 16:16:22 +05:30
Pranav Raj S
47ec7ad7c9
Feature: Ability to customise widget color (#903)
- Use Chrome style color-picker
2020-05-30 17:28:00 +05:30
Ronald Walker
10a1758261
Bug: Fix false positive in #toggleAgentTypingStatus spec (#899) 2020-05-29 12:37:18 +05:30
Pranav Raj S
efc59bb43f
Bug: Fix account_id in URLs (#894)
* Bug: Fix account_id in URLs
* Fix accountMixin specs
2020-05-26 23:36:42 +05:30
Sojan Jose
b7a583b2c4
Feature: Ability to switch between multiple accounts (#881)
* Feature: Ability to switch between multiple accounts

* Fix rubocop

* Fix assigned inboxes

* fix auth json

* Add account switcher in UI

* fix ordering on administrate

* Add switch accounts to sidebar

* add account id

* Fix schema.rb timestamp

* Revert "add account id"

This reverts commit 27570f50ef584cb9a5f69454f43f630b318c8807.

* Add a check for account

Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-05-26 22:38:48 +05:30
Abdulkadir Poyraz
b1aab228ae
Feature: Ability to mute contacts (#891)
fixes: #867
2020-05-26 17:43:59 +05:30
Sojan Jose
d8d14fc4a4
Feature: Rewamp super admin dashboard (#882) 2020-05-24 22:44:26 +05:30
Sony Mathew
6230f4d796
Enhancement: Threaded email replies for a conversation (#885) (#886)
* Added custom Message-ID and In-Reply-To headers for conversation reply emails
* Added new global config for the default domain (This is used in the above headers)
* Added migration to run the config loader to load the new global config value
* The subject of the conversation reply mailer was made static (This is required for threaded emails)
* Added required tests
2020-05-22 18:14:18 +05:30
Sony Mathew
11b4b4ea3f
Chore: Parse quoted text in incoming emails (#883) (#884)
* Chore: Parse quoted text in incoming emails (#883)
* Parsed the quoted text and replies in incoming emails and store them separately
* Did this parsing for plain text and html part of emails
* In the chat window, we will only show the parsed reply alone

* Conversation mailbox test fixes (#883)
2020-05-22 18:07:06 +05:30
Pranav Raj S
8af200ad20
Fix missing translations, enable dutch language (#878)
* Fix missing translations, enable dutch language
2020-05-19 19:05:10 +05:30
Pranav Raj S
3f5ce2ddbf
Bug: Fix autoload_paths for facebook bot (#877)
* Fix autoload_paths for facebook bot
2020-05-18 15:32:26 +05:30
Pranav Raj S
6e92d9be9e
Bug: Fix Facebook v7.0 API issues (#863)
* Fix v7.0 API issues

Co-authored-by: Sojan <sojan@pepalo.com>
2020-05-17 23:44:50 +05:30
Pranav Raj S
b7129785c6
Chore: View form responses as user messages (#876)
* Chore: View form responses as user messages
2020-05-17 22:49:45 +05:30
Pranav Raj S
246d0b407f
Chore: UI Cleanup in modals (#873)
* Chore: UI Cleanup in modals

* Fix review comments
2020-05-17 21:07:45 +05:30
Pranav Raj S
59f4dd7ebe
Feature: Introduce locale in web-widget SDK (#871)
* Introduce setLocale in SDK

Co-authored-by: Sojan <sojan@pepalo.com>
2020-05-17 16:15:53 +05:30
Sojan Jose
2e8cd59a06
Add new translations (#862)
* New translations agentMgmt.json (Dutch)

* New translations login.json (Dutch)

* New translations settings.json (French)

* New translations en.json (French)

* New translations en.json (Arabic)

* New translations en.json (Greek)

* New translations settings.json (Portuguese, Brazilian)

* New translations settings.json (Dutch)

* New translations settings.json (Greek)

* New translations signup.json (Ukrainian)

* New translations chatlist.json (Dutch)

* New translations contact.json (Dutch)

* New translations billing.json (Dutch)

* New translations cannedMgmt.json (Dutch)

* New translations inboxMgmt.json (Dutch)

* New translations conversation.json (Dutch)

* New translations generalSettings.json (Dutch)

* New translations en.json (Dutch)

* New translations en.json (Portuguese, Brazilian)

* New translations devise.en.yml (Dutch)

* New translations en.yml (Dutch)
2020-05-16 18:07:19 +05:30
Sojan Jose
e6aa851987
Chore: Add Account Users to Admin Panel (#859)
- Show errors on login page
- Dashboard for admin panel
2020-05-14 22:51:51 +05:30
Sojan Jose
20f39caa42
Chore: Twitter Integration house cleaning (#855)
Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-05-14 22:51:07 +05:30
Bruno Almeida
1108446974
Feature: Move to the next conversation when I resolve a the current c… (#757)
* Feature: Move to the next conversation when I resolve a the current conversation

* check if nextId is present before emitting the event

* use es6 string literals

* use a named variable for better reading

* create a variable for better readability

* better sintax to get clickable element

* after last, go to first chat when resolve

* use state and action to set next chat

* remove not used emit

* clear selected state when there is not next chat

* Remove deprecated scope from FB Channel (#761)

Remove deprecated scope from FB Channel

* Feature: Customise the position of messenger (#767)

Co-authored-by: Nithin David Thomas <webofnithin@gmail.com>

* Bug: Redirect user to set new password screen (#772)

* auto linter

* fix js linter

* sort chats on getter / filter before getting next chat

* Revert not related changes on ConversationCard.vue

* add test for getNextChatConversation getter

* remove not used module

* add test for getAllConversations getter
2020-05-14 13:43:02 +05:30
Ronald Walker
e6bf81caf4
Bug: Fix widget icon alignment in Firefox (#857) 2020-05-14 11:42:53 +05:30
Peter Schlaile
005f332776
Chore: Fixed auto-generated German translations
"canned responses" are no food: "Eingemachte Antwort" -> "Vorgefertigte Antwort"
"open", "closed" status are no verbs, so "Öffnen" -> "Offen", ...
"mine" has nothing to do with mining :) "Bergwerk" -> "Meine"
"home" isn't your home, but the main page "Hauptseite"
"resolve action" is about solutions, not determination, so
"Entschlossenheit" -> "Fall schließen"
"settings" are simply "Einstellungen"

Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-05-13 22:47:31 +05:30
Pranav Raj S
d219b0a45e
Chore: Add an option to toggle web manifest (#848) 2020-05-12 12:45:28 +05:30
Pranav Raj S
f819bc0f33
Chore: Use installation config in frontend (#847)
* Use installation config in widget
* Add configuration for installation in UI
* Add config for mailer

Co-authored-by: Sojan <sojan@pepalo.com>
2020-05-12 01:31:40 +05:30
Sojan Jose
c74b5c21d7
Feature: Introduce Super Admins (#705)
* Feature: Introduce Super Admins

- added new devise model for super user
- added administrate gem
- sample dashboards for users and accounts

Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-05-11 23:07:22 +05:30
Pranav Raj Sreepuram
6e0f02a38b Merge branch 'hotfix/1.4.2' into develop 2020-05-11 11:43:49 +05:30
Pranav Raj S
70341df9b8
Bug: Use v2 reports instead of v1 reports (#843) 2020-05-11 11:40:14 +05:30
Sony Mathew
905c93b8f8
Feature: Installation global config (#839) (#840)
* Renamed concern from Feature to Featurable

* Feature: Installation config (#839)
* Added new model installtion config with corresponding migrations and specs
* Created an installation config yml (key value store model)
* Created a config loader module to load the installaltion configs
* Added this to the config loader seeder
* Changed the account before create hook for default feature enabling to use the feature values from installtion config
* Renamed the feature concern to Featurable to follow the naming pattern for concerns
* Added comments and specs for modules and places that deemed necessary

* Refactored config loader to reduce cognitive complexity (#839)
2020-05-10 22:40:36 +05:30
Pranav Raj S
76b98cbed4
Bug: Fix inbox.agent_bot nil case (#841) 2020-05-10 22:20:45 +05:30
sony-mathew
a5cc3bae6c Hotfix: Fix for private note in conversation email notifications - Merge branch 'hotfix/1.4.1' into develop 2020-05-10 16:22:53 +05:30
sony-mathew
a75f49ddcc Bug: Fixed private note being sent to customer (#837) 2020-05-10 16:21:02 +05:30
Pranav Raj S
f28ec29b8c
Feature: Customise widget for bot conversations (#834)
* Feature: Customise widget for bot conversations
2020-05-09 22:02:43 +05:30
Sojan Jose
05ea6308f2
Chore: Update ruby and rails versions (#831) 2020-05-08 12:13:23 +05:30
Sojan Jose
217f33b2b2
Chore: Add ro, fr, pt_BR translation files (#827)
Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-05-06 14:24:20 +05:30
Pranav Raj S
c7120e9637
Chore: Add translated languages to account settings (#826)
* Add available languages in account settings

Co-authored-by: Sojan <sojan@pepalo.com>
2020-05-06 13:38:36 +05:30
Pranav Raj S
b50aeb7ae4
Chore: Fix broken conversation mailer layout (#825) 2020-05-06 12:40:41 +05:30
Pranav Raj S
e9131ea558
Feature: Add web push notification permission in frontend (#766)
Add webpush notification permission in frontend

Co-authored-by: Sojan <sojan@pepalo.com>
2020-05-06 00:10:56 +05:30
Pranav Raj S
44fae4a4a1
Feature: Add default value to ChatForm (#816)
* Feature: Add adefault value to ChatForm
2020-05-04 23:48:47 +05:30
Nithin David Thomas
5bc8219db5
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>
2020-05-04 23:07:56 +05:30
Sony Mathew
fabc3170b7
Feature: Feature flags on account (#814) (#815)
* Feature: Feature flags on account (#814)
* Added the new column on account model for managing feature flags
* Added the inbound email flag
* Locked the settings of this eature in account settings based on this
* Encapsulated the feature flaging as a concern. With this, we can re-use the same concern if we introduce this in other models like user or inbox or so.
* Added the features in the account api

* Changed Rails/FilePath style - rubocop issue

* Revert "Changed Rails/FilePath style - rubocop issue"

This reverts commit 3a42d3b9c9b3a2fde8bc7256fd704b6fcaf54040.

* Disabling rubocop on codeclimate as we already have this in CICD
2020-05-04 23:06:42 +05:30
Pranav Raj S
98af47aae2
Fix missing translation key (#810) 2020-05-04 19:07:31 +05:30
Sojan Jose
ae3f8c02e1
Chore: Add pt and pt_BR translations (#813) 2020-05-04 17:33:55 +05:30
Pranav Raj S
19886b40bd
Chore: Add enter key listener for email input box (#809)
* Chore: Add enter key listener for email input box
2020-05-03 14:45:33 +05:30
Sojan Jose
dc6398ab56
Feature: Api to toggle typing status on a conversation (#807)
- api to toggle typing status on a conversation
- clients receive webhook events on the same

Addresses: #718 , #719 , #775
2020-05-03 12:17:27 +05:30
Sojan Jose
ba1e0dbda0
Chore: Apple site association file for deep linking (#805) 2020-05-03 12:16:11 +05:30
Sojan Jose
db6e3fb43e
Chore: API to get conversations count (#808)
Addresses: #497
2020-05-03 12:15:10 +05:30
Pranav Raj S
8655466fa5
Chore: Add docs for Twilio Whatsapp/SMS channel (#804) 2020-05-02 16:25:57 +05:30
Subin T P
7e62000e1b
Chore: Remove redis backed reporting (#669) 2020-05-02 16:04:52 +05:30
Pranav Raj S
ddbc612f0b
Bug: Use beginAtZero option for reports (#803) 2020-05-02 15:03:43 +05:30
Nithin David Thomas
a951fb20cb
Chore: UI fixes and enhancements (#796)
Co-authored-by: Pranav Raj S <pranavrajs@gmail.com>
2020-05-02 09:47:36 +05:30
Pranav Raj S
8906fd808d
Bug: Fix missing contact_id in conversation list (#798) 2020-05-01 23:00:33 +05:30
Sojan Jose
d4ff9f5b45
Chore: Add additional information to conversation meta (#795)
Chore: Add additional information to conversation meta
2020-05-01 16:49:28 +05:30
Sojan Jose
96da27f1f6
Feature: User Notification Objects (#752)
Co-authored-by: Pranav Raj S <pranavrajs@gmail.com>
2020-05-01 14:53:43 +05:30
Sojan Jose
66aace7c13
Chore: Add Romanian, Portuguese, Brazilian, Ukrainian languages (#790)
* New translations integrations.json (Romanian)

* New translations integrations.json (Portuguese, Brazilian)

* New translations integrations.json (Ukrainian)

* New translations integrations.json (Portuguese)

* New translations inboxMgmt.json (French)

* New translations report.json (Portuguese, Brazilian)

* New translations resetPassword.json (Portuguese, Brazilian)

* New translations login.json (Portuguese)

* New translations report.json (Ukrainian)

* New translations report.json (Portuguese)

* New translations cannedMgmt.json (Portuguese)

* New translations billing.json (Portuguese)

* New translations agentMgmt.json (Spanish)

* New translations agentMgmt.json (Portuguese, Brazilian)

* New translations generalSettings.json (French)

* New translations conversation.json (Portuguese, Brazilian)

* New translations conversation.json (Portuguese)

* New translations chatlist.json (Portuguese)

* New translations contact.json (Portuguese)

* New translations chatlist.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations devise.en.yml (Portuguese, Brazilian)

* New translations en.yml (French)

* New translations en.yml (Spanish)

* New translations settings.json (Romanian)

* New translations setNewPassword.json (Portuguese)

* New translations setNewPassword.json (Ukrainian)

* New translations signup.json (Portuguese, Brazilian)

* New translations settings.json (Ukrainian)

* New translations settings.json (Portuguese, Brazilian)
2020-05-01 12:03:46 +05:30
Fernando Verdugo
29ae232e54
Feature: Add spanish (Spain) language (#671)
Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-05-01 11:45:46 +05:30
Sony Mathew
0b65526b85
Feature: Conversation Continuity with Email (#770)
* Added POC for mail inbox reply email
* created mailbox and migratuion for the same
* cleaned up sidekiq queues and added the queues for action mailbox and active storage
* created conversation mailbox and functionlaity to create a message on the conversation when it's replied

* Added UUID to conversation to be used in email replies

* added migration to add uuid for conversation
* changed parsing and resource fetching to reflect matching uuid and
  loading conversation alone
* cleaned up conversation mailbox.rb

* Added content type & attribute for message

* Added the new reply email to outgoing emails
* Added migration to accounts for adding domain and settings
* Modified seeds to reflect this changes
* Added the flag based column on account for boolean settings
* Added the new reply to email in outgoing conversation emails based on conditions

* Added dynamic email routing in application mailbox
* Added dynamic email routing in application mailbox
* Added a catch all deafult empty mailbox
* Added annotation for account

* Added the complete email details & attachments to the message
* Added the complete email details to the message in content_attributes, like subject, to, cc, bcc etc
* Modified the mail extractor to give a serilaized version of email
* Handled storing attachments of email on the message

* Added incoming email settings, env variables

* [#138] Added documentation regarding different email settings and variables

* Fixed the mail attachments blob issue (#138)
* Decoided attachments were strings and had to construct blobs out fo them to work with active storage
* Fixed the content encoding issue with mail body
* Fixed issue with Proc used in apllication mailbox routing
* Fixed couple of typos and silly mistakes

* Set appropriate from email for conversation reply mails (#138)
* From email was taken from a env variable, changed it to take from account settings if enabled
* Set the reply to email correctly based on conversation UUID
* Added commented config ind development.rb for mailbox ingress

* Added account settings for domain and support email (#138)
* Added the new attributes in accounts controller params whitelisting, api responses
* Added options for the the new fields in account settings

* Fixed typos in email continuity docs and warnings

* Added specs for conversation reply mailer changes (#138)
* Added specs for
  * conversation reply mailer
  * Accounts controller
  * Account and Conversation models

* Added tests for email presenter (#138)

* Specs for inbound email routing and mailboxes (#138)
2020-04-30 20:20:26 +05:30
Pranav Raj S
0cb7333977
Feature: Twilio Whatsapp Integration (#779)
Twilio Whatsapp Integration

Co-authored-by: Sojan <sojan@pepalo.com>
2020-04-30 01:41:13 +05:30
Nithin David Thomas
168042f9a4
Feature: Support an Emoji selector in the chat widget (#773)
* Adds emoji widget to web widget
* Style fixes for the send button
* Adds cursor to emoji widget action buttons
2020-04-29 13:54:56 +05:30
Pranav Raj S
fde4f9271b
Bug: Redirect user to set new password screen (#772) 2020-04-27 15:15:05 +05:30
Pranav Raj S
6770126de0
Feature: Customise the position of messenger (#767)
Co-authored-by: Nithin David Thomas <webofnithin@gmail.com>
2020-04-25 23:18:00 +05:30
Andrei Popovici
94192e8184
Remove deprecated scope from FB Channel (#761)
Remove deprecated scope from FB Channel
2020-04-25 22:43:54 +05:30
Sojan Jose
3fcd367952
Chore: New Crowdin translations (#747)
Brings in new translation files from Crowdin.
2020-04-23 23:52:16 +05:30
Pranav Raj S
7d41b7a5dc
Bug: Add account scoping in CTA (#754) 2020-04-23 12:21:45 +05:30
Pranav Raj S
645d53db1c
Bug: Fix webwidget.triggered event (#750) 2020-04-22 13:14:09 +05:30
Subin T P
dba6866b6d
Bug: Force scoping message metrics to account_id (#748) 2020-04-22 12:49:46 +05:30
Pranav Raj S
06153a96ed
Chore: Update swagger API documentation (#745)
* Chore: Update swagger documentation
2020-04-20 11:55:06 +05:30
Sojan Jose
941fbb0d72
Chore: Web widget Inbox Tech Debts (#738)
* Chore: Webwidget Inbox Tech Debts

* Additional customization options creating Web Widget
* Changes to edit Page for Web Widget
* Remove the WebWidget API end points
* Minor chores

Address: #680, #502

Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-04-19 23:40:28 +05:30
Sojan Jose
c0ce70e87b
Chore: Events Cleanup (#739)
* Chore: Events Cleanup

- fix failing tests
- add additional webhook events
- clean up event logic

* Fix conversation status update in action cable

Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-04-18 20:25:58 +05:30
Sojan Jose
ecccb103a0
Chore: Add a real-time event for contact resolution/update (#696)
* Chore: Add a real-time event for contact resolution/update
* Chore: Ensure Events are sent to administrators

Addresses: #419
2020-04-18 13:47:51 +05:30
Sony Mathew
818c769bb7
Chore: Message to support multiple attachments (#730)
* Changes for the message to have multiple attachments
* changed the message association to attachments from has_one to has_many
* changed all the references of this association in building and fetching to reflect this change

* Added number of attachments validation to the message model

* Modified the backend responses and endpoints to reflect multiple attachment support (#737)

* Changing the frontend components for multiple attachments
* changed the request structure to reflect the multiple attachment structures
* changed the message bubbles to support multiple attachments
* bugfix: agent side attachment was not showing because of a missing await
* broken message was shown because of the store filtering
* Added documentation for ImageMagick

* spec fixes

* refactored code to reflect more apt namings

* Added updated message listener for the dashboard (#727)
* Added the publishing for message updated event
* Implemented the listener for dashboard

Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-04-17 21:15:20 +05:30
Pranav Raj S
0817414957
Chore: Upgrade babel packages (#736)
Chore: Upgrade babel
2020-04-17 18:49:14 +05:30
Pranav Raj S
e3ccfc4662
Bug: Fix IE issues in Widget (#734) 2020-04-17 16:45:12 +05:30
Fernando Verdugo
c2167fcaaf
Feature: Add catalan (Catalonia) language (#672)
Co-authored-by: Pranav Raj S <pranavrajs@gmail.com>
2020-04-16 15:28:23 +05:30
Sojan Jose
743bddc065
Chore: Housekeeping tasks (#721)
- End point to return api version
- Move agent bot listener to sync dispatcher
- gem update
2020-04-16 15:05:01 +05:30
Vishnu Narayanan
55892e37f9
Feature: Add Malayalam(മലയാളം) localization (#707) (#708)
* Add Malayalam localization

* Added Malayalam translations for dashboard locales (UI)

 Translations for
* webhooks, signup, settings, set a new password, reset password, report, login, integrations

* Added Malayalam translations for dashboard translations for UI

* Added dashboard Malayalam translations for contact, conversation, general settings and inbox management.

* [707] Add Malayalam translations for dashboard

* [707] Add support for Malayalam

* [707] Fix review comments

* [707] fix review commetns

Co-authored-by: sony-mathew <ynos1234@gmail.com>
2020-04-13 21:14:17 +05:30
Sojan Jose
b0950d6880
Feature: Rich Message Types (#610)
Co-authored-by: Pranav Raj S <pranavrajs@gmail.com>
Co-authored-by: Nithin David Thomas <webofnithin@gmail.com>
2020-04-10 16:42:37 +05:30
Sojan Jose
1cfa756d49
Chore: APIs for agent bots (#676)
Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-04-07 10:41:18 +05:30
Sojan Jose
4feca1d88d
Feature: Business logo API for web widget (#674)
Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-04-07 10:19:19 +05:30
Nithin David Thomas
99eaf59509
Feature: Ability to set an account name (#667)
* Ability to change the account name 
* Ability to set a language to the account

Addresses: #667  #307  

Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-04-06 22:17:07 +05:30
Pranav Raj S
a1a81e3799
Feature: Twilio SMS Channel (#658)
Twilio SMS Channel
Fixes :  #350
2020-04-05 22:11:27 +05:30
Sojan Jose
8e59564793
Chore: Update ruby version (#665) 2020-04-05 12:11:50 +05:30
Pranav Raj S
cb22b396eb
Feature: Website SDK (#653)
Add SDK functions

Co-authored-by: Sojan <sojan@pepalo.com>
2020-04-03 13:04:58 +05:30
Nithin David Thomas
7fcd2d0e85
Feature: Support file type messages on widget and dashboard (#659)
- Adds support for file upload

Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
Co-authored-by: Sojan <sojan@pepalo.com>
2020-04-02 12:28:38 +05:30
Sony Mathew
0afa5c297f
Bug: Fixed conversation reply mail issue when an attachment is sent (#655)
* When an attachment was sent in the reply mailer it was breaking due to the
truncating function applied on the last message content. Here the content was empty
and so it broke.
* Fixed this breakage
* Also addressed the issue that if the attachment was there the content was coming empty.
With these changes, made the content to have a link to the attachment.
2020-03-30 16:07:01 +05:30
Nithin David Thomas
6c4e1fdaac
Feature: Send images from widget 2020-03-30 12:15:06 +05:30
Subin T P
e56132c506
Non blocking event dispatch (#652)
- Performance improvements for event dispatch
2020-03-29 19:18:30 +05:30
Sojan Jose
bab9d663d2
Feature: API for updating account settings (#645)
* Feature: API for updating account settings

- API to update account locale
- API to update account name
- API to show account info
2020-03-29 12:16:31 +05:30
Pranav Raj S
6c48f2e789
Bug: Update conversation urls in email (#649)
Update the conversation URLs in email templates.
2020-03-29 09:34:57 +05:30
Pranav Raj S
50ebbc13b6
Chore: Add Twitter documentation (#648)
* Chore: Add Twitter documentation

Co-authored-by: Sojan <sojan@pepalo.com>
2020-03-28 11:51:42 +05:30
Sojan Jose
a3c2d4e5bd
Chore: Add Facebook app set up documentation (#647)
Co-authored-by: Pranav Raj S <pranavrajs@gmail.com>
2020-03-28 11:43:02 +05:30
Sony Mathew
209e0a0fb4
[Feature] Change conversation ordering (#640)
* Update conversation's updated_at when a message is created/saved
* changed teh ordering of conversation to be based on `updated_at` rather than `created_at`
2020-03-24 23:34:22 +05:30
Pranav Raj Sreepuram
2eac97c705 Merge branch 'hotfix/1.2.4' into develop 2020-03-22 20:43:58 +05:30
Nithin David Thomas
f7e5f1fabf
Feature: Send attachments to widget user (#621) 2020-03-22 15:54:36 +05:30
Nithin David Thomas
fe70843fae
Feature: Improve Dashboard UI (#630) 2020-03-22 11:44:40 +05:30
Pranav Raj S
1c4566df66
Bug: Migrate messages while merging contact (#624)
Bug: Migrate messages while merging contact
2020-03-19 01:52:38 +05:30
Subin T P
8f6f07177d
Enhancement: Move reporting metrics to postgres (#606) 2020-03-18 16:53:35 +05:30
Arief Luthfi
71d48854b1
Chore: Refactor Facebook send reply service
Refactor Facebook send reply service
2020-03-17 21:09:20 +05:30
Pranav Raj S
4d0f46176b
Chore: Add web_widget_script in the Inboxes API (#615)
* Chore: Add web_widget_script in the Inboxes API
2020-03-16 12:32:34 +05:30
Nithin David Thomas
d8599c62dd
Feature: Support options message type on widget and dashboard (#614) 2020-03-16 12:08:40 +05:30
Nithin David Thomas
fb17d34b8a
Feature: Support card options in widget and dashboard #594 (#609) 2020-03-12 21:23:52 +05:30
Sojan Jose
a5b1e2b650
Feature: Access tokens for API access (#604)
Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-03-11 00:02:15 +05:30
Sojan Jose
19ab0fe108
Chore: Scope URLs with account_id (#601)
* Chore: Enable Users to create multiple accounts

Addresses: #402
- migrations to split roles and other attributes from users table
- make changes in code to accommodate this change

Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-03-09 23:27:10 +05:30
Pranav Raj Sreepuram
2a6670f0da Merge branch 'hotfix/1.2.2' into develop 2020-03-09 10:01:15 +05:30
Pranav Raj Sreepuram
ef6c695bcb Chore: Add additional_attributes to conversation seed 2020-03-09 10:00:11 +05:30
Pranav Raj Sreepuram
1db35caa56 Merge branch 'release/1.2.1' into develop 2020-03-08 22:15:58 +05:30
Pranav Raj S
2a4fb7b056
Bug: Fix conversation not loading from the links in email (#602)
Bug: Load conversation from links
2020-03-08 22:08:25 +05:30
Nithin David Thomas
60dc564f37
Bug: Fix missing close button on mobile chat window (#600)
Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-03-07 23:39:41 +05:30
Sojan Jose
8b4df986bf
Chore: Enable Users to create multiple accounts (#440)
Addresses: #402
- migrations to split roles and other attributes from users table
- make changes in code to accommodate this change

Co-authored-by: Sojan Jose <sojan@pepalo.com>
Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
2020-03-07 12:18:16 +05:30
Sojan Jose
a8ac048716
Bug: Fix duplicate messages from Twitter DM and tweets (#599)
* Bug: Fix duplicate messages from Twitter DM and tweets
2020-03-06 01:47:37 +05:30
Pranav Raj S
b2d5cc7b05
Feature: Introduce bots (#545)
Co-authored-by: Pranav Raj S <pranavrajs@gmail.com>
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2020-03-06 01:43:12 +05:30
Nithin David Thomas
dfdb68e1c3
Enhancement: Improve UI on user preferences page (#584) 2020-03-03 12:39:05 +05:30
Sojan Jose
cda65ea339
Feature: Conversation creation email notifications (#576)
* Clean up the mailers

* Disable assignment mailer if setting is turned off

* Email notifications on conversation create

* Specs
2020-03-01 19:06:13 +05:30
Pranav Raj S
d6237dfc59
Feature: Add UI to update email notification preferences (#579) 2020-03-01 17:47:08 +05:30
Pranav Raj S
629c73d3ce
Fix onBackDropClick (#578) 2020-03-01 11:23:55 +05:30
Sony Mathew
7f26b34b15
Feature: Add new notification settings for user (#569)
Added new notification settings API for user 

Co-authored-by: Sojan Jose <sojan@pepalo.com>
2020-02-29 20:41:09 +05:30
Nithin David Thomas
c119c6577b
Feature: As a admin, I should be able to add webhooks to account (#572)
Co-authored-by: Pranav Raj S <pranavrajs@gmail.com>
2020-02-29 17:43:49 +05:30
Pranav Raj S
e8cf59c661
Feature: Alert widget user when message is received from agent (#571) 2020-02-29 11:27:02 +05:30
Sojan Jose
b05f843790
Chore: Making Account Signup Optional (#563)
Introduce new environment variable that lets you control account signups
ENABLE_ACCOUNT_SIGNUP :( true | false | api_only )
Fixes: #406

Co-authored-by: Pranav Raj S <pranavrajs@gmail.com>
2020-02-29 11:20:33 +05:30
Pranav Raj S
0740d4762f
Enhancement: Paginate conversation calls in tabs (#560)
* Use conversationPage module for pagination

* Load more conversations

* Reset list if conversation status is changed

* Add specs to conversationPage

* Reset filter when page is re-mounted

* Update text

* Update text
2020-02-26 21:15:01 +05:30
Tim Lange
e5bc372a29
Chore: Added tests for callbacks_controller (#531)
* Chore: Added tests for callbacks_controller
2020-02-26 18:22:08 +05:30
Subin T P
7479b5db43
Feature: Support account/inbox specific webhooks (#562) 2020-02-26 09:44:24 +05:30
Nithin David Thomas
fd8e8c7c87
Enhancement: Add close button to the contact sidebar panel (#551) 2020-02-23 21:13:28 +05:30
Nithin David Thomas
2d3212575d
Enhancement: Hides available in widget interaction (#548) 2020-02-23 15:16:09 +05:30
Sony Mathew
e2688d5176
Chore: Swagger Docs V1 (#546) 2020-02-23 12:54:29 +05:30
Nithin David Thomas
eea92bd0ac
Bug: Add link cursor to widget close button (#544) 2020-02-22 20:20:43 +05:30
Pranav Raj S
1261cc7783
Enhancement: Upgrade @babel/preset-env (#542) 2020-02-22 20:16:56 +05:30
Tim Lange
a790dc640f
Fix: Changed overflow scroll to overflow auto (#523)
Co-authored-by: Nithin David Thomas <webofnithin@gmail.com>
2020-02-22 19:15:45 +05:30
ghosteathuman
67f4f69e8a
Bug: Fix error message when existing agent email is reused for a new agent (#538)
Co-authored-by: Pranav Raj S <pranavrajs@gmail.com>
2020-02-22 19:06:16 +05:30
Nithin David Thomas
708d2688ff
Bug: Fix URL text overflow (#537) 2020-02-22 15:32:15 +05:30
Tim Lange
91f8b4a650
Bug: Show helper description for code in finish setup page (#532)
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2020-02-22 14:27:04 +05:30
Nithin David Thomas
330bf87f08
Bug : Inbox Filter indicator is removed when a conversation is selected (#535) 2020-02-22 14:24:51 +05:30
Nithin David Thomas
f7c8358549
Bug: Hide contact panel when inboxId is not present (#530) 2020-02-20 19:48:09 +05:30
Subin T P
d36e1b52f6
Enhancement: Add event name in webhook payload (#528)
* chore: Remove unwanted twitter gem
* Enhancement: Add event name in webhook payload
fixes #528 #516 #518
2020-02-20 16:19:42 +05:30
Tim Lange
b7e725a7cd
Fix: Fixed code font not being displayed on windows (#525)
Co-authored-by: Nithin David Thomas <webofnithin@gmail.com>
2020-02-20 11:11:36 +05:30
Tim Lange
9674e0bff4
Bug: Fix misalignment of back button (#524)
Co-authored-by: Nithin David Thomas <webofnithin@gmail.com>
2020-02-20 11:02:12 +05:30
Tim Lange
4817f4a28c
Bug: Fixed color of agent link in chat widget being white (#522)
Co-authored-by: Nithin David Thomas <webofnithin@gmail.com>
2020-02-20 10:59:43 +05:30
Tim Lange
30e5edf6dc
Feature: Add ability to disable auto assignment of conversations (#513) 2020-02-19 14:40:03 +05:30
Tim Lange
e0afb84502
Chore: Removed unused functions from home_controller (#512) 2020-02-19 13:51:22 +05:30
Nithin David Thomas
fbefb78817
Enhancement: Update the design of inbox listing in sidebar (#511)
Co-authored-by: Pranav Raj S <pranavrajs@gmail.com>
2020-02-19 10:30:34 +05:30
Tim Lange
60547b9fb3
Chore: Added tests for contacts_controller (#509)
- Tests for contacts controller
Addresses:  #37
2020-02-17 17:08:29 +05:30
Tim Lange
fc23a10a99
Chore: Added tests for conversations_controller (#508)
* Chore: Added tests for conversations_controller
* Chore: Remove get_messages function from conversations
2020-02-17 15:57:57 +05:30
Tim Lange
a2316d4d09
Chore: Added tests for subscriptions_controller (#483)
Added tests for subscriptions_controller
ref: #37
2020-02-17 07:51:45 +05:30
Pranav Raj S
c32d391261
Bug: Fix imports in ProfileSettings (#506) 2020-02-16 22:20:59 +05:30
Pranav Raj S
c4e2a84f65
Feature: Agent Profile Update with avatar (#449)
* Feature: Agent Profile Update with avatar
* Add Update Profile with name, avatar, email and password
2020-02-16 17:20:38 +05:30
Nithin David Thomas
e61ba95cf7
Feature: Add/Edit conversation labels (#488)
Co-authored-by: Pranav Raj S <pranavrajs@gmail.com>
2020-02-16 15:46:26 +05:30
Sojan Jose
77473dc2aa
Chore: Include avatar url in sign_in response (#501)
- include avatar url in sign_in response ( fixes #500 )
- fix circle ci builds
2020-02-15 22:57:48 +05:30
Subin T P
919261d843
Feature: Webhooks (#489) 2020-02-14 23:19:17 +05:30
Sojan
2023d5d42b Revert "Updates sidebar on dashboard"
This reverts commit 6186d14593.
2020-02-11 19:34:42 +05:30
Nithin David
6186d14593 Updates sidebar on dashboard 2020-02-11 19:21:55 +05:30
Pranav Raj S
30f4c08143
Feature: SignIn with Twitter (#479)
* Add Twitter SignIn flow

Co-authored-by: Sojan Jose <sojan@pepalo.com>
2020-02-11 14:27:38 +05:30
Pranav Raj S
272c481464
Feature: Create conversations from Tweets (#470)
* Feature: Add tweets to conversations
2020-02-09 15:47:48 +05:30
Tim Lange
6c46891ee1
Chore: Remove unnessecary check if object exists (#480) 2020-02-08 22:38:37 +05:30
Tim Lange
5210d201b6
Chore: Increase test coverage for widgets controller (#473) 2020-02-07 13:14:07 +05:30
Pranav Raj S
7b1fdc5fcd
BugFix: Filter duplicate DMs in Twitter Integration (#468)
BugFix: Filter duplicate DMs in Twitter Integration
2020-02-05 18:50:37 +05:30
Pranav Raj S
607fc25723
Bugfix: Fix copy in agent availability status (#466)
Copy update for agent status
2020-02-05 12:11:33 +05:45
Nithin David Thomas
83b0bb4062
Feature: As an end-user, I should be able to see the list of agents in the widget. (#461)
Co-authored-by: Pranav Raj S <pranavrajs@gmail.com>
2020-02-05 11:27:22 +05:30
Pranav Raj S
33e0bd434b
Chore: Update the copy used in signup page (#464)
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2020-02-03 20:12:37 +05:45
Pranav Raj S
a9c304f1ef
Feature: Twitter DM Integration (#451)
An initial version of twitter integration

Co-authored-by: Sojan Jose <sojan@pepalo.com>
2020-02-03 00:54:00 +05:45
Sojan Jose
a287c86bc4
Bugfix: Fix password reset (#455) 2020-02-02 22:52:38 +05:30
Pranav Raj S
0b31e14132
Feature: Add online status to each user (#452)
* Feature: Add online status to each user
* Add OnlineStatusable, add availability status to thumbnail
2020-02-02 22:49:16 +05:45
Subin T P
b3264a0d7b
Feature: API to get most used labels (#447)
* Add most-used labels API

* Filter conversation by labels

* Move match_all to any query

Co-authored-by: Pranav Raj S <pranavrajs@gmail.com>
2020-02-02 16:29:18 +05:30
Sojan Jose
199642d3bd Chore: Render avatar url in validate token method (#448) 2020-01-27 00:59:51 +05:45
Sony Mathew
1fd4127709
Removed agent dashboard link in conversation mail to user (#445) 2020-01-24 14:31:52 +05:45
Sony Mathew
04d347f0ee Chore: Changed from email and reply to email for conversation email (#444) 2020-01-24 14:10:52 +05:45
Sony Mathew
d4b3ba4baa [#139] Send conversation emails (#442)
* [#139] Delayed emails for conversations

* Added the setex and get methods to Redis wrapper
* Set the priorities for the sidekiq queues
* Was not able to use mailhog for testing email in local, switched back to letter opener and added comments on using the SMTP settings
* Added after create hood in messages to queue the sending of mail after 2 minutes using sidekiq worker and also set the redis key for the conversation to avoid the email sending for every message
* Added the sidekiq worker to send the email and delete the conversation redis key
* Added the mailer and mail template
* mailer sends the last 10 messages along with the new messages from the time it was queued

* Send email only in development or if smtp config is set

* Send email only in development or if smtp config is set
* Set the SMTP_PORT in production variable

* Adding redis to circle CI

* Specs for the conversation email changes

* Added specs for conversation email sidekiq worker
* Added specs for conversation mailer
* Added specs in message model for the after create hook for notify email

* Send emails only when there is a reply from agent

* set development to use mailhog

* Adding comments for using letter opener
2020-01-23 23:14:07 +05:45
Pranav Raj S
95fb6893b4 Feature: API to list the agents for the inbox (#438)
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2020-01-21 19:56:58 +05:45
Pranav Raj S
a2b025b548 Feature: View conversation labels on sidebar (#436) 2020-01-21 18:57:44 +05:45
Muhsin.K
9290893f9d
Style: Fix the last message style issue (#433) 2020-01-19 14:17:15 +05:30
Nithin David Thomas
f7f7a6b9c7 Feature: Widget design update (#426) 2020-01-17 13:36:05 +05:30
Subin T P
cc180b77ce Include only incoming/outgoing messages in reporting (#429)
* Skip activity messages from reporting

* Makes reportable? as access list for reporting
2020-01-14 00:50:18 +05:30
Pranav Raj S
18bf1a9e62 Ignore case from input email (#424) 2020-01-13 14:25:23 +05:30
Nithin David Thomas
7cf19e0b52 Feature: Update design for web widget (#408) 2020-01-13 12:10:40 +05:30
Pranav Raj S
655c585358 Feature: View a contact's previous conversation (#422)
* Add API to fetch conversations of a contact

* Add conversation list in sidebar
2020-01-13 11:17:03 +05:30
Pranav Raj S
fc6a8c2601
Bug: Fix Heroku deployment on develop branch(#421) 2020-01-12 19:31:32 +05:30
Sojan Jose
722f540b03 [Feature] Email collect message hooks (#331)
- Add email collect hook on creating conversation
- Merge contact if it already exist
2020-01-09 13:06:40 +05:30
Sojan
59d4eaeca7 Merge branch 'hotfix/1.0.1' into develop 2020-01-09 12:01:07 +05:30
Sojan
8e6b735299 Bugfix: Sidekiq queues getting stuck [#411]
ref: https://github.com/rails/rails/issues/36810
closes: #411
2020-01-09 11:59:31 +05:30
Sojan Jose
f875a09fb7 Chore: Switch from Carrierwave to ActiveStorage (#393) 2020-01-07 22:59:17 +05:30
mbronek7
f02d422b6a Move ActionCable Broadcast Calls to sidekiq #154 (#403)
* Move Pusher Calls to sidekiq

* CR changes

Co-authored-by: Sojan Jose <sojan@pepalo.com>
2020-01-06 22:32:41 +05:30
Pranav Raj S
439e064d90 Feature: Contact Panel with conversation details (#397)
* Add Contact panel changes

* Fix parent iframe blocked

* Add Conversation Panel, Contact messages

* Update contact panel with conversation details

* Update designs in sidebar

* Fix specs

* Specs: Add specs for conversationMetadata and contact modules

* Fix currentUrl issues

* Fix spelling

* Set default to empty string
2020-01-01 22:30:43 +05:30
Pranav Raj S
7c4cc68561
Bug: Force fetch inbox settings on route change (#400) 2019-12-30 11:53:16 +05:30
Pranav Raj S
e2aeeeca43 Specs: Add specs for Facebook::SendReplyService (#396) 2019-12-28 23:14:09 +05:30
Pranav Raj S
5ddc46c474 Refactor: Inbox store, remove inboxes from sidebar (#387)
* Refactor: Inbox store, remove inboxes from sidebar

* Add a new page for inbox settings

* Show inboxes on sidebar

* Add inbox_members API

* Disable similar-code check

* Fix codeclimate scss issues

* Add widget_color update API and actions

* Add specs for inbox store

* Fix Facebook auth flow

* Fix agent loading, inbox name
2019-12-28 21:56:42 +05:30
Pranav Raj S
005ca62c6e Bug: Fix signup 500 error (#389) 2019-12-26 11:52:14 +05:30
Pranav Raj S
f55c42d5a1 Bug: Fix copy when no inbox is added. (#386) 2019-12-25 20:06:43 +05:30
Pranav Raj S
3440230187 [Bug] Fix short_code param in update canned response API (#385) 2019-12-25 11:52:02 +05:30
Anto Dominic
4e9290ad76 Send emails via sidekiq (#380)
* add sidekiq web view if the user is an administrator

* add sidekiq setup configuration and support

* update devise to use delivery_later method and update test

* update conversation to use deliver_later instead of deliver

* Update Routes

* Add Procfile for Heroku One-Click Start

* updating docs

* update concurrency and Procfile for supporting Heroku Free Dyno

* update Procfile.dev
2019-12-25 03:03:02 +05:30
Sojan Jose
f98cd83a29 Code-climate duplicate code fixes (#382)
* Code-climate duplicate code fixes

* Spec for accounts controller
2019-12-24 17:32:27 +05:30
Sojan
97ab82892d Chore: labels to Conversations [#245] 2019-12-24 16:42:18 +05:30
Sojan Jose
7d85f2e046 Feature: Contact Merge Action (#378) 2019-12-24 13:27:25 +05:30
Pranav Raj S
1143893d9c [Bug] Fix conversation assignment mailer url (#374)
* Fix conversation assignment mailer url

* Remove mailer scope
2019-12-23 12:16:46 +05:30
Pranav Raj S
2ce7438c79 [Refactor] Cleanup agent store and actions (#373)
* Cleanup agent store and actions

* Move set/create/update/destroy to helpers

* Update mutation specs

* Add specs for API helper

* Fix edit/delete action visibility

* Add actions specs

* Remove unused API helpers

* Remove duplicates

* Remove duplicates

* Fix duplicate
2019-12-21 22:54:35 +05:30
Pranav Raj S
4b677ae00e [Bug] Fix timestamp in temporary message (#369)
* [Bug] Fix timestamp in temporary message

* Fix tests
2019-12-17 09:47:44 +05:30
James George
87fb1adab1 Refactor: Minor code refactoring in accordance with Vue.js best practices (#368) 2019-12-16 18:23:14 +05:30
Pranav Raj S
17587d8a0c [Enhancement] Group widget messages by users (#367)
* Remove thumbnail

* Show grouped messages
2019-12-15 23:53:04 +05:30
James George
5c7c325c9c Refactor: use Array.includes instead of indexOf (#366) 2019-12-15 23:24:34 +05:30
Pranav Raj S
a7cb75e468 [Performance] Optimize queries in conversation/message finders (#364)
* [Performance] Optimize queries in conversation/message finders

* Add message_finder spec

* Fix message_finder spec
2019-12-15 16:59:12 +05:30
Pranav Raj S
cfc56705fd [Enhancement] Group widget messages by date (#363)
* [Enhancement] Group widget messages by date

* Update DateSeparator snapshot
2019-12-15 00:06:01 +05:30
Pranav Raj S
7b63cbe1f7 [Enhancement] Select widget_color while creating inbox (#362)
* [Enhancement] Select widget_color while creating inbox

* Fix codeclimate issues

* Fix !important
2019-12-14 18:14:35 +05:30
Pranav Raj S
19852b60cd [Bug] Fix icon alignment in buttons (#360)
* Fix icon alignment in buttons

* Fix ordering
2019-12-13 15:26:14 +05:30
Mukesh Chaudhary
5b275ea157 Add option to reset password of agents to Admin (#351)
* Add option to reset password of agents to Admin

* Fix copy, remove setTimeout
2019-12-13 13:04:49 +05:30
Ender Ahmet Yurt
cef1200351 Refactor for reauthorize_page method (#110)
* Refactor for reauthorize_page method

* Fix the rubocop issues
2019-12-13 02:42:16 +05:30
Pranav Raj S
febc4bef83 [Enhancement] Hide sidebar on tablets (#358)
* [Enhancement] Hide sidebar on tablets

* Remove unnecessary console.log

* Use beforeDestroy
2019-12-12 12:53:15 +05:30
Pranav Raj S
2b41e91768 [Enhancement] Fetch previous messages in the conversation (#355)
* Fetch previous messages in the conversation

* Add specs for conversation store

* Fix codeclimate issues

* Exclude specs folder

* Exclude globally

* Fix path in exclude patterns

* Add endPoints spec

* Add snapshots for Spinner

* Add specs for actions
2019-12-11 20:57:06 +05:30
Sojan Jose
1abaee04d8 Feature: Profile API [#238] (#354)
- api to update name and email
- api to change password
- api to  set profile pic
- fixes update_attribute! deprecation warning
- introducing active storage
2019-12-10 10:29:35 +05:30
Karthik Sivadas
3a1c0aef07 Add specs for model facebook_page (#346) 2019-12-05 13:20:04 +05:30
Sojan Jose
6a2f4e6673 Chore: Ability to configure Mailer sender emails [#339] (#342)
* Chore: Ability to configure Mailer sender emails [#339]

fixes : #339
fixes : #330

* update the documentation
2019-12-03 22:54:08 +05:30
Karthik Sivadas
c758c13ffb Add Account Model specs (#341) 2019-12-03 10:09:45 +05:30
Pranav Raj S
829cb4da57 Add docs to add a website channel (#337) 2019-12-01 22:53:39 +05:30
Karthik Sivadas
330e8625d3 Update user model specs (#334) 2019-12-01 15:42:15 +05:30
Subin T P
84799fd0a1 [#247] Filters conversation by status and paginate conversations (#284)
* [#247] Filters conversation by status

* Fixes conversation finder specs

* [#248] Paginates conversation

* Use method name in description

* Move page to default param, add filters on frontend

* Fix code climate issues
2019-12-01 10:16:51 +05:30
Mukesh Chaudhary
c08074b981 Annotations (#327)
* Add annotate gem to the project
* Annotate models, fixtures, factories and model_specs
* Keep annotations only in Models
* Remove unwanted changes in model specs
* Exclude auto_annotate_models from rubocop
2019-11-30 19:09:55 +05:30
Pranav Raj S
60e96f446e [Enhancement] Add CopyToClipboard action in code component (#329)
* Add CopyToClipboard action in websiteWidgetCode component

* Fix codeclimate issues
2019-11-30 17:33:42 +05:30
Pranav Raj S
a3662091c7 Add an intermediate pending state for widget messages (#323)
* Add an intermediate pending state for widget messages

* Remove unnecessary setTimeout

* Rename method
2019-11-29 17:42:35 +05:30
Pranav Raj S
6e911e69f8 Update font family to make design consistent in all platforms (#318)
* Add inter font, remove modal header bg

* Remove unnecessary font files

* Fix codeclimate issues, remove letter-spacing attribute
2019-11-28 11:03:01 +05:30
Nithin David Thomas
7c65142fcd Adjust space between message bubbles in widget (#309) 2019-11-27 11:45:33 +05:30
Pranav Raj S
ded8f33fc8 Fix private note shown to user in widget (#308)
fixes #306
2019-11-27 10:12:57 +05:30
Sojan Jose
c36b4279ac [Bugfix]Fixes agent cannot be removed from inbox #18 (#304)
Closes #18
2019-11-27 09:12:17 +05:30
Sojan Jose
cbf2d27b6b [BugFix] Fix Users not deletable because of foreign key reference (#300)
Fixes #297
2019-11-27 09:01:39 +05:30
Nithin David Thomas
274ad381cb Makes widget header expand and collapse by messages size (#293) 2019-11-26 22:35:26 +05:30
Sojan Jose
ddae36a4a3 [Chore] - Fix docker build (#290)
fixes #289
2019-11-26 13:37:28 +05:30
Pranav Raj S
5d2efdc7fc Update widget colors based on the widgetConfig (#276) 2019-11-26 00:10:27 +05:30
Sojan Jose
9c6a101768
[Chore] Add bullet gem #249 (#281)
* closes #249 add bullet gem

- upgrade gems
- fix the warning in the console
- fix the deprecation message for where not
2019-11-25 23:55:18 +05:30
Sojan Jose
78adcf822d #251 - Disable subscription in community edition (#277)
* #251 - Disable subscription in community edition

* Hide billing routes in sidebar for community edition

* Remove subscription serializer if billing disabled
2019-11-24 19:09:17 +05:30
Sony Mathew
70e4cc08b6
[#260] One click deploy to heroku (#275)
* [#260] One click deploy to heroku

* Added app.json file for Heroku deployment
* Made changes in Procfile to accept the PORT as env variable
* Added the one click button in README.md

* Change readme and link

* Alignment of button in Readme

* Changing redis to free plan

* Removed node-js build-pack

* Changed the post-deploy script to be rake db:migrate

* Removed web concurrency variable from app.json for heroku

* Changed the link to chatwoot logo referenced in app.json

* Changed postdeploy hook

* Changed logo to be raw content from github

* Changed the SMTP variables

* Added optional conditional for sending mail
* Changed the naming of SMTP variables

* Having logo as base 64 encoded image for heroku deploy page

* Fixed key not found error for SMTP variables

* Correcting the specs for conversation assignment mailer

* Spec rubocop fixes

* Spec rubocop fixes
* Added the link to master for heroku app.json
2019-11-24 17:19:14 +05:30
Alexander Kadyrov
b6186e93e7 Remove unused method from ApplicationRecord (#257) 2019-11-24 02:51:33 +05:30
Sony Mathew
da9ac8b26d 🔥Docker and environment variables cleanup (#270)
* Added dotenv-rails gem to manage environment variables

* Added dotenv-rails gem to manage environment variables
* Removed figaro which was used earlier for this purpose

* Standardized variable names

* Changed all env variables to be upper case. This included changes in files referencing env variables.
* Added example env file with all variables set to empty value
* Removed the earlier setup of copying application.yml and database.yml and the scripts and documentation associated to this

* Docker setup

* Added docker file for building the docker images
* Added entrypoint.sh script which is referenced inside the Docker image
* Cloned the Procfile for development using docker which has slight change compared to regular procfile
* Added the docker-compose.yml which has 3 service's configuration, postgres, redis and chatwoot server and a mounted volume for postgres

* Added docker related info to documentation

* Added the docker setup info in the documentation
* Added info for using`rbenv` instead of rvm for managing ruby versions
* Updated the documentation for environment variables to have one about `dotenv-rails` gem and removed the documentation about the old copy paste method used by figaro

* Changing the postgres database, username and password as environment variables

* Removed database.yml from gitignore
* Made the postgres databse, username and password as environemnt variables
* Added this in documentation

* Added a quick setup page

* Added quick setup page
* Removed the docs from README and added link to the docs in website
* Removed the figaro related things from circle.ci config

* Adding external volume for redis in docker compose

* Added instructions for adding the redis volume in docs
2019-11-24 01:27:39 +05:30
Pranav Raj S
c6feea9f6d [Enhancement] Format messages in widget (#268)
* Use message formatter in widget

* Rename the variable
2019-11-24 00:29:55 +05:30
Pranav Raj S
e610a11bc5
[Enhancement] Add a temporary image for channel if no image available (#231) 2019-11-21 12:08:54 +05:30
Pranav Raj S
c914d94b18
Format time, fix sort (#230) 2019-11-21 12:02:10 +05:30
Pranav Raj S
8348f4adae
Fix scrollTop of undefined in CannedResponseList (#226) 2019-11-20 15:40:34 +05:30
Pranav Raj S
aef3b04aa5
[Bug] Remove markSeen, toggleTyping calls for WebWidget channels (#225) 2019-11-20 00:04:32 +05:30
Pranav Raj S
bcce70c95a
[Bug] Fix widget mobile layout design (#224) 2019-11-20 00:01:16 +05:30
Ronald Walker
0d5c070f51 [Bug] Fix ReadableTime overlapping message text in Firefox(#219) 2019-11-19 12:55:12 +05:30
Pranav Raj S
2ebc07b381
[Bug] Remove toggle_typing API call for channels except Facebook (#211) 2019-11-17 14:15:05 +05:30
Pranav Raj S
127dd4cf61
[Bug] Fix selected label alignment in MultiSelect (#210) 2019-11-17 13:32:30 +05:30
Pranav Raj S
1ad36f164f
[Enhancement] Create EmptyState component (#209) 2019-11-17 13:09:10 +05:30
Pranav Raj S
88ac20efb5
[Feature] Detect browser on conversation initiation (#208) 2019-11-16 14:48:38 +05:30
Pranav Raj S
88fc4d894a
Init Contact Panel (#206) 2019-11-14 13:46:43 +05:30
Pranav Raj Sreepuram
b985085786 Fix styles in conversation view 2019-11-12 10:09:58 +05:30
Pranav Raj S
6d8b6d4769
[Bug] Scroll conversation to bottom on load (#205) 2019-11-12 09:46:30 +05:30
Pranav Raj Sreepuram
e37c04a81f Remove console warning from foundation 2019-11-12 08:55:35 +05:30
Pranav Raj S
7b4b5d31d9
[Bug] Update copy in search agent select dropdown (#204) 2019-11-10 22:58:55 +05:30
Pranav Raj S
7e3409c3e1
[Enhancement] Enter to send message, add click on bubble instead of icon (#202) 2019-11-09 17:12:31 +05:30
Pranav Raj S
63ce5607e9
[Bug] Rescue error on JWT.encode (#201) 2019-11-09 16:04:02 +05:30
Pranav Raj Sreepuram
de76780ce5 [Enhancement] Use thumbnail component 2019-11-05 10:15:56 +05:30
Pranav Raj Sreepuram
7a2fb8eef1 [Bug] Fix unable to set unsafe-headers 2019-11-04 12:54:41 +05:30
Pranav Raj Sreepuram
dbb57a8a56 Upgrade foundation to 6.5.3 2019-11-01 13:44:03 +05:30
Pranav Raj S
5cc3543657 [Internal] Add route for widget testing (#199) 2019-11-01 12:53:01 +05:30
Pranav Raj Sreepuram
f3fc542a5f [Bug] Fix conversation scroll in dashboard 2019-10-30 12:08:10 +05:30
Lauren
bfa4121f41 Feature/add inbox specs (#192)
* Add base Inbox association and validation specs

* `#facebook?``

* `#add_member` and `#remove_member`

* cleanup

* Rubocop

* Rubocop but again

really this time
2019-10-30 10:49:23 +05:30
Pranav Raj S
3d3aefb197 [Enhancement] Use JS-Cookie to set Cookies (#193)
* Update js-cookie

* Add sdk css

* Remove conversation padding
2019-10-30 10:43:11 +05:30
José Miguel Ochoa
e32b6bf6d4 [Enhancement] Add default avatar when profile image is not available (#188)
* Add default avatar when agent image is not available

* Remove fonts from avatar
Separate non-computed style values
2019-10-29 23:36:21 +05:30
Pranav Raj S
16fe912fbd
[Feature] Website live chat (#187)
Co-authored-by: Nithin David Thomas <webofnithin@gmail.com>
Co-authored-by: Sojan Jose <sojan@pepalo.com>
2019-10-29 12:50:54 +05:30
Moisés Ñañez
5a41f321c8 [Enhancement] Move chart options to a variable (#189) 2019-10-28 21:00:02 +05:30
Pranav Raj S
17bb50c977
Configure SCSS linter rules (#186) 2019-10-27 19:28:02 +05:30
Pranav Raj Sreepuram
170f8716c5 Refactor Conversation, Message API calls, store 2019-10-27 19:01:59 +05:30
Sojan Jose
c21c839dca
Contact model changes (#184)
* move source id from contacts

* Fix contactInbox model name

* rubocop fix

* Fix rspec
2019-10-27 13:14:36 +05:30
Sojan Jose
3b6d58bbdf Refactor Reports Controller 2019-10-27 11:11:51 +05:30
Pranav Raj S
6c60b60240
[Enhancement] Add ApiClient, refactor CannedResponse (#183) 2019-10-27 10:48:26 +05:30
Pranav Raj S
50fc06681c
[Enhancement] Update vue-chartjs to fix production build (#182) 2019-10-27 10:24:19 +05:30
Pranav Raj S
f869598cb4
[Enhancement] Remove frontend env file 🔥(#179) 2019-10-25 12:01:05 +05:30
Pranav Raj S
f4358d9993 Replace pusher with action cable (#178)
closes #43
2019-10-25 01:37:01 +05:30
Nursoltan Saipolda
c0354364ff removed app/stylesheets & set stylesheet generator to false (#177) 2019-10-24 17:08:38 +05:30
Nursoltan Saipolda
73d433b591 deleted coffee files & coffee-rails gem. disable js generation on application.rb (#173) 2019-10-23 15:59:45 +05:30
Pranav Raj S
e0d291c49e
Create util for apiLoadingStatus (#170)
* Create util for apiLoadingStatus

* Revert "Fix #52 rubocop metrics abc size in passwords controller (#119)"

This reverts commit 9c22da0ac6.
2019-10-22 13:28:45 +05:30
AlexisChavez97
9c22da0ac6 Fix #52 rubocop metrics abc size in passwords controller (#119)
* Fix #52 rubocop metrics abc size in passwords controller

* Fix DeviseTokenAuth headers names
2019-10-22 12:32:06 +05:30
Aleksandr
a7787e0f23 issue #151: add rubocop to ci (#168) 2019-10-21 11:18:47 +05:30
Sojan Jose
ba8f055802
Change sender_id to contact_id in conversations (#167)
* change sender_id to contact_id in conversations

* Fix failing tests

* Fix seeds

* fix specs

* Fix issues in facebook messenger
2019-10-21 00:40:18 +05:30