Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Refactor `add_recipients`blackst0ne-rails5-fix-frozen-array | blackst0ne | 2018-04-09 | 1 | -3/+2 |
| | |||||
* | [Rails5] Fix spec/requests/projects/cycle_analytics_events_spec.rb | blackst0ne | 2018-04-07 | 1 | -1/+1 |
| | |||||
* | Add discussion APIjprovazn-api | Jan Provaznik | 2018-03-07 | 1 | -1/+1 |
| | | | | | * adds basic discussions API for issues and snippets * reorganizes notes specs (so same tests can be used for all noteable types - issues, MRs, snippets) | ||||
* | Initial work to add notification reason to emails | Mario de la Ossa | 2018-01-16 | 1 | -22/+26 |
| | | | | | | | | | | | Adds `#build_notification_recipients` to `NotificationRecipientService` that returns the `NotificationRecipient` objects in order to be able to access the new attribute `reason`. This new attribute is used in the different notifier methods in order to add the reason as a header: `X-GitLab-NotificationReason`. Only the reason with the most priority gets sent. | ||||
* | Fix watch level for mentions in description | Sean McGivern | 2017-12-04 | 1 | -1/+12 |
| | | | | | | | | | | | | | | | For a user with the mention notification level set, the type of their corresponding NotificationRecipient must be :mention for them to receive an email. We set this correctly on notes, but we weren't adding it on new issues or MRs - perhaps because these users are also participants. But the type of the NotificationRecipient in that case would be :participant, not mention, so we have to add the mentioned users manually when creating an issue or MR. When editing an issue or MR, and there are newly-mentioned users to email, we still use the :new_issue and :new_merge_request actions, so this works for that case as well. | ||||
* | actually use the :participating notification type | http://jneen.net/ | 2017-08-21 | 1 | -1/+1 |
| | |||||
* | rubocop style fix | http://jneen.net/ | 2017-08-03 | 1 | -1/+1 |
| | |||||
* | add a comment warning that note.project may be nil | http://jneen.net/ | 2017-08-03 | 1 | -0/+4 |
| | |||||
* | remove build_relabeled_recipients | http://jneen.net/ | 2017-08-03 | 1 | -19/+0 |
| | |||||
* | move the read_ability logic into NotificationRecipient | http://jneen.net/ | 2017-08-03 | 1 | -16/+0 |
| | |||||
* | rm unused methods | http://jneen.net/ | 2017-08-03 | 1 | -26/+0 |
| | |||||
* | disable the delegate cop | http://jneen.net/ | 2017-08-03 | 1 | -0/+1 |
| | |||||
* | deparameterize `project` | http://jneen.net/ | 2017-08-03 | 1 | -13/+17 |
| | | | | since 99% of the time it's `target.project` anyways. | ||||
* | unmemoize read_ability | http://jneen.net/ | 2017-08-03 | 1 | -8/+9 |
| | | | | since it's only called once now in make_recipient | ||||
* | rm unused NewNote#subject | http://jneen.net/ | 2017-08-03 | 1 | -4/+0 |
| | | | | | its functionality is swept into the project permission check in NotificationRecipient#has_access? now | ||||
* | clearer argument name | http://jneen.net/ | 2017-08-03 | 1 | -2/+2 |
| | |||||
* | short-circuit if there is no policy, and add :read_project check | http://jneen.net/ | 2017-08-03 | 1 | -5/+1 |
| | |||||
* | force queries to include notification settings | http://jneen.net/ | 2017-08-03 | 1 | -2/+11 |
| | |||||
* | use a simple pluck, since equivalent filtering happens later | http://jneen.net/ | 2017-08-03 | 1 | -3/+1 |
| | |||||
* | style fixes | http://jneen.net/ | 2017-08-03 | 1 | -1/+2 |
| | |||||
* | .notifiable_users: compact the passed-in users | http://jneen.net/ | 2017-08-03 | 1 | -1/+1 |
| | |||||
* | default the project to target.project | http://jneen.net/ | 2017-08-03 | 1 | -1/+2 |
| | |||||
* | use intersection and diff operators instead of each | http://jneen.net/ | 2017-08-03 | 1 | -22/+2 |
| | |||||
* | make sure #custom_action is always defined | http://jneen.net/ | 2017-08-03 | 1 | -0/+4 |
| | |||||
* | move Recipient to its own NotificationRecipient file | http://jneen.net/ | 2017-08-03 | 1 | -109/+7 |
| | |||||
* | move the #build_* methods to static, parameterize the project | http://jneen.net/ | 2017-08-03 | 1 | -31/+26 |
| | |||||
* | factor out .notifiable_users | http://jneen.net/ | 2017-08-03 | 1 | -36/+4 |
| | |||||
* | don't elevate to :watch if no @custom_action is provided | http://jneen.net/ | 2017-08-03 | 1 | -1/+1 |
| | |||||
* | rm the @builder argument and factor out .notifiable_users | http://jneen.net/ | 2017-08-03 | 1 | -13/+37 |
| | |||||
* | move filtering logic into Recipient class | http://jneen.net/ | 2017-08-03 | 1 | -99/+102 |
| | |||||
* | add builder helpers with levels and start to separate out #filter! | http://jneen.net/ | 2017-08-03 | 1 | -54/+113 |
| | |||||
* | make recipients mutative during the build | http://jneen.net/ | 2017-08-03 | 1 | -64/+73 |
| | |||||
* | move build_custom_key to Default | http://jneen.net/ | 2017-08-03 | 1 | -8/+6 |
| | |||||
* | factor out the `target` argument to helpers | http://jneen.net/ | 2017-08-03 | 1 | -19/+19 |
| | |||||
* | move the build arguments to the initializers | http://jneen.net/ | 2017-08-03 | 1 | -14/+60 |
| | |||||
* | move the builders to classes with a #build | http://jneen.net/ | 2017-08-03 | 1 | -219/+257 |
| | |||||
* | use notification_setting_for_user_project in reject_users | http://jneen.net/ | 2017-08-03 | 1 | -18/+2 |
| | |||||
* | protect against nil project/group/setting | http://jneen.net/ | 2017-08-03 | 1 | -4/+4 |
| | |||||
* | move notification_setting_for_user_project to a public class method | http://jneen.net/ | 2017-08-03 | 1 | -13/+13 |
| | |||||
* | move the ability check to reject_users_without_access | http://jneen.net/ | 2017-08-03 | 1 | -1/+2 |
| | |||||
* | Ensure NotificationRecipientService doesn't modify participants | Sean McGivern | 2017-06-28 | 1 | -7/+10 |
| | | | | | | | Even though it does modify the participants of the notification target in some cases, this should have been safe, as different workers are responsible for creating the notifications for each target. However, this is at best confusing, and we should ensure we don't do that. | ||||
* | Deserialise existing custom notification settingsdeserialize-custom-notifications | Sean McGivern | 2017-06-15 | 1 | -4/+4 |
| | | | | | | Create a post-deployment migration to update all existing notification settings with at least one custom level enabled to the new format. Also handle the same conversion when updating settings, to catch any stragglers. | ||||
* | Backport of multiple_assignees_feature [ci skip] | Valery Sizov | 2017-05-04 | 1 | -1/+6 |
| | |||||
* | Quiet pipeline emailsquiet-pipelines | Sean McGivern | 2017-04-03 | 1 | -6/+36 |
| | | | | | | | | | | 1. Never send a pipeline email to anyone other than the user who created the pipeline. 2. Only send pipeline success emails to people with the custom notification setting for enabled. Watchers and participants will never receive this. 3. When custom settings are unset (for new settings and legacy ones), act as if failed_pipeline is set. | ||||
* | Fix changes that were removed when code moved to NotificationReceipientService | Stan Hu | 2017-03-17 | 1 | -3/+3 |
| | |||||
* | Resolve "Extract logic of who should receive notification into separate classes" | Dongqing Hu | 2017-03-17 | 1 | -0/+293 |