9ca68b02b2
parse "fits:8-bit-chomby" as "fits 8-bit chomby" rather than "fits 8 bit"
...
The "fits:8-bit-chomby" search filter was being read as color=8, species=bit.
Now, we split from the right-hand side of the filter instead.
Still a problem for anyone who explicitly types the Spanish/Portuguese
ordering of "fits:chomby-8-bits", but I'm okay with this cheap fix, since
I bet literally nobody has done that in the past month, if ever :P
2015-04-07 23:13:22 -05:00
0e6f823154
toggle whether a donation campaign is advertised
2015-02-25 13:49:18 -06:00
a11140f9e1
stop breaking on donations that delete their outfit
2015-02-25 13:42:35 -06:00
a3c31f7042
yum, we accept bitcoin!
2014-12-23 23:22:15 -05:00
6f92df17a4
remove the image mode faq link, because it is now super outdated :/
2014-12-22 12:26:37 -05:00
9c6399a23d
Baby Raindorf Hoodie Robe is annoying. special case it as baby-fitting in the worst hack possible ;P
2014-12-17 00:54:55 -06:00
026bdbbc0c
warn users with trading lists but no neomail address
2014-12-02 10:05:11 -06:00
f11d95c273
drop dat donation banner, yo
2014-11-20 14:27:16 -06:00
4d0c72f3b1
Stop freaking out if we try to remove a closet hanger but it's already dropped from search
2014-11-10 13:22:00 -06:00
b98021d704
fix type in meta query; chrome likes it, but firefox doesnt
2014-10-19 15:44:54 -05:00
41da9d0629
swap the homepage forms back in anticipation of Neopets.com uptime
2014-09-19 07:26:30 -05:00
8e3a2f59e9
swap the new outfit forms because downtime
2014-09-17 22:48:48 -05:00
29c58cf1a3
thank you note, future donations explanation
2014-09-17 14:28:50 -05:00
e2f4ff383f
further notes on payment and precise currency
2014-09-13 22:59:44 -05:00
cf2550c7bc
for large donations, show a banner instead of their placeholder outfits
2014-09-13 20:54:39 -05:00
51700a7386
better donation feature outfit validation
...
In particular, outfit_id == 0 would cause outfit_id? to
return false, so it wouldn't run the outfit presence
validation, so /donations/features would try to load
outfit #0 and fail.
Also, flash[:alert] instead of flash[:error] when outfit_id
is bad.
2014-09-13 14:16:50 -05:00
485a679f5e
better fit longer names in donated outfit footer
2014-09-12 16:37:49 -05:00
d179ffd9b6
whoops; get the To address right for donation notifications
2014-09-12 14:29:20 -05:00
75e9fcbe5a
when there are no donors yet, draw less attention to that fact :P
2014-09-11 20:58:43 -05:00
be87039cba
copy edits
2014-09-11 20:43:40 -05:00
94d9aab547
campaign bar in infinite closet
2014-09-11 20:12:43 -05:00
8f0f37b4c8
campaign for outfit pages
2014-09-11 20:10:48 -05:00
eb2a42b1d1
better campaign bar layout, on donate page and in general
2014-09-11 20:10:32 -05:00
8775bfb9fd
but don't freak out on the homepage if there's no active campaign
2014-09-11 18:12:07 -05:00
d588253c4c
campaign banner on homepage is pretty
2014-09-11 18:09:00 -05:00
2e08a1261b
don't overflow the progress bar
2014-09-11 17:47:42 -05:00
8e22c271a4
track campaign progress
2014-09-11 17:40:37 -05:00
04a328e6ee
homepage outfit features
2014-09-10 15:38:26 -05:00
f11f6374da
donation mailer
2014-09-10 14:32:54 -05:00
90b45dcecd
edit featured outfits on donation page
2014-09-09 23:16:02 -05:00
59d5e99312
donation show form and basic name updating
2014-09-09 22:04:17 -05:00
595b1c2fc5
charge and record donations
2014-09-09 21:11:55 -05:00
2a1a3c61fa
stripe checkout image; breaks in development because dev copy of image is not public :P
2014-09-09 20:41:58 -05:00
0afc8ddb2b
stripe checkout; tokens not yet passed anywhere
2014-09-09 20:24:27 -05:00
1d7ca7cec2
new donations page mockup; temporary outfits and old campaign as placeholders
2014-09-09 18:02:49 -05:00
fffd3ac2e6
typo in CSS selector: chrome interprets the intent, but firefox errors out
2014-08-25 21:16:53 -05:00
05841d091b
update terms
2014-08-25 20:57:07 -05:00
2594497434
whoops; if page 2 of a search had 1 item, we jumped right to it, as if it
...
were the *only* result. now only do that redirect if *total* results == 1.
Mad props to diceroll123. Welcome to the commit log, bro.
2014-06-15 17:35:08 -07:00
5644ecd67b
fall back to image if flash unsupported in outfits#show (e.g. mobile)
2014-05-29 23:00:03 -07:00
e0ddf543ee
increase outfits#show preview size to 600x600
2014-05-29 22:59:36 -07:00
79a96b7670
lookup link alongside neomail
2014-05-15 22:34:00 -07:00
ebb0a75b72
whoops; if no contact neopets username, return nil
2014-04-25 23:04:59 -05:00
dd0a3cd350
dont allow blank name submissions in modeling hub small form
2014-04-16 11:11:15 -05:00
b429c30d3b
if user submits outfits#new name form with no name, use the fallback job
2014-04-16 11:02:44 -05:00
eda80a8dc7
double whoops; the actual problem was that i hadnt restarted the background workers :P
2014-04-05 23:52:24 -05:00
9fe19e00c7
whoops; now that we index by item fit, update item after asset save
2014-04-05 23:48:36 -05:00
4338ae8b15
default fits checkbox to on
2014-04-05 20:02:24 -05:00
a8a02cca01
also strip autofilter from query on page reload
2014-04-05 18:57:03 -05:00
44ff466a64
advanced search by pet type fit :)
2014-04-05 18:48:20 -05:00
e5771e6f1d
double yum, autofiltering in basic searches! not yet in advanced
2014-04-05 18:13:42 -05:00
0310598403
whoops; body_id=0 also fits everyone
2014-04-05 17:58:05 -05:00
0fe31ee79a
basic fits functionality in search
2014-04-05 17:43:54 -05:00
acbec2ad5e
design mockup for autofilter; no new behavior yet
2014-04-05 17:16:35 -05:00
a375707e40
handle errors from neopia, finally!
2014-04-04 15:53:53 -05:00
d25d2b3398
big picture mode
2014-04-04 14:36:35 -05:00
868bbcdd41
yank tips in favor of border and autofocus for item search
2014-04-04 14:17:57 -05:00
3650525671
make those tips big font now that theres no image in the way
2014-04-02 23:53:43 -05:00
83e5e5eb5a
move tip navigator to upper right
2014-04-02 23:48:26 -05:00
131b6a9ce9
ya know what? the module and image draw too much attention.
...
tips on plain white look much nicer.
2014-04-02 23:45:59 -05:00
cc786c4241
navigate tips
2014-04-02 23:37:19 -05:00
f00a8f5d3b
yum, tip styling
2014-04-02 23:26:51 -05:00
8fc156833f
basic tip functionality
2014-04-02 23:00:50 -05:00
7e73313d43
remove Go button from locale form on noscript
...
primarily because it's confusing for advanced search and looks like
the form's submit button - at least according to lavelle ;P
2014-04-02 22:15:15 -05:00
ad1aa8e42c
advanced search i18n
2014-04-02 22:06:45 -05:00
250af4487c
remove search.examples i18n
2014-04-02 21:35:08 -05:00
77497cd471
lol, turns out i was smart about return_to links before. remove todo
2014-04-02 21:32:43 -05:00
7c0983ed45
separate np/nc and current species a bit from the elements below
2014-04-02 21:28:14 -05:00
ecacb44153
update current species name
2014-04-02 21:14:58 -05:00
d4b65ecf62
remove some todos
2014-04-02 21:09:15 -05:00
d557daadf4
filter by user owns/wants
2014-04-02 21:08:35 -05:00
afface7fa7
filter by current species
2014-04-02 21:01:12 -05:00
3c36cd6aef
assign biology assets to restricts and item assets to occupies
2014-04-02 20:56:42 -05:00
fc76e7cfe3
yank console.log
2014-04-02 20:43:13 -05:00
d47ec7a0cd
when advanced query is empty, go blank instead of saying no results
2014-04-02 20:42:49 -05:00
d7af6cfd4a
populate occupies/restricts selects
2014-04-02 20:26:53 -05:00
769f5d19e2
advanced nc filter
2014-04-02 20:11:17 -05:00
bce7f6b383
advanced search queries now appear in hash
2014-04-02 20:09:33 -05:00
9cae578ef7
basic advanced search behavior; only name supported right now
2014-04-02 20:05:18 -05:00
3f4f0eb06e
ohh, top padding on search is important. can only see with a full bleed pet :P
2014-04-02 19:34:35 -05:00
8f90f35c62
ack, unrelated, fix the outfit not logged in x scrollbar :/
2014-04-02 19:32:11 -05:00
a02fa461e5
put textbox labels always above the boxes
2014-04-02 19:27:11 -05:00
93a732e027
fix display bug with narrower screens
2014-04-02 19:25:51 -05:00
c20ac77fdd
actually, drop the extra form and just keep the search bar always large :/
2014-04-02 19:21:18 -05:00
ce734fae7e
advanced search behaves toggle-like in that the link stays in place, and OMG pagination on the right is sooo much better!
2014-04-02 19:04:47 -05:00
f12b579c29
whoops, switch from advanced on form submit so that window resizes don't
...
also trigger it :P
2014-04-02 15:15:17 -05:00
2a82e4badd
switch out of advanced search when a submission from the other form completes
2014-04-02 15:00:54 -05:00
67d47bfc4f
the search results tend to pad themselves with their fixed height;
...
remove the extra padding when there are results
2014-04-02 14:56:37 -05:00
c1d9133451
add an item search form to closet so that new users will be less stumped
2014-04-02 14:53:58 -05:00
0868351fff
unrelated fixit: finally get rid of that scrollbar in outfits when not logged in
2014-04-02 14:36:08 -05:00
5b378d99ed
give empty search form more space
2014-04-02 14:35:55 -05:00
bda9f69ce9
reorganize form a bit; group like things
2014-04-02 14:18:14 -05:00
bf009faaa8
more spacing for advanced form
2014-04-02 14:12:49 -05:00
c7fb61aea5
smaller text for closet items too for consistency
2014-04-02 14:12:39 -05:00
122df1e19d
keep a relatively constant search result height, because moving pagination is bleh
2014-04-02 14:05:54 -05:00
4ad806847b
switch between basic and advanced forms
2014-04-02 13:54:27 -05:00
e0b5d3e73f
advanced search fields mockup
2014-04-02 13:21:42 -05:00
125b799b64
move search motion to fullscreen view
2014-04-02 11:11:18 -05:00
66d045df05
footer, stop getting in search's way!
2014-04-02 11:09:10 -05:00
39f5284752
first draft of advanced search form
2014-04-02 10:32:13 -05:00
f4c435c3cd
handle user filters
2014-04-02 10:32:13 -05:00
1d11cf6edc
better handling of i18n and labels and resource filters and junk
2014-04-02 10:32:13 -05:00
170b7fa6f5
can search items with a form-based query instead of text-based
2014-04-02 10:32:13 -05:00
a326f09eda
lolwhoops, measure prank-funniness in PST
2014-04-01 19:10:44 -05:00
4532ecccd5
lolwhoops, make nebula previews clickable - and all pet type previews for that matter
2014-03-31 23:07:55 -05:00
f9fa3eb596
prank color artist credit
2014-03-31 21:05:28 -05:00
6e80c228c1
include prank message on wardrobe page
2014-03-30 22:37:33 -05:00
2ed3f3d4c6
more abstraction
2014-03-28 15:22:21 -05:00
8781d58540
extract prank_color_message to helper
2014-03-28 15:19:45 -05:00
32bab89ed4
add prank messages to outfits#show
2014-03-28 15:15:04 -05:00
528fffce52
lame code to show prank pets on homepage :P
2014-03-28 00:12:18 -05:00
338b9c2b3f
use funny ordering in wardrobe, too
2014-03-27 22:45:34 -05:00
8e93d603fa
list prank colors as fake on the homepage, unless pranks are funny today
2014-03-27 22:44:18 -05:00
b583254397
create colors from rake
2014-03-27 22:28:48 -05:00
58c9d6cfab
always include state in wardrobe url, even if it's the default
...
Mostly this was because of Mac's bug where you, in Firefox:
1. Load a real pet with the default appearance (probs Happy Male) into the wardrobe
2. Use a search query containing ":"
3. See the pet biology vanish before your eyes!
I observed that this only happened in cases where the biology stuff in the URL
wasn't replaced by a state number, so figured that it'd probably be good to do
that anyway because biology fields are annoying, and it for some reason seemed
to fix the bug. (Something to do with query parsing and stupid internal state
issues, probably. Ugh. One of these days, I'll re-rewrite all this :P)
2014-03-06 16:22:30 -05:00
b0fc2df8b6
oops: neopia uses query key "biology", but we used "biologies"
2014-02-19 15:58:39 -06:00
2df0133cff
Oops, using item proxies broke closet comparison. Fix.
...
Turns out we need to assign closeted to actual items, not
the item proxies, since that's what we check against. (I
would've thought they're backed by the same instance of
the item anyway, but, whatever. The fix works :P)
2014-02-04 16:29:59 -06:00
62f584e366
triple oops; stop using removed field neopets_username in NeopetsUsers#new
2014-01-20 16:31:15 -06:00
eba53433be
double oops; impress_user for fancy modeling buttons
2014-01-20 16:08:57 -06:00
8ace3111f7
oops; put impress_user field on model-a-pet homepage form
2014-01-20 16:03:40 -06:00
b0b840741b
reload pet thumbnail when and only when its appearance changes
2014-01-20 15:51:51 -06:00
03c76fe882
Update missing body ID prediction to handle, say, the Maraquan Mynci.
...
It turns out that some pets for seemingly nonstandard colors have the
standard body type anyway, and vice-versa. This implies that we should
stop relying on a color's standardness, but, for the time being, we've
just revised the prediction model:
Old model:
* If I see a body_id, I find the corresponding color_ids, and it's wearable
by all pet types with those color_ids.
New model:
* If I see a body_id,
* If it also belongs to a basic pet type, it's a standard body ID.
* It therefore fits all pet types of standard color (if there's
more than one body ID modeled already). (Not really,
because of weird exceptions like Orange Chia. Should that be
standard or not?)
* If it doesn't also belong to a basic pet type, it's a nonstandard
body ID.
* It therefore only belongs to one color, and therefore the item
fits all pet types of the same color.
2014-01-20 15:29:01 -06:00
fb6df82570
ugh, push temporary version without new items
2014-01-20 14:46:50 -06:00
63b34435c7
ugh, add react.js manually :(
2014-01-20 14:35:28 -06:00
00841e45d2
modeling i18n
2014-01-20 13:56:19 -06:00
194ee8a5b1
better alignment of add neopets username form
2014-01-18 22:52:00 -06:00
b2fca6b6c1
closet hangers index uses neopets connections dropdown
2014-01-18 22:50:14 -06:00
72b174c9b3
store all neopets usernames for logged-in users, but breaks closet_hangers#index
2014-01-18 21:55:01 -06:00
8288b8a10d
username form, backed by localstorage for guests; not yet backed by db for logged-in users
2014-01-17 11:12:56 -06:00
72b7ce1ac6
yay, load pets and junk
2014-01-17 10:16:49 -06:00
0e9b76b4d4
include item name and junk in model button title
2014-01-10 16:25:03 -05:00
eede0b0718
better console polyfill scoping
2014-01-10 16:25:03 -05:00
813cfbddea
filter customizations by missing body ids
2014-01-10 16:25:03 -05:00
fd106d7dba
basic modeling buttons
...
no behavior yet, nor are they filtered
2014-01-10 16:25:03 -05:00
99b2acd419
attach body id to newest unmodeled item species names
2014-01-10 16:25:03 -05:00
1b0a636fab
i18n the unmodeled newest items content
2014-01-10 16:25:03 -05:00
949fa2a77a
i18n newest items headers
2014-01-10 16:25:02 -05:00
342f8ef859
remove unused outfits.new.newest_items.header i18n key
2014-01-10 16:25:02 -05:00
7dd2646dbb
add basic caching - TODO: avoid these computations in the controller
2014-01-10 16:25:02 -05:00
9a4e114964
oh yum, this is really starting to come together :)
2014-01-10 16:25:02 -05:00
85e1973f55
yummy mockups for newest items progress bars
2014-01-10 16:25:02 -05:00
7c6e607612
basic neopia api integration
2014-01-10 16:25:02 -05:00
4a49ad2fe8
oh poo, didn't commit these properly with the closet hanger caching :(
2013-12-27 21:48:38 -05:00
b6247fa22f
prepare partials for closet_hangers#index, too
2013-12-27 21:48:28 -05:00
1ce32e5867
Use item proxies better for items#index?format=html :D
...
We used get_multi when preparing the proxies to decide which to
load from the database, but then sent multiple get requests to
Memcache to re-fetch the same data from that get_multi. Silly!
Use the data that's already stored on the proxy anyway.
2013-12-27 21:11:03 -05:00
6b340f906e
Cache trade info on items#show, finally! I think it's the performance culprit.
2013-12-27 14:49:46 -05:00
5f95ef7e56
make userbar area more compact, including removing favicon
2013-12-26 13:08:51 -05:00
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<b></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