Commit Graph
929 Commits
Author SHA1 Message Date
evazion ff92b32f02 users: add /profile page (fix #4151).
* Add /profile, /profile.json endpoints.
* Make "My Account" link to /profile.
* Add 'User ID' field to profile page.
2019-09-01 15:00:23 -05:00
evazion 1bb1b147ea Fix autoloading deprecation warning in delayed job initializer.
DEPRECATION WARNING: Initialization autoloaded the constants
    Danbooru::Paginator and Danbooru::Paginator::ActiveRecordExtension.

    Being able to do this is deprecated. Autoloading during
    initialization is going to be an error condition in future versions
    of Rails.

    Reloading does not reboot the application, and therefore code
    executed during initialization does not run again. So, if you reload
    Danbooru::Paginator, for example, the expected changes won't be
    reflected in that stale Module object.

    `config.autoloader` is set to `classic`. These autoloaded constants
    would have been unloaded if `config.autoloader` had been set to
    `:zeitwerk`.

    Please, check the "Autoloading and Reloading Constants" guide for
    solutions.
2019-09-01 13:10:37 -05:00
evazion 65e53b86b3 Drop support for /cache/tag.json.
Drop support for https://danbooru.donmai.us/cache/tags.json. This was a
nightly dump of the tags table that was originally added in #1012. It
was never documented and never really used except for by the DanbooruUp
extension.
2019-08-29 00:52:23 -05:00
evazion eba6440b8b Fix #4144: Deviantart Eclipse update broke strategy. 2019-08-28 23:40:29 -05:00
evazion 0cf9f845d0 newrelic: fix tracking of api auth failure errors.
Fixes user params not being recorded on SessionLoader::AuthenticationFailed errors.
2019-08-27 21:19:56 -05:00
evazion 2c3ecf7ea4 Kill utf8=✓ param. 2019-08-27 18:13:30 -05:00
evazion 3f86a60457 Upgrade to Rails 6.0.0. 2019-08-27 18:13:30 -05:00
evazion 62875eabb2 /posts.atom: fix banned posts being visible to Members.
Bug: /posts.atom only hid loli/shota, not banned posts and not unsafe
posts when safe mode was on.
2019-08-25 20:29:32 -05:00
evazion 0101b5f5f4 danbooru default config: remove unused config settings. 2019-08-25 20:29:32 -05:00
evazion 1a964f7a10 app controller: move safe mode from app controller to SessionLoader. 2019-08-24 22:55:36 -05:00
evazion 06ff249530 dmails: factor out spam detector service. 2019-08-23 22:38:03 -05:00
evazion 0b78485227 dotenv: load .env.local before initializers. 2019-08-23 22:30:23 -05:00
evazion dfe2b831a3 cache: replace memcache with redis.
Drop memcache. Use redis for all caching instead.
2019-08-22 23:15:34 -05:00
evazion 2e407fa476 rails: update defaults from 5.1 to 5.2.
protect_from_forgery removed from because it's now on by default.

ref: https://edgeguides.rubyonrails.org/configuring.html
2019-08-22 22:09:05 -05:00
evazion 84f4e076cc whenever: log cronjob output to log/whenever.log. 2019-08-22 17:28:53 -05:00
evazion 804ccd4fcc capistrano: fix cronjobs not updating.
Bug: capistrano didn't update the crontab during deployment. As a result
the crontab still referenced an old deployment. Eventually that
deployment was deleted and cronjobs started silently failing.

Broken in 223e5f1e8. Turns out that `whenever` defaults to running on
servers with the `db` role. Removing kagamihara from the db role meant
that whenever was no longer configured to run anywhere.
2019-08-21 18:02:55 -05:00
evazion 82fbb19e0f users: drop unused code. 2019-08-18 11:24:42 -05:00
evazion 822dce20ed jobs: add base ApplicationJob. 2019-08-16 20:49:34 -05:00
evazion 2b236a7111 unicorn: bump worker count (12 -> 16). 2019-08-15 00:36:25 -05:00
evazion 13dbdd5cd9 unicorn: clear environment variables during hot restarts.
Fixes an issue with zero downtime deployments (#4123). Hot restarting
didn't clear out BUNDLER_GEMFILE, which mean that new workers still used
the old Gemfile from previous deployments. This led to mysterious errors
with autoloading libraries (#4138).
2019-08-15 00:36:25 -05:00
evazion 4833b8a63c Fix the circleci build. 2019-08-14 16:42:37 -05:00
evazion e29e5fe984 Fix #4131: Upgrade to Ruby 2.6.
Upgrade procedure:

    $ echo 2.6.3 > .ruby-version

    # upgrade ruby-build to know about the latest ruby versions.
    # see also: github.com/rkh/rbenv-update
    $ cd ~/.rbenv/plugins/ruby-build && git pull

    # install the version of ruby specified in .ruby-version.
    # see also: github.com/capistrano/rbenv/issues/83
    $ rbenv install --skip-existing

    # update the shell to use the latest version of ruby by default.
    $ rbenv global 2.6.3

    # update rubygems and bundler
    $ gem update --system

    # update the lockfile to use the latest version of bundler
    $ bundle update --bundler
2019-08-14 12:25:50 -05:00
evazion 90fa67d4c1 Remove unused terms of service banner.
No longer used, inadvertently hidden in a6233f297e.
2019-08-14 01:46:44 -05:00
evazion d0428da120 sessions: remove nonexistent GET /session route. 2019-08-14 01:46:43 -05:00
evazion 9b57631046 capistrano: fix newrelic deployment tagging.
Override the appname in config/newrelic.yml so that we don't
accidentally tag deployments under the wrong app.
2019-08-12 19:20:33 -05:00
evazion f268293105 delayed jobs: log to stdout.
Log to stdout because we now run workers under systemd and we want
errors to go to the journal, not to log/production.log.
2019-08-12 13:38:45 -05:00
evazion 18a216c67a Fix #4130: Remove tag alias corrections. 2019-08-10 22:46:49 -05:00
evazion 853becbcfc circleci: try to fix the build. 2019-08-08 01:07:57 -05:00
evazion c225d54de1 capistrano: add deploy:rolling task (fix #4123). 2019-08-07 22:11:07 -05:00
evazion 223e5f1e81 capistrano: enable conditional migrations. 2019-08-07 22:11:07 -05:00
evazion 9996dd40bb capistrano: only log newrelic deployment in production.
Fix local development deployments getting logged in New Relic.
2019-08-07 22:11:07 -05:00
evazion 2beb79166e capistrano: fix git deprecation warning. 2019-08-07 22:11:07 -05:00
evazion ef68d42dbe Drop unused query tracer code + term-ansicolor gem. 2019-08-07 22:11:07 -05:00
evazion b0da649b09 Remove obsolete scripts.
These are mostly old files mostly related to maintenance of Danbooru 1
or the upgrade to Danbooru 2.
2019-08-06 10:42:45 -05:00
evazion 2df6bf41f6 cron: move 'vacuum analyze' to daily maintenance. 2019-08-06 10:42:45 -05:00
nothink 72ceb484ce Update INSTALL.debian, for Debian 9(stretch) 2019-08-05 23:29:12 +09:00
evazion b9bb5467b8 Fix #4117: Use memcache for fragment caching. 2019-08-04 21:10:57 -05:00
evazion 92504cb8f3 Fix #4075: Add non-web_source to default tags removed by replacement. 2019-07-31 20:17:32 -05:00
evazion 504f785edc Fix #4115: Upgrade to webpack 4.x.
https://github.com/rails/webpacker/blob/master/docs/v4-upgrade.md
2019-07-31 20:17:14 -05:00
r888888888 0999e7a71a increase unicorn process count 2019-06-01 14:19:52 -07:00
Albert Yi 33063a72de Add a listing page for post disapprovals (accessible to approvers only) 2019-01-24 16:14:57 -08:00
Albert Yi d10b898dd6 add dependency for redis image on docker compose config 2019-01-24 13:25:40 -08:00
Albert Yi ad3ab4c9a3 add redis image to docker compose config 2019-01-24 13:24:43 -08:00
evazion 54f562bf1c Fix #4042: Remove source_request by default when replacing posts. 2019-01-13 15:06:30 -06:00
Albert Yi 0508b127fd continue refactoring savedsearch 2018-11-15 12:06:13 -08:00
Albert Yi df02eb7951 eliminate listbooru references 2018-11-12 18:02:49 -08:00
evazion 1281481548 Fix #3978: Pool name/category validations not being enforced. 2018-11-07 16:10:16 -06:00
Albert Yi 9ddb9cd434 use only 1 copyright tag by default in humanized essential tag string 2018-11-05 14:34:07 -08:00
Albert Yi 66ce07e993 add additional install scripts, fix staging deploy 2018-10-16 09:47:58 -07:00
Albert Yi 2aabaf56d8 Merge pull request #3951 from evazion/fix-maintenance-logging
Improve daily maintenance error handling
2018-10-15 14:20:44 -07:00