1. 26 Sep, 2017 1 commit
  2. 25 Sep, 2017 4 commits
  3. 16 Sep, 2017 1 commit
  4. 11 Sep, 2017 1 commit
    • Eugen Rochko's avatar
      Fix count numbers from ActivityPub not being saved (#4899) · 0a6b0986
      Eugen Rochko authored
      They are marked as read-only by Rails, but we know what we are doing,
      so we are un-marking them as such.
      The mastodon:maintenance:update_counter_caches task is not really
      supposed to be run anymore (it was a one-time thing during an upgrade)
      however, just in case, I have modified it to not touch ActivityPub
      Also, no point writing to logger from these rake tasks, since they
      are not to be run from cron. Better to give stdout feedback.
  5. 07 Sep, 2017 1 commit
    • Joseph Mingrone's avatar
      Use casecmp() instead of casecmp?() for now (#4832) · 52644962
      Joseph Mingrone authored
      * Use casecmp() instead of casecmp?() for now
      casecmp?() is only available in ruby 2.4.0.  Users running earlier ruby versions
      would see errors, e.g., running
      RAILS_ENV=production rails mastodon:maintenance:remove_deprecated_preview_cards.
      * Correctly check whether casecmp() returns 0
  6. 03 Sep, 2017 2 commits
  7. 01 Sep, 2017 1 commit
    • Eugen Rochko's avatar
      Make PreviewCard records reuseable between statuses (#4642) · 7dc50350
      Eugen Rochko authored
      * Make PreviewCard records reuseable between statuses
      **Warning!** Migration truncates preview_cards tablec
      * Allow a wider thumbnail for link preview, display it in horizontal layout (#4648)
      * Delete preview cards files before truncating
      * Rename old table instead of truncating it
      * Add mastodon:maintenance:remove_deprecated_preview_cards
      * Ignore deprecated_preview_cards in schema definition
      * Fix null behaviour
  8. 20 Aug, 2017 1 commit
    • Eugen Rochko's avatar
      ActivityPub migration procedure (#4617) · 6e9eda53
      Eugen Rochko authored
      * ActivityPub migration procedure
      Once one account is detected as going from OStatus to ActivityPub,
      invalidate WebFinger cache for other accounts from the same domain
      * Unsubscribe from PuSH updates once we receive an ActivityPub payload
      * Re-subscribe to PuSH unless already unsubscribed, regardless of protocol
  9. 24 Jul, 2017 1 commit
  10. 22 Jul, 2017 1 commit
  11. 16 Jul, 2017 1 commit
  12. 14 Jul, 2017 2 commits
  13. 11 Jul, 2017 2 commits
    • Eugen Rochko's avatar
      Fix #2848 - Rake task to redownload avatars/headers (#4156) · e6c81a63
      Eugen Rochko authored
      Can be filtered by a specific domain
      Resolves #2292
    • Eugen Rochko's avatar
      Redesign the landing page, mount public timeline on it (#4122) · e19eefe2
      Eugen Rochko authored
      * Redesign the landing page, mount public timeline on it
      * Adjust the standalone mounted component to the lacking of router
      * Adjust auth layout pages to new design
      * Fix tests
      * Standalone public timeline polling every 5 seconds
      * Remove now obsolete translations
      * Add responsive design for new landing page
      * Address reviews
      * Add floating clouds behind frontpage form
      * Use access token from public page when available
      * Fix mentions and hashtags links, cursor on status content in standalone mode
      * Add footer link to source code
      * Fix errors on pages that don't embed the component, use classnames
      * Fix tests
      * Change anonymous autoPlayGif default to false
      * When gif autoplay is disabled, hover to play
      * Add option to hide the timeline preview
      * Slightly improve alt layout
      * Add elephant friend to new frontpage
      * Display "back to mastodon" in place of "login" when logged in on frontpage
      * Change polling time to 3s
  14. 27 Jun, 2017 1 commit
  15. 08 Jun, 2017 1 commit
  16. 07 Jun, 2017 1 commit
  17. 29 May, 2017 1 commit
    • Daniel Hunsaker's avatar
      [nanobox] Adjustments for Nanobox development (#3295) · 9ead3d1c
      Daniel Hunsaker authored
      Because Nanobox doesn't run data components in the same container as the code, there are a few tweaks that need to be made in the configuration to get WebPack to work properly in development mode.
      The same differences lead to needing to use `DATABASE_URL` by default in the `.env` file for Rails to work correctly.
      Limitations of our `.env` loader for Node.js mean the `.env` file needs to be compiled everywhere in order to work, so we compile it in development, now, too. Also, all the `.env.production` tweaks have been consolidated into a single command.
      Finally, since Nanobox actually creates the database when it sets up the database server, using the existence of the database alone to determine whether to migrate or setup is insufficient. So we add a condition to `rake db:migrate:setup` to check whether any migrations have run - if the database doesn't exist yet, `db:setup` will be called; if it does, but no migrations have been run, `db:migrate` and `db:seed` are called instead (the same basic idea as what `db:setup` does, but it skips `db:create`, which will only cause problems with an existing DB); otherwise, only `db:migrate` is called.
      None of these changes should affect development, and all are designed not to interfere with existing behaviors in other environments.
  18. 23 May, 2017 1 commit
    • Daniel Hunsaker's avatar
      Add Support for Nanobox (#1709) · 256e3adc
      Daniel Hunsaker authored
      * Nanobox Support
      - Added support for running Mastodon using Nanobox, both for local development, and for deployment to production
      - Dev mode tested and is working properly
      - Deployment is undergoing test as of this writing. If it works, this line will be amended to state success; if not, one or more subsequent commits will provide fixes.
      * [nanobox] Resolve Deploy Issues
      Everything seems to work except routing to the streaming API. Will investigate with the Nanobox staff and make fix commits if needed.
      Changes made:
      - Also need `NODE_ENV` in production
      - Node runs on `:4000`
      - Use `envsubst` to commit `.env.production` values, since `dotEnv` packages don't always support referencing other variables
      - Can't precompile assets after `transform` hook, but do this locally so it only has to be done once.
      - Rails won't create `production.log` on its own, so we do this ourselves.
      - Some `start` commands run from `/data/` for some reason, so use absolute paths in command arguments
      * [nanobox] Update Ruby version
      * [nanobox] Fix db.rake Ruby code style issues
      * [nanobox] Minor Fixes
      Some minor adjustments to improve functionality:
      - Fixed routing to `web.stream` instances
      - Adjust `.env.nanobox` to properly generate a default `SMTP_FROM_ADDRESS` via `envsubst`
      - Update Nginx configs to properly support the needed HTTP version and headers for proper functionality (the streaming API doesn't work without some of these settings in place)
      * [nanobox] Move usage info to docs repo
      * [nanobox] Updates for 1.2.x
      - Need to leave out `pkg-config` since Nanobox deploys without Ruby's headers - create a gem group to exclude the gem during Nanobox installs, but allow it to remain part of the default set otherwise
      - Update cron jobs to cover new/updated Rake tasks
      - Update `.env.nanobox` to include latest defaults and additions
      * [nanobox] Fix for nokogumbo, added in 1.3.x
      Apparently, nokogumbo (pulled in by sanitize, added with `OEmbed Support for PreviewCard` (#2337) - 88725d6c) tries to install before nokogiri, despite needing nokogiri available to build properly. Instruct it to use the same settings as nokogiri does when building nokogiri directly, instead of via bundler.
      * [nanobox] Set NODE_ENV during asset compile
      The switch to WebPack will rely on the local value of the NODE_ENV evar, so set it to production during asset compilation.
      * [nanobox] Rebase on master; update Nginx configs
      - `pkg-config` Gem no longer causes issues in Nanobox, so revert the Gemfile change which allowed excluding it
      - Update Nginx configuration files with latest recommendations from production documentation
      - Rebase on master to Get This Merged™
      Everything should be golden!
  19. 20 May, 2017 1 commit
  20. 10 May, 2017 1 commit
  21. 08 May, 2017 1 commit
  22. 05 May, 2017 1 commit
    • Eugen Rochko's avatar
      More robust PuSH subscription refreshes (#2799) · 81584779
      Eugen Rochko authored
      * Fix #2473 - Use sidekiq scheduler to refresh PuSH subscriptions instead of cron
      Fix an issue where / in domain would raise exception in TagManager#normalize_domain
      PuSH subscriptions refresh done in a round-robin way to avoid hammering a single
      server's hub in sequence. Correct handling of failures/retries through Sidekiq (see
      also #2613). Optimize Account#with_followers scope. Also, since subscriptions
      are now delegated to Sidekiq jobs, an uncaught exception will not stop the entire
      refreshing operation halfway through
      Fix #2702 - Correct user agent header on outgoing http requests
      * Add test for SubscribeService
      * Extract #expiring_accounts into method
      * Make mastodon:push:refresh no-op
      * Queues are now defined in sidekiq.yml
      * Queues are now in sidekiq.yml
  23. 04 May, 2017 1 commit
  24. 02 May, 2017 1 commit
    • yhirano's avatar
      annotate models (#2697) · 298796cc
      yhirano authored
      * add annotate to Gemfile
      * rails g annotate:install
      * configure annotate_models
      * add schema info to models
      * fix rubocop to add frozen_string_literal
  25. 29 Apr, 2017 2 commits
    • yhirano's avatar
      Downgrade rubocop 0.48.1 => 0.46.0 (#2628) · 8325866c
      yhirano authored
      * downgrade rubocop 0.48.1 => 0.46.0
      * exclude vendor/**/* from rubocop target files
      * add frozen_string_literal comment line
      * fix percent literal delimited by ( and )
      * fix alignment
      * remove comment disabling unknown cop
    • Patrick Figel's avatar
      Set unknown attachment type when adding domain blocks (#2605) · 197af5de
      Patrick Figel authored
      Follow-up to #2599. When a domain block with `reject_media` is
      added or `rake mastodon:media:remove_remote` is invoked, mastodon
      deletes the locally cached attachments and avatars but does not
      reflect that change in the database, causing the `file` fields to
      still have values. This change persists the deletion in the
      database and sets the attachment type to unknown.
      This also introduces a one-off rake task that sets all attachments
      without a local file to the "unknown" type. The upgrade notes for
      the next release should contain a post-upgrade step with
      `rake mastodon:media:set_unknown`.
  26. 26 Apr, 2017 1 commit
  27. 25 Apr, 2017 2 commits
  28. 17 Apr, 2017 2 commits
    • Matt Jankowski's avatar
      Remove unused methods (#1730) · 16d50f60
      Matt Jankowski authored
      * Remove unused method #set_counters_maps from api controller
      * Remove unused method #set_account_counters_maps from api controller
      * Remove unused method Account#followers_domains
      * Remove unused User.prolific scope
      * Add mastodon:users:admins task to list all admin emails
      * Use interpolated query style in Account.triadic_closures
      * Coverage for Account.triadic_closures
    • Eugen's avatar
      Fix #1972, fix #1870 - Fix special characters in XML, add tests (#1988) · 15ec4ae0
      Eugen authored
      Also improve efficiency of the mastodon:maintenance:add_static_avatars task
  29. 16 Apr, 2017 2 commits
  30. 15 Apr, 2017 1 commit