migrating all to remix
I have a shopify gadget app on react live, what's the best way to migrate it to remix?
Production extension is not working
Hi all, hope you are having a great weekend.
I recently deployed a Gadget post-purchase upsell app to production and installed it onto a test store. Previously, to view the extension and it's functionality, I had to copy the extension root URL from the development/local environment, using the Shopify Developer tools.
However, now that I have deployed the app onto a production environment, I have installed the application on a development store, but no longer see the extension in action. From my understanding, on a production environment, I no longer need to use the Shopify Developer tools to view the extension. Is that correct?...
new app.toml and extension
my gadget directory did not have any app.toml file so I created one using and linked it to my development app in partners. Then I also created an extension for that app . How do I know that when I deploy the app from gadget, then all this configuration will happen in my production app with the extension being created and available to use and all.
shopify app config link
shopify app config link
remove from queue
Is there a way to cancel scheduled background actions? like dequeue them if they havent been executed yet?
Custom Domain
I'd like to attach a custom domain to my Gadget app's production environment. I don't want to share the domain/app name publicly.
What is the best way to go about this?
Thanks...
Abandoned checkout webhook
What is the best way to recieve a webhook everytime a checkout is abandoned? Shopify has checkouts/created/updated webhooks but how do I identify which checkout has been abandoned?
could not find Shopify connection to decrypt hmac
Suddenly started getting this error for my app proxy: could not find Shopify connection to decrypt hmac

Making the AutoTable feel more native
I have an autotable populating with some data but I wanted to make some improvements to make it feel more native:
- The font size of the content is a bit too large
- It's cropping the product title column too early
I asked the AI assistant to make some changes and it's doing inline styles which I'm guessing isn't the ideal approach....

Issues subscribing to metaobject webhooks
Here is the action code
```javascript
/** @type { ActionRun } */
export const run = async ({ params, trigger, logger, api, connections }) => {
logger.info({ trigger }, "Syncing Shopify Metaobjects");...
How to use SaveBar component from @shopify/app-bridge-react
I am trying to use the SaveBar component and imported it as follows:
However I get the following error:
...
import { useAppBridge, SaveBar } from '@shopify/app-bridge-react';
import { useAppBridge, SaveBar } from '@shopify/app-bridge-react';
SyntaxError: The requested module '/node_modules/.vite/deps/@shopify_app-bridge-react.js?v=855aef6d' does not provide an export named 'SaveBar'
SyntaxError: The requested module '/node_modules/.vite/deps/@shopify_app-bridge-react.js?v=855aef6d' does not provide an export named 'SaveBar'
Can you inspect a queue size from within code?
I'd like to be able to show a progress bar for how many products have been processed after kicking off a batch job to process all the products.
Calling a Background action from a global action
I am calling a background action from a global action and it is not returning an authenticated shopify api client. This is the object it is returningg with no current object to use graphql:

Block webhook from non subscribers
My request time has surged a lot lately and it is mostly triggered by webhooks being processed. However, more than half of my app users aren't subscribed to a plan and their webhooks are being processed for no use basically, as the app is not functional for them. Currently I have a simple conditional block that calls the mantle api to check if a store is subscribed and return if they aren't but is there a way like shopify webhook filtering to entirely eliminate them?
session?.set("user", { _link: record.id }); but const userId = session.get("user"); is null
this is sign-up.ts
```
import { save, ActionOptions, applyParams } from "gadget-server";
export const run: ActionRun = async ({...
Have sentry skip GGT_RECORD_NOT_FOUND
I am seeing a lot of record not found (particularly record not found for delete actions) and I want sentry to ignore those
Computed field help
Hi guys! I'm trying to write a computed field on shopifyShop to check the amount of missing product alt texts in the store.
I had this in the past but now that it changed to product media I'm not being able to write it. Can you help?...
Non-action files in actions folder
I have a number of global / scheduled actions, and I've separated out the logic within these actions into discreet classes that are imported and run in sequence or concurrently depending on what's required. I'd like to keep these classes close to the action they're being used in, but doing that means Gadget thinks these classes are actions when they're not.
Is there a way to get Gadget to ignore these files (I've got them in a subfolder called tasks)?...
It's saying there was a timeout of the global scheduled action but it seems to be running fine
It also keeps retrying it
Trace ID: dd18f7a18cafaee46ac71c76db4cd67a
Example trace ID of the thing that the scheduled action causes to run:
a9cb0b34ba06e565f2b729c252a60e34...
