Commit graph

1627 commits

Author SHA1 Message Date
10b3f49249 finally fix bottom border on default preview (beach) 2013-12-26 12:56:15 -05:00
12a1c0f500 monocle favicon 2013-12-26 12:44:03 -05:00
cdffcfbcfd TIL item proxies can read from the cache in bulk 2013-12-09 01:15:57 -06:00
728ff60c5f move item cache sweeping and flex syncing to background tasks 2013-12-09 00:12:05 -06:00
4144b4dc74 only send cache deletions for usable locales
Right now we're spending too much time expiring cache keys when
getting contributions. The longer-term fix is to move it to a
background task, but it's good to restrict deletions only to usable
locales rather than all the ones that Rails theoretically supports.
2013-12-08 23:44:25 -06:00
f07996d762 cache pet images on items#show, in case that's what's being a super-slow jerkface 2013-12-05 15:22:43 -06:00
cc7ac363dd WIP commit for speeding up item show pages 2013-12-05 13:27:56 -06:00
0cdbe99c88 use yesterday's notables for spotlights, because I never update spotlight pets :P 2013-12-05 13:08:46 -06:00
2b870cf91b add pet state replacement task 2013-11-30 20:33:48 -05:00
8bd7ad5a1e support manually uploaded swf asset images - not the actual uploading, but block them from being reconverted 2013-10-16 15:50:48 -05:00
0cb7fc87df include zones_restrict in item selector when mall spidering, to avoid flex_source errors 2013-10-08 14:42:46 -05:00
2f607036f2 Bug fix: wardrobe's AJAX load order won't affect closet behavior
Fun bug! If you edit an outfit, but the outfit loads before the
closet items do, then we clone the outfit to give it its new
identity and therefore forget about its item load callbacks.
Now we have a cheap hack to forward item load data to the
outfit's clones. Hooray! Hope this doesn't break tons of things!
2013-08-23 15:58:49 -04:00
019303031b choose list when importing from pets 2013-08-17 12:07:04 -04:00
1dd3acbe92 oops, items that restrict the same zones don't conflict 2013-08-13 00:45:55 -04:00
00b0394d01 include zone restrictions in item conflict checks
That is, Neopets.com will raise an error when you try to equip a
Kyrii Mage Cape to a pet who's already wearing Ceremonial Shenkuu
Warrior Armour, since the armor restricts the Collar zone which
the cape occupies. DTI, however, would just hide the Collar zone,
as if it were biology. Now, however, DTI will unwear the armor
when you wear the cape, and vice-versa (despite the restriction
relationship being one-directional).
2013-08-12 20:30:38 -04:00
e48d00294d fix silly closet hanger merge bug involving flex 2013-07-28 23:30:29 -07:00
082119afe1 fix some mall spider bugs, including not having all the attributes it needed for search indexing 2013-07-09 21:00:36 -07:00
9bd49aa85d first step in repairing mall spider 2013-07-09 20:01:55 -07:00
72c59f0b68 if there's only one item search result, redirect to it 2013-07-09 19:54:22 -07:00
4c208c9ac3 instead of returning an empty item list on contradiction, return an empty proxy collection 2013-07-03 18:17:16 -07:00
daf1f140fb pet rate limit is now 3/30sec 2013-07-02 20:50:34 -07:00
4acc0e22c8 bulk pet loader rate limits itself 2013-07-02 14:10:24 -07:00
5e60795f31 Oops, delegate Item::Proxy#to_param to the item, or we get bad links. 2013-06-27 10:47:02 -07:00
b92131b26c use item proxies in items#index when given item IDs 2013-06-27 00:15:20 -07:00
5b9394ce82 oops - don't cache as_json's owned/wanted, but instead have the proxy override 2013-06-27 00:10:55 -07:00
bf697cef7b expire item#as_json when updated 2013-06-27 00:00:37 -07:00
9e3cac82ec use proxies for item html, too
Some lame benchmarking on my box, dev, cache classes, many items:

No proxies:
    Fresh JSON:  175,  90,  90,  93,  82, 88, 158, 150, 85, 167 = 117.8
    Cached JSON: (none)
    Fresh HTML:  371, 327, 355, 328, 322, 346 = 341.5
    Cached HTML: 173, 123, 175, 187, 171, 179 = 168

Proxies:
    Fresh JSON:  175, 183, 269, 219, 195, 178 = 203.17
    Cached JSON:  88,  70,  89, 162,  80,  77 = 94.3
    Fresh HTML:  494, 381, 350, 334, 451, 372 = 397
    Cached HTML: 176, 170, 104, 101, 111, 116 = 129.7

So, overhead is significant, but the gains when cached (and that should be
all the time, since we currently have 0 evictions) are definitely worth
it. Worth pushing, and probably putting some future effort into reducing
overhead.

On production (again, lame), items#index was consistently averaging
73-74ms when super healthy, and 82ms when pets#index was being louder
than usual. For reference is all. This will probably perform
significantly worse at first (in JSON, anyway, since HTML is already
mostly cached), so it might be worth briefly warming the cache after
pushing.
2013-06-26 23:50:19 -07:00
e42de795dd Use item proxies for JSON caching
That is, once we get our list of IDs from the search engine, only
fetch records whose JSON we don't already have cached.

It's simpler here to use as_json, but it'd probably be even faster
if I figure out how to serve a plain JSON string from a Rails
controller. In the meantime, requests of entirely cached items
are coming in at about 85ms on average on my box (dev, cache
classes, many items), about 10ms better than the last
iteration.
2013-06-26 23:01:12 -07:00
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
206811a2fb oops, deal with missing item fields better 2013-01-28 03:01:25 -06:00
0b32e8ba59 cut down on pets#load zone queries 2013-01-28 02:19:37 -06:00
a39110884d cut down on pets#load queries 2013-01-28 02:10:25 -06:00
6c3ff09f5d make en-MEEP translatable - because sorting by translations doesnt work well with fallbacks 2013-01-27 20:43:08 -06:00
8d72bf6353 temporarily disable user-filters in item search 2013-01-27 01:45:18 -06:00
895aef86c2 oops: only infer public locales from language header 2013-01-27 00:35:22 -06:00
eaf875c6c7 zone, species, color alphabetical by the current locale
We were joining to the translations table to sort records
alphabetically, but then it sorted by *all* of the translations in
some strange way. Now use with_translations to restrict the join
to the current locale.
2013-01-27 00:25:52 -06:00
1ef39f854c localize outfits#_outfit 2013-01-26 12:42:38 -06:00
52fee4f0c9 localize outfits#edit wear/unwear/closet/uncloset 2013-01-26 11:58:16 -06:00
8c348d4535 localize outfits#edit search helpers 2013-01-26 11:11:42 -06:00
361b5df256 translate zones 2013-01-26 09:54:29 -06:00
e86bcfaf54 improve globalized search queries: normalize input, fallbacks, etc 2013-01-26 09:52:58 -06:00
2798ebbd5c fix pb filter for other locales 2013-01-26 09:52:21 -06:00
8bb553701a remove N+1 queries in contributions#index 2013-01-25 15:23:48 -06:00
573e8a6459 use I18n.with_locale wherever possible, since it catches errors properly
In particular, pet#load was handling locale-switching itself, but wasn't
switching back to original locale on error. We could've used a rescue
block, but, when I18n.with_locale is so cool, may as well use it fully.
2013-01-25 15:09:56 -06:00
4e0ce6c20b bugfix: zone-not-found raises error again 2013-01-25 11:15:54 -06:00
e6d9e5ee75 stop removing "item" from zone plain labels: background vs. backgrounditem 2013-01-25 10:47:47 -06:00
d0dffd6cff fix ClosetHanger.set_quantity to not call destroy on a new hanger; it confuses flex 2013-01-25 10:44:15 -06:00
7f18fe12c1 user:owns, user:wants queries 2013-01-25 10:35:35 -06:00
dd30fbe0d7 move from with_translations to includes(:translations), since we dont usually care about requiring 2013-01-24 18:26:00 -06:00
b2822d901b fix n+1 query for translations on items#index 2013-01-24 18:26:00 -06:00
26ac3782ec move zones to database 2013-01-24 18:26:00 -06:00
ce4e2fd53c move species to database 2013-01-24 18:25:59 -06:00
965465ca51 move species to database 2013-01-24 18:25:59 -06:00
94ecc6f02d remove old item search interface 2013-01-24 18:24:35 -06:00
332a7e67d8 update ItemsController to show new search errors properly 2013-01-24 18:24:35 -06:00
cded361f73 update item search to original name-matching behavior
We originally had a regression on name-matching, where, among
other issues, `straw hat` returned items containing both "straw"
and "hat", which isn't really helpful behavior since we're sorting
alphabetically. Now, `straw hat` behaves as expected.

Additionally, "phrases like these" behave as expected, too.
2013-01-24 18:24:35 -06:00
04f29c8611 allow non-item zones in queries (mainly for restricts filters) 2013-01-24 18:24:35 -06:00
66e0ba28d7 species/zone conditions now render properly, instead of raising parse error from elastic 2013-01-24 18:24:35 -06:00
6e09b8bc10 globalized search first draft
Confirmed features:
    * Output (retrieval, sorting, etc.)
    * Name (positive and negative, but new behavior)
    * Flags (positive and negative)

Planned features:
    * users:owns, user:wants

Known issues:
    * Sets are broken
        * Don't render properly
        * Shouldn't actually be done as joined sets, anyway, since
          we actually want (set1_zone1 OR set1_zone2) AND
          (set2_zone1 OR set2_zone2), which will require breaking
          it into multiple terms queries.
    * Name has regressed: ignores phrases, doesn't require *all*
      words. While we're breaking sets into multiple queries,
      maybe we'll do something similar for name. In fact, we
      really kinda have to if we're gonna keep sorting by name,
      since "straw hat" returns all hats. Eww.
2013-01-24 18:24:35 -06:00
c9ae7155b1 locale metadata, including hidden locales for item loading and selection 2013-01-24 18:24:34 -06:00
ef2423e87f globalize3 for items 2013-01-24 18:24:34 -06:00
1439e4a74c canonical paths are always in english 2013-01-24 18:24:34 -06:00
29ed401238 load pet by locale, prepare needed translations 2013-01-24 18:24:34 -06:00
9c8f7f498f basic translation infrastructure for items - search is still english-only, and probably will have to be replaced with a legit search engine 2013-01-24 18:24:34 -06:00
d79c225c1e apply globalize3 to items 2013-01-24 18:24:34 -06:00
b22188fa4a locale cookie should be long-term, not a session cookie 2013-01-24 18:24:33 -06:00
0f49d3ed02 simple locale dropdown in layouts#application 2013-01-24 18:24:33 -06:00
d96c54f3cc infer locale from params, then cookies, then Accept-Language header 2013-01-24 18:23:21 -06:00
3b1ffe71a9 i18n for will_paginate, including dynamically in outfits#edit 2013-01-24 18:23:21 -06:00
34e99bba72 i18n for outfits/new.js 2013-01-24 18:23:21 -06:00
8b15d31639 i18n for pet_query.js 2013-01-24 18:23:21 -06:00
062f485598 i18n for pets#load flashes 2013-01-24 18:23:21 -06:00
e833179155 refactor outfits.new for hierarchy 2013-01-24 18:23:21 -06:00
e54e4c606c oops, re-refactor closet_hangers.index.autocomplete, since markdown wraps it in a paragraph 2013-01-24 18:23:21 -06:00
82479315f0 refactor neopets_pages.new for twl 2013-01-24 18:23:21 -06:00
70ff4974a3 refactor items.show for hierarchy and twl 2013-01-24 18:23:21 -06:00
0cbdc30a15 refactor items.index for hierarchy and twl 2013-01-24 18:23:21 -06:00
4bf73b4285 refactor closet_lists.form hierarchy 2013-01-24 18:23:20 -06:00
1f1bfb3140 refactor closet_hangers.petpage.instructions to use twl 2013-01-24 18:23:20 -06:00
5935ed055d refactor tmd helper, move closet_hangers#index autocomplete to markdown 2013-01-24 18:23:20 -06:00
7f2070e78e refactor userbar contributions to use twl 2013-01-24 18:23:20 -06:00
3d8266951f i18n for outfits/edit.js item partials: no-data-yet and icons 2013-01-24 18:23:20 -06:00
629e5c68a9 i18n for outfits/edit.js userbar message and outfit save errors 2013-01-24 18:23:20 -06:00
ec6c7b550d i18n for outfits/edit.js sharing urls 2013-01-24 18:23:20 -06:00
2b1cb2fe7f i18n for outfits#edit base template - dynamic content in outfits/edit.js still needs examined 2013-01-24 18:23:20 -06:00
b346bcc6d9 i18n for outfits#index - plus the translate_with_links helper, which can be used for refactoring other stuff 2013-01-24 18:23:20 -06:00
029373addd i18n for outfits#destroy flashes 2013-01-24 18:23:20 -06:00
8c9dda37d5 i18n for closet_hangers#index search bar autocomplete 2013-01-24 18:23:20 -06:00
706fad0174 localize items#item_link cache 2013-01-24 18:23:20 -06:00
467fb24c42 i18n for closet_hangers#create, closet_hangers#destroy, closet_hangers#update, closet_hangers#update_quantities (flashes, largely intertwined) 2013-01-24 18:23:20 -06:00
e55d407d63 i18n for neopets_pages#create (flashes - holy snap, that was nasty) 2013-01-24 18:23:19 -06:00
0f52ba5b4e i18n for neopets_users#create flashes 2013-01-24 18:23:19 -06:00
7bc255e9c8 i18n for users#index, users#update flashes 2013-01-24 18:23:19 -06:00
3c9e37f614 i18n for broken_image_reports#create flashes 2013-01-24 18:23:19 -06:00
99e3bba72f i18n for closet icons 2013-01-24 18:23:19 -06:00
30cdbface5 i18n for closet_hangers#petpage and items#_item (NC icon) 2013-01-24 18:23:19 -06:00
b213f6d0ba i18n for closet_hangers#index, closet_lists#edit, closet_lists#new, and maybe some more closet-related things - this was a biggie 2013-01-24 18:23:19 -06:00
c32425bc14 i18n for neopets_pages#new 2013-01-24 18:23:19 -06:00
5498a739f2 i18n for pets#bulk 2013-01-24 18:23:19 -06:00
9488a27916 i18n for neopets_users#new 2013-01-24 18:23:19 -06:00
ac0490dc1d i18n for items#show (including javascripts/items/show.js) 2013-01-24 18:23:19 -06:00
b69793c008 i18n for contributions#index 2013-01-24 18:23:18 -06:00
5e89e2b947 i18n for items#index (and layouts#items) 2013-01-24 18:23:18 -06:00
34d919179a i18n for broken_image_reports#new 2013-01-24 18:23:18 -06:00
1356fdaa0c i18n for users#top_contributors 2013-01-24 18:23:18 -06:00
fea0b42a17 i18n for outfits#show 2013-01-24 18:23:18 -06:00
132a49d30b i18n for outfits#new (and layouts#application), including caching 2013-01-24 18:23:18 -06:00
75be12fe2e update fonts to use google web font api properly 2013-01-23 00:31:15 -06:00
bfd825d98e attempt to fix new species_support_ids format. sigh. 2013-01-23 00:25:09 -06:00
9701221035 wardrobe now considers item.species_support_ids when deciding compatibility
For example, the Meerca Maid Tray is a foreground item, so the SWF is marked
as compatible with all body types, but the item itself is clearly marked as
Meercas-only. items#show reflected this properly, but the swf_assets#index
call that the wardrobe uses ignored item.species_support_ids.

So, /bodies/:body_id/swf_assets.json?item_ids[]=... was deprecated in favor
of /pet_types/:pet_type_id/items/swf_assets.json?item_ids=[]..., which is
much like the former route but, before loading assets, also loads the pet
type and items, then filters the items by compatibility, then only loads
assets for the compatible items.
2013-01-02 23:15:32 -05:00
339a730779 timeout on background jobs 2012-11-04 12:01:03 -06:00
07f49307f1 a few tweaks to items#show contributors appearance 2012-10-24 22:16:01 -05:00
f56b544963 brought-to-you-by on items#show lists contributors 2012-10-24 22:09:05 -05:00
e9e7d305f0 retire neoitems links, replace with jn items links 2012-10-21 15:57:17 -05:00
5601511ad5 xss vulnerability in outfits#show
This one was actually pretty darn clever - nobody's abused it, but
I was reading a blog post where someone described this type of
issue, I realized it was a brilliant attack, and then realized
DTI was vulnerable. Oops. Thanks for the solution, Jamie!

http://jamie-wong.com/2012/08/22/what-i-did-at-khan-academy/#XSS+Fix
2012-10-20 17:56:38 -05:00
671641cc16 a more forgiving "type" search filter 2012-10-08 21:20:18 -05:00
775ef7fa51 finally fix encased in ice - woo! 2012-10-05 20:56:52 -05:00
9fcc1b244a bug fix: pet importer no longer chokes when two pets wear the same item 2012-10-01 13:22:17 -05:00
ddec043209 support pea chia cape in infinite closet 2012-09-29 12:40:55 -05:00
270f8caa3d remove sharing beta message - finally 2012-08-23 20:56:00 -05:00
7dfc6d81a2 add timeout to pet load 2012-08-11 18:47:25 -04:00
412c401c5f better cache items#show 2012-08-10 00:02:11 -04:00
99669b8e4e cache homepage latest contribution 2012-08-09 22:59:35 -04:00
f6d34841ec cache newest items on homepage and items#index 2012-08-09 22:35:30 -04:00
1e3938eea9 improve closet performance by caching item link 2012-08-09 19:34:56 -04:00
4a69772cd2 remove N+1 queries on current user outfits page 2012-08-09 18:32:33 -04:00
5e89287537 durr, don't cache new items on the homepage 2012-08-08 23:05:32 -04:00
5cec28e29b fix logout bug: stop caching authenticity_token fields
Many forms on the site contain a hidden authenticity_token field,
unique to each visitory. If a user submits a request with an
invalid authenticity_token, Rails assumes that it's a CSRF attempt
and logs out the user. So, if we happen to cache those forms with
authenticity_token fields, all users who use that form will have
the same authenticity_token (valid for only the first user who
saw the form, invalid for everyone else), and all requests made
through that form will log out the user. Bad news.

So, we stopped caching those forms. Yay!
2012-08-07 17:32:51 -04:00
72237f225c modeling hub 2012-08-06 21:15:31 -04:00
2435c7f7e9 oh shoot, properly unlink outfit tempfiles now... 2012-08-01 21:30:22 -04:00
a6e4398e54 take homepage latest contribution and new items out of cache block - should probably cache them later, but, for now, meh 2012-08-01 15:11:08 -04:00
ca2dc56d43 Your Items is no longer "new", so remove all tags to that effect 2012-08-01 14:29:25 -04:00
9fb9542e0d oops, fix syntax error on ruby 1.8.7 2012-08-01 13:47:15 -04:00
c2a0c5de74 new frontpage layout, yay 2012-08-01 13:34:54 -04:00
ae914a74d2 fix outfit thumbnail opacity on hover/active 2012-07-31 14:07:07 -04:00
82c4a8d4b4 on creating outfit image, skip broken images instead of throwing exception 2012-07-31 12:05:49 -04:00
2b88ce9b4b use openneo-uploads bucket 2012-07-31 11:42:27 -04:00
ec40e6ae67 new outfit image filename: preview instead of thumb, one more partition level 2012-07-31 10:41:13 -04:00
c630cde66c outfit thumbnails beta message 2012-07-31 10:21:20 -04:00
05acae3cb8 retroactively enqueue outfit images 2012-07-31 10:20:37 -04:00
54ca5881fe add thumbnails to outfits#show via open graph 2012-07-29 16:45:12 -04:00
f8aacfba98 put a cog behind outfits whose thumbnails are enqueued 2012-07-29 16:07:18 -04:00
f5cf9aa13b redesign outfits#index with thumbnails 2012-07-29 15:43:28 -04:00
bc4f172ae0 shift outfit thumbnails up slightly in the outfits tab to account for header 2012-07-28 19:19:13 -04:00
94ef0b6537 move padding on sidebar-content to sidebar-view for consistent behavior on fullscreen mode 2012-07-27 23:36:18 -04:00
42827362b6 optimize outfit image generation - 4x speed boost on my box
Use the ImageMagick flatten command to generate the output all at
once instead of compositing each layer individually, and download
the layers in parallel. On my box, saving roopal27 five times took
a total of 30 seconds before, whereas now it takes 7 seconds. I
expect it to be even better on the production box, where latency
is even lower.
2012-07-27 23:07:20 -04:00
28e44d0abd set sidebar height properly on non-fullscreen mode 2012-07-27 03:31:30 -04:00
41f23fffac add bottom padding to sidebar content for a cleaner scroll 2012-07-27 03:27:58 -04:00
76b9219bec remove x-overflow on outfits-not-logged-in message on smaller viewports 2012-07-27 03:24:42 -04:00
249c493d25 beautiful outfits tab using thumbnails 2012-07-27 03:21:22 -04:00
374c7e6147 Sharing now fully supports saved outfits, not just shared ones 2012-07-26 23:47:22 -04:00
b02c95c2d9 pretty tab navigation for wardrobe sidebar 2012-07-25 19:02:23 -04:00
9ea7d5841e slight update to sharing format selector style 2012-07-18 14:41:04 -04:00
b2eac2d1fd sharing url formats 2012-07-17 16:14:05 -04:00
f5ab71dce5 sharing thumbnail 2012-07-17 14:42:31 -04:00
7b5856ebf9 basic sharing
Sharing pane works, everything is great for guests. Logged in
users are on the way, since right now Share Outfit re-saves
anonymously rather than showing sharing data for the existing
outfit.
2012-07-17 12:15:04 -04:00
cf2546d832 basic image thumbnails 2012-07-16 16:47:28 -04:00
7c015e2d88 carrierwave for asset swfs 2012-07-16 16:45:26 -04:00
5a5b5fffc7 outfit default url 2012-07-16 16:45:26 -04:00
220aca9311 outfit thumbnails initial commit 2012-07-16 16:45:26 -04:00
22cfff66e9 outfits now know their own visible assets 2012-07-16 16:40:07 -04:00
644fac99da improve gender/mood sorting using new labels 2012-06-20 16:10:53 -04:00
6cdf1567f8 fix error loading lookups when given pet name has trailing spaces 2012-06-05 13:28:59 -04:00
b25b6e55b3 ignore errors loading gender/mood data
For example, the site was throwing a 500 error when loading pets
belonging to frozen users. Instead, we'll now rescue that
Neopets::User::AccountDisabledError and ignore it, since it's not
*vital* that we load gender/mood data from this pet; we can still
proceed to load its customization data without it.
2012-06-05 13:02:49 -04:00
a436362f26 Merge branch 'gender_mood' 2012-06-05 12:52:27 -04:00
71da64b47f create /start/:species_name/:color_name route 2012-06-05 12:44:11 -04:00
b2a7e0a1d5 oops. accidentally used trading post url for auctions. fixed 2012-06-05 12:42:52 -04:00
4451800e42 added shop wiz, etc., links to NP item show page 2012-05-23 20:09:35 -04:00
c2c6a800f2 track pet state gender/mood 2012-05-23 20:00:38 -04:00
4e7e98beca use Neopets::User for username-based closet imports 2012-05-21 12:48:19 -04:00
63f503e7a4 keep copyright year up to date 2012-05-15 13:52:15 -05:00
e3b0a5e2d7 fix bug on closet_hangers#destroy in html format 2012-04-08 17:04:44 -05:00
f3d64840d6 filter lists on petpage export 2012-04-08 15:59:51 -05:00
5218b43df4 fix petpage export item name filtering
The "Abominable Snowball Winter Onesie" can get blocked for including the string " On".
So, we meant to filter that to " O<b></b>n" so that the filter wouldn't return that false
positive on an XSS attempt, but were accidentally filtering it to " o&lt;b&gt;&lt;/b&;gtn".
Fixed :)
2012-04-08 14:53:26 -05:00
c46d7ae2c0 fix petpage export styles
thumbnails were right-aligned when they really shouldn't have been
2012-04-08 14:50:50 -05:00
b04c5db98a add ajax auth for closet_hangers#index 2012-03-23 16:59:23 -05:00
99a7558dd9 update items#show style 2012-03-23 16:48:00 -05:00
7d0edbf23c closet_hangers#destroy now tied to hanger ID, not item 2012-03-23 16:25:10 -05:00
44156c5b21 can now have the same item in more than one list 2012-03-23 16:25:10 -05:00
7795119a8c fix gender/emotion states with corridor of chance effects sorting to the front
So it turns out this was just one of those things I forgot to fix
the big database restructure came along: we were comparing
swf_asset.remote_id against parents_swf_assets.swf_asset_id, which
are two different identifiers entirely. Now using swf_asset.id,
so fixed :)
2012-03-15 17:01:21 -05:00
baae0c9954 fix bug where some pet states would also show many items on top of them
At first I thought this was an error in the data migration process when moving SWF assets
to having their own unique IDs, but then realized that the query for a pet state's SWFs
didn't include the (parent_type = 'Item') condition. Oops. Turns out, I only connected the
items to parent_swf_asset_relationships polymorphically. Pet states were still doing it the
hackish way. Set the pet states to use the lovely polymorphic relationship and we're good
to go.
2012-02-21 13:25:11 -06:00
4d314417e2 fix parent-swf-asset-relationship destruction bug
After changing the database structure, we lost the feature where, once we discover
new assets for an item for a given body ID, we disconnect previously connected
assets. This commit reinstates that feature.
2012-01-26 13:51:30 -06:00
19e854b6f8 oops, remove maintenance message 2012-01-26 13:30:12 -06:00
abcf70a0c4 fix issue with csrf_param in wardrobe ajax
Due to a silly slip-up involving Javascript object literal syntax, we were
sending {csrf_param: "token"} instead of {authenticity_token: "token"} with
wardrobe AJAX requests. This would cause users to be auto-logged-out for
failing to provide a proper token. Oops.
2012-01-14 12:35:05 -06:00
686d6560c4 specify size on image download 2012-01-13 19:37:56 -06:00
4566bca906 another attempt to fix pet state rel autosave 2012-01-13 16:11:44 -06:00
bcb5644b12 stop autosaving biology swf rels 2012-01-13 16:02:14 -06:00
ec3088fdec ensure that pet state is saved before trying to save its assets 2012-01-13 15:56:31 -06:00
171d691a98 fix nc mall spider for remote ID 2012-01-13 15:27:30 -06:00
ec9e997ac5 fix user:owns id ambiguity 2012-01-13 15:20:47 -06:00
d335c2e677 properly handle search error in rails 3.0.5 2012-01-13 15:10:25 -06:00
9c0c7b78cf another oops, better fix 2012-01-12 22:02:12 -06:00
c2c0fe92e8 oops, be consistent in using remote ID when loading pets 2012-01-12 21:47:17 -06:00
696b2aedaf give SWFs real, unique ID numbers
Lots of scary bugs were being caused by the fact that the possibly-duplicate Neopets ID
was being treated as an SWF's real primary key, meaning that a save meant for object swf
number 123 could be saved to biology swf number 123. Which is awful.

This update gives SWFs their own unique internal ID numbers. All external lookups still use
the remote ID and the type, meaning that the client side remains totally unchanged (phew).
However, all database relationships with SWFs use the new ID numbers, making everything
cleaner. Yay.

There are probably a few places where it would be appropriate to optimize certain lookups
that still depend on remote ID and type. Whatever. Today's goal was to remove crazy
glitches that have been floating around like mad. And I think that goal has been met.
2012-01-12 17:17:59 -06:00
cc23f7435b automatically rezone bio 2011-10-31 16:22:24 -05:00
f7723ac1c8 automatically rezone items 2011-10-23 14:09:53 -05:00
70cf262387 remove campaign banner from most pages 2011-10-10 22:06:46 -05:00
df62e3540f copyright 2011 2011-10-10 21:56:12 -05:00
285c7858c0 app can now load environment even if schema not yet loaded 2011-09-06 11:15:09 -05:00
b50b9d237d allow broken image resubmits after 1hr 2011-08-07 20:43:42 -04:00
09fcc7fa4b remove timer donation request on outfits#edit 2011-08-07 19:57:11 -04:00
c930397123 edit campaign copy now that image mode is public 2011-08-07 19:52:35 -04:00
0e56de4148 image mode is now public 2011-08-07 19:52:11 -04:00
04ec18b196 update image mode faq for public release 2011-08-07 19:27:01 -04:00
7358aae680 report broken images 2011-08-07 18:23:44 -04:00
564ba9bdd9 js part of reporting broken images 2011-08-07 17:24:54 -04:00
4e74589118 privacy bug: would show hangers even in private lists as Trading if unlisted hangers were marked Trading 2011-08-06 23:15:32 -04:00
4c510f91db search by username 2011-08-05 11:28:11 -04:00
f9de777c79 update campaign: upgrade complete 2011-08-05 00:12:17 -04:00
0906e49a72 update campaign progress to say we have exceeded our goal 2011-08-04 15:34:28 -04:00
ea4564569b show own/want on new items 2011-08-04 10:33:35 -04:00
5d3343bd6c show twice as many new items 2011-08-04 10:30:00 -04:00
163d74fe07 donate update, campaign complete 2011-08-04 10:25:57 -04:00
a4feee89b5 allow the new items migration to run. sigh 2011-08-04 10:04:15 -04:00
d99a1ad792 newest items 2011-08-04 10:01:44 -04:00
b939c7fce6 Merge branch 'closet' 2011-08-03 11:35:07 -04:00
2398f34071 import items from pets 2011-08-03 11:35:06 -04:00
c2648c5343 Merge branch 'closet' 2011-08-03 10:33:21 -04:00
bad1eb13a5 compare Your Items to someone elses list 2011-08-03 10:33:13 -04:00
63bc0067c0 user#assign_closeted_to_items! now assigns when there are duplicates 2011-08-03 10:18:03 -04:00
2dd6586ea6 Merge branch 'closet' 2011-08-02 22:42:59 -04:00
513711bf60 import sdb as well as closet 2011-08-02 22:42:56 -04:00
92b4d456af Merge branch 'closet' 2011-08-02 20:01:55 -04:00
374e85f9d0 drop in redirect image url for urls blocked on petpages 2011-08-02 20:01:48 -04:00
231521f14e Merge branch 'closet' 2011-08-02 00:12:48 -04:00
8bf9872fbe stop caching items#show for now due to Your Items module 2011-08-02 00:12:44 -04:00
fed5ccb7fb Merge branch 'closet' 2011-08-01 00:00:40 -04:00
be5bdb1eec handle search errors better in wardrobe 2011-08-01 00:00:39 -04:00
2f0b0743e8 throw a search error on user:owns when user owns no items 2011-07-31 23:50:33 -04:00
ea7171b322 fix ambiguous item_link partial throwing errors in outfits#show 2011-07-31 23:45:57 -04:00
551307c3b5 Merge branch 'closet' 2011-07-31 23:35:59 -04:00
9422d5d8fe remove redundancy on no hangers in a group 2011-07-31 23:35:57 -04:00
f6ed50a62f Merge branch 'closet' 2011-07-31 23:05:26 -04:00
5f4cd9ddbf new! tags to point to Your Items 2011-07-31 22:55:29 -04:00
dacfc99ce7 allow your_items_path to be cached on home 2011-07-31 22:17:59 -04:00
ceeb59973d move image mode faq to outfits#edit instead of userbar 2011-07-31 22:13:23 -04:00
071ba56ae9 public url on Your Items 2011-07-31 19:24:06 -04:00
e3cfe9e16c redecorate neomail Your Items link 2011-07-31 19:14:55 -04:00
90c9c8fe17 hide help for people who have used Your Items before 2011-07-31 19:04:21 -04:00
037cb1e95a your items link on home 2011-07-31 18:45:53 -04:00
359356bcf3 better handle edge cases in petpages 2011-07-31 03:03:26 -04:00
1ac399cc7a link to petpage exporter from Your Items 2011-07-31 02:58:45 -04:00
30096f6b0a items petpage export 2011-07-31 02:52:19 -04:00
4f0e7899b7 Your Items intro text polishing 2011-07-31 00:59:29 -04:00
2dd280c450 grammar fix on closet list deletion confirmation 2011-07-31 00:22:36 -04:00
137aeac8d4 show traders on items#show 2011-07-31 00:19:28 -04:00
28c9d1b3d8 hide list description on drag-n-drop 2011-07-30 23:07:58 -04:00
b9700e3d7c show owns/wanted items on somene elses items list 2011-07-30 23:03:43 -04:00
11b7ae74db list visibility forms on Your Items 2011-07-30 22:47:06 -04:00
0c92bf5987 set list visibility in closet_lists#edit 2011-07-30 22:34:27 -04:00
ad45d755da visibility form submit is a context button 2011-07-30 22:17:42 -04:00
23250be384 hide visibility form when drag-n-dropping 2011-07-30 22:13:48 -04:00
34a4ef201a privacy dropdowns moved to be more out of the way 2011-07-30 22:08:38 -04:00
0e522fa371 better handle list emptiness for drag-n-drop 2011-07-30 19:47:04 -04:00
bbb4e02b75 bug fix for floats on closet_lists#edit 2011-07-30 19:45:49 -04:00
75961abc17 privacy for unlisted hangers 2011-07-30 19:45:28 -04:00
9a7b13dc5d drag and drop on Your Items <3 2011-07-30 13:40:41 -04:00
48ee765505 Your Items autocompleter is totally chill with moving items around to different lists 2011-07-29 23:26:48 -04:00
c76c261444 validate that closet hanger list belongs to the same user 2011-07-29 13:47:01 -04:00
811d6df697 only show Add New List if user has permission 2011-07-29 13:29:32 -04:00
d893b0ab41 Your Items autocomplete supports lists 2011-07-29 11:25:17 -04:00
358840076c closet lists, round one 2011-07-29 10:52:04 -04:00
b86ce67c02 first pass at closet lists, including form 2011-07-26 20:27:23 -04:00
605fb88046 move userbar contributions link to points, since user now has more public profiles 2011-07-26 18:57:44 -04:00
e6c419c7e0 give user paths a canonical tag 2011-07-26 18:56:14 -04:00
033e71e9bf parameterize user params like items, plus a cleaner parameterization scheme 2011-07-26 18:49:52 -04:00
c592459d02 improve Your Items copy given the different groups 2011-07-26 18:41:15 -04:00
c3279f0512 keep track of the closet page we are importing, even if it errored out 2011-07-25 14:22:26 -04:00
2983849b1f closet page importer also warns to log in in another window 2011-07-25 14:15:23 -04:00
6203caf186 Your Items autocompleter can add to both owned and wanted 2011-07-25 14:06:07 -04:00
7476314953 show/hide hints on Your Items headers 2011-07-22 18:06:46 -04:00
d9f94ae3fa Your Items page aware of wanting items 2011-07-22 17:55:05 -04:00
12f5b28c94 wardrobe now works with owned/wanted 2011-07-22 17:06:21 -04:00
6d155ecaf1 show owned/wanted icons and search filters 2011-07-22 16:52:40 -04:00
b1670b1595 fix bug with adding/removing wanted items 2011-07-22 16:17:13 -04:00
85af53417b distinguish between owning and wanting an item 2011-07-22 15:35:38 -04:00
946001243a attempt to fix production bug with relationships not always saving 2011-07-22 15:08:17 -04:00
01ba06b1b4 closet neopets username 2011-07-22 14:02:04 -04:00
8f646b4a10 closet importer gets back to your items link 2011-07-20 15:22:00 -04:00
c5103b6557 neomail link on closets 2011-07-20 15:16:22 -04:00
02ef70f749 simplify closet hangers view, replace user_is?(@user) with !public_perspective? 2011-07-20 12:39:18 -04:00
e0c00cc8ed Your Items link on wardrobe 2011-07-17 17:52:40 -04:00
f2d6a454c5 explain user:owns on item search 2011-07-17 17:28:45 -04:00
884ad2d5b8 user:owns in item search 2011-07-17 17:24:29 -04:00
eac0d327f9 add items to closet via magic autocomplete 2011-07-16 01:09:04 -04:00
e72c9a0092 closet hangers delete gets nifty ajax, too 2011-07-15 23:39:19 -04:00
77818471c5 closet hangers page has nice remove button 2011-07-15 23:14:26 -04:00
eeb3fc3af9 closet hangers page gets serious ajax action 2011-07-15 22:52:53 -04:00
3ac30bb6b1 cleaner hover state for closet quantity 2011-07-15 19:43:40 -04:00
99e59a2f9b oops. quantity form only shows on current user closet 2011-07-15 19:29:43 -04:00
437b1c052d quantity form on your items page 2011-07-15 17:21:18 -04:00
d782108e00 items link in userbar 2011-07-15 16:59:22 -04:00
1fa9a48ad2 pretty quantities on hangers index 2011-07-15 16:59:15 -04:00
e6020a5cfe simplify closeting item 2011-07-15 16:32:05 -04:00
47e3b72937 restructure backend of closet hanger quantity updates 2011-07-15 16:16:40 -04:00
fab612950a basic hanger interface from item 2011-07-14 13:56:44 -04:00
46698d4297 rebrand Your Closet as Your Items to avoid ambiguity will all these other closet things 2011-07-14 13:56:44 -04:00
3a193d534d closeted icon, all over the place 2011-07-14 13:56:44 -04:00
a33898a393 import closet page 2011-07-14 13:56:20 -04:00
6ebacc99dd closet page saving backend 2011-07-14 13:56:20 -04:00
d5641dddbb user closet display 2011-07-14 13:56:20 -04:00
1c84a4bef9 closet page, closet hanger 2011-07-14 13:56:20 -04:00
d0dd797cdf delete outfits from outfit page 2011-07-14 13:14:06 -04:00
1caa296359 capitalize each word of a species/color name (for Swamp Gas) 2011-07-12 18:22:16 -04:00
7640369332 drop donate bar into items, outfits#show 2011-07-09 11:45:30 -04:00
33519bd579 donation request on main wardrobe after 10 minutes 2011-07-05 11:19:49 -04:00
211d08204d add Donate Now! button to campaign progress on home 2011-07-04 23:23:28 -04:00
f9e3266a3b change wording a bit 2011-07-04 17:52:34 -04:00
a460d19255 oops, no special instructions field. update instructions for donors to get beta 2011-07-02 22:54:34 -04:00
ba7f6b8768 keep two caches of wardrobe, for those who have image mode and those who don't 2011-07-02 18:02:37 -04:00
aaf01453b6 remove Image So Small? image mode FAQ entry, since issue is now fixed 2011-07-02 17:38:09 -04:00
efceae4225 instead of using the largest size image that will fit the preview space, use the next largest and scale down 2011-07-02 17:37:30 -04:00
c6a7bfffa1 image mode welcome page 2011-07-02 17:09:42 -04:00
c34f250da3 add thank you to userbar for donors 2011-07-02 15:51:30 -04:00
c772257d41 add message to /donate if user has image mode access 2011-07-02 15:39:55 -04:00
478a06b2ec /donate firefox compatibility 2011-07-02 15:38:16 -04:00
2c54601288 include donation form right on the page 2011-07-02 13:40:01 -04:00
a6b6bbaeca rewrite donors copy a bit 2011-07-02 13:23:38 -04:00
323cf772bc actually dynamic progress bar, on home page too 2011-07-01 15:38:13 -04:00
2077ea8984 dynamic progress bar 2011-07-01 15:18:05 -04:00
868dd003fd connect /donate to pledgie via jsonp 2011-07-01 14:53:28 -04:00
5ecd5f3ce4 donate page noninteractive 2011-06-28 13:24:40 -04:00
443b144f29 image mode 2011-06-27 15:33:34 -04:00
714f2fddf5 sort unconverted to the end, too 2011-06-21 22:56:42 -04:00
99a23fc2cb sort effects to the end of the gender/emotion list 2011-06-21 20:42:41 -04:00
43f373fc36 use resque-retry to reschedule failed jobs 2011-06-21 11:22:45 -04:00
9eaeadaa8c delete tmp dir after converting swfs 2011-06-10 14:45:33 -04:00
cf94c7ef59 utf-8 support in both ruby 1.9 and 1.8 2011-06-04 18:40:15 -04:00
4e919aca04 ree compatibility 2011-05-31 10:36:32 -04:00
b57043e0d2 Merge branch 'images' 2011-05-22 16:34:31 -04:00
6c9ddac8dd totally pro wardrobe image adapter, via konami 2011-05-22 16:30:02 -04:00
926f2a5350 improve swf image request enqueue on creation 2011-05-22 13:10:29 -04:00
933bd225ab clearer <title>s for search engines 2011-05-21 22:58:48 -04:00
3d05bbeeed instead of crashing in mall spider when pet not found, delete pet and find a new one 2011-05-21 22:32:01 -04:00
49c3859a00 dynamic robots.txt to refer to sitemap.xml 2011-05-20 20:59:35 -04:00
740693018b sitemap.xml 2011-05-20 20:49:48 -04:00
3b7f158890 cache just content on items, not action, so we can still use title and canonical 2011-05-20 20:23:37 -04:00
183430adb6 remove non-alphanumeric chars from item pretty urls
mainly because they were causing the router to freak out when they
contained periods, because that looks like a format, e.g. show.html
2011-05-20 19:50:06 -04:00
c18a333bd2 pretty item urls 2011-05-20 19:29:04 -04:00
b13fd7ae99 moving toward s3 image storage 2011-05-20 19:19:14 -04:00
883ecde836 convert_swf! method runs 2011-05-14 10:25:11 -04:00
6940e098d3 say Edit a Copy on outfits#show if it a guest outfit and user is a guest 2011-05-14 09:36:18 -04:00
27f3111b65 remove warnings on each environment boot about modifying StandardBodyIds 2011-05-13 08:26:06 -04:00
9057f56e2e reverse <title> order 2011-05-13 08:21:42 -04:00
cd947b61b3 hide titles for items index and show from main body 2011-05-13 08:20:29 -04:00
1b3669178c xss vulnerability in empty search results page 2011-05-13 08:20:09 -04:00
c23024b43a add item name to title 2011-05-13 08:07:59 -04:00
d48bbdecfa put items search query in title 2011-05-13 08:07:20 -04:00
648649f5cc support special colors in the infinite closet 2011-05-02 18:07:56 -04:00
d7d2d5f0e5 include share button for logged in users, too 2011-03-28 17:29:03 -04:00
1207e84804 nice page to view current user's outfits 2011-03-23 18:23:01 -04:00
838f89c8fb save user even if points do not change. oops 2011-03-01 15:32:26 -05:00
dfea1a1097 add extra error tracking to saving user, too 2011-02-23 16:01:43 -05:00
abb29aae4b hopefully raise more descriptive error message when contribution fails to save 2011-02-22 18:45:53 -05:00
492841d9bc load happy pets for item db previews 2011-02-22 18:11:12 -05:00
8ff6c5ad9c pet state order fix, and maybe some contribution fixes 2011-02-22 17:54:20 -05:00
3aeeac3bfc maybe the redundant += contributions for user is triggering the RecordNotSaved exception. remove that line and see what happens 2011-02-21 12:02:45 -05:00
a8ab993a31 support pet names with illegal characters by not including them in pet type image hash updates 2011-02-19 23:09:59 -05:00
2a7fea11e6 handle timeout errors for pet data, swfs, pet images 2011-02-19 22:49:13 -05:00
ea4ec0f99d gracefully handle connection errors with neopets servers 2011-02-19 22:09:12 -05:00
fa14232473 allow guests to share outfits 2011-02-10 17:50:47 -05:00
ea5908c278 outfit permalink in toolbar 2011-02-09 20:29:43 -05:00
d1daa6b772 pretty inline outfit form live 2011-02-09 19:29:31 -05:00
fd5663c9e8 playing with new outfit save interface 2011-02-09 18:58:02 -05:00
bcffdc0630 stop using radio and label for pet states, to fix ie bug 2011-02-07 08:46:15 -05:00
50f0adaa4d auto shrink wardrobe from fullscreen when screen too small 2011-02-06 18:55:04 -05:00
bb1f10c60b Merge branch 'fixleak' 2011-02-05 10:33:39 -05:00
b1015c9a5c species check was in the wrong place. fixed 2011-01-27 17:50:08 -05:00
8a36155994 hopeful roulette species support ids fix 2011-01-27 17:46:20 -05:00
7152cd0c50 check species compatibility before adding to roulette list 2011-01-27 17:36:19 -05:00
d2e8e9e009 fix bug causing roulette to sometimes choose items in same zone 2011-01-27 16:52:43 -05:00
4b66a560e7 roulette system :) 2011-01-27 16:35:46 -05:00
8c8776ff63 devise implemented, but not remembering 2011-01-26 13:40:15 -05:00
1e8ec13bfe move to unstable rocketamf so that it builds hashes from registries, not arrays 2011-01-13 17:22:07 -05:00
d28e297656 prep for newid server 2011-01-10 17:52:26 -05:00
ba43d104db cache item_zone_sets.json too 2010-12-11 10:36:59 -05:00
f2bcde47ea cache the constant pet_attributes.json 2010-12-11 10:32:42 -05:00
f5e3a39068 cache wardrobe 2010-12-11 10:11:56 -05:00
ca155314fa home page caching, reset top contributors only when necessary 2010-12-11 09:37:39 -05:00
8d20a68a53 remove need for content_for in items/show caching 2010-12-08 21:14:24 -05:00
ca9e1fb0ca cache item show pages as a first try :) 2010-12-08 20:15:46 -05:00
b7fb5a952b Revert "implement head.js"
This reverts commit 12ffa33f4f.
2010-12-06 18:50:13 -05:00
6cc892ff83 remove unnecessary wardrobe.js dependency on home page 2010-12-06 18:13:38 -05:00
12ffa33f4f implement head.js 2010-12-05 21:18:52 -05:00
8847a87fd9 clear sold_in_mall flag for items not currently sold in mall, add sold_in_mall flag to items we found that are already in our database 2010-12-05 16:06:48 -05:00
0399e0a38f remove tell the world link 2010-11-30 16:52:38 -05:00
b45faa6753 Merge branch 'mall_spider' 2010-11-27 18:51:08 -05:00
3d29f7784f asset spider, yaaay 2010-11-27 18:41:06 -05:00
8447667f62 Merge branch 'bugmash' 2010-11-25 21:33:37 -05:00
99fb6b984f ensure that we're only returning item assets for items and biology assets for pet states 2010-11-25 21:33:34 -05:00
d63da31ac2 add rake items:mall_spider
includes allowing null on some item fields, and putting the swf_assets
type and id index in an actual migration, or this commit would have removed
it upon migrating
2010-11-25 11:10:21 -05:00
e2d48a67df sort colors by name on frontpage, in wardrobe 2010-11-24 21:17:24 -05:00
6b5b978cb1 different ajax loader for current outfit, quick bug fix 2010-11-24 21:10:29 -05:00
b308c0f0ba outfit renaming, plus some bug fixes here and there 2010-11-24 20:51:01 -05:00
55ab3d56d5 maybe this will fix the closet 2010-11-20 11:37:14 -05:00
4173d06dc2 hopefully fix scrollbar issues in windows firefox 2010-11-20 11:26:19 -05:00
63ae4558b1 ensure that we're looking only at biology assets when saving new pet states 2010-11-20 10:35:59 -05:00
a196c43253 stop -type:x queries from lagging out due to group by optimization blah 2010-11-19 16:31:58 -05:00
8b159c02bd catch species not found errors in search 2010-11-18 23:25:34 -05:00
badc2e6b3c good negative type search filter; limit type filters to one per query to prevent conflicts 2010-11-18 23:21:03 -05:00
d33723aa84 implement condition negation manually, since removed from arel 2 2010-11-17 00:30:17 -05:00
6903752933 dodge weird arel bug by preloading basic pet types 2010-11-17 00:12:14 -05:00
1f1c219005 fix species:x bug on new arel, start tracking unintended search exceptions 2010-11-16 23:32:53 -05:00
09da6e31ac Merge branch 'bugmash' 2010-11-16 17:26:22 -05:00
60ab4db8c1 rails 3.0.3, negating arel condition is not(c) instead of c.not now 2010-11-16 17:26:06 -05:00
8403fdf888 fix wardrobe overlaps: search+swf, search+footer 2010-11-16 08:50:01 -05:00
e92e9947b8 rake task to, hopefully, repair duplicate pet state ids cleanly 2010-11-15 21:15:33 -05:00
8e6a34b69c fix contributions for pet states and items
dependent contributables would only count as contributed if their parent
was being contributed for the first time, too. the trick was to delay
actually *assigning* them to their parents until the very, very end
2010-11-15 17:56:16 -05:00
9fc24a2eab handle contribution for now-unused swf 2010-11-15 16:44:57 -05:00
98d908d33c return nil, not 500, when missing certain swf_assets.json param 2010-11-15 16:04:54 -05:00
41aa9008fc remove indiscriminate asset caching 2010-11-15 15:58:16 -05:00
0f5d36bcb6 remove hard-coded references to impress.openneo.net 2010-11-15 15:40:34 -05:00
2501e6e21f use basic image hash on items stuff 2010-11-14 23:14:04 -05:00
f99c7527d0 prevent bad behavior when no unworn items 2010-11-14 22:31:41 -05:00
36d7cbd997 use compass image helpers for cachebuster strings 2010-11-14 20:18:38 -05:00
a6f087b92b include announcement, analytics.js file to overwrite when necessary 2010-11-14 14:40:51 -05:00
d81c08f866 remember me on login 2010-11-13 19:42:56 -05:00
9b0cf8b597 show outfit page 2010-11-13 17:26:27 -05:00
d8da87cbd9 ignore cap files, move auth config to yaml file 2010-11-13 10:37:57 -05:00
51f3650ce2 save current outfit, save copy 2010-11-13 08:50:37 -05:00
e3ca78203b require unique outfit names for each user 2010-11-12 21:10:01 -05:00
e6b1465355 wardrobe has an 'active outfit' - phew! cloning is hard 2010-11-12 20:58:28 -05:00
eceecdc38a hide both versions of save outfit button until we know which to show 2010-11-12 16:36:29 -05:00
01ccf1aaca fix some bugs with item loading
whole outfit saved on toggleStar, which was not intended
saving and then loading an outfit on same session glitched on clone
2010-11-12 16:31:01 -05:00
6b92c2aa33 loading current user outfit list, deleting outfits, toggling star 2010-11-11 13:43:22 -05:00
1dd2ccb00b lovely interface for saving outfits. still no reading them yet 2010-11-10 16:59:54 -05:00
1fd98fb191 basic interaction with fake outfits 2010-11-08 20:40:03 -05:00
b44cb4b09e fix homepage JS
main name field lost its ID in the redesign
gave it one and changed the one in the JS to match
2010-11-07 17:19:47 -05:00
7db0beec75 points for bulk pet adding 2010-11-06 19:07:15 -04:00
aa5b64fd8e add fonts and alert-overlay 2010-11-06 19:06:23 -04:00
cf6ca7d9cb username in login bar now linked 2010-11-06 18:12:42 -04:00
d10ab2615f actually contributing things, yay 2010-11-06 18:08:45 -04:00
ef004cc6cb needed objects 2010-11-06 13:07:12 -04:00
446a117ec8 top contributors 2010-11-06 12:15:10 -04:00
3992e57adc user contribution page 2010-11-06 11:57:22 -04:00
a5b119a9bc contributions viewing 2010-11-06 11:52:58 -04:00
db56b0d218 start from scratch home js 2010-11-05 20:17:42 -04:00
2d550724f0 bulk add pets 2010-11-05 20:09:03 -04:00
b99916cfdf terms 2010-11-05 18:55:27 -04:00
c8acdc4e8d working home page 2010-11-05 18:45:05 -04:00
defafa0eb6 move from scss to sass 2010-11-05 16:43:26 -04:00
61b55d418e ensure that session is initialized before redirecting user 2010-11-05 16:32:00 -04:00
bfb53ee81f add ?return_to to login urls 2010-10-18 18:17:08 -04:00
db99f70255 revise userbar markup 2010-10-18 18:13:03 -04:00
7939b0570b put userbar where it belongs 2010-10-18 18:10:50 -04:00
895c6e721e auth works - yaaay 2010-10-18 17:58:45 -04:00
e0ee659f86 remove some outfits mockup syntax to better fit current css 2010-10-11 18:39:44 -04:00
d984f84445 prep wardrobe js for standalone server use 2010-10-11 18:37:20 -04:00
e40d4601d8 a functioning wardrobe 2010-10-10 22:18:42 -04:00
5c34b79186 move from deprecated def before_save to before_save do 2010-10-10 14:43:01 -04:00
33711f6fc6 quick pets controller to redirect to wardrobe 2010-10-10 14:33:54 -04:00
16629926fb ignore effects in pet biology 2010-10-09 12:40:55 -04:00
3b92bea537 remove swf asset conflicts (same parent id, body id), fix glitch in items with existing swf assets 2010-10-09 12:22:40 -04:00
3eee2633bd set body id to 0 when appropriate 2010-10-09 11:35:36 -04:00
3ab730135f check if items are compatible before saving 2010-10-09 11:06:59 -04:00
04138ac4a7 full saving pets, serving assets directly from this domain 2010-10-09 10:53:58 -04:00
ff629b9419 pet type now loads image hash on save 2010-10-08 10:53:28 -04:00
bb233359d8 core of pet loading, still needs get image hash, download assets 2010-10-07 10:46:23 -04:00
1952bcb560 fix typo in is:pb homepage note 2010-10-03 20:23:45 -04:00
bff366d417 add is:pb description to home page 2010-10-03 20:21:46 -04:00
c93066e679 is:pb filter for deluxe paint brush items 2010-10-03 20:14:48 -04:00
3c473bee2c nice pretty upgrade to item show page 2010-09-08 22:49:39 -04:00
460a406bd5 add rarity index to json output for nc ui 2010-09-08 20:07:09 -04:00
191ccb89e3 update front page query list to include NC items 2010-07-10 12:51:11 -04:00
844be37abe is:nc filter 2010-07-10 12:42:18 -04:00
6d8cf2a157 add remote tracking code 2010-07-03 11:16:05 -04:00
adc5a7fb49 add negg faerie branding 2010-07-01 00:35:54 -04:00
83b7d2beb9 add footer 2010-06-30 14:55:31 -04:00
cc3a648e48 move closet to redesign 2010-06-30 14:51:49 -04:00
4ba6af20ad item zone sets jsonp controller 2010-06-26 16:29:23 -04:00
a0a1a94e96 send jsonp errors with callbacks so they load 2010-06-26 16:20:51 -04:00
fbba36005e distribute items as jsonp 2010-06-22 13:00:55 -04:00
8e69d38ff7 refactoring search, removing database from set, fixing show.js to work with new swf 2010-06-22 12:42:25 -04:00
f9bbd3cb94 items can scope by occupying zone 2010-06-10 00:51:53 -04:00
9671a02ecc zones are now a static resource, like species and color. database table remains for compatibility with main PHP app 2010-06-09 23:15:51 -04:00
adce2e7317 move IMPRESS_HOST js constant into JS rather than an HTML attribute 2010-06-08 19:19:15 -04:00
a7ca99d7d8 cache swf asset JSON 2010-06-08 18:35:54 -04:00
37372544b0 alter item swf asset routes to allow for page caching 2010-06-08 18:26:42 -04:00
6014e87cfd link back to impress 2010-06-08 17:59:24 -04:00
4df129970f add description of only:species filter 2010-06-08 17:31:55 -04:00
10f6d721e1 add only:species filter 2010-06-08 17:25:27 -04:00
820cbcb5ce add negation to index explanation 2010-06-08 11:08:03 -04:00
7b91dd9cef pretty home page 2010-06-08 10:39:23 -04:00
df3fcd101f retain query on item page 2010-06-07 20:02:46 -04:00
55126756ea removed empty _form partial 2010-06-07 19:52:15 -04:00
c8f20b2f34 zones_restrict respected in preview 2010-06-07 19:50:49 -04:00
5e5032d671 bulk preloading item assets after 5 seconds, to be able to show reds more quickly 2010-06-07 16:33:43 -04:00
240a070281 put id, body id, etc in HTML 2010-06-07 16:08:53 -04:00
40bb495a2b gracefully handles asset not found, preloads to handle it before it even comes up 2010-05-31 15:45:03 -04:00
6cdde0b2ed global styling, including font 2010-05-20 22:40:04 -04:00
e20a936368 sort species list 2010-05-20 22:09:55 -04:00
df18caf9c9 slightly restyle preview 2010-05-20 22:05:13 -04:00
743ec4d910 restrict item swf assets by fitting body id 2010-05-20 21:30:12 -04:00
82c2ff6206 ensure that we are only selecting biology assets when we want biology assets, objects when objects, etc 2010-05-20 21:23:24 -04:00
4604a412fd show biology assets on item preview from pet state 2010-05-20 21:16:43 -04:00
7fc59745e5 pet state models now own assets, not pet types 2010-05-20 21:11:08 -04:00
cccfe08eb5 include body ID in asset JSON 2010-05-20 20:25:36 -04:00
8411d4c64a swf asset json for pet types 2010-05-20 19:56:08 -04:00
a5866a19e3 zone model in order to be able to include depth for swf_asset JSON 2010-05-20 19:04:56 -04:00
8baa09d633 whoops - that was in the wrong spot. move swf_asset_parent.rb, refactor a bit 2010-05-19 19:17:33 -04:00
7a32b9c894 both items, pet types own assets 2010-05-16 20:45:30 -04:00
5e5007e661 add alt, title to species thumbnails 2010-05-16 19:21:36 -04:00
d3ffefabfa preview pet type selection, data loading 2010-05-16 16:37:55 -04:00
108fe9f2dd correct metadata on species thumbnail 2010-05-16 16:16:39 -04:00
66c43e220a move species supported images for item show into pet_type method 2010-05-16 16:15:21 -04:00
f6dce65dfb add color model, have it and species descend from PetAttribute 2010-05-16 15:44:32 -04:00
f69f64f18f pet type model, controller 2010-05-16 15:33:56 -04:00
230026597b groundwork for preview, swf asset and relationship model 2010-05-16 15:01:38 -04:00
0e08045e17 add description, restyle header a bit 2010-05-15 20:49:13 -04:00
f794d07c2c basic show page 2010-05-15 20:46:41 -04:00
fcb22c9fb8 style form elements 2010-05-15 20:26:25 -04:00
6bd2a47134 style error messages 2010-05-15 19:39:35 -04:00
b8853c4158 link header to root 2010-05-15 19:35:40 -04:00
a7cb8a63d7 very basic styling to match impress 2010-05-15 19:34:13 -04:00
e305796d53 message if there was a search, but no results found 2010-05-15 18:39:41 -04:00
2f057ca7ca use flash.now to prevent late flashes 2010-05-15 18:26:27 -04:00
fd61838946 add error for invalid species in search 2010-05-15 18:23:23 -04:00
1de7df3c4a restrict search filters to description, species 2010-05-15 15:00:53 -04:00
80b1bf7c61 modify search behavior - require 3 characters, remove description searches to description: filter, consider items with no species support IDs to support all 2010-05-15 14:56:21 -04:00
4497c6bbdb only show pagination links when there are results to avoid error 2010-05-15 14:16:42 -04:00
3062dd9376 pagination for results 2010-05-15 14:14:17 -04:00
8519f9131b item presentation is neat 2010-05-15 14:01:15 -04:00
4d4ded3c11 items controller, basic view 2010-05-15 13:47:46 -04:00
ae09fe0515 item search throws exception if not given query 2010-05-15 13:28:34 -04:00
5b86e640b0 negate search conditions 2010-05-15 12:43:54 -04:00
851aa49091 basic specs for items, including search 2010-05-15 11:38:45 -04:00
fb73d23db8 basic framework for items 2010-05-14 18:41:40 -04:00
87fc4bdf05 rails 3 2010-05-14 18:12:31 -04:00