mastodon/app/services
Eugen Rochko 620d0d8029 Account domain blocks (#2381)
* 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

* Adding account domain blocks that filter notifications and public timelines

* Add tests for domain blocks in notifications, public timelines
Filter reblogs of blocked domains from home

* Add API for listing and creating account domain blocks

* API for creating/deleting domain blocks, tests for Status#ancestors
and Status#descendants, filter domain blocks from them

* Filter domains in streaming API

* Update account_domain_block_spec.rb
2017-05-19 01:14:30 +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 Fetch remote image using http.rb (#3114) 2017-05-18 15:43:10 +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 Account domain blocks (#2381) 2017-05-19 01:14:30 +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 Fetch remote image using http.rb (#3114) 2017-05-18 15:43:10 +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