This repository has been archived on 2024-07-22. You can view files and clone it, but cannot push or open issues or pull requests.
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
concerns
pubsubhubbub
account_search_service.rb
after_block_service.rb
authorize_follow_service.rb
backup_service.rb
base_service.rb
batched_remove_status_service.rb
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
fetch_link_card_service.rb
fetch_remote_account_service.rb
fetch_remote_status_service.rb
follow_service.rb
mute_service.rb
notify_service.rb
post_status_service.rb
precompute_feed_service.rb
process_feed_service.rb
process_hashtags_service.rb
process_interaction_service.rb
process_mentions_service.rb
reblog_service.rb
reject_follow_service.rb
remove_status_service.rb
resolve_account_service.rb
resolve_url_service.rb
search_service.rb
send_interaction_service.rb
subscribe_service.rb
suspend_account_service.rb
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