Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from papercups-io:master #1

Open
wants to merge 718 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
718 commits
Select commit Hold shift + click to select a range
a40e729
Add conversations.last_activity_at (#634)
fmterrorf Mar 16, 2021
dcd9271
Add test watcher package (#645)
Mar 16, 2021
ac58465
Improve how we handle redirect urls in Slack authorization flow (#650)
reichert621 Mar 17, 2021
237090c
Fix and add one canned_response controller test (#647)
Mar 17, 2021
d6176d7
add authorization for note resource (#646)
jeepers3327 Mar 17, 2021
5f5132a
add hosted edition to config (#652)
cheeseblubber Mar 17, 2021
bfd11ae
Fix Chat with us button for EU (#654)
reichert621 Mar 17, 2021
5be3a7f
Fix logic on pricing page for starter plan payment
reichert621 Mar 17, 2021
40efc94
Filter conversations by tag (#656)
reichert621 Mar 17, 2021
50586ab
Improve error logging with `Sentry.LoggerBackend` (#653)
reichert621 Mar 17, 2021
1e9b8b8
Move our Slack channel up higher in readme
cheeseblubber Mar 18, 2021
c9c778c
Clean up config env variables a bit (#661)
reichert621 Mar 19, 2021
b238251
Set frontend env variables from server (#658)
reichert621 Mar 19, 2021
e391167
Performance improvements for Lighthouse (#651)
reichert621 Mar 19, 2021
fffb36e
Add logging to debug Slack (#659)
reichert621 Mar 19, 2021
9d6c4e1
Paginate conversations (#648)
fmterrorf Mar 19, 2021
9774fcb
Add authorize plug to tag and company controllers (#649)
Mar 19, 2021
efc0237
Fix index.html
reichert621 Mar 19, 2021
42e11a4
Support private notes in mattermost integration (#665)
reichert621 Mar 19, 2021
1a6322e
Remove unnecessary option
reichert621 Mar 19, 2021
4c87a02
View conversations by tag on tag details page (#669)
reichert621 Mar 22, 2021
fb0ad38
Set up customer details page (#670)
reichert621 Mar 22, 2021
cbec7e8
Fix navigation to closed conversations
reichert621 Mar 22, 2021
57c0365
Add option to display anonymous users in customer table
reichert621 Mar 22, 2021
0f68a5f
Set up pagination for conversations in dashboard (#679)
reichert621 Mar 24, 2021
816210e
More log info for message notification debugging
reichert621 Mar 24, 2021
9a90c75
Add tag searching (#682)
imjared Mar 24, 2021
44d9643
Change Datetime calls to specify milliseconds (#681)
Mar 24, 2021
c0238f8
Fix code snippet for react chat widget (#684)
reichert621 Mar 24, 2021
e249bf0
Add list_history method for gmail api client
reichert621 Mar 24, 2021
5d4db30
Fix conversation deletion in dashboard
reichert621 Mar 25, 2021
2bb59a6
Fix and DRY up some frontend pagination logic (#685)
reichert621 Mar 25, 2021
6e9be08
Remove google analytics from dashboard (#686)
reichert621 Mar 25, 2021
8c33ae1
Fix unique constraint on tag name (#690)
reichert621 Mar 26, 2021
e442da2
Elixir upgrade (#687)
cheeseblubber Mar 26, 2021
a896081
Bump hackney version (#694)
Mar 29, 2021
b6877d5
Don't flash html title when dashboard tab is active (#698)
reichert621 Mar 31, 2021
14055c1
Sync with Gmail inbox MVP (#697)
reichert621 Mar 31, 2021
67f73c9
Fix filtering conversations by tag
reichert621 Mar 31, 2021
6405e20
Small fix, fix warnings in tests
reichert621 Mar 31, 2021
d8374ac
Update README.md
cheeseblubber Apr 1, 2021
7283066
Update README.md
cheeseblubber Apr 1, 2021
f324602
Fix default subscription plan for self hosted users (#700)
reichert621 Apr 1, 2021
6fe57b6
Add heroku example in doc for mix enable_gmail_inbox_sync task
reichert621 Apr 1, 2021
c26f7d0
Fix sync_gmail_inbox task script
reichert621 Apr 1, 2021
a6d08a8
Only fetch chat conversations for customers in widget (#701)
reichert621 Apr 1, 2021
fbe5e5c
Twilio integration v1 feature (#680)
reichert621 Apr 2, 2021
caef5ff
Update CHANGELOG.md
reichert621 Apr 2, 2021
f5f036a
Adds ability to send user invitation emails from Account Overview (#703)
rhonsby Apr 5, 2021
f7bd2cb
Fix linking to conversations outside of initial pagination results (#…
reichert621 Apr 5, 2021
2228abf
Auto-enable Gmail inbox sync after integration is connected (#714)
reichert621 Apr 6, 2021
9a2b022
Reduce the number of clicks to get to the customer details page (#715)
reichert621 Apr 6, 2021
bb3d14e
Allow users to delete Gmail authenication (#713)
Apr 6, 2021
bf8dc32
Reopen gmail conversation when new message arrives in thread (WIP) (#…
reichert621 Apr 6, 2021
9872862
Update widget.js to v1.1.10 (#710)
reichert621 Apr 6, 2021
b7e4fc4
Upgrade chat-widget dependency
reichert621 Apr 6, 2021
648b132
Set up modal to create new customer (#717)
reichert621 Apr 6, 2021
e417e89
Hide user invite email option in UI if not enabled
reichert621 Apr 7, 2021
d1ff0f5
Adds button to start a new conversation from the customer details pag…
rhonsby Apr 7, 2021
a3de03e
Fix logger for SendUserInvitationEmail success case
reichert621 Apr 7, 2021
118acb2
Fix update event_subscriptions route (#722)
reichert621 Apr 7, 2021
f760c60
Support specifying customer in `POST /api/v1/messages` endpoint (#723)
reichert621 Apr 7, 2021
b5d9b78
Support markdown images in chat messages (#726)
reichert621 Apr 8, 2021
66d7c33
Add company logo url to accounts (#733)
reichert621 Apr 13, 2021
048caba
Adds initial implementation of customer details page redesign (#732)
rhonsby Apr 13, 2021
a94d3ba
Adds ability to edit customer details page (#736)
rhonsby Apr 15, 2021
dd6659d
Paginate customer table (#729)
fmterrorf Apr 16, 2021
9d14fc8
Fix auto-assignment and auto-reopening conversations (#740)
reichert621 Apr 16, 2021
b1e7d85
Set up support for bot messages in dashboard (#735)
reichert621 Apr 16, 2021
e61ee90
Add migration for backfilling customer last_seen_at field
reichert621 Apr 16, 2021
56386fe
Converts EditCustomerDetailsModal to a functional component using hoo…
rhonsby Apr 16, 2021
2faa71c
Add ability to search customers (#743)
reichert621 Apr 16, 2021
a07d99f
Refactors customer details page conversation into a separate componen…
rhonsby Apr 19, 2021
a96949f
add react app url for docker-compose
cheeseblubber Apr 20, 2021
0821ce0
remove https for example
cheeseblubber Apr 20, 2021
a89ff64
Extracts markdown rendering out of ChatMessageBox.tsx (#757)
rhonsby Apr 20, 2021
6cfc04e
Adds ability to view and create notes from the customer details page …
rhonsby Apr 20, 2021
c1a1760
Adds markdown rendering to customer notes (#763)
rhonsby Apr 20, 2021
cf5096a
Minor design tweaks
reichert621 Apr 20, 2021
f17d2b0
Set last_activity_at based on updated status (#764)
Apr 21, 2021
d244476
GitHub Integration v1 (#759)
reichert621 Apr 22, 2021
b92e631
Adds ability to archive conversation from UI in both open/closed stat…
reichert621 Apr 22, 2021
eaad435
Improve subject line for new message alert emails (#773)
reichert621 Apr 23, 2021
ce9eb24
Add endpoint to retrieve authorized github repos (#779)
reichert621 Apr 26, 2021
0f863c6
Set up read-only notes overview page (#784)
reichert621 Apr 26, 2021
b27e5af
Send initial message via Gmail from dashboard (#783)
reichert621 Apr 26, 2021
3b0c085
Refactors ConversationsProvider.tsx (#766)
rhonsby Apr 26, 2021
ea7a9a4
Toggle issue state from UI (#787)
reichert621 Apr 26, 2021
0913f2b
Make it possible to send messages to customers directly from table vi…
reichert621 Apr 27, 2021
5b91c54
Minor cleanup
reichert621 Apr 27, 2021
c9a9e0b
Adds shortcut for submitting notes (#791)
rhonsby Apr 28, 2021
8b8ce8e
Enable viewing and sending messages to conversation in modal (#794)
reichert621 Apr 28, 2021
937f5e6
Implement UpdateIssueModal for editing issue details (#796)
reichert621 Apr 29, 2021
9dbc436
Refactors how conversations are stored in ConversationsProvider.tsx (…
rhonsby Apr 29, 2021
db8a22c
Set up API for finding GitHub issues by url (#798)
reichert621 Apr 29, 2021
ffe873c
Minor improvements
reichert621 Apr 29, 2021
cf79464
Update changelog
cheeseblubber Apr 29, 2021
1d4a9a3
Update CHANGELOG.md
cheeseblubber Apr 29, 2021
037746e
Fix videos in changelog
reichert621 Apr 29, 2021
fe8385a
Link issue to customer from sidebar (#799)
reichert621 Apr 29, 2021
412d41e
Add more actions to CustomersTable (#802)
reichert621 Apr 30, 2021
c95d0ba
Minor cleanup
reichert621 May 4, 2021
9a159a1
Extracts team-related sections from account overview into a new My Te…
rhonsby May 4, 2021
a3931cb
Improve slack notification preview on initial message (#809)
reichert621 May 4, 2021
6af7f67
Make it possible to query customer metadata with key:value syntax (#811)
reichert621 May 5, 2021
99ace14
Display notification to refresh page if socket disconnects (#814)
reichert621 May 5, 2021
c4b37dc
Update docker-compose.prod.yml (#812)
olragon May 5, 2021
d45113b
Set up query to retrieve conversations in need of reminders (#818)
reichert621 May 5, 2021
16a9c82
Add more functionality to hubspot api client (#819)
reichert621 May 5, 2021
326dab9
Improve invite registration flow a bit
reichert621 May 6, 2021
55c055b
Add twillio instructions (#817)
cheeseblubber May 7, 2021
06ac9db
Minor cleanup
reichert621 May 7, 2021
3ff512e
Implement conversation reminders v1 (#826)
reichert621 May 10, 2021
28d3310
Set slack unfurl_media to false
reichert621 May 10, 2021
a92b4c9
Adds ability to filter customers on the customers page by tags (#815)
rhonsby May 10, 2021
0188b98
Support syncing attachments from Gmail integration (#831)
reichert621 May 10, 2021
fffc69b
Fix case when Gmail thread not found (#832)
reichert621 May 11, 2021
8603e0a
Fix nil handling
reichert621 May 11, 2021
9dfb3f2
Fix typo
reichert621 May 11, 2021
65cf6ee
Minor fix to hubspot client, add typespecs
reichert621 May 11, 2021
148b089
Make oban pruning less aggressive (#834)
reichert621 May 12, 2021
ebeb88d
Keyboard shortcuts modal (#833)
reichert621 May 12, 2021
318b096
Fix email overflow issue in sidebar
reichert621 May 12, 2021
27e50f4
Fix chat message overflow issue in safari
reichert621 May 12, 2021
a097f93
Remove last_seen field from customer (#734)
utsav0209 May 17, 2021
f2b1453
Link Github issue when URL included in message (#841)
reichert621 May 19, 2021
5820028
Add an option to use SMTP when delivering emails (#838)
fmterrorf May 20, 2021
4e3afa6
Remove unused list tags fn (#837)
g6urwinder May 20, 2021
621ee8c
Improve reminder messages (#846)
reichert621 May 20, 2021
bd884ca
Support personal Gmail account integration (#842)
reichert621 May 24, 2021
804b4e7
Improve validation for Slack channel authorization (#849)
reichert621 May 24, 2021
1d1a13b
Hide tags filter input for customers on issue details page (#850)
reichert621 May 24, 2021
8f787fa
Reopen conversation if it is tied to a Github issue event (#851)
reichert621 May 24, 2021
3907035
Set up Slack integration settings page (#852)
reichert621 May 27, 2021
2226312
Make it possible to unassign someone from a conversation (#856)
reichert621 Jun 1, 2021
a76b3d4
Set up SocketProvider to manage websocket in client (#854)
reichert621 Jun 1, 2021
5b78b82
Fix how messages are synced to Slack channel when integrations is add…
reichert621 Jun 3, 2021
0b24a6b
Revert "Set up Slack integration settings page (#852)"
cheeseblubber Jun 4, 2021
c7239fa
Revert "Revert "Set up Slack integration settings page (#852)""
cheeseblubber Jun 4, 2021
86b683a
Make it possible to disable storytime feature (#859)
reichert621 Jun 4, 2021
a56fda9
Phoenix analytics (#860)
reichert621 Jun 4, 2021
d456426
Test out redis pubsub adapter (#863)
reichert621 Jun 6, 2021
44ca476
Attempt to fix Redis adapter `node_name` (#864)
reichert621 Jun 6, 2021
3346bb4
Test setting NODE env variable at build for redis adapter (#869)
reichert621 Jun 8, 2021
853c420
Try debugging pubsub config
reichert621 Jun 8, 2021
a7b3c30
Fix redis adapter opts
reichert621 Jun 8, 2021
28a7d0c
Try setting ssl: true for redis adapter
reichert621 Jun 8, 2021
6e1567d
Minor s3 refactor (#872)
cheeseblubber Jun 9, 2021
82c0154
Set up API explorer demo with RunKit (#868)
reichert621 Jun 10, 2021
84f8cb2
Fix timezone issue in customers table
reichert621 Jun 10, 2021
ecde46f
Revert "Phoenix analytics (#860)" (#874)
cheeseblubber Jun 11, 2021
537c2b0
Update CHANGELOG.md
reichert621 Jun 13, 2021
4dcaa5d
Experiment with AppSignal for monitoring (#888)
reichert621 Jun 21, 2021
a9100f7
Fix redis pubsub options (#889)
reichert621 Jun 22, 2021
f88b007
Taro v1 feature branch (#881)
reichert621 Jun 22, 2021
9d84bef
Only trigger functions on customer message events (#890)
reichert621 Jun 22, 2021
ac9cf2e
Expose more endpoints for API clients using personal API keys (#891)
reichert621 Jun 22, 2021
f653084
Test remove buttons (#893)
cheeseblubber Jun 23, 2021
72c268e
Tweak sample code and remove extra handler sandbox (#892)
cheeseblubber Jun 23, 2021
8b7116e
Remove unused code, minor cleanup
reichert621 Jun 23, 2021
49e144d
Remove unused variables
reichert621 Jun 23, 2021
1a00866
Expose conversation metadata in response
reichert621 Jun 24, 2021
56b3acf
Set up APIs for sending notification messages outside the context of …
reichert621 Jun 25, 2021
f6b8114
Adds Getting Started page and renames Account sub-menu to Settings (#…
rhonsby Jun 25, 2021
76dbb98
Internal weekly metrics report (#897)
reichert621 Jun 28, 2021
5712bd0
Replace RunKit with Ace editor (#896)
reichert621 Jun 28, 2021
db84ddf
Center more content for consistency
reichert621 Jun 28, 2021
1a86d23
More github apis in public v1 api, other api improvements (#899)
reichert621 Jun 28, 2021
692b2ab
Exclude private notes from conversation reply email (#901)
reichert621 Jun 29, 2021
79f2f01
Make appsignal optional (#904)
aboutphilippe Jul 7, 2021
2337e6e
Update storytime.js (#906)
reichert621 Jul 12, 2021
84d1cf9
Fix markdown parsing in conversation reply emails (#907)
reichert621 Jul 12, 2021
84ef2f6
Improve consistency of layout
reichert621 Jul 12, 2021
c63c675
Support message file uploads from Slack (#908)
reichert621 Jul 19, 2021
a14130c
Use monaco editor instead of ace/runkit (#913)
reichert621 Jul 20, 2021
98c71d6
Add support for @mentions in the dashboard (#916)
reichert621 Jul 21, 2021
e2abbe8
Display more message metadata in non-chat messages (#917)
reichert621 Jul 21, 2021
d36b976
Improve details in initial slack message, show source of conversation…
reichert621 Jul 22, 2021
9ed1d08
Set up UX for using canned responses (#919)
reichert621 Jul 23, 2021
87c4822
Include private messages in @ mention notifications (#920)
reichert621 Jul 23, 2021
c73c4b5
Update CHANGELOG.md
reichert621 Jul 23, 2021
5568da6
Update CHANGELOG.md
reichert621 Jul 23, 2021
4668d23
Minor improvements to changelog
reichert621 Jul 23, 2021
fb18fab
Update widget.js to v1.1.11 (#921)
reichert621 Jul 26, 2021
f1dbc72
Minor css improvements
reichert621 Jul 27, 2021
f13bcc1
Testing remove procfile
cheeseblubber Jul 27, 2021
7e0c95f
Revert "Testing remove procfile"
cheeseblubber Jul 27, 2021
6b2e04e
Set up script to send ad hoc notifications to existing users (#922)
reichert621 Jul 28, 2021
29be6ff
Add support for syncing multiple Slack workspaces (#924)
reichert621 Aug 3, 2021
aac17d1
Improve Mattermost error handling (#926)
reichert621 Aug 3, 2021
3b0d3e3
Use correct Spinner component, remove old IO.inspects
reichert621 Aug 4, 2021
f6fcbb3
Fix missing comma
reichert621 Aug 4, 2021
6427078
Remove unused prop
reichert621 Aug 4, 2021
d49738d
Add basic text search to conversations UI (#927)
reichert621 Aug 5, 2021
9c5b3d0
Fix filtering conversations with multiple mentions
reichert621 Aug 5, 2021
5e9b413
Set Sentry user context to help with debugging and potential Sentry i…
reichert621 Aug 5, 2021
f19cfe5
Improve validation for mattermost url in controller (#929)
reichert621 Aug 5, 2021
3548449
Fix Slack file attachments (#931)
reichert621 Aug 10, 2021
452f0aa
Server logic for basic mobile push notifications via Expo (MVP) (#932)
reichert621 Aug 12, 2021
dac8c7d
Include message metadata in push notification for deep linking (#936)
reichert621 Aug 19, 2021
432d236
Skip syncing messages for channel/group activity events, remove redun…
reichert621 Aug 24, 2021
a0a25ff
add dropdown to change role of team member (#902)
ryg-git Aug 24, 2021
eb463f5
Include slack team id in company slack links when available (#943)
reichert621 Aug 24, 2021
9a2830b
get ssl force working (#946)
cheeseblubber Aug 27, 2021
21d9610
remove storytime step and redirect to getting started (#947)
cheeseblubber Aug 30, 2021
ead767a
Improve how we format email messages in slack (#952)
reichert621 Aug 31, 2021
b72a974
Basic support for only sending email alerts on new conversation (i.e.…
reichert621 Sep 1, 2021
c9652be
Set up Gmail integration details page (#954)
reichert621 Sep 1, 2021
6da2aff
SES email forwarding (#948)
reichert621 Sep 3, 2021
fd61265
npm audit fix
reichert621 Sep 3, 2021
5352bf8
npm audit fix on lambda package
reichert621 Sep 3, 2021
5996b26
Small fix for undefined conversations
reichert621 Sep 3, 2021
2359557
Include SES received header in forwarding email addresses to check (#…
reichert621 Sep 3, 2021
9d02265
Use sanitized email html if text body is null (#961)
reichert621 Sep 3, 2021
83a0a6e
Resolve dependencies
reichert621 Sep 4, 2021
cbbd36f
Move inboxes into separate view (#963)
reichert621 Sep 8, 2021
4eb3801
Improve error handling in workers (#967)
reichert621 Sep 10, 2021
60128d6
Fix push notification
reichert621 Sep 10, 2021
6465339
Inboxes v1 (#969)
reichert621 Sep 27, 2021
9de67e7
Add inbox ID to demo page (#976)
reichert621 Sep 28, 2021
9099989
Simplify dashboard menus for non-admin users (#978)
reichert621 Sep 28, 2021
4da9ae3
Improve integration discoverability (#980)
reichert621 Sep 28, 2021
8d384ee
single docker-compose.yml (#975)
rgstephens Sep 29, 2021
193e652
Fix support for inboxes in twilio controller (#982)
reichert621 Oct 1, 2021
c7889e1
Set up HubSpot integration (#981)
reichert621 Oct 1, 2021
444d9bb
Capture more frontend errors in Sentry (#983)
reichert621 Oct 1, 2021
e1e1c66
Bump chat widget
reichert621 Oct 5, 2021
1ad023a
Set up boilerplate for intercom integration (#984)
reichert621 Oct 6, 2021
e17face
Improve message error handling and caching drafts (#985)
reichert621 Oct 6, 2021
41a7099
Add todo comment
reichert621 Oct 6, 2021
fdc8472
Remove unused
reichert621 Oct 8, 2021
68f93c8
added automatic restart for docker compose (#989)
insidesmart Oct 25, 2021
174a5a9
Conversation list UI improvements (#992)
reichert621 Nov 3, 2021
7fd8418
Small fix
reichert621 Nov 4, 2021
debcd2b
Add more typespecs to slack helpers module
reichert621 Nov 4, 2021
7c850c4
Remove old todo
reichert621 Nov 4, 2021
5d5c2c4
Allow setting metadata in other customer API endpoints
reichert621 Jan 7, 2022
01a9758
Include metadata in more tests for updating customers (#999)
reichert621 Jan 7, 2022
cc8f906
remove Slack links
cheeseblubber Jan 10, 2022
b11c6b4
Update readme
cheeseblubber Jan 10, 2022
e8f321f
Update README.md
reichert621 Jan 13, 2022
2834873
Include account in AuthProvider, show popular integrations more clear…
reichert621 Jan 15, 2022
6fbc70e
Update pricing on frontend (#1002)
reichert621 Jan 15, 2022
e8754ed
Support lite plan in set_subscription_plan admin task
reichert621 Jan 16, 2022
184fe5b
Make it possible to cancel subscription plan (#1005)
reichert621 Jan 17, 2022
ec5b589
read about maintenance mode
cheeseblubber Jan 17, 2022
f50b19c
Merge branch 'master' of github.com:papercups-io/papercups
cheeseblubber Jan 17, 2022
88bec9e
Bump ajv from 6.12.0 to 6.12.6 in /scripts/lambdas/send-email-to-webh…
dependabot[bot] Feb 14, 2022
dff9a58
Improve test
reichert621 Apr 14, 2022
6a6f5ad
Add another test
reichert621 May 10, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 3 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,6 @@ chat_api-*.tar

# Heroku configuration files
/phoenix_static_buildpack.config
/Procfile
/Procfile

fly.toml
29 changes: 28 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,41 @@ export PAPERCUPS_SLACK_CLIENT_SECRET='xxxxxxxx'
# Sentry
export SENTRY_DSN=https://[email protected]/55555

# Stripe
export PAPERCUPS_STRIPE_SECRET=sk_test_xxxxx

# React app
export REACT_APP_GOOGLE_ANALYTICS_ID='UA-999999999-1'
export REACT_APP_SLACK_CLIENT_ID='xxxx.xxxx'
export REACT_APP_SENTRY_DSN=https://[email protected]/44444
export REACT_APP_LOGROCKET_ID='xxxxxx/papercups'
export REACT_APP_STRIPE_PUBLIC_KEY=pk_test_xxxxx
export REACT_APP_FILE_UPLOADS_ENABLED=1

# set to localhost:3000 when developing
# Set to localhost:3000 when developing
export REACT_APP_URL='app.papercups.io'

# General
export BACKEND_URL='app.papercups.io'

# Customer.io
export CUSTOMER_IO_SITE_ID='0000000000000000000'
export CUSTOMER_IO_API_KEY='xxxxxxxxxxxxx'

# AWS
export AWS_ACCESS_KEY_ID='xxxxxxxxxxxxxxxxxxxxxx'
export AWS_SECRET_ACCESS_KEY='xxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

# Used for function role
export FUNCTION_ROLE=papercups-lambda-execution-role
export FUNCTION_BUCKET_NAME='SOME-S3-BUCKET-FOR-FUNCTIONS'
export AWS_ACCOUNT_ID=YOUR_AWS_ACCOUNT_ID

export BUCKET_NAME='SOME-S3-BUCKET'
export AWS_REGION='SOME-AWS-REGION'

export SES_BUCKET_NAME=some-bucket-name
export SES_REGION=us-east-1

# Require ssl for db (defaults to true)
export REQUIRE_DB_SSL=true
30 changes: 30 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text eol=lf

#
## These files are binary and should be left untouched
#

# (binary is a macro for -text -diff)
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.mov binary
*.mp4 binary
*.mp3 binary
*.flv binary
*.fla binary
*.swf binary
*.gz binary
*.zip binary
*.7z binary
*.ttf binary
*.eot binary
*.woff binary
*.pyc binary
*.pdf binary
*.ez binary
*.bz2 binary
*.swp binary
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Additional context**
Add any other context about the problem here.
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''

---

**Problem**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Solution**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context, screenshots, or related issues about the feature request here.

**Testing**
Describe how this should be tested.

**Questions, or need help getting started?**
(You can also check out our [CONTRIBUTING.md](https://github.com/papercups-io/papercups/blob/master/CONTRIBUTING.md))
17 changes: 17 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
### Description

_Please describe the changes you made._

### Issue

_Link to the issue (if available)_

### Screenshots

_For frontend updates, please include a screenshot._

## Checklist

- [ ] Everything passes when running `mix test`
- [ ] Ran `mix format`
- [ ] No frontend compilation warnings
98 changes: 98 additions & 0 deletions .github/workflows/papercups.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
name: Papercups

on:
push:
branches: [master]
pull_request:

jobs:
mix-format:
name: Mix Format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Initial setup
uses: erlef/setup-elixir@v1
with:
elixir-version: "1.11.4"
otp-version: "23.0.3"

- name: Install dependencies
run: mix deps.get

- name: Run format check
run: mix format --check-formatted

prettier:
name: Prettier
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Initial setup
uses: erlef/setup-elixir@v1
with:
elixir-version: "1.10.4"
otp-version: "22.2.6"

- name: Install dependencies
run: npm install --prefix assets

- name: Run format check
run: npm run prettier:check --prefix assets

build-ui:
name: Build UI
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Initial setup
uses: erlef/setup-elixir@v1
with:
elixir-version: "1.10.4"
otp-version: "22.2.6"

- name: Install dependencies
run: npm install --prefix assets

- name: Run build
run: npm run build --prefix assets

mix-test:
name: Mix Test
runs-on: ubuntu-latest
env:
MIX_ENV: test
ELIXIR_ENV: test
DATABASE_HOST: localhost
DATABASE_USER: postgres
DATABASE_PORT: 5432
DATABASE_PASSWORD: postgres
services:
postgres:
image: postgres:10.4
env:
POSTGRES_PASSWORD: "postgres"
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v2

- name: Initial setup
uses: erlef/setup-elixir@v1
with:
elixir-version: "1.10.4"
otp-version: "22.2.6"

- name: Install dependencies
run: mix deps.get

- name: Run tests
run: mix test --exclude lambda_development
27 changes: 27 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Release

on:
push:
branches: [master]

jobs:
build-docker:
name: Build Docker
runs-on: ubuntu-latest
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
id: docker_build
uses: docker/build-push-action@v2
with:
name: papercups/papercups
push: true
tags: papercups/papercups:latest
- name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
# Ignore .fetch files in case you like to edit your project deps locally.
/.fetch

# Sandbox for running ad hoc scripts in development
/lib/mix/tasks/sandbox.ex

# If the VM crashes, it generates a dump, let's ignore it too.
erl_crash.dump

Expand All @@ -33,3 +36,9 @@ chat_api-*.tar

# Jetbrain IDE files
.idea/

.DS_Store

fly.toml

**/node_modules
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v12.18.3
4 changes: 4 additions & 0 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
erlang 23.0.3
elixir 1.11.3-otp-23
nodejs 12.18.3
postgres 12.3
Loading