mastodon/app/services
Eugen Rochko 61ed133fea
Account archive download (#6460)
* Fix #201: Account archive download

* Export actor and private key in the archive

* Optimize BackupService

- Add conversation to cached associations of status, because
  somehow it was forgotten and is source of N+1 queries
- Explicitly call GC between batches of records being fetched
  (Model class allocations are the worst offender)
- Stream media files into the tar in 1MB chunks
  (Do not allocate media file (up to 8MB) as string into memory)
- Use #bytesize instead of #size to calculate file size for JSON
  (Fix FileOverflow error)
- Segment media into subfolders by status ID because apparently
  GIF-to-MP4 media are all named "media.mp4" for some reason

* Keep uniquely generated filename in Paperclip::GifTranscoder

* Ensure dumped files do not overwrite each other by maintaing directory partitions

* Give tar archives a good name

* Add scheduler to remove week-old backups

* Fix code style issue
2018-02-21 23:21:32 +01:00
..
activitypub Allow attributedTo in a status to be an embedded object (#6238) 2018-01-15 06:51:46 +01:00
concerns Rename ResolveRemoteAccountService to ResolveAccountService (#6327) 2018-01-22 14:25:09 +01:00
pubsubhubbub
account_search_service.rb Rename ResolveRemoteAccountService to ResolveAccountService (#6327) 2018-01-22 14:25:09 +01:00
after_block_service.rb
authorize_follow_service.rb
backup_service.rb Account archive download (#6460) 2018-02-21 23:21:32 +01:00
base_service.rb
batched_remove_status_service.rb Send one Delete of Actor in ActivityPub when account is suspended (#6172) 2018-01-04 14:40:49 +01:00
block_domain_from_account_service.rb
block_domain_service.rb
block_service.rb
bootstrap_timeline_service.rb
fan_out_on_write_service.rb
favourite_service.rb
fetch_atom_service.rb When fetching an ActivityPub-enabled status, do not re-request it as text/html (#6196) 2018-01-05 22:42:50 +01:00
fetch_link_card_service.rb Fix #5173: Click card to embed external content (#6471) 2018-02-15 07:04:28 +01:00
fetch_remote_account_service.rb
fetch_remote_status_service.rb
follow_service.rb Rename ResolveRemoteAccountService to ResolveAccountService (#6327) 2018-01-22 14:25:09 +01:00
mute_service.rb
notify_service.rb When must_be_following_dm is on, only notify if recipient dm'ed user (#6283) 2018-01-18 16:12:10 +01:00
post_status_service.rb
precompute_feed_service.rb Fix home regeneration (#6251) 2018-01-17 23:56:03 +01:00
process_feed_service.rb
process_hashtags_service.rb
process_interaction_service.rb
process_mentions_service.rb Rename ResolveRemoteAccountService to ResolveAccountService (#6327) 2018-01-22 14:25:09 +01:00
reblog_service.rb
reject_follow_service.rb
remove_status_service.rb
resolve_account_service.rb Rename ResolveRemoteAccountService to ResolveAccountService (#6327) 2018-01-22 14:25:09 +01:00
resolve_url_service.rb Rename FetchRemoteResourceService to ResolveURLService (#6328) 2018-01-22 14:24:22 +01:00
search_service.rb Full-text search for authorized statuses (#6423) 2018-02-09 23:04:47 +01:00
send_interaction_service.rb
subscribe_service.rb
suspend_account_service.rb Send one Delete of Actor in ActivityPub when account is suspended (#6172) 2018-01-04 14:40:49 +01:00
unblock_domain_service.rb
unblock_service.rb
unfavourite_service.rb
unfollow_service.rb
unmute_service.rb
unsubscribe_service.rb
update_account_service.rb
update_remote_profile_service.rb
verify_salmon_service.rb