The point that a handler alone doesn't mean Shopify will ever call it is the one that bites people most. A small tip: after each deploy, log the active webhook subscriptions (or query them via the Admin API) and compare against what the app expects, so a missing scopes_update topic fails loudly instead of leaving sessions stale. Do you also guard against out-of-order deliveries when updating the session scope?
Ethan Moore
The point that a handler alone doesn't mean Shopify will ever call it is the one that bites people most. A small tip: after each deploy, log the active webhook subscriptions (or query them via the Admin API) and compare against what the app expects, so a missing scopes_update topic fails loudly instead of leaving sessions stale. Do you also guard against out-of-order deliveries when updating the session scope?