Commit graph

549 commits

Author SHA1 Message Date
298eb46871 speed up scoped_loaded_collection in item search a bit
Reduces items#index.json by about 10ms per request on my box, development with
cache_classes=true. The time isn't huge, but is worthwhile.
2013-06-26 21:39:54 -07:00
6984201990 dev util method to manually change SWF asset body ID 2013-06-26 20:08:19 -07:00
b93dbb8e49 Remove redundant queries when importing closet pages
Specifically, we were running a find_or_initialize_by for all 50
hangers, which isn't great. Collation logic is more complicated this
way, but query count is way lower.

Additionally, compare against hanger.list_id instead of hanger.list,
because hanger.list will fire a query if list_id is non-nil, but that
nil ID tells us everything we needed to know, anyway.
2013-06-26 00:10:52 -07:00
a7574f0864 Don't add duplicate hangers now that closet import can specify a list
Bug report that this resolves:

...However, when I was using the "Import from SDB" tool just a few
minutes ago, it ended up adding EVERY neocash item into the "Not
In A List" section, regardless if I already that item imported
into my "Your Items". So, basically.. I had duplicates of
everything and it would not allow me to move them around into
separate catergories or anything. I know that every other time i've
used the import tool, it would only add NEW items that are not
currently already in my lists yet.
2013-06-25 23:40:02 -07:00
fb219f82e8 sigh, add another special color description format 2013-06-23 22:58:17 -07:00
3c127569fe stop caching item preview species images, and fix the bad query instead
Most of the reasoning is documented in the big comment. In short, we tried
to solve the problem with caching, but the caching should hardly be necessary
now that the bottleneck should be fixed. We'll see on production if it
actually solves the whole problem, but I've confirmed in the console that
redefining this function makes random_basic_per_species (as called during
rendering) a ton faster. And this way we keep our randomness, woo!
2013-06-23 22:35:27 -07:00
d858f33083 noscript warning on closet_hangers#index 2013-06-22 16:42:38 -07:00
816584f177 Move item_link partial caching to a helper rather than the template itself
This is a surprisingly huge performance gain. On my testing (with
cache_classes set to true to also cache templates), this sped up
closet_hangers#index rendering by a factor of 2 when there were a
significant number of items. Cool beans.

I think we can even hold off on the individual hanger caching now:
we've made the closet hanger partial tons faster by moving forms out
of them and doing this cache check earlier. I'm expecting significant
performance gains both here and on items#index (though less so there).
I'll deploy and see how much it helps in production; if not enough, we
can look at the layered caching of hangers, lists, groups, full pages,
etc.

So glad we don't *have* to move to a pagination model!
2013-06-22 16:31:46 -07:00
d132567931 move closet-hanger-destroy form to JS 2013-06-22 15:45:59 -07:00
2876de2db0 Move closet-hangers-update form from partial to JS
We lose no-JS support, which I kinda miss, but caching is gonna be more
important down the line. Delete form moves next, then we cache.

CSRF token changes: it looks like, by setting a data attribute in AJAX, I
was overwriting the CSRF token. I don't remember it working that way, but
now we use beforeSend to add the X-CSRF-Token header instead, which is nicer,
anyway. The issue might've been something else, but this worked :/

The CSS was also not showing the loading ellipsis properly. I think that's a
dev-only issue in how live assets are being served versus static assets, but
may as well add UTF-8 charset directives everywhere, anyway.
2013-06-22 15:27:00 -07:00
f1aca20185 stop including ?q= in _item_link links: it's getting cached, so is almost always wrong 2013-06-21 19:43:11 -07:00
154bdd5d0d cache item-preview-species on items#show
items#show has been very slow recently, and I think it's because there's a lot
of querying to be done. Another option would have been to attempt to
short-circuit Item#supported_species if not body specific, but that would
still leave us with 1s load times for body specific items, which is not
satisfactory. The short-circuiting might still be worth doing, but probably
not now.

I'm also not sure that this is actually the core performance problem, but
we'll see. It definitely helped on the dev server: items#show took about
200ms on item pages where everything but species images were cached, then
took about 30ms on subsequent loads. Looking like a good candidate.
2013-06-21 19:30:41 -07:00
0d348d6971 oops: sweep localized item link caches 2013-06-07 13:26:51 -07:00
2501cb5667 fix null zone ID bug
TNT has started serving half-removed Corridor of Chance effects:
it has the asset ID and URL and all, but the zone ID is blank.
RocketAMF has patched the empty key bug, and now we ignore assets
associated with empty keys.
2013-05-23 18:48:19 -07:00
2fc0e61394 use inline-block for petpage exports, now that TNT allow it 2013-05-06 21:50:49 -04:00
bf528b06d2 label pet states as glitched, send to bottom of emotion order 2013-04-27 10:21:51 -05:00
3c91f0cde0 import items to a specific list 2013-04-09 15:50:33 -05:00
9d3acf660c in item queries, ignore name filters that are too small or too large 2013-03-29 17:05:14 -05:00
e5702076ff move jquery-ui south-street assets to google cdn 2013-03-08 13:43:16 -06:00
ae9b690536 assets that fit a special color can also have body_id == 0
The Baby Floor Gym, in particular, seems to have body_id == 0, but
is only for Baby pets. This commit unbreaks that item
2013-03-07 19:31:49 -06:00
c7237d7d44 fix a bunch of precompiled-asset-missing errors 2013-03-05 22:26:14 -06:00
5e55423dca now that we're on rails 3.2, mount resque at /resque - just for
meeeeee :)

`User#admin?` is now defined as `name == 'matchu'`. I feel kinda
bad about hardcoding that, but I also don't care enough right
now :P
2013-03-05 21:09:08 -06:00
a80f70bb88 phew, fixed some issues with contribution saving in rails 3.2 2013-03-05 20:51:24 -06:00
cf5191d33c phew. rails 3.2.12, including some asset pipeline. still buggy. 2013-03-05 20:08:57 -06:00
6cad85cec1 iron out some rails 3.1 compatibility issues 2013-03-05 15:41:55 -06:00
250f425509 rails 3.1 upgrade - still buggy 2013-03-05 15:10:25 -06:00
f547a75c40 ruby 2.0.0 compatibility... hopefully. 2013-02-25 01:14:45 -05:00
0074e54417 tweak to avoid certain single-species items: count distinct body IDs in other assets 2013-02-20 00:58:41 -06:00
0e2e83ef56 bring needed items queries up-to-date with new species support ID syntax 2013-02-20 00:52:37 -06:00
4cd2755f84 oops, distinguish between owns/wants in closet petpage 2013-02-19 11:08:10 -06:00
1c0b5c743e better handle new colors and species 2013-02-15 23:57:06 -06:00
989363f743 better i18n for contributed description 2013-02-12 11:45:54 -06:00
15b939f946 align homepage forms, phew 2013-02-11 23:28:05 -06:00
7c57a3a207 use grayscale to better illustrate deactivated species on items#show 2013-02-06 13:35:10 -06:00
923335b8da localize blog posts 2013-02-06 10:59:25 -06:00
e71530a958 only show item zones on outfits#edit occupies filter helper 2013-02-05 11:52:52 -06:00
5d618237a9 fix bug in determining special color
Specifically, the Tyrannian Meerca Spear is a pb item that contains
"pea", so its item page is only willing to show a Pea Chia. Now,
a color must be a whole word in the item name for special color
determination to work.
2013-02-03 13:31:22 -06:00
7f2ce2839b appearance dropdown - wow, that was easy 2013-01-31 19:46:34 -06:00
5985e234da pet states know their localized description 2013-01-31 19:11:15 -06:00
9c6797699e enable hangers in development, disable in production 2013-01-29 23:06:37 -06:00
934923b0f6 sigh. disable user filters again :( 2013-01-28 18:30:04 -06:00
629ff2c45d index items by *actual* species support ids 2013-01-28 17:54:50 -06:00
2cc688f7ff bump up pet load timeout 2013-01-28 17:52:10 -06:00
f59fa92aa1 oops, dont include duplicate items in wardrobe after translating 2013-01-28 17:02:33 -06:00
f484fc5c21 update supported species list on items#show 2013-01-28 16:54:25 -06:00
2486e46a25 re-enable user filters, woo 2013-01-28 16:25:00 -06:00
eab14e31fd waaay speed up Pet#translate_items
A few key changes:
  * Don't reload the whole pet 8 times!! Sooo many bad things
    happen, including redundant lookups of everything else and
    too many item saves and reindexes. Instead, fetch the item
    data, apply it to the items, and then save the items (once
    each!)
  * Updated my branch of globalize3 to be even better at avoiding
    redundant queries when saving. Woo.
  * Last realization: wrapping all the item saves in a single
    transaction works wonders. COMMIT seems to have high overhead,
    so doing only one took it from 50ms * 10 or whatever to 60ms.
    Good stuff.
2013-01-28 15:18:11 -06:00
4efcdaac49 re-enable item translations, now that i made a corresponding server config change 2013-01-28 13:11:28 -06:00
f7ae45e3e7 temporarily disable item translation 2013-01-28 03:30:43 -06:00
482b1a155d ugh, fine, save the pets sequentially 2013-01-28 03:02:20 -06:00