Skip to content

Instantly share code, notes, and snippets.

@jonfrench
jonfrench / delivery_app-7330.md
Created November 4, 2025 16:35
PR Review: Shopify/delivery_app#7330 - Skip processing inactive orders

Fetching PR metadata... Fetching PR diff... Loading comment history... Loading repository docs... Generating review with Claude API...

PR Review: Shopify/delivery_app#7330

Code Location: Using PR diff only (no local checkout)


@jonfrench
jonfrench / world-253764.md
Created November 3, 2025 19:03
PR Review: shop/world#253764 - [Landing Page Editor] Handle invalid JSON gracefully and filter JSON parse errors

Fetching PR metadata... Fetching PR diff... Loading comment history... Loading repository docs... Generating review with Claude API...

PR Review: shop/world#253764

Code Location: Using PR diff only (no local checkout)


@jonfrench
jonfrench / world-258222.md
Created November 3, 2025 19:02
PR Review: shop/world#258222 - Replace Sorbet type annotations with RBS-style comments in PaidAds::Spec classes

Fetching PR metadata... Fetching PR diff... Loading comment history... Loading repository docs... Generating review with Claude API...

PR Review: shop/world#258222

Code Location: Using PR diff only (no local checkout)


@jonfrench
jonfrench / delivery_app-6946.md
Created November 3, 2025 15:02
PR Review: Shopify/delivery_app#6946 - [2/3] Add maintenance task to backfill email_sent_at for update packages

Fetching PR metadata... Fetching PR diff... Loading comment history... Loading repository docs... Generating review with Claude API...

PR Review: Shopify/delivery_app#6946

Code Location: Using PR diff only (no local checkout)


@jonfrench
jonfrench / delivery_app-7292.md
Created November 3, 2025 13:45
PR Review: Shopify/delivery_app#7292 - Refactor: Centralize path building in RemoteFileService and remove S3RemoteFile.for()

Fetching PR metadata... Fetching PR diff... Loading comment history... Loading repository docs... Generating review with Claude API...

Code Review: PR #7292 - Centralize path building in RemoteFileService

Summary

This is a well-intentioned refactoring that successfully centralizes path building logic and removes the misleadingly-named S3RemoteFile.for() method. The PR demonstrates good separation of concerns and includes comprehensive test coverage. However, there are several critical issues around the location update strategy, type safety concerns, and potential data integrity problems that need to be addressed before merging.

@jonfrench
jonfrench / delivery_app-6991.md
Created November 1, 2025 13:55
PR Review: Shopify/delivery_app#6991 - Remove extra query for shop in mailer

Fetching PR metadata... Fetching PR diff... Loading comment history... Loading repository docs... Generating review with Claude API...

Code Review: PR #6991 - Remove extra query for shop in mailer

Summary

This PR addresses N+1 query issues by eager loading associations (shop and order) in background jobs before passing data to mailers. The approach is sound and follows Rails best practices for query optimization. The changes are minimal, focused, and should deliver the promised performance improvement. However, there are a few concerns around potential nil references and missing test coverage that should be addressed.

@jonfrench
jonfrench / tmp.AQCrOIp8oo
Created November 1, 2025 13:50
PR Review: Shopify/delivery_app#6991 - Remove extra query for shop in mailer
Fetching PR metadata...
Fetching PR diff...
Loading comment history...
Loading repository docs...
Generating review with Claude API...
# Code Review: PR #6991 - Remove extra query for shop in mailer
## Summary
This PR addresses N+1 query issues by eager loading associations (`shop` and `order`) in background jobs before passing data to mailers. The approach is sound and follows Rails best practices for query optimization. The changes are minimal, focused, and should deliver the promised performance improvement. However, there are a few areas that could be strengthened, particularly around testing and verification of the optimization.
@jonfrench
jonfrench / tmp.blxkiTJUx5.md
Last active November 1, 2025 13:50
PR Review: Shopify/delivery_app#6991 - Remove extra query for shop in mailer

Fetching PR metadata... Fetching PR diff... Loading comment history... Loading repository docs... Generating review with Claude API...

Code Review: PR #6991 - Remove extra query for shop in mailer

Summary

This PR addresses N+1 query issues by eager loading associations (shop and order) in background jobs before passing data to mailers. The approach is sound and follows Rails best practices for query optimization. The changes are minimal, focused, and should deliver the promised performance improvement. However, there are a few areas that could be strengthened, particularly around testing and verification of the optimization.

@jonfrench
jonfrench / tmp.vE30lou2qA
Created October 31, 2025 20:02
PR Review: Shopify/delivery_app#6991 - Remove extra query for shop in mailer
Fetching PR metadata...
Fetching PR diff...
Loading comment history...
Loading repository docs...
Generating review with Claude API...
# Code Review: PR #6991 - Remove extra query for shop in mailer
## Summary
This PR successfully addresses N+1 query issues by eager loading `shop` and `order` associations in background jobs before passing data to mailers. The approach is sound and includes proper type annotations with Sorbet. However, there are some concerns around defensive programming, potential nil handling issues, and test coverage that should be addressed before merging.
@jonfrench
jonfrench / tmp.xGEWbyToei.md
Last active October 31, 2025 19:27
PR Review: Shopify/delivery_app#6998 - Handle missing email address in attachment resend functionality

Fetching PR metadata... Fetching PR diff... Loading comment history... Loading repository docs... Generating review with Claude API...

Code Review for PR #6998: Handle missing email address in attachment resend functionality

Summary

This PR implements a solid solution for preventing email sends to orders with blank email addresses. The approach provides good defense-in-depth with validation at both the GraphQL mutation layer and clear UI feedback. The implementation is well-tested and includes comprehensive i18n support. However, there are some concerns around code duplication, error handling consistency, and the removal of the OrderService.resend_email method that should be addressed.