willow.camp Updates August 16, 2025
It felt like a quiet week on willow.camp but somehow I still got lots done.
Aside from the release notes below, I’m focusing my energy on getting proper favicons for willow.camp blogs.
My first version of this will use OpenMoji emojis for favicons. I like their simple design principles and especially like that they are CC-BY-SA 4.0, similar to willow.camp’s source code.
Here’s how I think I’ll approach this:
- Include OpenMoji assets in the willow.camp source code.
- Use their source map to populate a choices.js dropdown on the settings page.
- Then save the Unicode reference to the database and use that to fetch the correct favicon files when rendering a page.
OpenMoji provides pngs in two sizes, so I’ll need to resize them for the best cross-device compatibility.
Okay, on to this week’s summary!
Improvements
- Migrated system tests from Selenium to Cuprite for better performance and reliability
- Optimized
ReservedWordswithSetdata structure for faster lookups - Added post-deploy script to send deploy messages to Discord
Security & Dependencies
- Updated Rails from 8.0.2 to 8.0.2.1
- Updated ActiveRecord from 8.0.2 to 8.0.2.1
- Updated Pagy from 9.3.5 to 9.4.0
- Updated solid_cable from 3.0.11 to 3.0.12
- Updated Honeybadger from 6.0.4 to 6.0.5
- Updated Jbuilder from 2.13.0 to 2.14.1
- Updated CommonMarker from 2.3.1 to 2.3.2
- Updated Lefthook from 1.12.2 to 1.12.3
- Updated GitHub Actions dependencies (actions/checkout v4→v5, browser-actions/setup-chrome v1→v2)
- Implemented subdomain validation and bot protection in
Rack::Attack - Added user agent and IP logging to Honeybadger error context to better understand bot behaviour
Bug Fixes
- Fixed deprecated
:unprocessable_entitystatus code (replaced with:unprocessable_content) - Temporarily disabled auto-save functionality. This isn’t a bug fix. Sorry! I want to get to fixing this soon.
- Remove social_share_image JavaScript and HTML. I am going to sit on this a bit. I want this to be rendered server-side instead of in the browser. Once I integrate OpenMoji, this will be much easier because I’ll have png assets available on the server.