Commit graph

626 commits

Author SHA1 Message Date
af5373c390 Add analytics.openneo.net tags
Self-hosted Plausible instance! I have need of usage numbers again,
after a good few years of just not using it; but I don't want to send
the data to Google, and I enjoy self-hosting things, so here we have it!
2023-12-04 22:44:16 -08:00
29c4e4f3ac Remove mini-survey link
That's honestly a bit longer than I even meant to leave it up, but I've
been sick! Time to close shop and start tallying it all up!
2023-11-20 16:30:20 -08:00
f9669195ea Remove old feedback UserVoice link 2023-11-11 15:48:05 -08:00
644a6acc72 Remove old Image Mode stuff
There was a static page explaining it, which we no longer link to; and
there was an unused field in the User model for who was a beta tester
for it. Goodbye!
2023-11-11 15:21:49 -08:00
5905f4aed1 Delete more unused code
Just some routes and controllers that I think were at various points
serving as API endpoints, but no longer do I think!
2023-11-11 15:04:18 -08:00
c6cb61ef38 Remove no-op item.thumbnail.secure_url
There was a time when I used an old proxy server to try to fix mixed
content issues, and I eventually removed it but never took the tendrils
out from the code.

We probably _should_ figure out how to secure these URLs! But until
then, we may as well simplify the code.
2023-11-11 08:24:08 -08:00
c9dd0f7376 Remove "Import from pets" page
This hasn't worked for a while, and I don't know an API off the top of
my head to drop in for it. Let's just delete it for now, and revisit it
later if we want to!
2023-11-06 13:06:18 -08:00
4ffd85ade0 Add mini-survey announcement
Just sharing this out to gather info, since this might be coming kinda
soon!

I also moved the announcement higher up in the template, because it
gets broken on the user lists page which uses floats quite a bit for
the site header—and tbh I feel like this is better anyway lol.
2023-11-06 12:12:25 -08:00
2126cefdd4 Add posted-at date to Pardon Our Dust page
Just to like. clarify how up-to-date it is and isn't!
2023-11-06 11:54:56 -08:00
5dcb1dedb4 Add Owls values to the item page
Eyy it's time!! Long-requested, finally here lol
2023-11-03 16:20:02 -07:00
7a3aa609ba Use the main app for outfit saving, not impress-2020
This came in a few parts!
1. Add meta tags to let us know we're logged in.
2. Install React Query, which has the data-loading sensibilities I like
   about Apollo without the GraphQL that has honestly been a drag.
3. Replace the outfit-loading and outfit-saving calls with API calls to
   the main app.
4. Update the main app's API calls to use our more flexible data
   constructs like "pose".

Would've loved to do this more incrementally, but it's hard to! You
can't split out outfit-loading and outfit-saving, or auth from any of
that, or the state gets all out-of-sorts.

Still, this is a good nugget we've pulled out all-in-all, and one that
people have been asking for! Can maybe look to logged-in item search
soon too, for own/want data?
2023-11-02 16:54:35 -07:00
3243a0fdd9 Remove unused Javascript utility libraries
Some of these just didn't have call sites anymore; the HTML5 shim still
did, but that URL is literally broken now lmao. Goodbye!
2023-10-25 16:24:50 -07:00
22e3f4240a Update most URLs to use HTTPS
I noticed we didn't have the little lock icon in the browser, and yeah
huh there's a lot of `http://` still floating around! Let's fix that!
2023-10-25 15:22:57 -07:00
8034e8689a Oops, fix silly bug on /outfits/new
I just plum forgot to put the title under `- if outfit`, oops!!
2023-10-24 19:10:05 -07:00
c06cea2a3c Remove slightly-broken edit outfit links from user outfits page
The URL anchors were getting like. double-encoded? The `closet[]` part
was encoding as `closet%255B%255D`. Maybe a thing in Rails, where you
need to mark them `html_safe` to insert them in a URL like that?

Well anyway, those URLs are redundant now, I just have it link straight
to the same outfit page as the big link!
2023-10-24 18:05:51 -07:00
5ba711a413 Delete outfits/show page, point to the editor instead
Now, like in DTI 2020, opening an outfit will go straight to the editor.

I'm not 100% on whether this is actually like. the superior behavior?
But I think it's good enough, and it's what the wardrobe-2020 code
expects, so let's just roll with it for now!
2023-10-24 18:02:18 -07:00
2e152735c5 Stop referencing Neopia, just do modeling inline
I hope this doesn't cause problems! But yeah, with Puma doing threading, and maybe switching to Falcon someday to get even better concurrency properties, I feel like this will probably be fine?

And it makes the UX a loootttt better, to be back in the world where all these forms just work, whew.
2023-10-23 19:05:10 -07:00
c85c3f5b8f Add the Pardon Our Dust page 2023-10-23 19:05:09 -07:00
2d63b1f725 Add viewport meta tag to wardrobe page
Oops, this was causing the page to render in a weird zoomed-out way on mobile!

Note that, for most of the site, we intentionally haven't added this tag yet because most of our pages aren't especially responsively-designed; so we _want_ the device's best attempt to work with that, rather than trying to enforce something.
2023-10-23 19:05:09 -07:00
4f5db2c0f0 Remove analytics placeholder code
Ehh, I don't use analytics anyway. If I do later, maybe I'll add our private Plausible code to here or something!
2023-10-23 19:05:09 -07:00
64e3702d6d Fix typography on wardrobe 2020 page
Add the green body color back in, and add the Delicious font!
2023-10-23 19:05:09 -07:00
9cc45f0988 Add wardrobe-2020 outfit preview to item pages
Eyyy tasty! There were some issues with conflicting styles with the main app, but I think we got it!

Scoping Chakra's CSS reset was a big deal to not accidentally overwrite the app's own styles lol, and we had to solve a specificity problem for that, thanks Aria for the :where tip!! <3
2023-10-23 19:05:08 -07:00
c6e544be70 Render wardrobe-2020 fullscreen
Tada! No more layout!
2023-10-23 19:05:08 -07:00
aa76fbc933 Try to render wardrobe-2020 at /wardrobe
Doesn't work yet, there's errors in Apollo! I also wonder what node env it's running as, the messages aren't clear here.
2023-10-23 19:05:08 -07:00
81b2a2b4a2 Bundle wardrobe-2020 into the app
We add jsbuilding-rails to get esbuild running in the app, and then we copy-paste the files we need from impress-2020 into here!

I stopped at the point where it was building successfully, but it's not running correctly: it's not sure about `process.env` in `next`, and I think the right next step is to delete the NextJS deps altogether and use React Router instead.
2023-10-23 19:05:08 -07:00
45090b8d1c Login/logout returns you to the same page
In the login case, we save the `return_to` parameter in the session, because login can be a multi-step process.

In the logout case, we just read it directly from the form params.

Note that you *could* end up in a weird scenario where an old return_to value sticks around for a bit? But we have the sense to delete it when we use it on a successful sign-in, and most links to the login page come with a `return_to` param which should reset it. So, you'd have to 1) have started but not finished a sign-in, 2) during the same session, and 3) get to the login page by an unusual means.

Probably fine!
2023-10-23 19:05:08 -07:00
c7e81314eb Can edit username in user settings page
Right yeah, this just works once we add it to the view! People will be pleased about this :3

Also change the title to Settings!
2023-10-23 19:05:08 -07:00
83bbb84382 Use flash[:notice] instead of flash[:success]
This is a bit more standard, and has the bonus of being compatible with Devise, which is using `flash[:notice]` and so its flashes were coming out unstyled, oops!
2023-10-23 19:05:07 -07:00
d65aafdd4c Signup and settings page for OpenNeo ID accounts
Hey nice!!

Note that I removed an account delete button from the settings page. You can still send a DELETE request to the right endpoint to do it, but it's not gonna delete all the associated records, and I wanna think a bit about how to handle that better before exposing that button.
2023-10-23 19:05:07 -07:00
83f80facda Can log into OpenNeo ID accounts directly!
A lot of rough edges here (e.g. no styles on the flash messages), but it's working and that's good!!

I tested this by temporarily switching to the production database and logging in as matchu!

Still missing a lot of big features too, like registration, password resets, settings page, etc.
2023-10-23 19:05:07 -07:00
700e26d7df Remove old OpenNeo ID auth code
This removes login/logout/session logic for integrating with OpenNeo ID, replacing them with stubs that just redirect to `/?TODO` when you click login, and helpers that act as if you're not logged in.

This gives us a clean slate to plug in new Devise logic to integrate with the `openneo_id` database directly!
2023-10-23 19:05:07 -07:00
7e922503b5 Upgrade to Rails 7.0.6
Whew! Seems like a pretty clean one? Ran `rails app:upgrade` and stuff, and made some corrections to keyword arguments for `translate` calls. There might be more such problems elsewhere? But that's hard to search for, and we'll have to see.
2023-10-23 19:05:07 -07:00
59efb49419 Upgrade to Rails 6.1.7.4
This one was pretty straightforward yaay! Main thing was the change from `render file` to `render template` in a couple places, oh and a thing with complex `order()` clauses.
2023-10-23 19:05:07 -07:00
Matchu
d0616b6dfd Delete Camo references & Addressable gem
At one point we piloted a "Camo" service to proxy HTTPS image urls for us, but it doesn't exist anymore.

We already have proxies and stuff for this, so I left `Image` as a placeholder for this, but it's not working yet!

This also deletes our final reference to the Addressable gem, so we can remove it!
2023-10-23 19:05:05 -07:00
Matchu
e121d8bba2 Remove SWF conversion
We've already swapped out the backend for this stuff to Impress 2020, so the resque task and the broken image report UI aren't actually relevant anymore. Delete them!

This helps us delete Resque soon too.
2023-10-23 19:05:04 -07:00
Matchu
a4a0188b1b Stop caching trade users on item page
Idk this one might actually be a bit of a pain to load? But I'd want to optimize it differently anyway, and there's overhauls we're already planning to do here.
2023-10-23 19:05:04 -07:00
Matchu
44341ba731 Stop caching pet type images on item page
That's easy queries and easy templates!
2023-10-23 19:05:04 -07:00
Matchu
b87492d4ee Stop caching item page contributors
This lets us remove the contribution observer too!
2023-10-23 19:05:04 -07:00
Matchu
cf2f78703b Stop caching latest contribution
That's another tiny query that I'm okay with just removing the cache overhead complexity for right now!
2023-10-23 19:05:04 -07:00
Matchu
1bf84b5106 Remove unused "outfits#new newest_items" cache
Huh! This cache key seemed to only be referenced in checks and expirations, but was never actually used! So I guess we've been loading the modeling predictions every time for a while huh??

We'll get smarter about that someday, but anyway, that lets us delete our Item resque tasks and ItemObserver!
2023-10-23 19:05:04 -07:00
Matchu
41fdcb5abc Remove newest_items caching from items page
Yeah I'm very unconvinced of the merit of saving us one items/translations query lmao
2023-10-23 19:05:04 -07:00
Matchu
ffa73b6b03 Simplify item page rendering
Just removing some caching and the expiration of it! There's still more superfluous(?) caching on the item page to audit, but these seem a bit more sensible about avoiding loading extra data.
2023-10-23 19:05:04 -07:00
Matchu
02abd4e07f Simplify item_link rendering
In the interest of clearing out Resque, I'm just gonna remove a lot of our more complex caching stuff, and we can do a perf pass for things like big item list pages once everything's upgraded. (I'm hopeful that the upgrades themselves improve perf; and if not, that some improved sensibilities 10 years later can find simpler approaches.)
2023-10-23 19:05:04 -07:00
Matchu
8aa4aa6e30 Drop NewsPosts model
We never ended up really using this lol, and it has an attr_accessible I want to be rid of so let's just fully trash it while we're at it!
2023-10-23 19:05:04 -07:00
Matchu
7f8f7e624d Remove references to the Stripe gem
Rather than figure out how to upgrade the Stripe gem to be compatible with future Rails, I'd rather just delete the references, since it's currently unused.

I'm not so bold as to go in and fully trash all our donation code; I just want to ensure we're not sending people down broken codepaths, and that if they reach them, the error messages are clear enough.
2023-07-21 18:54:15 -07:00
Emi Dunn-Rankin
515b089b3b
Update terms link to point to DTI 2020
There's a new terms page over there! Use that instead, and update the lil footer to change the date it was last modified (8 years wow!)
2022-09-25 06:11:34 -07:00
Matt Dunn-Rankin
55477baa15 new donate layout for post-2017 campaign 2018-01-18 17:14:02 -08:00
Matt Dunn-Rankin
c1c2b11a40 ooof, got the amount wrong D: 2017-01-05 18:52:08 -08:00
Matt Dunn-Rankin
6b81da82b1 new donate form :) new colors and new amount chooser 2017-01-05 15:47:12 -08:00
Matt Dunn-Rankin
f5fb8711fc improved donation campaign nav 2017-01-05 13:06:50 -08:00
Matt Dunn-Rankin
6a331bf79b whoops, fix typo in donation fine print 2017-01-05 15:38:17 -05:00
Matchu
b5442d0f3f news posts read from the database, with a campaign-supplement classname option :) 2015-09-26 20:37:03 -07:00
Matchu
49cd93087a get STUCK, actions bar! get. stuck. 2015-09-26 20:09:13 -07:00
Matchu
40f508247d hint at the select all button 2015-09-26 19:59:16 -07:00
Matchu
e4757b0ee4 deselect all 2015-09-26 19:58:31 -07:00
Matchu
e6a2b978f1 oh huh. looks like remove/move are ready. 2015-09-26 19:55:09 -07:00
Matchu
6bba2ae288 bulk action bar renders, but does nothing 2015-09-26 15:31:55 -07:00
Matchu
48185fd5b8 bulk actions toolbar, with selected items count
TODO: adding an item resets the checked state of everything, boooo.
this is why react is better :'(
2015-09-26 15:00:31 -07:00
Matchu
621c768921 Select All + visual feedback 2015-09-26 14:22:11 -07:00
Matchu
0aca529e27 checkbox for closet management
drop the remove link (just use quantity: 0)
to create a bigger checkbox label target
2015-09-26 13:56:25 -07:00
Matchu
9108703dd0 womp womp, our source link was broken. thanks, dice. 2015-09-26 13:18:58 -07:00
Matchu
b953e572a3 hide desc on complete campaign; add toggle link 2015-09-26 13:17:38 -07:00
Matchu
4ae43f61ea good-enough zeroclipboard implementation 2015-09-24 20:50:27 -07:00
Matchu
90ac52dc74 tweak the fine print phrasing again ;P 2015-09-22 22:41:00 -07:00
Matchu
2ca784c3a2 thank-you message automatically deploys on campaign success 2015-09-22 22:40:51 -07:00
Matchu
5466cc9301 when remaining costs < $200, pitch harder 2015-09-22 22:19:43 -07:00
7b17f70635 show campaign on trade lists
Turns out ~22% of our users initially land on a trade list.
We like to keep the campaign off the pages where space is at a
premium, so we try to whitelist it to major landing pages in order
to avoid accidentally creating a bad experience on some page :)
2015-09-05 17:53:15 +00:00
Matchu
a4079d2e0c campaign 2015 copy updates 2015-08-30 16:49:46 -07:00
Matchu
b11d7a8c9c oh dang, did we just fix most of the mixed content? 2015-08-05 20:11:08 -04:00
Matchu
4a18f22571 camo the emotes on the campaign show page 2015-08-05 19:41:42 -04:00
Matchu
5d2c226357 yum, new campaigns 2015-08-05 19:26:12 -04:00
Matchu
b9a9ce3890 import from gallery
some of the stuff to support single-pageiness feels a bit hacky. ah, well :P
2015-07-28 15:05:40 -04:00
Matchu
deb0aa90f0 refactor importing 2015-07-27 13:25:24 -04:00
Matchu
dcf254a78d finally let people remove all items from the list at once.
I've been doing this manually via email for a long time,
since building new stuff in the logged-in world was a pain in the old env.

But now here we are! Finally, finally :)
2015-07-19 12:35:49 -04:00
Matchu
b639453f61 on a fresh copy of the site, hide the latest contribution section 2015-07-16 18:39:43 -04:00
Matchu
e9449b70f2 update impress repository URL :) 2015-07-16 14:21:35 -04:00
093ae27ae8 get upset when we neopets.com bans us :P 2015-07-15 00:09:17 -04:00
b0cc4c2396 swf links 2015-05-03 16:57:42 -05:00
bf9f9ed82e download links for each image size 2015-05-03 16:37:24 -05:00
caaf524060 download link in left sidebar 2015-05-03 16:01:08 -05:00
0e6f823154 toggle whether a donation campaign is advertised 2015-02-25 13:49:18 -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
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
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
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
d588253c4c campaign banner on homepage is pretty 2014-09-11 18:09:00 -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
05841d091b update terms 2014-08-25 20:57:07 -05:00
5644ecd67b fall back to image if flash unsupported in outfits#show (e.g. mobile) 2014-05-29 23:00:03 -07:00
79a96b7670 lookup link alongside neomail 2014-05-15 22:34:00 -07:00
dd0a3cd350 dont allow blank name submissions in modeling hub small form 2014-04-16 11:11:15 -05:00
44ff466a64 advanced search by pet type fit :) 2014-04-05 18:48:20 -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
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
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
9cae578ef7 basic advanced search behavior; only name supported right now 2014-04-02 20:05:18 -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
c1d9133451 add an item search form to closet so that new users will be less stumped 2014-04-02 14:53:58 -05:00
bda9f69ce9 reorganize form a bit; group like things 2014-04-02 14:18:14 -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
39f5284752 first draft of advanced search form 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
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
8e93d603fa list prank colors as fake on the homepage, unless pranks are funny today 2014-03-27 22:44:18 -05:00
8ace3111f7 oops; put impress_user field on model-a-pet homepage form 2014-01-20 16:03:40 -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
00841e45d2 modeling i18n 2014-01-20 13:56:19 -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
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
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
b6247fa22f prepare partials for closet_hangers#index, too 2013-12-27 21:48:28 -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
12a1c0f500 monocle favicon 2013-12-26 12:44:03 -05: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
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
019303031b choose list when importing from pets 2013-08-17 12:07:04 -04: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
2fc0e61394 use inline-block for petpage exports, now that TNT allow it 2013-05-06 21:50:49 -04:00
3c91f0cde0 import items to a specific list 2013-04-09 15:50:33 -05:00
e5702076ff move jquery-ui south-street assets to google cdn 2013-03-08 13:43:16 -06:00
c7237d7d44 fix a bunch of precompiled-asset-missing errors 2013-03-05 22:26:14 -06:00
cf5191d33c phew. rails 3.2.12, including some asset pipeline. still buggy. 2013-03-05 20:08:57 -06:00
4cd2755f84 oops, distinguish between owns/wants in closet petpage 2013-02-19 11:08:10 -06:00
7f2ce2839b appearance dropdown - wow, that was easy 2013-01-31 19:46:34 -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
26ac3782ec move zones to database 2013-01-24 18:26:00 -06:00
0f49d3ed02 simple locale dropdown in layouts#application 2013-01-24 18:24:33 -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
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
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
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
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
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
270f8caa3d remove sharing beta message - finally 2012-08-23 20:56:00 -05: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
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
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
c2a0c5de74 new frontpage layout, yay 2012-08-01 13:34:54 -04:00
c630cde66c outfit thumbnails beta message 2012-07-31 10:21:20 -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
249c493d25 beautiful outfits tab using thumbnails 2012-07-27 03:21:22 -04:00
b02c95c2d9 pretty tab navigation for wardrobe sidebar 2012-07-25 19:02:23 -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
7c015e2d88 carrierwave for asset swfs 2012-07-16 16:45:26 -04:00
c7c8f3a78e oops. accidentally used trading post url for auctions. fixed 2012-05-23 20:12:17 -04:00
4451800e42 added shop wiz, etc., links to NP item show page 2012-05-23 20:09:35 -04:00
63f503e7a4 keep copyright year up to date 2012-05-15 13:52:15 -05:00
f3d64840d6 filter lists on petpage export 2012-04-08 15:59:51 -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
19e854b6f8 oops, remove maintenance message 2012-01-26 13:30:12 -06:00
686d6560c4 specify size on image download 2012-01-13 19:37:56 -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
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
09fcc7fa4b remove timer donation request on outfits#edit 2011-08-07 19:57:11 -04:00