Skip to content
Snippets Groups Projects
  1. Jun 09, 2018
    • Eugen Rochko's avatar
      Fix domain hiding logic (#7765) · 10f51c98
      Eugen Rochko authored
      * Send rejections to followers when user hides domain they're on
      
      * Use account domain blocks for "authorized followers" action
      
      Replace soft-blocking (block & unblock) behaviour with follow rejection
      
      * Split sync and async work of account domain blocking
      
      Do not create domain block when removing followers by domain, that
      is probably unexpected from the user's perspective.
      
      * Adjust confirmation message for domain block
      
      * yarn manage:translations
      Unverified
      10f51c98
  2. May 30, 2018
  3. May 19, 2018
  4. May 18, 2018
  5. May 11, 2018
  6. May 03, 2018
    • ThibG's avatar
      Fixes/do not override timestamps (#7336) · a2460596
      ThibG authored
      * Revert "Fixes/do not override timestamps (#7331)"
      
      This reverts commit 581a5c9d.
      
      * Document Snowflake ID corner-case a bit more
      
      Snowflake IDs are used for two purposes: making object identifiers harder to
      guess and ensuring they are in chronological order. For this reason, they
      are based on the `created_at` attribute of the object.
      
      Unfortunately, inserting items with older snowflakes IDs will break the
      assumption of consumers of the paging APIs that new items will always have
      a greater identifier than the last seen one.
      
      * Add `override_timestamps` virtual attribute to not correlate snowflake ID with created_at
      a2460596
    • ThibG's avatar
      Fixes/do not override timestamps (#7331) · 581a5c9d
      ThibG authored
      * Do not override timestamps for incoming toots
      
      * Remove every reference to override_timestamps
      
      Statuses are now created with the announced publishing date
      and are only pushed to timelines if that date is at most
      6 hours earlier than the time at which it is processed.
      581a5c9d
    • Eugen Rochko's avatar
      Revert "Do not override timestamps for incoming toots" (#7330) · d5fa4fbc
      Eugen Rochko authored
      * Revert "Weblate translations 20180503 (#7325)"
      
      This reverts commit dfa6bccb.
      
      * Revert "Prevent timeline from moving when cursor is hovering over it (fixes #7278) (#7327)"
      
      This reverts commit 58852695.
      
      * Revert "Add pry-byebug (#7307)"
      
      This reverts commit ab773e4d.
      
      * Revert "Do not override timestamps for incoming toots (#7326)"
      
      This reverts commit bd367918.
      Unverified
      d5fa4fbc
    • ThibG's avatar
      bd367918
  7. May 02, 2018
    • Eugen Rochko's avatar
      Improve PostStatusService performance (#7317) · 658cbc94
      Eugen Rochko authored
      Offload creation of local notifications to a worker. Remove two
      redundant SQL queries from ProcessMentionsService, remove n+1
      XML/JSON serialization via memoization
      Unverified
      658cbc94
    • Eugen Rochko's avatar
      Slightly reduce RAM usage (#7301) · cb5b5cb5
      Eugen Rochko authored
      * No need to re-require sidekiq plugins, they are required via Gemfile
      
      * Add derailed_benchmarks tool, no need to require TTY gems in Gemfile
      
      * Replace ruby-oembed with FetchOEmbedService
      
      Reduce startup by 45382 allocated objects
      
      * Remove preloaded JSON-LD in favour of caching HTTP responses
      
      Reduce boot RAM by about 6 MiB
      
      * Fix tests
      
      * Fix test suite by stubbing out JSON-LD contexts
      Unverified
      cb5b5cb5
  8. Apr 12, 2018
  9. Apr 07, 2018
  10. Apr 04, 2018
    • Eugen Rochko's avatar
      Adjust privacy policy (#6666) · f1867a73
      Eugen Rochko authored
      * Adjust privacy policy to be more specific to Mastodon
      
      Fix #6613
      
      * Change data retention of IP addresses from 5 years to 1 year
      
      * Add even more information
      
      * Remove all (now invalid) translations of the privacy policy
      
      * Add information about archive takeout, remove pointless consent section
      
      * Emphasis on DM privacy
      
      * Improve wording
      
      * Add line about data use for moderation purposes
      Unverified
      f1867a73
  11. Mar 26, 2018
    • Akihiko Odaki's avatar
      Validate HTTP response length while receiving (#6891) · 40e5d230
      Akihiko Odaki authored
      to_s method of HTTP::Response keeps blocking while it receives the whole
      content, no matter how it is big. This means it may waste time to receive
      unacceptably large files. It may also consume memory and disk in the
      process. This solves the inefficency by checking response length while
      receiving.
      40e5d230
  12. Mar 24, 2018
  13. Mar 13, 2018
  14. Mar 04, 2018
    • Eugen Rochko's avatar
      Federate pinned statuses over ActivityPub (#6610) · 9110db41
      Eugen Rochko authored
      * Federate pinned statuses over ActivityPub
      
      * Display pinned toots in web UI
      
      Fix #6117
      
      * Fix migration
      
      * Fix tests
      
      * Update outbox_serializer.rb
      
      * Update remove_serializer.rb
      
      * Update add_serializer.rb
      
      * Update fetch_featured_collection_service.rb
      Unverified
      9110db41
  15. Feb 21, 2018
    • Eugen Rochko's avatar
      Account archive download (#6460) · 61ed133f
      Eugen Rochko authored
      * 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
      Unverified
      61ed133f
  16. Jan 22, 2018
  17. Jan 19, 2018
    • ThibG's avatar
      Retry delivering toots over ActivityPub for about 2 days (#6298) · a0de3222
      ThibG authored
      Currently, Mastodon will retry delivering toots for a bit over 1 hour.
      This is a very short timespan when considering private and direct toots, which
      cannot be seen by the recipient at all after the delivery attempts have failed.
      
      Ideally, private and direct toots should have a different number of retries,
      but I do not know how to do that.
      a0de3222
  18. Jan 17, 2018
    • Eugen Rochko's avatar
      Fix home regeneration (#6251) · 7badad77
      Eugen Rochko authored
      * Fix regeneration marker not being removed after completion
      
      * Return HTTP 206 from /api/v1/timelines/home if regeneration in progress
      Prioritize RegenerationWorker by putting it into default queue
      
      * Display loading indicator and poll home timeline while it regenerates
      
      * Add graphic to regeneration message
      
      * Make "not found" indicator consistent with home regeneration
      Unverified
      7badad77
  19. Jan 15, 2018
  20. Jan 05, 2018
  21. Dec 05, 2017
  22. Nov 30, 2017
    • Eugen Rochko's avatar
      Fix too many forwards (#5854) · 85e97eca
      Eugen Rochko authored
      * Avoid sending explicit Undo->Announce when original deleted
      
      * Do not forward a reply back to the server that sent it
      
      * Deduplicate inboxes of rebloggers' followers for delete forwarding
      
      * Adjust test
      
      * Fix wrong class, bad SQL, wrong variable, outdated comment
      Unverified
      85e97eca
  23. Nov 17, 2017
    • Eugen Rochko's avatar
      Lists (#5703) · 24cafd73
      Eugen Rochko authored
      * Add structure for lists
      
      * Add list timeline streaming API
      
      * Add list APIs, bind list-account relation to follow relation
      
      * Add API for adding/removing accounts from lists
      
      * Add pagination to lists API
      
      * Add pagination to list accounts API
      
      * Adjust scopes for new APIs
      
      - Creating and modifying lists merely requires "write" scope
      - Fetching information about lists merely requires "read" scope
      
      * Add test for wrong user context on list timeline
      
      * Clean up tests
      Unverified
      24cafd73
  24. Nov 11, 2017
    • ThibG's avatar
      Retry thread resolving (#5599) · 2b119006
      ThibG authored
      Thread resolving is one of the few tasks that isn't retried on failure.
      One common cause for failure of this task is a well-connected user replying to
      a toot from a little-connected user on a small instance: the small instance
      will get many requests at once, and will often fail to answer requests within
      the 10 seconds timeout used by Mastodon.
      
      This changes makes the ThreadResolveWorker retry a few times, with a
      rapidly-increasing time before retries and large random contribution in order
      to spread the load over time.
      2b119006
  25. Nov 07, 2017
  26. Oct 17, 2017
    • aschmitz's avatar
      Clean up reblog tracking keys, related improvements (#5428) · 554c2fd8
      aschmitz authored
      * Clean up reblog-tracking sets from FeedManager
      
      Builds on #5419, with a few minor optimizations and cleanup of sets
      after they are no longer needed.
      
      * Update tests, fix multiply-reblogged case
      
      Previously, we would have lost the fact that a given status was
      reblogged if the displayed reblog of it was removed, now we don't.
      
      Also added tests to make sure FeedManager#trim cleans up our reblog
      tracking keys, fixed up FeedCleanupScheduler to use the right loop,
      and fixed the test for it.
      554c2fd8
  27. Oct 16, 2017
    • Eugen Rochko's avatar
      Keep references to all reblogs of a status on home feed (#5419) · 34118169
      Eugen Rochko authored
      * Keep references to all reblogs of a status on home feed
      
      When inserting reblog: Add to set of reblogs of this status on
      the feed, if original status was present in the feed, add it to
      that set as well.
      
      When removing a reblog: Remove it from that set. Take random
      remaining item from the set. If one exists, re-insert it into feed,
      otherwise do not re-insert anything.
      
      Fix #4210
      
      * When original is removed, toss out reblog references
      34118169
  28. Oct 14, 2017
  29. Oct 08, 2017
  30. Oct 06, 2017
    • unarist's avatar
      Improve error handling on LinkCrawlWorker (#5250) · 5c8ca024
      unarist authored
      * Improve error handling on LinkCrawlWorker
      
      * Ignore TimeoutError and InvalidURIError too
      * Record errors to debug log
      * Enable dead job queue on LinkCrawlWorker
      
      Since most of acceptable errors were already ignored, only our side issue should go to dead job queue.
      
      * Ignore all http gem errors
      5c8ca024
  31. Oct 03, 2017
  32. Sep 30, 2017
  33. Sep 29, 2017
  34. Sep 28, 2017
  35. Sep 25, 2017
  36. Sep 24, 2017
Loading