evazion
fe0bb1e602
rake: remove unused image tasks.
2019-12-30 23:00:53 -06:00
evazion
24ab98ccc8
Merge pull request #4237 from Nikey646/patch-1
...
Set Webpack Compile Output to true during development.
2019-12-30 00:16:54 -06:00
evazion
87fe3c63fb
capistrano: fixup delayed jobs deployment.
2019-12-30 00:12:51 -06:00
evazion
27c797f5c6
Fix #4230 : Inconsistency between DText preview and DText renders of inline DText.
2019-12-28 13:28:45 -06:00
evazion
bb4be383b9
Fix #4231 : Allow artist commentary titles to be formatted with DText.
2019-12-28 12:37:37 -06:00
evazion
c95108d37b
maintenance: prevent exceptions from halting daily maintenance.
...
Fix cases where not all daily maintenance tasks run because some earlier
task raised an exception.
2019-12-28 00:21:56 -06:00
evazion
56d787a17f
storage manager: make rclone path configurable.
...
Fix bug where pruning uploads failed because the rclone binary couldn't
be found. The upload pruner runs under cron, which has a fixed default
$PATH of "/bin:/usr/bin", but in production rclone is installed under
/usr/local/bin. This caused the upload pruner to fail, which prevented
the rest of daily maintenance from running.
2019-12-28 00:21:40 -06:00
evazion
159a4cc3d4
Update gems.
2019-12-27 16:18:30 -06:00
evazion
514b736a07
pools: fix crash in post_tags_match search option.
...
Fix exception in /pools/search[post_tags_match]=touhou. Caused by
`Pool.post_tags_match(query).count` generating invalid SQL (`count`
doesn't like the top-level cross join).
ref: https://danbooru.donmai.us/forum_topics/9127?page=289#forum_post_161821
2019-12-27 12:53:46 -06:00
evazion
3bcc503cf7
BURs: process bulk updates in dedicated job queue.
...
Add a dedicated queue for bulk update requests and process it using a
single worker. This prevents bulk updates from consuming all available
workers and preventing other job types from running.
This also effectively serializes bulk updates so that they're processed
one-at-a-time instead of in parallel. This will be slower overall but
may avoid some of the issues with indeterminate update order under
parallel updates.
2019-12-27 12:24:51 -06:00
evazion
06e12973e2
BURs: lock posts when updating tags during bulk updates.
...
Fixes updates sometimes getting clobbered when multiple aliases or mass
updates tried to update the same post at the same time.
2019-12-27 12:11:42 -06:00
evazion
3b4f9ad086
tags: fix post counts for nonexistent tags.
...
Fix a bug where the post count regenerator didn't fix counts for tags
that had a non-zero count but weren't present on any posts.
2019-12-27 11:24:05 -06:00
evazion
b6a3a05422
aliases: fix bug when trying to move wiki pages.
2019-12-26 15:13:14 -06:00
evazion
231e4872ed
Re-enable post search counts and view counts.
...
Re-enable post view counts, post search counts, and missed search
counts. These were disabled in 89adf88d5 because of a bug caused by the
upgrade to rack-2.0.8 in a58dd83ad .
The bug was that rack-2.0.8 changed `session.id` to return a value of a
new wrapper type that doesn't respond to `to_s`. Previously it just
returned a string. Now we have to call `session[:session_id]` or
`session.id.public_id` to get a plain string. This was an undocumented
breaking change in rack-2.0.8 to fix CVE-2019-16782.
2019-12-25 23:53:50 -06:00
evazion
b02d84cfae
winter sale: link to forum topic.
2019-12-24 18:19:44 -06:00
evazion
89adf88d50
temp disable search counts.
2019-12-24 17:13:17 -06:00
evazion
283bed64da
temp disable view counts
2019-12-24 17:00:40 -06:00
evazion
963f1f7991
Add Danbooru Winter Sale.
...
* 25% off Gold and Platinum accounts.
* Free 6 tag searches for Member-level users.
* Runs from midnight Dec. 25th to 28th (UTC time).
2019-12-24 15:39:29 -06:00
evazion
ef2eb9d0f5
user upgrades: factor out gold/platinum prices.
2019-12-24 12:04:15 -06:00
evazion
7694be9cb3
users: remove no_flagging and no_feedback permissions.
2019-12-24 10:24:15 -06:00
evazion
939c168fe9
danbooru_default_config.rb: fix default storage dir.
2019-12-23 22:15:04 -06:00
evazion
432b3e19a9
config: don't use redis when not redis_url not configured.
2019-12-23 15:09:34 -06:00
evazion
2d7169c80f
Remove useless binstubs.
2019-12-23 01:01:35 -06:00
evazion
bdebd1a594
approver pruner: change inactivity threshold to 30 approvals in 45 days.
...
* Change minimum activity threshold to 30 approvals in 45 days.
* Exclude mods from losing privileges, not just admins.
* Fix undeletions of old posts not counting towards the activity threshold.
2019-12-23 00:44:22 -06:00
evazion
ac9d06bf79
maintenance: remove hourly upload error checker.
2019-12-23 00:14:38 -06:00
evazion
b650558633
user feedbacks: replace permanent deletions with soft deletions.
...
* Add is_deleted flag.
* Allow mods to delete and undelete user feedbacks.
* Don't hide old name change feedbacks (these will be deleted instead).
2019-12-23 00:02:54 -06:00
evazion
cd442d60af
tag_category.rb: fix windows line endings.
2019-12-22 21:24:00 -06:00
evazion
309821bf73
rubocop: fix various style issues.
2019-12-22 21:23:37 -06:00
evazion
09f6a84660
Add .rubocop.yml.
2019-12-22 21:23:36 -06:00
evazion
a58dd83ad7
Update ruby gems and yarn packages.
2019-12-22 17:33:52 -06:00
evazion
2320fad139
danbooru logger: fix request parameter filtering.
2019-12-22 17:33:51 -06:00
evazion
f586db97bc
Merge pull request #4228 from danbooru/dependabot/bundler/rack-2.0.8
...
build(deps): bump rack from 2.0.7 to 2.0.8
2019-12-22 13:58:58 -06:00
evazion
c606dfc181
posts: fix videos not looping.
...
Fixup for 15d737d68 .
2019-12-18 03:44:59 -06:00
evazion
eddd43c21f
recommender: fix typo in recommend_for_user.
2019-12-17 02:24:44 -06:00
evazion
fff4e3badd
artists: allow members to rename, delete, and undelete artists.
...
Also allow Members to edit deleted or banned artists. Previously this
was limited in the html, but not in the backend.
2019-12-16 19:42:10 -06:00
evazion
ddf928515c
wiki pages: allow members to rename, delete, and undelete wikis.
2019-12-16 19:42:10 -06:00
evazion
be9bdc0ab3
wiki pages: warn when renaming wikis still linked from other wikis.
...
* Warn when renaming a wiki that still has links from other wikis.
* When renaming a wiki that still has posts, just show a warning instead
of returning an error and making the user confirm the rename.
2019-12-16 18:49:43 -06:00
evazion
b038761fa7
Post.fast_count: fix post count estimates when there are no posts.
...
Bug: Post.fast_count failed when Danbooru.config.estimate_post_counts
was enabled but the database didn't have any posts. This normally
happened only during testing.
2019-12-16 18:49:43 -06:00
evazion
82564355e6
Add better error page for database timeouts.
2019-12-16 13:38:06 -06:00
evazion
3d03de1c52
mod actions: hide ip bans from non-mods.
...
Hide IP ban creation and deletion actions from non-mods in the
/mod_actions listing.
The previous approach of just filtering out the IP from the description
was hacky and didn't work with the `only` param (/mod_actions.json?only=id
still included the description field).
2019-12-16 12:20:41 -06:00
evazion
84ba1d417f
Fix #4220 : Uploading from Tumblr is broken.
2019-12-15 19:04:52 -06:00
evazion
c96565dac2
Update gems and yarn packages.
2019-12-15 17:53:05 -06:00
evazion
e0f5103e4a
reltags: fix nil exception on fast_count timeouts.
...
Fixes a nil dereference error when calculating related tags for the
sidebar. Cased by Post.fast_count returning nil when it times out.
2019-12-15 17:06:58 -06:00
evazion
41378bc8e3
sources: replace HttpartyCache with Danbooru::Http.
2019-12-15 17:06:58 -06:00
evazion
0adec60259
recommender: replace HttpartyCache with Danbooru::Http.
2019-12-15 15:48:38 -06:00
evazion
518de2fdec
cloudflare: fix purging of cached urls.
...
* Switch CloudflareService from HttpartyCache to Danbooru::Http.
* Purge cached urls from Cloudflare when a post is replaced and the md5
doesn't change. This happens when a corrupted image is replaced or
thumbnails are regenerated. Before we purged urls when a post was
expunged, which was unneeded because those urls can expire naturally.
It was also wrong because the subdomains were hardcoded, the urls used
http:// instead of https://, and we didn't account for tagged urls.
2019-12-15 14:03:15 -06:00
evazion
15d737d68b
posts: enable looping on video_with_sound posts.
...
Looping was disabled on video_with_sound posts as per
https://danbooru.donmai.us/forum_topics/12036#forum_post_107823 . But the
fact that video_with_sound posts didn't loop proved to be confusing to
users and undesirable in many cases.
2019-12-14 16:53:12 -06:00
evazion
efd1327f1e
login: remove login reminder page.
...
Remove the login reminder page. The meaning of "login reminder" wasn't
clear (it's for recovering a forgotten username) and the functionality
was redundant. The password reset page can already be used to recover
forgotten usernames.
There was also a privacy leak, since the login reminder page could be
used to find out whether a given email is in use on Danbooru.
2019-12-14 16:19:01 -06:00
evazion
872bd28d42
login: move password reset link.
...
Add "Forgot password?" link next to password field to make it more
obvious.
2019-12-14 15:34:01 -06:00
evazion
48e0569832
login: add /login & /logout routes, rename 'sign in' to 'login'.
...
* Replace /session/new with /login and /session/sign_out with /logout.
* Rename 'sign in' to 'login'.
This changes are to make urls cleaner and terminology more consistent.
2019-12-14 15:27:13 -06:00
evazion
7f08300f56
login: refactor login form to use simple form.
...
Also change form to pass params as e.g. `session[name]` instead of just
`name`.
2019-12-14 15:05:54 -06:00
evazion
57b09c39b2
css: fix stylelint errors.
2019-12-13 19:10:56 -06:00
evazion
f73bd03576
Update yarn packages.
2019-12-13 19:06:40 -06:00
evazion
c9e682f39f
Upgrade to Rails 6.0.2.
2019-12-13 18:19:52 -06:00
evazion
2202fdf086
dotenv: remove manual load of .env.local.
...
dotenv loads .env.local by default now.
2019-12-13 18:19:51 -06:00
evazion
3cc636e719
Fix uninitialized constant error with Resolv class.
...
Fix uninitialized constant error (introduced by the switch to zeitwerk?)
2019-12-13 18:19:41 -06:00
evazion
da84e3a2f2
twitter: replace twitter gem with our own API client.
...
The twitter gem had several problems:
* It's been unmaintained for over a year.
* It pulled in a lot of dependencies, many of which were outdated. In
particular, it locked the `http` gem to version 3.3, preventing us
from upgrading to 4.2.
* It raised exceptions on normal error conditions, like for deleted
tweets or suspended users, which we really don't want.
* We had to wrap it to provide caching.
Changes:
* Fixes #4226 (Exception when creating new artists entries for suspended
Twitter accounts)
* Drop support for scraping images from summary cards. Summary cards
are the previews you get when you link to a website in a tweet. These
preview images aren't always the best image.
2019-12-13 17:27:03 -06:00
evazion
0b556ece1c
Add Danbooru::Http client.
...
This is a wrapper around the http.rb gem that provides caching.
2019-12-13 15:32:21 -06:00
evazion
ddb0e4d3ce
config: refactor secret_key_base initialization.
2019-12-13 04:21:04 -06:00
evazion
6382aec85e
config: update to Rails 6.0 defaults.
2019-12-13 04:21:04 -06:00
evazion
fc5bce5595
redis: bump timeout settings.
2019-12-13 03:13:17 -06:00
evazion
ea15b525f8
config: clean up filter_parameters initializer.
2019-12-13 03:05:46 -06:00
evazion
a4e587aa6a
config: refactor email settings.
...
* Add `Danbooru.config.mail_delivery_method` option.
* Remove `Danbooru.config.aws_ses_enabled?` option.
* Replace `Danbooru.config.aws_ses_options` with `Danbooru.config.mail_settings`.
2019-12-13 03:00:12 -06:00
evazion
33e3754c2d
Update gems.
2019-12-13 02:14:20 -06:00
evazion
316690f393
storage manager: remove S3 backend.
...
Remove in favor of the rclone S3 backend.
2019-12-13 02:14:14 -06:00
evazion
92aca9ed2d
storage manager: remove fog backend.
...
Remove in favor of rclone.
2019-12-13 01:45:43 -06:00
evazion
8e93b0fc6c
/tags: fix link to [[help:tags]] in subnav menu.
2019-12-11 18:18:12 -06:00
evazion
99a1a408cd
/artists/banned, /favorites: fix redirects for non-html requests.
...
ref: https://danbooru.donmai.us/forum_topics/9127?page=287#forum_post_161549
2019-12-11 02:27:41 -06:00
evazion
afea704b55
storage manager: add rclone backend.
2019-12-11 01:44:23 -06:00
evazion
2e6486ab5f
BURs: fix exception in category change requests for new tags.
...
`category blah -> character` failed when `blah` didn't exist yet.
2019-12-10 15:17:10 -06:00
evazion
2f27a4eddd
image resizer: fix incompatibility with libvips-8.8.
...
In libvips-8.8 the `auto_rotate` option was replaced with `no_rotate`.
Using `auto_rotate` in libvips-8.8 fails, so we need a version check
here.
2019-12-10 14:04:40 -06:00
evazion
90f64eb407
image resizer: remove shell fallback for old versions of libvips.
...
Remove fallback for old versions of Debian. Debian stable now provides
libvips 8.7.
2019-12-10 14:04:40 -06:00
evazion
4b426ec5b9
storage manager: fix b2 storage bugs.
...
* B2 doesn't allow the path to start with a '/' character.
* When storing the file, we have to rewind the file pointer to make sure
we get the whole file.
2019-12-10 14:04:40 -06:00
evazion
e4f4326982
storage manager: add backblaze b2 backend.
2019-12-10 02:04:32 -06:00
evazion
6b165a90f8
tags: fix negative tag counts not being regenerated.
2019-12-10 01:43:05 -06:00
evazion
6196f7ba67
BURs: fix exception when estimating post counts of category changes.
...
Fix an error in operator precedence:
> sum + Tag.find_by_name(token[1]).try(:post_count) || 0
This was treated as `(sum + X) || 0` not `sum + (X || 0)` as intended.
This failed when X was nil.
2019-12-10 01:43:05 -06:00
evazion
e906b902d8
circleci: reduce parallelism
...
Fix circleci builds not running because parallelism was set too high (free plan is limited to 4x).
2019-12-08 00:43:39 -06:00
evazion
f24220982a
seo: don't noindex /posts?tags=order:rank.
2019-12-07 22:18:58 -06:00
evazion
fdffd3bdcb
BURs: fix "This request will be attached to" link.
...
ref: https://danbooru.donmai.us/forum_topics/9127?page=287#forum_post_161392
2019-12-07 20:09:03 -06:00
evazion
5394dbc3d2
tagging: lower happy/sad tag count thresholds.
...
Lower the frowny face tag threshold from 25 to 10 tags and the happy
face tag threshold from 35 to 20 tags.
2019-12-07 19:03:40 -06:00
evazion
5919b825d7
seo: don't hide the front page from web crawlers.
...
Don't mark the front page (empty tag search) as noindex.
2019-12-07 18:35:53 -06:00
evazion
81f7d14fa3
uploads: bump iqdb similarity threshold 65% -> 70%.
2019-12-07 11:24:39 -06:00
evazion
ea718122da
Fix #4219 : Deviantart broke download urls when not logged in.
2019-12-06 22:54:08 -06:00
evazion
1c3b96dc4e
deviantart: fix non-downloadable posts ( #4219 ).
...
Adapted from https://github.com/lllusion3469/danbooru/commit/e51e1aa7ddb73e92541bfbcab5c2f8c0359a07dc .
2019-12-06 22:54:08 -06:00
evazion
2bffad9311
BURs: credit tag edits to DanbooruBot.
...
Credit tag edits that are performed as part of an alias, implication, or
mass update to DanbooruBot instead of the admin who approved the BUR.
2019-12-06 22:54:08 -06:00
evazion
620b81e7b9
Fix #4218 : Can't install because Rails assets manifest is missing.
2019-12-06 02:44:10 -06:00
evazion
2be9c113e2
Fix #4222 : unrecognized configuration parameter "default_table_access_method"
...
This option was introduced in Postgres 12 and isn't backwards compatible
with older Postgres versions.
2019-12-06 02:32:15 -06:00
evazion
669ba6fc8d
upgrades: fix post-upgrade landing page.
...
* Fix the post-upgrade message showing the gift message instead of the
normal upgrade message.
* Link back to Danbooru so people don't stay on Safebooru and get
confused when they can't see hidden posts.
2019-12-06 02:26:11 -06:00
evazion
f355503413
tests: fix recommended posts tests.
2019-12-06 01:33:52 -06:00
evazion
0c483cad15
config: fix references to Danbooru.config.app_name.
...
Danbooru.config.app_name is either Safebooru or Danbooru. Fix some
places where it should always be Danbooru.
2019-12-06 01:33:52 -06:00
evazion
06078ef172
danbooru_default_config.rb: remove unused config params.
2019-12-06 01:33:52 -06:00
evazion
5cdccf4b93
Update gems.
2019-12-06 01:33:52 -06:00
evazion
0a5d8f57d5
ruby: bump ruby version to 2.6.5.
2019-12-05 22:32:45 -06:00
evazion
cb45aa6fe6
Remove unused automod code.
...
The DynamoDB update job was disabled a few months ago. Remove it
completely.
2019-12-03 10:45:18 -06:00
evazion
a559278953
notes: fix scrollbars appearing when using certain fonts.
2019-12-02 21:14:41 -06:00
evazion
5d1a1cc87e
Change github repo url to https://github.com/danbooru/danbooru .
...
The danbooru repo was moved to https://github.com/danbooru .
2019-12-02 17:33:40 -06:00
evazion
008e97a787
capistrano: reduce delayed job worker count (16 -> 12).
2019-12-02 16:57:26 -06:00
evazion
56a2fae26f
Revert "Temp disable account upgrades."
...
This reverts commit c4cdba0874 .
2019-12-02 16:53:06 -06:00
evazion
86a09a322f
cloudflare: use new api token auth scheme.
...
Use Cloudflare's new API token authentication method to talk to
Cloudflare. This lets us use API tokens with minimal privileges set.
https://blog.cloudflare.com/api-tokens-general-availability/
2019-12-02 16:45:32 -06:00
evazion
27a1a90cf3
recommendations: allow filtering recs by tags.
2019-12-02 03:08:01 -06:00