Commit Graph

7941 Commits

Author SHA1 Message Date
evazion
bda69315ff search: optimize related tag calc in multi-tag searches (#4120).
In multi-tag searches, we calculated the tags in the sidebar by sampling
300 random posts from within the search and finding the most frequently
used tags. This meant we were effectively doing two searches on every
page load, one for the actual search and one for the sidebar. This is
not so bad for fast searches, but very bad for slow searches.

Instead, now we calculate the related tags from the current page of
results. This is much faster, at the cost of slightly lower accuracy and
the tag list changing slightly as you browse between pages.

We could use caching here, which would help when browsing between pages,
but we would still have to calculate the tags on the first page load,
which can be very slow in the worst case.
2019-08-12 13:38:45 -05:00
evazion
a6163258bf Post.fast_count: skip alias normalization.
Post.fast_count calls Tag.normalize_query to normalize the tag string
used for the pfc cache key. This slightly improves cache sharing at the
expense of an extra query during tag searches. The extra query isn't
worth it.
2019-08-12 13:38:45 -05:00
evazion
30a378865e TagAlias.to_aliased: avoid query on blank arguments.
PostQueryBuilder calls `to_aliased` with empty arguments in some cases.
Return early to avoid a query in those cases.
2019-08-12 13:38:45 -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
7316f41d1d Fix #4106: Allow moderators to IP ban subnets. 2019-08-12 02:12:56 -05:00
evazion
9729eeb829 ip bans: remove unused code. 2019-08-11 23:38:03 -05:00
evazion
fa19047220 autocomplete: add username autocompletion sitewide. 2019-08-11 15:38:39 -05:00
evazion
cab36c307f upload tags report: clean up tag list rendering. 2019-08-10 23:49:36 -05:00
evazion
d76be490f2 Remove tag alias corrections controller tests (fixup 18a216c67). 2019-08-10 23:49:32 -05:00
evazion
18a216c67a Fix #4130: Remove tag alias corrections. 2019-08-10 22:46:49 -05:00
evazion
c7bcce429e Fix #4129: Remove tag alias caching. 2019-08-10 22:04:55 -05:00
evazion
96b28a77e7 delayed jobs: drop failed jobs email alert.
Usually when jobs aren't working it's not because the jobs themselves
are failing, it's because the workers crashed and aren't processing jobs
at all.
2019-08-10 12:06:23 -05:00
evazion
072885bbf8 delayed jobs: run dj workers under systemd (fix #4108). 2019-08-10 02:57:32 -05:00
evazion
30401f6599 aliases, implications: fix N+1 query in listing pages. 2019-08-09 00:05:50 -05:00
evazion
4f024d2360 pools/show: fix N+1 query on pool show page.
Fix a N+1 query when fetching posts to render thumbnails. Also adds
support for the `limit` url param on the posts show page.
2019-08-09 00:05:50 -05:00
evazion
6d171f44c4 pools/show: remove unused related tags calculation. 2019-08-09 00:05:50 -05:00
evazion
266259de54 gems: add pry-rails, meta_request, rack-mini-profiler. 2019-08-09 00:05:50 -05:00
evazion
48a4f3c26c application controller: catch more common exceptions. 2019-08-08 22:16:39 -05:00
evazion
df433bda9c newrelic: log more request context. 2019-08-08 22:16:39 -05:00
evazion
9a6add9730 newrelic: refactor error logging.
* Factor out New Relic logging to DanbooruLogger class.
* Log all exceptions to New Relic, not just statement timeouts.
2019-08-08 22:16:39 -05:00
evazion
35dfc704bc application controller: fix bad file extension errors.
Fix requests with bad file extensions not always returning errors correctly:

* https://danbooru.donmai.us/posts.jpg
* https://danbooru.donmai.us/posts.blah
* https://danbooru.donmai.us/posts/bad.jpg
* https://danbooru.donmai.us/posts/bad.blah
2019-08-08 22:16:39 -05:00
evazion
8d706f4fd7 session controller: remove dead session[:previous_uri] cookie.
session[:previous_uri] is never set so it's always nil.
2019-08-08 14:00:46 -05:00
evazion
083283906e application controller: remove unused secure_cookies_check. 2019-08-08 14:00:46 -05:00
evazion
50fdb9fe92 Update gems. 2019-08-08 14:00:46 -05:00
evazion
853becbcfc circleci: try to fix the build. 2019-08-08 01:07:57 -05:00
evazion
d45e199586 Merge branch 'fix-4123' 2019-08-07 22:39:03 -05:00
evazion
bfffb57c13 capistrano: clean up unicorn:terminate task.
Do a SIGQUIT (graceful shutdown, allow workers to finish current
request) before doing a SIGTERM (immediate shutdown).
2019-08-07 22:36:12 -05:00
evazion
5231371100 posts: drop img.ly source normalization.
There are only two posts from this site and the site itself is defunct:

* https://danbooru.donmai.us/posts/1561685
* https://danbooru.donmai.us/posts/1412508
* https://img.ly/ofxl
2019-08-07 22:11:07 -05:00
evazion
c225d54de1 capistrano: add deploy:rolling task (fix #4123). 2019-08-07 22:11:07 -05:00
evazion
c7cd43d30e Drop unused mrtg view. 2019-08-07 22:11:07 -05:00
evazion
223e5f1e81 capistrano: enable conditional migrations. 2019-08-07 22:11:07 -05:00
evazion
1be4ca5a98 Drop unused gems. 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
ef68d42dbe Drop unused query tracer code + term-ansicolor gem. 2019-08-07 22:11:07 -05:00
evazion
2beb79166e capistrano: fix git deprecation warning. 2019-08-07 22:11:07 -05:00
evazion
8db9d700ef daily maintenance: fix 'vacuum analyze' failure during tests.
Fixup for 2df6bf41f.
2019-08-06 15:22:08 -05:00
evazion
7f482dc35b deviantart: normalize wixmp.com sources to page urls.
Normalize sources like this:

   https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/f/ab917938-d8c1-4b58-933d-0d38c390461f/ddcyi98-cbd39da2-f528-4b26-aadb-a16fe91442b2.jpg/v1/fill/w_1280,h_1760,q_100,strp/tifa_by_chubymi_ddcyi98-fullview.jpg?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1cm46YXBwOjdlMGQxODg5ODIyNjQzNzNhNWYwZDQxNWVhMGQyNmUwIiwiaXNzIjoidXJuOmFwcDo3ZTBkMTg4OTgyMjY0MzczYTVmMGQ0MTVlYTBkMjZlMCIsIm9iaiI6W1t7ImhlaWdodCI6Ijw9MTc2MCIsInBhdGgiOiJcL2ZcL2FiOTE3OTM4LWQ4YzEtNGI1OC05MzNkLTBkMzhjMzkwNDYxZlwvZGRjeWk5OC1jYmQzOWRhMi1mNTI4LTRiMjYtYWFkYi1hMTZmZTkxNDQyYjIuanBnIiwid2lkdGgiOiI8PTEyODAifV1dLCJhdWQiOlsidXJuOnNlcnZpY2U6aW1hZ2Uub3BlcmF0aW9ucyJdfQ.Uochlma4QJmLwL2ZGMmvTr4HMva4m4bCeF3vnyPSw4I

to this:

   https://www.deviantart.com/chubymi/art/Tifa-807825644

on the sidebar of the posts show page.
2019-08-06 12:04:05 -05:00
evazion
a8896b664d twitter: fix batch bookmarklet selecting wrong image.
Fix regression in 7e465aeda.

https://danbooru.donmai.us/forum_topics/9127?page=276#forum_post_158779
2019-08-06 10:42:45 -05:00
evazion
0c6d9f60bd Remove unused mailers. 2019-08-06 10:42:45 -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
evazion
060a585e34 stale.yml: bump timeouts, change wontfix -> stale 2019-08-05 17:52:15 -05:00
evazion
017d7049e7 Merge pull request #4122 from nothink/nginx-configuration-fix
Fix typo in nginx.danbooru.conf
2019-08-05 17:50:19 -05:00
nothink
14b0b3f000 Fix typo in nginx.danbooru.conf 2019-08-06 07:48:08 +09:00
evazion
d0c28d79f0 tests: temp disable broken tests.
Broken by bug in shoulda-context-1.2.2. Uncomment after upgrading to
shoulda-context-2.0.0.
2019-08-05 13:41:06 -05:00
evazion
06ad1cbbc1 Fix #3685: Bare layout for error pages. 2019-08-05 11:03:10 -05:00
evazion
3b7ab86750 Fix "You are now logged in.." flash message.
The flash message when logging in contained an extra period.
2019-08-05 11:02:40 -05:00
evazion
c03a3b9ce0 Merge pull request #4119 from nothink/debian9_installation
Update INSTALL.debian, for Debian 9(stretch)
2019-08-05 10:02:31 -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