1. 12 Apr, 2018 1 commit
  2. 11 Apr, 2018 1 commit
    • Akihiko Odaki's avatar
      Paginate ancestor statuses in public page (#7102) · 519119f6
      Akihiko Odaki authored
      This also limits the statuses returned by API, but pagination is not
      implemented in Web API yet. I still expect it brings user experience
      better than making a user wait to fetch all ancestor statuses and flooding
      the column with them.
      519119f6
  3. 10 Apr, 2018 4 commits
    • Emelia Smith's avatar
      Feature: Improve reports ui (#7032) · d9b62e34
      Emelia Smith authored
      * Further improvements to Reports UI
      
      - Clean up notes display
      - Clean up add new note form
      - Simplify controller
      - Allow reopening a report with a note
      - Show created at date for reports
      - Fix report details table formatting
      
      * Show history of report using Admin::ActionLog beneath the report
      
      * Fix incorrect log message when reopening a report
      
      * Implement fetching of all ActionLog items that could be related to the report
      
      * Ensure adding a report_note updates the report's updated_at
      
      * Limit Report History to actions that happened between the report being created and the report being resolved
      
      * Fix linting issues
      
      * Improve report history builder
      
      Thanks @Gargron for the improvements
      d9b62e34
    • Paul Woolcock's avatar
    • Emelia Smith's avatar
      Feature: Allow staff to change user emails (#7074) · 219a4423
      Emelia Smith authored
      * Admin: Show unconfirmed email address on account page
      
      * Admin: Allow staff to change user email addresses
      
      * ActionLog: On change_email, log current email address and new unconfirmed email address
      219a4423
    • MIYAGI Hikaru's avatar
      Fix GIFV encoding params (#7098) · e6e93ecd
      MIYAGI Hikaru authored
      - Explicitly specify video codec.
        When ffmpeg isn't compiled with libx264 but openh264, mpeg4 is selected as video codec.
      - Swap avarage bitrate and max bitrate.
      e6e93ecd
  4. 09 Apr, 2018 1 commit
  5. 02 Apr, 2018 1 commit
    • Emelia Smith's avatar
      Feature: Report improvements (#6967) (#7000) · e85cffb2
      Emelia Smith authored
      * Implement Assignment of Reports (#6967)
      
      * Change translation of admin.report.comment.label to "Report Comment" for clarity
      
      As we'll soon add the ability for reports to have comments on them, this clarification makes sense.
      
      * Implement notes for Reports
      
      This enables moderators to leave comments about a report whilst they work on it
      
      * Fix display of report moderation notes
      
      * Allow reports to be reopened / marked as unresolved
      
      * Redirect to reports listing upon resolution of report
      
      * Implement "resolve with note" functionality
      
      * Add inverse relationship for report notes
      
      * Remove additional database querying when loading report notes
      
      * Fix tests for reports
      
      * Fix localisations for report notes / reports
      e85cffb2
  6. 01 Apr, 2018 1 commit
  7. 27 Mar, 2018 1 commit
    • Eugen Rochko's avatar
      Fix UniqueUsernameValidator comparison (#6926) · 2a90da18
      Eugen Rochko authored
      Comparison was downcasing only one side, therefore if previously
      existing account had a non-lowercase spelling, it would be ignored
      when checking for duplicates.
      
      New rake task `mastodon:maintenance:find_duplicate_usernames` will
      help find constraint violations that might have occured from the
      presence of this bug.
      
      Bump version to 2.3.3
      2a90da18
  8. 26 Mar, 2018 1 commit
    • 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
  9. 24 Mar, 2018 2 commits
  10. 22 Mar, 2018 2 commits
  11. 21 Mar, 2018 1 commit
  12. 19 Mar, 2018 1 commit
    • alex's avatar
      bugfixes and gem update (#6831) · 0306e3e9
      alex authored
      * update to new version of devise_pam_authenticatable2
      
      * fix behaviour if suffix is nil, fix environment loading, fix user email creation
      
      * code cleanup/fix linter warning
      0306e3e9
  13. 17 Mar, 2018 1 commit
  14. 11 Mar, 2018 1 commit
  15. 08 Mar, 2018 1 commit
    • Renato's avatar
      Rescue when there's no extension in the remotable (#6358) · 9aba44ea
      Renato authored
      * Rescue when there's no extension in the remotable
      Sometimes the remotable is pointing to a directory with no file
      extension. Maybe it should not be expecting to identify based on
      extensions to begin with, but since it's the case, it should be ready
      for it.
      
      * Fix codeclimate issue
      
      * Check if filename is nil instead of rescueing exception
      Suggestion made in the PR
      
      * Avoid concatenation issue if filename is nil
      If filename is nil, extname was undefined
      
      * Invert condition
      Address PR comments
      9aba44ea
  16. 07 Mar, 2018 2 commits
  17. 06 Mar, 2018 1 commit
  18. 04 Mar, 2018 2 commits
  19. 28 Feb, 2018 2 commits
  20. 26 Feb, 2018 2 commits
    • Ian McCowan's avatar
      Fix prev/next links on public profile page (#6497) · c33931b6
      Ian McCowan authored
      * Fix prev/next links on public profile page
      
      * Don't make pagination urls if no available statuses
      
      * Fix empty check method
      
      * Put left chevron before prev page link
      
      * Add scope for pagination "starting at" a given id
      
      * Status pagination try 2:
      
      s/prev/older and s/next/newer
      "older" on left, "newer" on right
      Use new scope for "newer" link
      Extract magic 20 page size to constant
      Remove max_id from feed pagination as it's not respected
      
      * Reinstate max_id for accounts atom stream
      
      * normalize
      c33931b6
    • Eugen Rochko's avatar
      Ensure the app does not even start if OTP_SECRET is not set (#6557) · 5cc71668
      Eugen Rochko authored
      * Ensure the app does not even start if OTP_SECRET is not set
      
      * Remove PAPERCLIP_SECRET (it's not used by anything, actually)
      
      Imports are for internal consumption and the url option isn't even
      used correctly, so we can remove the hash stuff from them
      5cc71668
  21. 23 Feb, 2018 1 commit
  22. 22 Feb, 2018 1 commit
  23. 21 Feb, 2018 4 commits
    • Eugen Rochko's avatar
      Focal points (#6520) · 90f12f2e
      Eugen Rochko authored
      * Add focus param to media API, center thumbnails on focus point
      
      * Add UI for setting a focal point
      
      * Improve focal point icon on upload item
      
      * Use focal point in upload preview
      
      * Add focalPoint property to ActivityPub
      
      * Don't show focal point button for non-image attachments
      90f12f2e
    • Eugen Rochko's avatar
    • 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
      61ed133f
    • Eugen Rochko's avatar
      Fix avatar and header issues by using custom geometry detector (#6515) · a7171af0
      Eugen Rochko authored
      * Fix avatar and header issues by using custom geometry detector
      
      Revert a part of #6508. The file passed to dynamic styles method
      was not actually a file, but an instance of Paperclip::Attachment,
      which broke all styles by always returning {} from the method.
      
      One problem with GIF avatars was that Paperclip::GeometryDetector
      reported wrong dimensions for them, e.g. 120x120 GIF avatar would
      for some reason be detected as 120x53. By writing our own geometry
      parser, we can use FastImage, which also happens to be faster than
      ImageMagick, to detect image dimensions, which are also correct.
      
      Unfortunately, this PR does not implement skipping a `convert`
      entirely if the dimensions are already correct, as I found no easy
      way to write that behaviour into Paperclip without rewriting the
      Paperclip::Thumbnail class.
      
      * Only invoke convert if dimension or format needs to be changed
      a7171af0
  24. 19 Feb, 2018 1 commit
  25. 18 Feb, 2018 1 commit
  26. 17 Feb, 2018 1 commit
  27. 16 Feb, 2018 1 commit
  28. 09 Feb, 2018 1 commit
    • Eugen Rochko's avatar
      Full-text search for authorized statuses (#6423) · 3ebc0ad4
      Eugen Rochko authored
      * Add full-text search for authorized statuses
      
      - Search API will return statuses that match the query
      - Only for logged in users
      - Only if you are author of the status,
      - Or you were mentioned in it
      - Or you favourited or reblogged it
      - Configuration over `ES_ENABLED`, `ES_HOST`, `ES_PORT`, `ES_PREFIX`
      - Run `rails chewy:deploy` to create & populate index
      
      Fix #5880
      Fix #4293
      Fix #1152
      
      * Add commented out docker-compose configuration for ES container
      
      * Optimize index import, filter search results
      
      * Add basic normalization to the index
      
      * Add better stemming and normalization to the index
      
      * Skip webfinger request if search query includes both @ and a space
      
      * Fix code style
      
      * Visually separate search result sections
      
      * Fix code style issues
      3ebc0ad4