about summary refs log tree commit diff
path: root/lib
AgeCommit message (Collapse)Author
2017-06-08Improve RuboCop rules (compatibility to Code Climate) (#3636)Yamagishi Kazutoshi
https://github.com/codeclimate/codeclimate-rubocop/blob/08f8de84ebfb39caa96391e23816877278f6441c/Gemfile.lock#L38 Code Climate is using RuboCop v0.46.0. Change several rules to maintain compatibility.
2017-06-07Add rake task to prepare database for foreign keys introduced by #3562 (#3614)Eugen Rochko
* Add rake task to prepare database for foreign keys introduced by #3562 * Fix typo * Do not delete OAuth values where NULL values may be permitted * Fix typo
2017-05-29[nanobox] Adjustments for Nanobox development (#3295)Daniel Hunsaker
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.
2017-05-28Bump version to 1.4.1Eugen Rochko
2017-05-28Bump version to 1.4.0.6Eugen Rochko
2017-05-27Bump version to 1.4.0.5Eugen Rochko
2017-05-26Bump version to 1.4.0.4Eugen Rochko
2017-05-23Add Support for Nanobox (#1709)Daniel Hunsaker
* 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) - 88725d6) 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!
2017-05-22Bump versionEugen Rochko
2017-05-22Set config.cache_store in environments file. (#3219)Clworld
* Set config.cache_store in application.rb * Set config.cache_store in environments. * fix code format.
2017-05-20Bump version to 1.4.0.2 (#3190)Eugen Rochko
2017-05-20Replace mastodon:media:clear and mastodon:feeds:clear rake tasks with (#3180)Eugen Rochko
sidekiq-scheduler jobs Resolves #2495
2017-05-11Remove unnecessary .keep files (#2976)Yamagishi Kazutoshi
Follow up #2902
2017-05-08Improve error message for non-existent user being made an admin (#2929)Matt Jankowski
2017-05-05More robust PuSH subscription refreshes (#2799)Eugen Rochko
* 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
2017-05-04Replace best_in_place editor on admin settings page (#2789)Matt Jankowski
* Remove best_in_place * Replace best_in_place usage with rails helpers * Move admin/settings#index to #edit action * Remove click_to__edit from i18n
2017-05-02annotate models (#2697)yhirano
* add annotate to Gemfile * rails g annotate:install * configure annotate_models * add schema info to models * fix rubocop to add frozen_string_literal
2017-04-30Downgrade rubocop 0.48.1 => 0.46.0 (#2628)yhirano
* 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
2017-04-29Bump version to 1.3.2 (#2623)Eugen Rochko
2017-04-29Set unknown attachment type when adding domain blocks (#2605)Patrick Figel
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`.
2017-04-28Update version to 1.3.1 (#2571)Ash Furrow
2017-04-27Bump version, improve how version is stored for better commit history (#2526)Eugen Rochko
2017-04-26add task to report code statistics (#2489)yhirano
2017-04-25fix typo on daily tasks logging (#2450)esetomo
2017-04-25Adds logging for daily tasks (#2438)Ash Furrow
* Adds logging for daily tasks. * Fixes Code Climate issues in #2438.
2017-04-21Adds version to about/more and API (#2181)Ash Furrow
* Adds version. * Cleans up code. * Removes standalone endpoint and adds version to instance endpoint. * Addresses feedback from #2181.
2017-04-19Fix #2108 - Fix gif uploads (#2171)Eugen
* Fix #2108 - Fix gif uploads Add specs for media attachment gifv conversion * Add ffmpeg to travis * Make travis install ffmpeg, not libav * Switch travis to trusty
2017-04-18Remove unused methods (#1730)Matt Jankowski
* 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
2017-04-17Fix #1972, fix #1870 - Fix special characters in XML, add tests (#1988)Eugen
Also improve efficiency of the mastodon:maintenance:add_static_avatars task
2017-04-16Fix bug mentioned in #1565 (#1954)Eugen
2017-04-16Unite all mandatory rake tasks in mastodon:daily (#1887)Eugen
* Unite all mandatory rake tasks in mastodon:daily Add mastodon:media:remove_remote task Make mastodon:maintenance:add_static_avatars more resilient to exceptions * Fix typo in task description
2017-04-15Make the rake mastodon:users:clear task properly clear out unconfirmed users ↵Eugen
(#1777) Before it cleared out user records only (e-mail, password) without freeing up the associated username (account record). Furthermore, since these records have no dependent records (due to no user activity) they can be deleted quickly with delete_all instead of destroy
2017-04-15Add tasks for open/close registration (#1823)Andrew
* Add tasks for open/close registration * Code climate style fix * Use true instead of string 'true'
2017-04-11Add task in order to delete unconfirmed users (older than 2days) (#1571)d0p1
* add task in order to delete unconfirmed user * change 7 days to 2
2017-04-11When avatar/header are GIF, generate static versions (#1428)Eugen
* When avatar/header are GIF, generate static versions. Account API returns "avatar"/"avatar_static", "header"/"header_static" Static version is the same as original for other cases Web UI de-animates avatars in toots, lists of users Fix #441, fix #596, prerequisite for #1064 * Fix JS test * Add rake task to generate static avatars/headers from GIF ones, add test
2017-04-11Adds error message to mastodon:confirm_email task. (#1476)Ash Furrow
2017-04-09Adds user confirmation rake task (#1300)Ash Furrow
* Adds task to confirm user by email. * Adds documentation for manual confirmation.
2017-03-31Add maintenance task for updating counter cachesEugen Rochko
2017-03-06Use more widely supported MP4 format for gifv'sEugen Rochko
2017-03-05Detect videos with no sound, handle them like gifvEugen Rochko
2017-03-04Fix #431 - convert gif to webm during upload. Web UI treats them like it didEugen Rochko
before. In the API, attachments now can be either image, video or gifv. Gifv is to be treated like images in terms of behaviour, but are videos by file type.
2017-03-04Add digest e-mailsEugen Rochko
2017-02-13Add rake task for making someone into an adminEugen Rochko
2017-02-02Cleaning up format of broadcast real-time messages, removingEugen Rochko
redis-backed "mentions" timeline as redundant (given notifications)
2017-01-26Improve StatsD instrumentationEugen Rochko
2017-01-20Fix #463 - Fetch and display previews of URLs using OpenGraph tagsEugen Rochko
2017-01-12Add rake task for clearing out media from silenced accountsEugen Rochko
2016-12-02Fix #329 - avatar errors no longer prevent remote accounts from being savedEugen Rochko
(without avatar). Also improved search position of exact matches
2016-11-24Remove Neo4JEugen Rochko
2016-11-24Only distribute statuses to followers who signed in in the last 2 weeks, add ↵Eugen Rochko
rake task for clearing feeds of inactive users