No description
Find a file
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
.circleci [#139] Send conversation emails (#442) 2020-01-23 23:14:07 +05:45
.dependabot Add Dependabot config (#217) 2019-11-25 09:48:11 +05:30
.github [Enhancement] Select widget_color while creating inbox (#362) 2019-12-14 18:14:35 +05:30
app [#139] Send conversation emails (#442) 2020-01-23 23:14:07 +05:45
bin 🚨Fix Rubocop lint errors 2019-10-20 14:17:26 +05:30
config [#139] Send conversation emails (#442) 2020-01-23 23:14:07 +05:45
db [Feature] Email collect message hooks (#331) 2020-01-09 13:06:40 +05:30
docker Chore: Switch from Carrierwave to ActiveStorage (#393) 2020-01-07 22:59:17 +05:30
docs Chore: Documentation for configuring cloud storage (#439) 2020-01-21 22:28:18 +05:45
lib [#139] Send conversation emails (#442) 2020-01-23 23:14:07 +05:45
log Initial Commit 2019-08-14 15:18:44 +05:30
public [Feature] Add PWA support (#157) 2019-10-18 12:37:09 +05:30
spec [#139] Send conversation emails (#442) 2020-01-23 23:14:07 +05:45
tmp Initial Commit 2019-08-14 15:18:44 +05:30
vendor/assets Initial Commit 2019-08-14 15:18:44 +05:30
.all-contributorsrc [docs] Move contributors section to docs (#120) 2019-10-06 09:23:24 +05:30
.browserslistrc Initial Commit 2019-08-14 15:18:44 +05:30
.codeclimate.yml Refactor: Inbox store, remove inboxes from sidebar (#387) 2019-12-28 21:56:42 +05:30
.dockerignore Reduce docker image size (#394) 2019-12-31 18:23:18 +05:30
.editorconfig Introduce .editorconfig (#149) 2019-10-16 12:01:05 +05:30
.env.example [#139] Send conversation emails (#442) 2020-01-23 23:14:07 +05:45
.eslintrc.js [Enhancement] Select widget_color while creating inbox (#362) 2019-12-14 18:14:35 +05:30
.gitignore [Enhancement] Docker support Debugging (byebug & pry) and receive emails to MailHog via smtp (#371) 2019-12-22 22:53:18 +05:30
.prettierrc Add linters and pre-commit hook 2019-08-21 10:27:57 +05:30
.rspec Fix url in emails, add frontendURL helper (#19) 2019-08-25 19:59:28 +05:30
.rubocop.yml [#139] Send conversation emails (#442) 2020-01-23 23:14:07 +05:45
.rubocop_todo.yml Replace pusher with action cable (#178) 2019-10-25 01:37:01 +05:30
.ruby-version Upgrade to Ruby 2.6.5 (#216) 2019-11-18 09:07:48 +05:30
.scss-lint.yml [Feature] Website live chat (#187) 2019-10-29 12:50:54 +05:30
app.json [#260] One click deploy to heroku (#275) 2019-11-24 17:19:14 +05:30
babel.config.js Fix codeclimate issues in babel.config.js 2019-10-22 12:32:54 +05:30
Capfile 🚨Fix Rubocop lint errors 2019-10-20 14:17:26 +05:30
config.ru Initial Commit 2019-08-14 15:18:44 +05:30
docker-compose.production.yaml Chore: Sidekiq ActionCable fix for Development (#405) 2020-01-05 23:26:22 +05:30
docker-compose.yaml Chore: Sidekiq ActionCable fix for Development (#405) 2020-01-05 23:26:22 +05:30
Gemfile Chore: Switch from Carrierwave to ActiveStorage (#393) 2020-01-07 22:59:17 +05:30
Gemfile.lock Chore: Switch from Carrierwave to ActiveStorage (#393) 2020-01-07 22:59:17 +05:30
jest.config.js Add an intermediate pending state for widget messages (#323) 2019-11-29 17:42:35 +05:30
LICENSE Docs: Update year in license file (#401) 2020-01-02 12:27:22 +05:30
package.json Feature: Widget design update (#426) 2020-01-17 13:36:05 +05:30
postcss.config.js Upgrade bourbon to ^6.0.0 (#161) 2019-10-20 13:34:19 +05:30
Procfile Send emails via sidekiq (#380) 2019-12-25 03:03:02 +05:30
Procfile.dev Send emails via sidekiq (#380) 2019-12-25 03:03:02 +05:30
Rakefile Initial Commit 2019-08-14 15:18:44 +05:30
README.md Docs: Add brancing model (#410) 2020-01-08 23:10:46 +05:30
workbox-config.js [Feature] Add PWA support (#157) 2019-10-18 12:37:09 +05:30
yarn.lock [Enhancement] Group widget messages by date (#363) 2019-12-15 00:06:01 +05:30

Woot-logo

A simple and elegant live chat software
An opensource alternative to Intercom, Zendesk, Drift, Crisp etc.

Deploy


Maintainability CircleCI Badge Docker Build Badge License Commits-per-month Discord Chat on Discord

ChatUI progess

Background

Chatwoot is a customer support tool for instant messaging channels which can help businesses to provide exceptional customer support. The development of Chatwoot started in 2016 and it failed to succeed as a business and eventually shut the shop in 2017. During 2019 #Hacktoberfest, the maintainers decided to make it opensource instead of letting the code rust in a private repo. With a pleasant surprise, Chatwoot became a trending project on Hacker News and best of all, got lots of love from the community.

Now, a failed project is back on track and the prospects are looking great. The team is back to working on the project and we are building it in the open. Thanks to the ideas and contributions from the community.

Documentation

Detailed documentation is available at www.chatwoot.com/docs.

You can find the quick setup docs here.

Branching model

We use git-flow branching model. The base branch is develop. If you are looking for a stable version, please use the master or tags labelled as v1.x.x.

Heroku one-click deploy

Deploying chatwoot to heroku, it's a breeze. It's as simple as clicking this button.

Deploy

Follow this link to understand setting the correct environment variables for the app to work with all the features. There might be breakages if you do not set the relevant environment variables. This applies to deploying the docker image as well.

Docker

You can use our official Docker image from https://hub.docker.com/r/chatwoot/chatwoot

docker pull chatwoot/chatwoot

Follow our environment variables guide to setup environment for Docker.

Follow our docker development guide to develop and debug the application using docker composer.

Contributors

Thanks goes to all these wonderful people:

Chatwoot © 2017-2020, ThoughtWoot Inc - Released under the MIT License.