mastodon/app/services
Eugen Rochko d0dd9eb5b5 Feature conversations muting (#3017)
* Add <ostatus:conversation /> tag to Atom input/output

Only uses ref attribute (not href) because href would be
the alternate link that's always included also.

Creates new conversation for every non-reply status. Carries
over conversation for every reply. Keeps remote URIs verbatim,
generates local URIs on the fly like the rest of them.

* Conversation muting - prevents notifications that reference a conversation
(including replies, favourites, reblogs) from being created. API endpoints
/api/v1/statuses/:id/mute and /api/v1/statuses/:id/unmute

Currently no way to tell when a status/conversation is muted, so the web UI
only has a "disable notifications" button, doesn't work as a toggle

* Display "Dismiss notifications" on all statuses in notifications column, not just own

* Add "muted" as a boolean attribute on statuses JSON

For now always false on contained reblogs, since it's only relevant for
statuses returned from the notifications endpoint, which are not nested

Remove "Disable notifications" from detailed status view, since it's
only relevant in the notifications column

* Up max class length

* Remove pending test for conversation mute

* Add tests, clean up

* Rename to "mute conversation" and "unmute conversation"

* Raise validation error when trying to mute/unmute status without conversation
2017-05-15 03:04:13 +02:00
..
concerns Fix #2706 - Always respond with 200 to PuSH payloads (#2733) 2017-05-03 17:02:18 +02:00
pubsubhubbub Add spec for Pubsubhubbub::DistributionWorker. PuSH-deliver public items (#2954) 2017-05-10 02:55:43 +02:00
account_search_service.rb Downgrade rubocop 0.48.1 => 0.46.0 (#2628) 2017-04-30 00:23:45 +02:00
after_block_service.rb Optimize MuteService and AfterBlockService (#2836) 2017-05-06 16:31:07 +02:00
authorize_follow_service.rb Rewrite Atom generation from stream entries to use Ox instead of Nokogiri (#1124) 2017-04-07 05:56:56 +02:00
base_service.rb Remove unused AtomBuilderHelper (#1364) 2017-04-11 19:31:22 +02:00
block_domain_service.rb Refactor domain_blocks_controller (#2843) 2017-05-06 17:03:34 +02:00
block_service.rb Rewrite Atom generation from stream entries to use Ox instead of Nokogiri (#1124) 2017-04-07 05:56:56 +02:00
fan_out_on_write_service.rb Silence more scope order warnings (#1604) 2017-04-12 15:58:08 +02:00
favourite_service.rb Rewrite Atom generation from stream entries to use Ox instead of Nokogiri (#1124) 2017-04-07 05:56:56 +02:00
fetch_atom_service.rb OEmbed support for PreviewCard (#2337) 2017-04-27 14:42:22 +02:00
fetch_link_card_service.rb Fix #2955 - Send HEAD request ahead of GET when fetching URL previews (#2972) 2017-05-10 23:30:07 +02:00
fetch_remote_account_service.rb Fix #2706 - Always respond with 200 to PuSH payloads (#2733) 2017-05-03 17:02:18 +02:00
fetch_remote_resource_service.rb Add specs (and refactor) of FetchRemoteResourceService and SearchService (#2812) 2017-05-05 17:26:04 +02:00
fetch_remote_status_service.rb Fix #2706 - Always respond with 200 to PuSH payloads (#2733) 2017-05-03 17:02:18 +02:00
follow_remote_account_service.rb Handling failed http response (#2823) 2017-05-06 12:55:59 +02:00
follow_service.rb More robust PuSH subscription refreshes (#2799) 2017-05-05 02:23:01 +02:00
mute_service.rb Optimize MuteService and AfterBlockService (#2836) 2017-05-06 16:31:07 +02:00
notify_service.rb Feature conversations muting (#3017) 2017-05-15 03:04:13 +02:00
post_status_service.rb OEmbed support for PreviewCard (#2337) 2017-04-27 14:42:22 +02:00
precompute_feed_service.rb Add `account_id DESC` to optimize PrecomputeFeedService (#2967) 2017-05-10 20:33:32 +02:00
process_feed_service.rb Add conversation model, <ostatus:conversation /> (#3016) 2017-05-12 19:09:21 +02:00
process_hashtags_service.rb Revert HTML CW changes (#3020) 2017-05-13 04:03:43 +02:00
process_interaction_service.rb Fix not rejecting remote URIs when parsing out local IDs (#3012) 2017-05-12 16:47:55 +02:00
process_mentions_service.rb Revert HTML CW changes (#3020) 2017-05-13 04:03:43 +02:00
reblog_service.rb Add "direct" visibility level in the backend. Web UI is not yet 2017-03-15 22:55:45 +01:00
reject_follow_service.rb Rewrite Atom generation from stream entries to use Ox instead of Nokogiri (#1124) 2017-04-07 05:56:56 +02:00
remove_status_service.rb Fix wrong pubsub channel on public timelines 2017-04-06 04:03:23 +02:00
search_service.rb Add specs (and refactor) of FetchRemoteResourceService and SearchService (#2812) 2017-05-05 17:26:04 +02:00
send_interaction_service.rb Make follow requests federate 2017-02-11 02:58:00 +01:00
subscribe_service.rb Services specs for subscribe and unsubscribe (#2928) 2017-05-09 00:45:02 +02:00
suspend_account_service.rb Delete records in smaller transaction (#2802) 2017-05-04 23:44:39 +02:00
unblock_domain_service.rb Unblock domain service specs/refactor (#2867) 2017-05-07 14:44:28 +02:00
unblock_service.rb Rewrite Atom generation from stream entries to use Ox instead of Nokogiri (#1124) 2017-04-07 05:56:56 +02:00
unfavourite_service.rb Rewrite Atom generation from stream entries to use Ox instead of Nokogiri (#1124) 2017-04-07 05:56:56 +02:00
unfollow_service.rb Fixed NoMethodError in UnfollowService (#1918) 2017-04-16 14:55:43 +02:00
unmute_service.rb Fix #231 - Muting 2017-03-02 18:49:32 +01:00
unsubscribe_service.rb Services specs for subscribe and unsubscribe (#2928) 2017-05-09 00:45:02 +02:00
update_remote_profile_service.rb Move account header and avatar methods to a concern (#2825) 2017-05-05 21:37:02 +02:00
verify_salmon_service.rb Fix #2706 - Always respond with 200 to PuSH payloads (#2733) 2017-05-03 17:02:18 +02:00
warm_cache_service.rb Preheat status cache 2017-02-05 17:24:18 +01:00