Commit graph

1155 commits

Author SHA1 Message Date
b7293f74f9 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-08-02 17:55:32 -07:00
9ad464a7f7 Invalidate old session cookies
The session format changed, so we change the session cookie name rather than have things crash about it! (I hope the actual prod behavior is to ignore bad cookies rather than crash? But I figure this is more reliable anyway.)
2023-08-02 17:37:09 -07:00
5b738f5930 Add web console support for Vagrant users 2023-08-02 17:36:32 -07:00
afc9c0da7e Fix stray bugs on minor codepaths
I ran `rails zeitwerk:check`, which eager-loads the app, and it found two problems: `closet_group.rb` doesn't define `ClosetGroup` (cuz it's empty), and I left in a reference to a cache sweeper observer oops. Goodbye!
2023-08-02 17:28:22 -07:00
24e59c6258 Upgrade to Rails 6.0.6.1
Another pretty easy one! We have the `rails app:update` changes in here too.
2023-08-02 17:27:11 -07:00
639b4114c9 Update all our gems as far as we can
Got pretty far, there's a couple still held back by Rails 6+, but yeah doing great!
2023-08-02 17:16:24 -07:00
c576a8e8e9 Fix gems we'd locked to old versions
Now that we're on Ruby 2.6, the constraints on the latest versions of these dependencies are satisfied, so we can stop holding them back!
2023-08-02 17:12:33 -07:00
0a1e0a2e17 Upgrade to Ruby 2.6.10
Pretty smooth one! We also get to finally be on latest Bundler with this!
2023-08-02 17:07:30 -07:00
257843234b Fix moving closet hanger to null-list
Rails 5 added new validation on `belongs_to` to ensure the corresponding record exists. In the case of moving to the null list, this shouldn't trigger!

I wish we could flag that specifically `nil` is okay, but other values should be validated? But oh well, this is fine!
2023-08-02 16:34:41 -07:00
9d720a47e4 Clarify will_paginate's Gemfile comment 2023-08-02 16:30:17 -07:00
111d4dcaee Fix bug with Arel ordering
Ok so weird little situation, usually Arel will accept an attribute as a param to `order()`, but not when it's in a very specific situation of all of the following:

`Item.joins(:translations).includes(:translations).limit(30).order(Item::Translation.arel_table[:name])`

For some reason, it's all like "hey I can't call `to_sql` on an attribute!", but only in the scenario where all 3 of those other things are present. Weird!

Anyway, explicitly saying `.asc` fixes this. Ok!
2023-08-02 16:29:31 -07:00
c2866f832d Fix missing attribute error on homepage
Whoops, this has just always been wrong, right? I wonder what used to happen. Did it send extra queries???
2023-08-02 16:24:27 -07:00
ed451ffc12 Upgrade web-console
Huh, error pages weren't actually working on this older version of web-console, but now they are!

Solution found here: https://discuss.rubyonrails.org/t/question-dev-mode-500-errors-not-displayed-config-consider-all-requests-local-not-honored/78453/7
2023-08-02 16:20:50 -07:00
2c6fd36455 Run rails app:update
We accepted some changes as-is, but for development.rb and production.rb we read the diff and manually edited them!
2023-08-02 16:18:54 -07:00
4f564db785 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-08-02 16:05:09 -07:00
b4d6fbc147 Make 4.1 -> 4.2 changes
Just following the recommended stuff in the upgrade guide!
2023-08-02 15:41:22 -07:00
88c2ecb43a 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-08-02 15:19:23 -07:00
fb04c68294 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-08-02 14:58:16 -07:00
e7529f5bc3 Delete utf8 backfill for old Ruby
Idk if the replacement `require` is necessary exactly, but it's the one-to-one replacement for this lib, so let's start there for now!
2023-08-02 14:45:07 -07:00
8033434a2f Delete unused deferred_attributes lib
No idea what this was! Goodbye!
2023-08-02 14:43:38 -07:00
a6cc37eac7 Delete ~empty initializer files
Idk I guess these are the default place to put certain settings, but idk if they're still canonical, and I'd rather just not have files that don't mean anything rn!
2023-08-02 14:42:17 -07:00
65019042f9 Delete unused Pledgie files
This was back when we used a third-party campaign tool! Haven't run this code in ages!
2023-08-02 14:40:48 -07:00
6b192cef09 Delete unused bullet.rb config file 2023-08-02 14:40:13 -07:00
a4314d61d5 Remove unused species/color/zone config files
This is all in the database now! Has been for a long time!
2023-08-02 14:38:49 -07:00
4aeea86e08 Delete empty file item_zone_sets.yml
Huh.
2023-08-02 14:37:01 -07:00
e94c03b01f 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-08-02 13:41:37 -07:00
855057dee2 Uninstall passenger_monit
I'm not exactly sure what it was doing, whatever bye
2023-08-02 13:36:53 -07:00
cf7fd19dde Clean up the Gemfile + add explanations
Grouping stuff a bit more sensibly and with explanations! I just finished deleting a bunch of gems we're not really using, and this helped me audit that the ones we still have here we generally actually want.
2023-08-02 13:36:28 -07:00
513fcba1d6 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-08-02 13:24:56 -07:00
c58dd5be86 Delete character_encodings gem used only in 1.8
We're not on Ruby 1.8 anymore, so this never happens anyway!
2023-08-02 13:22:34 -07:00
89b3282d4d 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-08-02 13:20:22 -07:00
Matchu
c44daea318 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-08-02 13:16:22 -07:00
Matchu
7e3658d329 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-08-02 13:11:51 -07:00
Matchu
5ff10673d5 Uninstall Airbrake
Haven't checked it in forever, if we want an error reporting solution we'll create it fresh!
2023-08-02 13:08:58 -07:00
Matchu
8ff3b2bc1e Uninstall mini_magick
I think this was probably part of the swf converters or something? Seems unused now though!
2023-08-02 13:07:57 -07:00
Matchu
e11cfbf016 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-08-02 13:07:29 -07:00
Matchu
264ea37e1a Delete WardrobeTip model
lmao I have zero recollection of this, I've been generally trying to avoid too-far-off-the-path cleanup, but this one just seems silly, goodbye
2023-08-02 13:05:30 -07:00
Matchu
b8559f33cb Clarify image path methods for SwfAsset
Using `s3_path` and stuff made it sound like we were still referencing the original Amazon S3 images - but actually our new asset proxy just uses the same path structure, and we didn't change anything about it.

Oh also I deleted an after_conversion method that isn't used anymore, forgot about that!
2023-08-02 13:00:44 -07:00
Matchu
8a20c9be02 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-08-02 12:53:56 -07:00
Matchu
225f784732 Remove outfit image saving
This has already been moved to Impress 2020 too, so we can delete all the image generation and saving!
2023-08-02 12:51:10 -07:00
Matchu
9de50deb3c 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-08-02 12:43:45 -07:00
Matchu
ab67dc361e Remove rails-observers
We deleted all the observers, so now we can delete this too!
2023-08-02 12:30:05 -07:00
Matchu
2de9e9f45a 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-08-02 12:29:34 -07:00
Matchu
caa0859a2d Stop caching pet type images on item page
That's easy queries and easy templates!
2023-08-02 12:22:39 -07:00
Matchu
99910aff6a Stop caching item page contributors
This lets us remove the contribution observer too!
2023-08-02 12:10:38 -07:00
Matchu
f277ad9ffd Oops, remove item_observer from config 2023-08-02 12:08:48 -07:00
Matchu
c9e00f1d7c Stop caching latest contribution
That's another tiny query that I'm okay with just removing the cache overhead complexity for right now!
2023-08-02 12:04:09 -07:00
Matchu
596c2a1320 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-08-02 12:02:19 -07:00
Matchu
e9c16891c8 Remove newest_items caching from items page
Yeah I'm very unconvinced of the merit of saving us one items/translations query lmao
2023-08-02 11:47:03 -07:00
Matchu
3ea22e6977 Remove as_json item caching
Again I'm just not convinced of the perf on this, and it enables us to delete some whole infra over it, we can improve it another time if it's useful to!
2023-08-02 11:41:19 -07:00