Gadget Developers

GD

Gadget Developers

Build SAAS apps alongside thousands of other Gadget developers. Get help, and offer help to others in the community.

Join

Initial shop sync failed - what to do

Hi, when a shop installs, I run an initial sync of products, variants, collections, productMedia... Sometimes this sync fails. E.g. just now failed with 28 errors, all of them being GGT_INTERNAL_ERROR: Unexpected HTTP error from sandbox: Response code 502 (Bad Gateway) TraceID: 3878f6febfa876b1a21fc04bcc3c07a3 ...

About app subscriptions, I have a question.

For example, I currently offer two subscription plans: Basic ($9.9) and Premium($14.9). The Basic plan provides core features and 1,000 AI usage credits. The Premium plan offers 10,000 AI usage credits, building on top of the Basic plan benefits. Suppose a user purchases the Basic plan on the 1st of the month and then upgrades to the Premium plan on the 15th. How would the charges be calculated on Shopify? And how should Gadget handle the update?...

Deployment blocked by internal framework error

I'm getting a persistent error that's preventing my Discord bot app from deploying: Error: Cannot find module '@gadgetinc/api-client-core' Location: /gadget/app/.gadget/client/dist-cjs/index.js ...

Porting a "Public" app into a "Custom" app

Hi guys, we are building a Public Shopify App (which is in draft mode) in Gadget. We want to test it on a live Shopify store. Is there an efficient way to make a copy of the app as a Custom app? Appreciate any guidance 🙏

I still see warnings that a model's search index is still being built

Hi, I created a model yesterday afternoon and when I use findMany with a search param I don't get results even though I should. I checked the logs and see this message. That's understandable because I just created the model and loaded it with 3,500 records. But when I checked the next morning I still get the message. I wouldn't expect the index to take this long....
No description

We merged your local files with your environment's files 10 times, but your local and environment's

Hi, I ran into this issue and Ihave narrowed the problem the problem down to permissions on Windows. Is there a way I can very quickly skip/fix this locally? The sync works but the server won't start due to the issue mentioned, so hot reloading is not working for me during development phase. https://github.com/gadget-inc/ggt/issues/1707...

failing App Store review for GDPR compliance webhooks

My Shopify app is failing App Store review for GDPR compliance webhooks. The review says 'Your app needs to use mandatory compliance webhooks for customer privacy.' I have the webhooks implemented and working in my app, but Shopify's review system can't verify them. How do I make GDPR webhooks visible to Shopify's review when using include_config_on_deploy = false?

SECRET_KEY Changed

Our Gadget app had been working fine for about a year, then we started getting errors on our generated tokens. We have a SECRET_KEY set in our env vars within Gadget. Within api/routes/POST-generate-token.js we have: const token = crypto .createHmac('sha256', process.env.SECRET_KEY)...

Ignoring enqueued action with duplicate ID

Hi, I have an action that processes some incoming webhooks from another platform. For some updates, a few come in quick succession, so I want to ignore the duplicates. I have code that uses the "id" option of enqueue so that it blocks these subsequent duplicates from getting queued. However I am still getting messages in the log when this occurs (GGT_DUPLICATE_BACKGROUND_ACTION_ID: This background action can't be enqueued as its ID is already in use by another background action.). I have tried the onDuplicateID: "ignore" option, but it does not seem to have any affect? Is there any way to suppress this message? As it just seems wasteful....

How to pass parameters from one action to another using api.enqueue()

Context: I have a multi-step CSV processing workflow with two actions: parseCsvFromFtp.ts - Initial action that processes CSV files and enqueues background jobs processCsvInBackground.ts - Background job that handles the actual CSV parsing...

Illegal invocation error calling gadget API from cloudflare worker

I wonder if anyone else has run into this. We are trying to use our Gadget client from a Cloudflare worker, and we are getting
Illegal invocation: function called with incorrect `this` reference. See https://developers.cloudflare.com/workers/observability/errors/#illegal-invocation-errors for details.`
Illegal invocation: function called with incorrect `this` reference. See https://developers.cloudflare.com/workers/observability/errors/#illegal-invocation-errors for details.`
...

Gadget Ai assistant times out after every request.

Hi, I had an issue with this a few months ago and it was checked on. And someone on the gadget team said they updated something for me. But I haven’t been able to use the gadget AI assistant in months, even if I start numerous new chats. It seems to constantly time out. Usually the timing out occurs when it’s reading over a file. But I’ve tried this with tons of different files. Reloaded, different browsers. Pretty much everything. I really wish I could use the AI assistant because it’s very ver...

Receiving so many of this error

GGT_INVALID_ACTION_INPUT: Can't run action since there are multiple shopifyDiscountCustomerGetsProduct records found with product=8533254734090, discount=1461787459850 trace id: e17de5804405314c506a31eaac368f70 app: upez ...

Still setting up...

Been trying to create a new shopify app, and when it goes to install it, it redirects me to a page that says "Still setting up This app isn't available yet because it is still setting up. Please try again in a few moments." It never finishes, and if I go back to gadget and try to install it again, i just get same message. I have tried to delete the app, and create a new one, but it always just gives me this error....

Shopify shop update webhook firing non-stop for a shop

While looking at request time usage by Shopify domains I noticed we have a shop that is taking up 7% of request time. When looking into that Shop it hasn't used the app in 6 months but the logs show that the shopifyShop update webhook is being triggered every few seconds. This Shop is an extreme outlier which makes me think this could be a bug but I'm not sure. The app is evnbttr-webhooks.gadget.app...

Ways to visualize error counts over time and drill down by text matches in logs (e.g. “bulk delete)?

We need a single graph showing total error count over time with the ability to break it down by any ad-hoc search (e.g. error stack or message contains "bulk delete"). What’s the best approach/architecture to: create a stable timeseries metric from logs/errors that match arbitrary text queries, allow fast drilldown/splitting by that query (and other fields) in dashboards? Any notes on cost/cardinality and best practises for indexing/structured fields would be helpful.

How can I capture raw Shopify webhook payloads & headers to debug a delivery surge?

We’re seeing a large spike in Shopify webhook deliveries. How should I capture the raw request (headers + body) and correlate each delivery with Shopify’s delivery metadata so we can identify retries, duplicate deliveries, or the originating app/store? We run our webhook handlers in Gadget.dev — any concise guidance, code snippets, or recommended tools for logging raw bodies, verifying HMAC, and matching X-Shopify-Webhook-Id/X-Shopify-Topic/X-Shopify-Shop-Domain to Shopify delivery logs would be...

Metrics and monitoring - built-in solution / Prometheus - feedbacks

Hello, I’m exploring ways to add metrics and monitoring to our application, ideally with Prometheus. Is there any solution or guidance you can share for doing this in Gadget?...

switching website domain

hello I have a domain i want to use for my gadget app