Commit graph

154 commits

Author SHA1 Message Date
d97c32b5da Upgrade to Rails 5.2.8.1
Some important little upgrades but mostly straightforward!

Note that there's still a known issue where item searches crash, I was hoping that this was a bug in Rails 4.2 that would be fixed on upgading to 5, but nope, oh well!

Also uhh I just got a bit silly and didn't actually mean to go all the way to 5.2 in one go, I had meant to start at 5.0… but tbh the 5.1 and 5.2 changes seem small, and this seems to be working, so. Yeah ok let's roll!
2023-10-23 19:05:05 -07:00
685ac2b4ad Make 4.1 -> 4.2 changes
Just following the recommended stuff in the upgrade guide!
2023-10-23 19:05:05 -07:00
f80d220a62 Upgrade to Rails 4.2.11.3 and Ruby 2.4.10
Some tricks required here to get the dependencies to work out, but we got it!!

Oh also, we move away from the rbenv in Ubuntu's package manager, because it doesn't support more recent Rubies like 2.4.10.
2023-10-23 19:05:05 -07:00
a15cbeb307 Remove pet state labeling & Neopets gem
This labeling technique hasn't worked in a long time bc it requires being logged in. These days we just manually label them with the 2020 support tools I think!

Clearing out the Neopets gem should help us manage some gem dep conflicts in the 4.2 upgrade too (I think the nokogiri one gets tricky?)
2023-10-23 19:05:05 -07:00
4091ce2a5b Remove dotenv-deployment, upgrade dotenv-rails
Idk exactly what's going on with dotenv-deployment, if it turns out it was critical to our deploy process then we'll change the deploy process! It's deprecated and conflicts with gem deps for `dotenv-rails`.
2023-10-23 19:05:05 -07:00
aa001f1e32 Uninstall passenger_monit
I'm not exactly sure what it was doing, whatever bye
2023-10-23 19:05:05 -07:00
375753ef89 Version the http_accept_languages gem
idk why we were pulling from git before, probably to get a feature that wasn't pushed to rubygems yet? But now the latest rubygems version matches the latest repo commit (both back in 2017 lol), so let's do that for greater stability and clarity!
2023-10-23 19:05:05 -07:00
98cbaa0c96 Delete character_encodings gem used only in 1.8
We're not on Ruby 1.8 anymore, so this never happens anyway!
2023-10-23 19:05:05 -07:00
c4f3a472ff Remove RightAWS gem
We're not connecting to AWS directly anymore, now that we deleted the SWF conversion stuff, so we can finally clear this out!
2023-10-23 19:05:05 -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
fd263ea82f Remove mall spider cron jobs
I don't think these work anymore, and our volunteers get new items into the db fast anyway, Impress 2020 is doing better spidering these days. And then we get to remove the cron job `whenever` gem!
2023-10-23 19:05:05 -07:00
Matchu
b0cceb8ce7 Uninstall Airbrake
Haven't checked it in forever, if we want an error reporting solution we'll create it fresh!
2023-10-23 19:05:05 -07:00
Matchu
fde8ec0c3b Uninstall mini_magick
I think this was probably part of the swf converters or something? Seems unused now though!
2023-10-23 19:05:05 -07:00
Matchu
31ebf7d4eb Remove OutfitImageUploader and Carrierwave
Ok right, missed this in the outfit image stuff deletion, get rid of the code and library we were using to push those images up to S3!
2023-10-23 19:05:05 -07:00
Matchu
1195a6190b Uninstall resque
Yay, we've deleted all our background tasks!

We'll probably want to replace some of the basic functionality like certain caching? But we can deal with that as we run into it.

The direct motivation here was a seeming version conflict between Rails 4.2's rack dependency and latest Resque's rack dependency... but this is just nice complexity elimination regardless, we want this anyway :3
2023-10-23 19:05:04 -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
298404208f Remove rails-observers
We deleted all the observers, so now we can delete this too!
2023-10-23 19:05:04 -07:00
Matchu
97bf520674 Update gems to Rails 4.1 (crashes!)
Lookin' good on this end, but the server isn't starting up yet, got some fixes to make!
2023-10-23 19:05:04 -07:00
Matchu
d9ff19a7a2 Remove protected_attributes gem
We cleaned up all the `attr_accessible` calls, hooray! This was blocking us from upgrading to Rails 5, so now we can!
2023-10-23 19:05:04 -07:00
Matchu
aab7dc612c Upgrade sass-rails & compass-rails
Compass wasn't working in Rails 4, there's still some errors in the details but now it's not crashing on that anymore!
2023-10-23 19:05:03 -07:00
Matchu
5d12ca0b7d Upgrade haml
I was hoping this would fix a character encoding bug, it didn't really? but it doesn't seem to hurt and is probably good to do
2023-10-23 19:05:02 -07:00
Matchu
fb332634a4 Install protected_attributes gem
Rails 4 removed `attr_accessible`, and we should move away from it to (I think we'll need to by Rails 5?), but for now we can install this and move on!
2023-10-23 19:05:02 -07:00
Matchu
b35c773be3 Remove flex from the app (breaks search!)
We'll need to replace the item search query stuff with direct MySQL queries, but that's not ready yet bc the app still isn't booting, so we're committing this in a known broken state for now!
2023-10-23 19:05:02 -07:00
Matchu
1ed973f319 Remove newrelic gem
I haven't logged into newrelic in a billion years, let's just stop sending them stuff

(This is a precursor to an attempt to delete flex stuff too and replace our elasticsearch stuff with direct mysql queries like Impress 2020 does, but that'll be more work!)
2023-10-23 19:05:02 -07:00
Matchu
72a08901c8 Upgrade to Ruby 2.2.4, Rails 4.0.13
NOTE: This doesn't boot yet! There's something changed in the `devise` API that we'll need to fix!

```
/vagrant/config/initializers/devise.rb:46:in `block in <top (required)>': undefined method `encryptor=' for Devise:Module (NoMethodError)
```

But yeah, we navigated the gem upgrades, and also I ran `rake rails:update` and hand-processed the suggestions it had for our config files.
2023-10-23 19:05:02 -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
Matchu
9cb71da77c Upgrade to Rails 3.2.22.5
I'm just giving the app a very quick scan on critical pages, it's possible I'm missing some issues on paths that are harder to test rn like openneo_id auth, but I'll check in on that later I think?
2023-07-21 18:33:04 -07:00
Matchu
e7ec7147ea Update gems
Ha, I forgot we're including all the vendored gems in the git repo. Maybe that's worth changing? But fine to leave as-is for now.
2023-07-21 18:07:36 -07:00
Matchu
8ce1262c63 nvm, downgrade whenever 2015-07-17 18:26:31 -04:00
Matchu
0d6caceb24 improve app infrastructure to make a dev environment easier to reproduce
This commit will require a few changes to the deployment process:
* store AWS credentials in AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY env vars
* store OpenNeo Auth credentials in OPENNEO_AUTH_APP, OPENNEO_AUTH_SERVER, and OPENNEO_AUTH_SECRET env vars

STRIPE_SECRET_KEY and STRIPE_PUBLISHABLE_KEY are now required, too; better have a good .env.
You can always put in dummy values if you have no credentials, though; they only get called up if there's a transaction.

SECRET_TOKEN is now an env var, too, but the production deploy process currently replaces config/initializers/secret_token.rb anyway; this might be the way to go later, though.
2015-07-16 17:44:52 -04:00
e60ae13399 lol false alarm, dotenv-deployment is back for starting resque workers 2014-09-11 22:12:38 -05:00
ba5ca2b463 drop dotenv-deployment; env vars now in nginx config, instead :P 2014-09-11 21:58:23 -05:00
bf9916d83b hum dee dum, dotenv-deployment 2014-09-11 21:20:17 -05:00
f11f6374da donation mailer 2014-09-10 14:32:54 -05:00
595b1c2fc5 charge and record donations 2014-09-09 21:11:55 -05:00
a8641a654c update to rails 3.2.18 2014-05-06 20:39:57 -04:00
fd106d7dba basic modeling buttons
no behavior yet, nor are they filtered
2014-01-10 16:25:03 -05:00
728ff60c5f move item cache sweeping and flex syncing to background tasks 2013-12-09 00:12:05 -06:00
5ba01b5672 update to rails 3.2.16 for security 2013-12-03 14:48:03 -06:00
3bf5680476 track passenger pids for easier monitoring (why do they take so much memory?!) 2013-11-30 20:47:02 -05:00
d767953ef3 use addressable 2.3.5 for ruby 2.0 compatibility 2013-07-09 20:06:43 -07:00
abe35c6fd9 throttle pet loads per ip 2013-07-02 14:10:01 -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
d7c027718d security update: rails 3.2.13 2013-03-18 13:25:49 -05: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
cf5191d33c phew. rails 3.2.12, including some asset pipeline. still buggy. 2013-03-05 20:08:57 -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
a568ea53cf json 1.7.7 security update 2013-02-11 13:03:59 -06:00
5985e234da pet states know their localized description 2013-01-31 19:11:15 -06:00
d390e61f5b add rails-i18n for standard rails api translations 2013-01-30 20:57:32 -06:00
8d24304ff5 security update: rails 3.0.20 2013-01-28 15:34:44 -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
0e5978d92d update resque to see if maybe it fixes the stupid problems 2013-01-28 03:48:53 -06:00
a39110884d cut down on pets#load queries 2013-01-28 02:10:25 -06:00
c2ae3da11c oops: use public git uri for flex gem 2013-01-26 23:48:59 -06:00
9c37e894f7 translate species/color 2013-01-26 10:34:48 -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
d79c225c1e apply globalize3 to items 2013-01-24 18:24:34 -06:00
d96c54f3cc infer locale from params, then cookies, then Accept-Language header 2013-01-24 18:23:21 -06:00
df5c7fe3d4 security upgrade to rails 3.0.19 2013-01-08 20:39:44 -06:00
86b58a0a35 upgrade to rails 3.0.18 - only patch upgrades, no API changes 2013-01-02 22:44:24 -05:00
45524c3d69 newrelic_rpm security upgrade 2012-12-06 14:13:04 -06:00
4a69772cd2 remove N+1 queries on current user outfits page 2012-08-09 18:32:33 -04:00
38a9e620c4 Merge branch 'outfit_thumbnails' 2012-07-31 11:21:28 -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
0633f6012a fix cron job scheduler 2012-07-24 12:05:34 -04:00
220aca9311 outfit thumbnails initial commit 2012-07-16 16:45:26 -04:00
1fb17909b1 update gemfile (mainly for neopets 0.0.2) 2012-06-05 13:41:25 -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
64054d412e new relic 2012-04-08 16:37:32 -05:00
f8c8b04929 downgrade mysql2, oops 2012-01-12 20:31:50 -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
2be573423f update rocketamf repo 2011-07-31 23:20:04 -04:00
358840076c closet lists, round one 2011-07-29 10:52:04 -04:00
1c84a4bef9 closet page, closet hanger 2011-07-14 13:56:20 -04:00
74482dbf75 use dev version of resque-scheduler so we can use its pidfile option 2011-06-21 11:54:32 -04:00
43f373fc36 use resque-retry to reschedule failed jobs 2011-06-21 11:22:45 -04:00
cf94c7ef59 utf-8 support in both ruby 1.9 and 1.8 2011-06-04 18:40:15 -04:00
3db7e7c7b2 remove thin and memcache event machine gem requirements 2011-06-04 10:58:41 -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
7b1c775373 add production mysql2 dependency 2011-02-09 18:28:50 -05:00
cb0fb4bc86 security update: rails -> 3.0.4 2011-02-08 20:15:06 -05:00
47fcf0030e bundle update 2011-02-05 22:51:19 -05:00
8c8776ff63 devise implemented, but not remembering 2011-01-26 13:40:15 -05:00
1e8ec13bfe move to unstable rocketamf so that it builds hashes from registries, not arrays 2011-01-13 17:22:07 -05:00
ca9e1fb0ca cache item show pages as a first try :) 2010-12-08 20:15:46 -05:00
e32fcb24ca bump version on openneo auth signatory to ensure we load the correct version 2010-11-28 20:49:34 -05:00
0b6e22b8a6 cron via whenever for mall spider 2010-11-27 18:59:35 -05:00
60ab4db8c1 rails 3.0.3, negating arel condition is not(c) instead of c.not now 2010-11-16 17:26:06 -05:00
7b2ed2cca4 include hoptoad 2010-11-14 16:06:31 -05:00
b2b9722d6a add thin to the bundle so that we can use bundle exec thin 2010-11-13 15:13:41 -05:00
895c6e721e auth works - yaaay 2010-10-18 17:58:45 -04:00
e40d4601d8 a functioning wardrobe 2010-10-10 22:18:42 -04:00
e85c50bf62 support concurrent requests. now demands thin and nginx, but hey. it works 2010-10-10 18:46:58 -04:00
60f3d237e8 specify sqlite3-ruby required 2010-10-10 17:29:44 -04:00
bb233359d8 core of pet loading, still needs get image hash, download assets 2010-10-07 10:46:23 -04:00