Commit Graph
433 Commits
Author SHA1 Message Date
evazion 57a61ca586 posts/show: avoid extra queries when rendering pool list. 2019-09-07 22:30:04 -05:00
evazion 59b277ead1 users: drop id_to_name, name_to_id caching.
Changes:

* Drop Users.id_to_name.
* Don't cache Users.name_to_id.
* Replace calls to name_to_id with find_by_name when possible.
* Don't autodefine creator_name in belongs_to_creator.
* Don't autodefine updater_name in belongs_to_updater.
* Instead manually define creator_name / updater_name only on models that need
  to return these fields in the api.

id_to_name was cached to reduce the impact of N+1 query patterns in
certain places, especially in api responses that return creator_name /
updater_name fields. But it still meant we were doing N calls to
memcache. Using `includes` to prefetch users avoids this N+1 pattern.

name_to_id had no need be cached, it was never used in any performance-
sensitive contexts.

Avoiding caching also avoids the need to keep these caches consistent.
2019-08-18 11:24:42 -05:00
evazion f77d305f83 Fix #3250: Show unvote link as applicable upon page load. 2019-08-04 18:58:25 -05:00
Albert Yi d8aabff77b remove post keeper references 2019-01-31 15:45:06 -08: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 4fe7f5eff9 restyling 2019-01-23 17:40:58 -08:00
Albert Yi 746ad2822c fixes #4049: Trying to open safeblocked posts in safe mode results in 500 server error 2019-01-22 16:46:57 -08:00
evazion b24ccb0595 tag edit dialog: fix clicking button before handler is bound.
https://danbooru.donmai.us/forum_topics/9127?page=265#forum_post_153180:

> I'm not sure how to reproduce this, but sometimes on the upload page
> when I click the button to pop out the tag box, the screen scrolls up to
> the picture but the box doesn't pop out, and I have to scroll back down
> and click it again

https://danbooru.donmai.us/forum_topics/9127?page=266#forum_post_153183:

> Yes, this was brought up by Unbreakable on Discord a while back. It's
> due to the fact that the event handler that pops out the dialog box has
> not yet been bound by the time you click it. Since that clickable
> control has an empty anchor link of "#" which goes nowhere, it therefore
> redirects the user to the top of the page.
2018-12-18 19:10:23 -06:00
Albert Yi 8ac530a909 fixes #4006: Bring back the "edit tags" button to the sidebar
fixes #4011: Comment input field under posts is too big, goes slightly beyond view boundaries
fixes #4010: Incorrect dynamic tag counts
2018-12-12 11:44:25 -08:00
evazion 79ec053cef Fix #4009: Tag list is empty when editing tags, causing destructive changes. 2018-12-12 13:02:04 -06:00
Albert Yi 4706cae114 Add user permissions for flagging and for giving user feedback 2018-12-11 17:08:31 -08:00
Albert Yi 3893926048 add dynamic tag counts on upload form 2018-12-10 17:51:28 -08:00
evazion fe60672ef3 Fix #4005: Add confirmation for unbanning a post. 2018-12-10 00:39:02 -06:00
evazion 4fcb82f2e6 Fix #3991: Loading post #1604318 is broken.
Fix exception in Pool#previous_post_id when the post id is not contained
in the pool.

This can happen when a post's pool_string lists the post as being in a
certain pool, but the post is not included in the pool's post_ids. Such
pool_string / post_ids inconsistencies exist because of past bugs.
2018-11-15 10:28:20 -06:00
evazion 115ed16a96 pools: store post_ids as array instead of string (fix #3979) 2018-11-08 15:09:31 -06:00
evazion 29b6121a07 pools: refactor #neighbors + fix broken #neighbors tests. 2018-11-04 19:40:57 -06:00
evazion 19b92acabc Fix #3970: Make "Copy all notes" not builder exclusive. 2018-11-04 16:42:55 -06:00
Albert Yi e360058aca refactor 2018-11-02 13:40:01 -07:00
Albert Yi 542641e3e2 refactor pool nav html 2018-11-01 17:42:49 -07:00
Albert Yi e334c34836 fix image container html 2018-10-31 16:15:07 -07:00
evazion 39374a70d3 posts/show: rename tags params to q in various places.
Fixup for 011a6f1f7.
2018-10-30 11:32:07 -05:00
Albert Yi 011a6f1f7c move post preview presenter to partial 2018-10-29 17:46:45 -07:00
Albert Yi a2811d1484 add shareout options 2018-10-25 16:46:25 -07:00
Albert Yi 4d07183a1d Merge pull request #3957 from evazion/fix-related-tags
Related tags: build html server-side, eliminate cookies
2018-10-24 17:34:14 -07:00
Albert Yi c0ab54b889 css tweaks 2018-10-23 18:30:35 -07:00
r888888888 ee3b8933d2 tweak social links 2018-10-20 19:38:32 -07:00
r888888888 0ab6e9f94d refactor share buttons 2018-10-20 19:11:16 -07:00
evazion 6d293dfde2 related tags: fix style issues. 2018-10-16 13:09:22 -05:00
evazion 6223f89a99 related tags: refactor /related_tags.js to avoid updating unchanged columns.
Refactor the /related_tags.js call so that when the "Related tags"
button is clicked, it only replaces the columns that actually changed,
not the entire related tags section.

This avoids rebuilding the Recent / Frequent / Translated Tags / Artist
columns every time the "Related tags" button is clicked.
2018-10-15 18:41:32 -05:00
evazion 5a05961bde related tags: factor partials out from post, upload edit forms. 2018-10-12 21:18:15 -05:00
evazion 739bb1270c TagSetPresenter: refactor tag string for post edit form.
Move PostPresenter#categorized_tag_groups to TagSetPresenter#split_tag_list_text.

This allows split_tag_list_text to reuse the same set of tags already
fetched by the tag set presenter for the sidebar.

This avoids a memcache call to get the tag categories when rendering the
tag string for the post edit form.
2018-09-30 21:52:24 -05:00
evazion 654d40875f posts/show: only render detailed rejection dialog for approvers. 2018-09-26 20:46:22 -05:00
evazion f886f2fdb3 posts/show: load flag/appeal/replacement dialogs via ajax (#3922). 2018-09-26 20:01:14 -05:00
evazion 10ca4dd3ad artists: replace artist finder with fetch source data.
* On posts, automatically trigger "Fetch source data" when clicking the
  Edit tab, instead of triggering the artist finder button. This way we
  find both the artist and the translated tags in one ajax call.

* Remove the "Artist" finder button next to the source field. This isn't
  necessary given that "Fetch source data" finds the artist itself.

* Remove the /artists/finder.json API endpoint. This is no longer used
  after removing the "Artist" finder button.
2018-09-11 20:09:25 -05:00
evazion 766d68c4ee posts/show: fix flickering post unvote link. 2018-08-14 16:04:08 -05:00
evazion 0c49b162f0 posts/show: fix flickering favlist show/hide buttons. 2018-08-14 16:03:16 -05:00
evazion 72a37c2f94 posts/show: fix flickering fav/unfav buttons. 2018-08-14 16:03:16 -05:00
evazion 7028417bfb posts/show: fix 'Flag' option in sidebar.
* Don't show 'Flag' option on already flagged posts.
* Drop flag/appeal link show/hide Javascript (did nothing, links were already shown/hidden in html).
2018-08-14 16:03:16 -05:00
evazion d7ec28b804 posts/show: fix 'Hide from queue' option in sidebar.
Fix 'Hide from queue' option appearing on deleted posts, but not on
pending or flagged posts.
2018-08-14 12:48:13 -05:00
evazion bbaadda1e3 Convert keyboard shortcuts to use data-shortcut. 2018-08-12 12:09:58 -05:00
r888888888 d813f41aad fix video page for ugoiras 2018-08-04 22:06:48 -07:00
r888888888 88c2fa69f3 fix js for ugoira player 2018-08-04 21:59:58 -07:00
r888888888 e0bd3277af remove es6 references in ugoira js 2018-08-04 17:15:14 -07:00
Albert Yi 6fde3c20cf fixes for #3791 2018-07-31 16:44:55 -07:00
Albert Yi 7b74f5caf6 switch to using thumbs for voting 2018-07-06 11:02:14 -07:00
r888888888 3ba5c6fb51 refactor iqdb endpoints 2018-06-23 10:59:04 -07:00
Albert Yi 97dd0680df remove download query from post file size link 2018-04-16 16:41:46 -07:00
Albert Yi cd88a8df9f fixes #3620 2018-04-12 13:00:48 -07:00
Albert Yi d9d98f05c2 Merge branch 'rails-5.1' 2018-04-11 11:40:36 -07:00
Albert Yi a25629bff9 fixes #3594 2018-04-11 11:14:58 -07:00