This change is to allow using s3 compatible services such as DigitalOcean spaces, Minio, etc
Co-authored-by: petebytes <pete@apsion.com>
Co-authored-by: Pranav Raj S <pranav@thoughtwoot.com>
* Chore: Moved the email ingress method to an env variable (#777)
* Moved the email ingress method in config to an environment variable
* Updated documentation to reflect this
* Added ingress config to staging env config (#777)
* Re-arranged the order in env configs so that email related configs are together
* 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)
* [#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
* 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
* updated development docker setup
* turned on yarn integrity check
* create test docker compose and update development dockerfile
* create docker Readme.md file
* fix README.md file
* create docker-copmose and dockerfile for production/staging environment setup
* added mailhog to catch email
* remove yarn integrity check in development mode!
* Update Readme.md file to support mailhog inbox
* update link to docker development guide from mail README
* remove .env.development and use .env.example for docker as .env.development was mixing with circleci config
* make the dockerfile configurable like before
* update docker-compose as per suggesion in PR
* create docker setup docs
* Revert accidental deletion
* fix: typo for branding consistency
* fix typo
* update the code as per recommendation in PR
* remove package-lock and add gitignore
* fix vulnerability AND update env for tests to pass
* Fix yarn integrity check across different docker services
* update code based on rubocop and PR suggestions
* remove redundant test docker-compose and dockerfile
* update rails entrypoint, update docs and Gemfile
* [Rubocop] order Gemfile alphabetically
* Reordering Gemfile
* [#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
* 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