Commit graph

29 commits

Author SHA1 Message Date
Ben Halpern
d1760c4d08
Fix mention notification to mention proper user (#3721) 2019-08-14 14:43:21 -04:00
Anna Buianova
f9da88b006 Moved send_mention_notification to ActiveJob (#3566) 2019-08-01 16:35:25 -04:00
Ben Halpern
710c1d9e7b
Allow for the sending of arbitrary broadcasts (#3569) 2019-07-29 17:10:49 -04:00
rhymes
1e72749cc0 Remove unnecessary pluck calls (#3534) [ci skip] 2019-07-24 12:01:09 -04:00
Andy Zhao
a265ab6b90 Return original body instead of nil for new comment push notifications (#3273) 2019-06-24 08:33:35 -04:00
Andy Zhao
cf8b4e37d3 Add context data to comment notifications (#3258)
* Add db relationship for comment and notifications

* Use delete instead of destroy

* Add comment's ancestors' data

* Delete descendant notification data appropriately

* Update notifications for comments up the tree as well

* Update descendant notifications appropriately

* Fix apostrophe edge case

* Make ancestor_data method private
2019-06-21 14:26:19 -04:00
Andy Zhao
1e61634499 Add backend functionality for muting users you follow (#3240)
* Add backend func. for muting users you follow

* Remove comment

* Add validations and update default value

* Send notifications to followers with all_articles
2019-06-20 11:28:50 -04:00
Ben Halpern
f29b67a7b6
Add subtitle to ios push notification (#3170) 2019-06-14 23:28:17 -04:00
Ben Halpern
f262bda14b
Adjust text in mobile notification title (#3168) 2019-06-14 21:49:27 -04:00
Ben Halpern
e130400e9e
Finalize UI for all types of notification settings (#3164) 2019-06-14 18:28:38 -04:00
Andy Zhao
b953f17d0c New Feature: Subscribe to posts! (#3149)
* Add MVP of notification subscriptions

* Add rate limiting for notification subscriptions

* Show modal for logged out users on subscribe click

* Add enter key functionality for checkbox

* Add relationships for notification subscriptions

* Add model test for notification subscription

* Deprecated article mutes in favor of notification subscriptions

* Deprecated comment mutes in favor of notification subscriptions

* Move comment muting tests and logic over

* Merge comment and article muting into subscriptions

* Remove redundant check

* Use database to check for rate limit instead of cache

* Test for subscriptions handling notifications properly

* Fix notification model spec for subscriptions

* Fix tests for subscriptions

* Remove rate limiting

* Properly handle logged out users getting subscription status

* Fix test for new pattern

* Update reserved words

* Add config column to notification subscriptions

* Add logic for top level config and move tests

* Test for top level subscribers getting notified

* Fix logic mistake oops

* Add index and refactor comment_user_ids
2019-06-14 12:03:43 -04:00
Anna Buianova
2c05bbc0c1 Change notifications unique indexes #2525 (#3012)
* Notifications unique indexes that take null values into account

* Specify import options for reaction notifications according to the indexes

* Fix specs: notifications have either user_id or organization_id

* Create notifications indexes concurrently
2019-06-13 15:17:50 -04:00
Anna Buianova
a7332846df Validate on creating a reaction notification (#3010) 2019-05-31 07:30:17 -04:00
cyrillefr
8c52d5c43f Move remove_each notifications method in own job (#2946) 2019-05-29 16:26:18 -04:00
Anna Buianova
c510f1510c Fix a validation error when creating notifications #2525 (#2999)
* Use activerecord-import upsert to deal with the race condition

* Return a more consistent result form Notifications::Reactions::Send
2019-05-29 11:19:37 -04:00
Anna Buianova
a6091fe6c8 Moved notifying followers to a separate ActiveJob #1996 (#2935)
* Moved notifying followers to a service + specs

* Created an ActiveJob for notifiable action notifications

* Call the job from the Notification#send_to_followers

* Refactor creating notifiable action notification

* Handle possible nil followers while sending notifiable action notification

* Use activerecord import to bulk-create notifications

* Set notified_at for the bulk-created notifications

* Move compact to the appropriate place
2019-05-24 07:45:51 -04:00
cyrillefr
abb4831a53 Move remove_all notifications method in own job (#2882)
- that calls a service
    - spec for job + service
    - check actual integration spec
    - minor refactoring
2019-05-20 13:54:39 -04:00
cyrillefr
68f06c2076 send_milestone_notification in own job (#2804)
- that calls a service
  - spec for job + move spec to service
  - minor refactoring
2019-05-16 13:46:50 -04:00
Anna Buianova
dd0fbf002b ActiveJob for updating notifications #1996 (#2839)
* Notifications::Update service

* Update notifications ActiveJob

* Raise an exception when wrong notifiable class passed to a job
2019-05-15 12:37:25 -04:00
cyrillefr
ecdbee64ab Move tag adjustment notification to Active Jobs (#2654) 2019-05-10 11:06:29 -04:00
Anna Buianova
065ef29e31 Added unique index to notifications #2124 (#2213)
* Added unique index to notifications #2124

* Fix migration + add index to schema.rb

* Shoulda matcher notification unique validation
2019-05-01 13:15:06 -04:00
rhymes
743316b528 Move send new badge achievement notification to ActiveJob (#2474) 2019-04-29 10:51:08 -04:00
cyrillefr
c3cb6d9b66 Move moderation notification to Active Jobs (#2550)
- send_moderation_notification in own job
    - that calls a service
    - specs for job + service
    - minor refactoring
2019-04-29 09:21:15 -04:00
rhymes
33a0fe05ed Upgrade dry-struct to 0.7.0 (#2530) [ci skip] 2019-04-25 07:52:43 -04:00
cyrillefr
f3f8a51e35 Move Welcome Notification to Active Jobs (#2485)
- creation of welcome notification is in own service
  - which is called by an active job

Resolves: #1996
2019-04-22 13:49:18 -04:00
Anna Buianova
197fd51045 Make 1 query instead of 2 on creating reaction notification (#2516) 2019-04-22 09:19:27 -04:00
Anna Buianova
509c11e86f New comment notifications to Active Jobs #1996 (#2287)
* Send new comment notification service + specs

* Call new comment notification service from the model

* Return to non-bang notifications create

* An ActiveJob for the new comment notifications

* Call comments notification ActiveJob from Notification
2019-04-03 11:38:30 -04:00
Anna Buianova
e1968e815b Extract new reaction notification to ActiveJob (#2122) 2019-03-25 13:54:21 -04:00
Anna Buianova
f0e9c0cfef Extract sending new follower notification to a separate job (#2030) 2019-03-20 12:51:09 -04:00