Skip to content

[E] Upgrades and Entity Maintenance Improvements#204

Merged
scryptmouse merged 10 commits into
mainfrom
ag/upgrades-and-entity-maintenance
Mar 18, 2026
Merged

[E] Upgrades and Entity Maintenance Improvements#204
scryptmouse merged 10 commits into
mainfrom
ag/upgrades-and-entity-maintenance

Conversation

@scryptmouse
Copy link
Copy Markdown
Contributor

  • Update to Ruby 3.4.9, Rails 8.1
  • Use PG 18 client
  • Significantly refactor entity maintenance for performance improvements
  • Use eager loading in lieu of graphql-batch
  • Merge in release branch and service tagging of docker images for Kamal deploys

* Use Valkey 8 images instead of Redis in docker compose, since
  that's what we're running when deployed
* Use pgautoupgrade image for future upgrade tasks
The batch loaders seem to introduce unusable delay on very large
dependency trees, like we see with layouts and templates, as well
as entities in general. This uses a new approach to eager load
things that are commonly fetched for entities and other mdoels,
with special handling when invoking the layout itself.
* Remove ActiveSupport::Configurable (gone in 8.2)
* Update rubocop & related lints
* Centralize all lifecycle entity maintenance into a single operation:
  `Entities::Maintainer`. This allows us better control over what
  happens when an entity is saved, avoid double-maintenance when
  Shrine persists attachments, etc.
* Move entity indexing to an asynchronous operation
* Improve schema properties application
* Improve ordering refreshes to not rely on dry-effects, remove
  deprecated "deferred" logic
* Move more upsert / delete operations to use merge instead
* Make writing schematic texts significantly more efficient, merge
  all at once instead of n+1 and only update them if there are
  actual changes
* Significantly improve performance of both calculating and auditing
  AuthorizedEntity, latter now runs in a second or two instead of 40+s
@scryptmouse scryptmouse merged commit 24b1417 into main Mar 18, 2026
2 checks passed
@scryptmouse scryptmouse deleted the ag/upgrades-and-entity-maintenance branch March 18, 2026 22:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant