Description
Several CPU/IO-intensive operations block the request cycle:
- OG image generation via Grover/Puppeteer in
app/controllers/public_posts_controller.rb:31-38 blocks the request on cache miss
- Icon generation via Vips in
app/models/account.rb:182-194 processes images synchronously during photo upload
- Photo URL fetching via
URI.open in app/models/account.rb:253-258 blocks during OAuth signup
Recommendation
Move image processing and external URL fetching to background jobs. For OG images, consider pre-generating on post publish.
Severity
Medium