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.
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.
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.
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!
Added prominent warnings in multiple locations to prevent accidental
database migrations that would break Impress 2020:
README.md:
- Added critical warning in "OpenNeo ID Database" section
- Highlighted that Impress 2020 directly accesses both databases
- Added warning in "Deployment" section about schema compatibility
- Linked to detailed documentation
docs/impress-2020-dependencies.md:
- Clarified both databases are directly accessed by Impress 2020
- Added new "Database Consolidation Blocker" section
- Documented that consolidation migration is ready but blocked
- Provided options to unblock (retire I2020 or coordinated deployment)
This ensures future developers (including future me!) are aware of this
critical dependency before proposing database schema changes.
Related: feature/consolidate-auth-database branch contains a ready-to-go
database consolidation, but it's blocked on Impress 2020 retirement.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>