Commit graph

2299 commits

Author SHA1 Message Date
b03b32c538 Merge branch 'main' into feature/wardrobe-v2
# Conflicts:
#	app/models/outfit.rb
#	spec/models/outfit_spec.rb
2026-01-20 18:53:21 -08:00
04ed182cef First draft of auto-modeling
Run `rails items:auto_model`! We'll set this up on a cron if we continue to be satisfied with the results.
2026-01-20 18:37:17 -08:00
fff8079a63 Remove temporary files used in previous glitch-fixing commit
This reverts commit 08a64d4987.
2026-01-19 11:15:33 -08:00
08a64d4987 Remove glitch from items resolved by the new renderer fix
I'll revert this commit in a sec, these are just temporary files I used to audit our assets with the `DISPLAYS_INCORRECTLY_BUT_CAUSE_UNKNOWN` glitch, and remove it from the ones I've decided seem functional now.

This commit is intended as a historical record of what we changed in the database and how and why.

```
["DISPLAYS_INCORRECTLY_BUT_CAUSE_UNKNOWN"] -> [] | A Grey Day Background | Item 39708 | Asset 39694 | http://impress.openneo.net/swf-assets/39694?playing=true
["DISPLAYS_INCORRECTLY_BUT_CAUSE_UNKNOWN"] -> [] | A Haunting Path Background | Item 78585 | Asset 468669 | http://impress.openneo.net/swf-assets/468669?playing=true
["DISPLAYS_INCORRECTLY_BUT_CAUSE_UNKNOWN"] -> [] | Autumnal Scenescape | Item 80632 | Asset 497773 | http://impress.openneo.net/swf-assets/497773?playing=true
["DISPLAYS_INCORRECTLY_BUT_CAUSE_UNKNOWN"] -> [] | Beautiful Butterfly Foreground | Item 83714 | Asset 558774 | http://impress.openneo.net/swf-assets/558774?playing=true
["DISPLAYS_INCORRECTLY_BUT_CAUSE_UNKNOWN"] -> [] | Food Fight Shower | Item 57781 | Asset 139542 | http://impress.openneo.net/swf-assets/139542?playing=true
["DISPLAYS_INCORRECTLY_BUT_CAUSE_UNKNOWN"] -> [] | Glowing Light Sky Background | Item 54176 | Asset 112686 | http://impress.openneo.net/swf-assets/112686?playing=true
["DISPLAYS_INCORRECTLY_BUT_CAUSE_UNKNOWN"] -> [] | MiniMME11-S1: Approaching Eventide Skirt | Item 65801 | Asset 225267 | http://impress.openneo.net/swf-assets/225267?playing=true
["DISPLAYS_INCORRECTLY_BUT_CAUSE_UNKNOWN"] -> [] | MiniMME11-S1: Approaching Eventide Skirt | Item 65801 | Asset 225277 | http://impress.openneo.net/swf-assets/225277?playing=true
["DISPLAYS_INCORRECTLY_BUT_CAUSE_UNKNOWN"] -> [] | MiniMME11-S1: Approaching Eventide Skirt | Item 65801 | Asset 225805 | http://impress.openneo.net/swf-assets/225805?playing=true
["DISPLAYS_INCORRECTLY_BUT_CAUSE_UNKNOWN"] -> [] | Mutant Containment Suit | Item 81643 | Asset 520525 | http://impress.openneo.net/swf-assets/520525?playing=true
["DISPLAYS_INCORRECTLY_BUT_CAUSE_UNKNOWN"] -> [] | Negg Fountain Background | Item 82391 | Asset 537342 | http://impress.openneo.net/swf-assets/537342?playing=true
["DISPLAYS_INCORRECTLY_BUT_CAUSE_UNKNOWN"] -> [] | Rainbow Fountain Background | Item 36747 | Asset 27886 | http://impress.openneo.net/swf-assets/27886?playing=true
["DISPLAYS_INCORRECTLY_BUT_CAUSE_UNKNOWN"] -> [] | Written Word Shower | Item 51134 | Asset 94213 | http://impress.openneo.net/swf-assets/94213?playing=true
["DISPLAYS_INCORRECTLY_BUT_CAUSE_UNKNOWN"] -> [] | Starry Glowstone Path Background | Item 74542 | Asset 390340 | http://impress.openneo.net/swf-assets/390340?playing=true
```
2026-01-19 11:14:22 -08:00
dd2f6be79f Fix HTML5 rendering differences in us vs Neopets
I pulled the source map for the Neopets renderer, and had Claude compare it to ours. It noticed the key issue responsible for a high number of unsolved rendering issues: we weren't setting up the `MotionGuidePlugin`, which I've never heard of before. Whoops!

In addition to this, we made some other minor fixes for consistency:
- Use whatever Stage object the library exports (will sometimes be StageGL)
- Resize the stage rather than the clip (shouldn't matter?)
- Send a callback to the library when done (I'm not aware of any anims that use this but some may!)

The specific item I was debugging was "Food Fight Shower", and it works now! But I also know we've had a solid handful of similar inexplicable wild rendering bugs, which I imagine this solves as well.

We might want to consider auditing our Known Glitches on SWF assets to see how many of them can be removed, now that this is resolved.
2026-01-19 11:00:59 -08:00
6aff39dfed Always show rack-mini-profiler in development 2026-01-17 22:16:33 -08:00
5f342ae0ee Upgrade rack-mini-profiler 2026-01-17 22:16:33 -08:00
e9235d0b40 Upgrade to rspec-rails 8.0.2 2026-01-17 22:16:33 -08:00
790f8a3016 Upgrade to haml 7.2 2026-01-17 22:16:33 -08:00
d0c8c9d9c0 Upgrade from dotenv-rails to dotenv 3.2
dotenv-rails is no longer required, the Rails autoloading is included in basic dotenv now
2026-01-17 22:16:31 -08:00
359f368d80 Upgrade to sanitize 7.0
No specific motivation here, no awareness of security issues; this is just an important gem to be unusually on top of, to prevent XSS attacks.

We were previously on 6.1.3, the previous release, and the only changes were Ruby compatibility and additionally supported CSS properties (which we don't use). But this just keeps us more easily plugged into potentially important fixes down the line.
2026-01-17 21:57:45 -08:00
8a34fe76a2 Oops, add vendor/cache for all platforms
Locally, I also ran `bundle config set --local cache_all_platforms true` to ensure this happens automatically going forward.
2026-01-17 21:50:10 -08:00
91fba090fa Remove solargraph
This is a Ruby LSP that I no longer use, because I'm on RubyMine full-time.

My immediate motivation for this change is that solargraph's eventual dependency on the `parser` gem triggers warnings on all Rails commands, hinting that it doesn't support the *exact* Ruby version we use.

This could potentially be resolved by upgrading Solargraph or some of its dependencies, but since I'm not using it anyway, may as well just remove!
2026-01-17 21:39:45 -08:00
38956030ed bundle update
Just a general update for bugfixes etc!
2026-01-17 21:34:56 -08:00
56bb87f54f Update omniauth-rails_csrf_protection to 2.0.1
This resolves a deprecation warning for its usage of `ActiveSupport::Configurable`.
2026-01-17 21:32:53 -08:00
59d1f5bae8 Remove now-deprecated has_rdoc config in RocketAMF gemspec
This was causing a deprecation warning. Fixed!
2026-01-17 21:21:42 -08:00
dcbdf17e56 OutfitImageRenderer: Handle different layer sizes
Example: http://localhost:3000/outfits/new.png?species=18&color=40&pose=HAPPY_MASC&objects%5B%5D=78994

Before this change, the cape renders too big. Now, it renders correctly.
2026-01-17 21:20:25 -08:00
c241dc33b0 Remove successfully-run item encoding repair script 2026-01-04 19:23:43 -08:00
83281591b3 Fix inconsistent item string encoding
We discovered a previous string encoding bug fix that was causing crashes for some items, was casuing *other* items to get reencoded incorrectly.

In this change, we make the reencoding conditional, only if parsing as UTF-8 is failing.

We also include a temporary repair script, to run in production then delete—but held here in git history for posterity.
2026-01-04 19:20:31 -08:00
7430e12655 Extend rails pets:load to look up arbitrary pets & items 2026-01-04 18:38:01 -08:00
a9c9f94dde Fix PB item handling for Christmas Varwolf
It says "This item is part of a deluxe paint brush set.", with a period instead of exclamation mark.

There are also a couple cases where the paint brush item additionally has an "inspired by" credit after the first sentence. Rather than get picky about the pattern, we expand the `pb?` method to just check for the sentence as a substring, like the DB filter logic for `Item.is_pb` already does.
2026-01-04 14:22:35 -08:00
4e00f5d1af Add basic item JSON response (with trade values + counts) 2026-01-04 13:55:33 -08:00
aa45ea17b3 Add image comparison tests for OutfitImageRenderer 2026-01-04 13:31:01 -08:00
55fa50c22a Add basic image generation route /outfits/new.png 2026-01-03 11:44:43 -08:00
f823bac717 Add alt style support to Outfit#visible_layers 2026-01-03 11:05:23 -08:00
cf80f96410 Add tests for Outfit#visible_layers 2026-01-03 10:57:58 -08:00
f545510edc [WV2] Custom play/pause animations button 2026-01-03 10:44:10 -08:00
23e951edcd Add Lebron links when there is no known trade value
because the new site has useful trade info anyway!
2025-12-27 19:24:09 -08:00
aac3e5a5a9 Update Lebron links to new Stylisher site 2025-12-27 19:09:38 -08:00
cbf69e1189 [WV2] Split template into partials 2025-12-26 23:19:39 -08:00
9ea48f6e8c [WV2] Improve pose picker button styles
Make it more subtle, to create clearer hierarchy between species/color and pose
2025-12-26 23:11:22 -08:00
812e8226bb [WV2] Unify button styles 2025-12-26 23:01:40 -08:00
955aeb984e [WV2] Simplify item search layout 2025-12-26 22:43:17 -08:00
74386b45d7 [WV2] More advanced mobile layout 2025-12-26 22:32:20 -08:00
ba0612b694 [WV2] Fix controls area width on mobile 2025-12-26 22:28:24 -08:00
b36b1577b5 [WV2] Fix cursor for outfit viewer play/pause 2025-12-26 22:19:06 -08:00
fb8fb4b27e [WV2] Fix anchor positioning for pose picker popover 2025-12-26 22:15:57 -08:00
02a64ef639 Merge branch 'main' into feature/wardrobe-v2 2025-12-26 21:23:33 -08:00
18a7e8fd9e Lock gem versions for all relevant platforms
We run DTI on a few different architectures in practice, and the `vendor/cache` directory can be a bit confusing to manage when switching dev machines.

In this change, we add all our common dev machine platforms to the Gemfile.lock, so precompiled gems for all of them are cached, granting us resilience against the possibility of Rubygems going down, and speeding up deploys & installation.
2025-12-26 21:21:35 -08:00
9c4a0cd7a3 Remove unused react-rails gem
The connection_pool gem changed their API, which caused a breakage in our react-rails gem.

It turns out though, we're not actually using react-rails anymore. It's primarily for React server-side rendering, which we don't do. Our React code is bundled as normal Javascript via our usual asset pipeline.

So, to resolve the gem incompatibility, we remove react-rails altogether. Neat!
2025-12-26 20:58:14 -08:00
d23f16c217 Merge branch 'main' into feature/wardrobe-v2 2025-12-26 20:44:57 -08:00
63f8768cc3 bundle update 2025-12-26 20:42:18 -08:00
7459037c8a [WV2] Simplify item search pagination
I'll want to do it smarter than this, but for now, just getting rid of the page links altogether seems best
2025-11-26 16:58:38 -08:00
6eace54c34 [WV2] Pose picker popover 2025-11-11 18:07:06 -08:00
76496f8a6d [WV2] Pose picker first draft 2025-11-11 17:41:57 -08:00
78931ddb47 [WV2] Move to a new WardrobeController 2025-11-11 17:21:03 -08:00
811bb3e036 Merge branch 'main' into feature/wardrobe-v2 2025-11-11 12:57:25 -08:00
efd92f6367 Upgrade to Rails 8.1 2025-11-11 12:38:25 -08:00
b257de85f2 Allow more flexible development DB config 2025-11-11 12:20:25 -08:00
ab46d90d6a [WV2] Wearing item unwears incompatible items 2025-11-03 07:50:03 +00:00