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

How to detect if a merchant has added our App Block to their Shopify theme

I want to check if a merchant has actually added the App Block to their theme, like in product.json or any other section. What’s the best way to programmatically detect this?...

How long does a background action live?

If I pass an id, and onDuplicate: ignore, how long after the first occurance of the action will it not skip again? Meaning if if I call the action again with the same id, how long after the first run will it now run again?

Recover production models

Hi guys! I have 2 models in production that were outdated so I deleted them on my dev enviroment and created new ones with proper naming and schema. After deleting them I realized that by doing this instead of just renaming them it will make all the users re-add their old data (not ideal). If I set the exact same name on the new models, will they replace the old ones on production? can you help me recover my old models?...

Helptext on autotable

Is it possible to add a little helptext icon on autotable headers?

Remove custom domain

Hey gadget, please remove custom domain on "kuppel", so I can go to development edit. Thanks!

Hey folks, I'm using response.nextPage() and response.previousPage() from a paginated API

Hey folks, I'm using response.nextPage() and response.previousPage() from a paginated API ✅ response.nextPage() works perfectly — it takes me from page 1 to 2 to 3, etc. ❌ But when I call response.previousPage() from, say, page 3, it jumps directly back to page 1 instead of going to page 2. The same happens from any page — it always jumps back to the first page. ...

Error message for uniqueness validation in AutoTable

Is it possible to customize the error message ("Failed to add field!") that shows up when you add a new record that fails uniqueness validation? I'm using errors.add per the docs: https://tapestry-stitch.gadget.app/edit/dev-kalen/files/api/models/fieldMapping/validations/uniqueness.js?startLineNumber=31&startColumn=0&endLineNumber=32&endColumn=0 ...
No description

Background job logs seem delayed

It wouldn't be possible for this action to return this output without more logs showing: https://tapestry-stitch.gadget.app/edit/dev-kalen/queues/job-R22HsY15ZdHvJcRg1JzVE https://tapestry-stitch.gadget.app/edit/dev-kalen/logs?logql=%7Benvironment_id%3D%22468181%22%7D%20%7C%20json%20%7C%20level%3D~%22info%7Cwarn%7Cerror%22%20%7C%20backgroundActionId%3D%22job-R22HsY15ZdHvJcRg1JzVE%22&timeRange%5Binput%5D=Since%202025-06-11T18%3A22%3A13.660Z This was happening repeatedly when testing for the last 15 minutes or so - however just now as I'm testing it's now working correctly. Was there a hiccup with the background jobs?...
No description

Query timeout when fetching more than 3 records at a time

The query does have a lot of joins in it - is this just too much for one query on gadget? ```{ "select": { "operation": true,...

Need Help with computed Views

I am using computed views for few models Now when i tried to add a new computed view for a seperate model it's not working I used the same way i did for other computed views which are working fine but the new one doesnt work. Project Name - videoselz...

Renamed the app domain and registered webhooks - didn't rename the endpoint url for all webhooks.

I clicked into Register Webhooks under Installs but it didn't rename all the webhook endpoint urls. https://tapestry-b2b.gadget.app/edit/production/connections/installs Renamed the app domain from clhom to tapestry-b2b....
No description

Is it possible to create an environment via github actions?

Looking into a branch-per-ticket and environment-per-branch type of workflow.

Shopify Sync Often Fails

Dear Gadget Support Team, We are seeing many failed Shopify syncs recently. In the shopifySync model, we found one of these errors in the errorDetails field: - GGT_SHOPIFY_REQUEST_ERROR: Unable to list transactions for shop [storeName].myshopify.com ([shopId])...

How to activate Sentry Profiling ?

We'd like to activate Sentry profiling on getsimio app. Is there a way to do so? (cc @Dodo)

Delete data from Shopify Models for uninstalled merchants

Is there a quick and fast way to delete data of merchants who uninstall the app? I actually have no need to store that data?

Unusual request time spike

Hi, I received an alert saying I have crossed 75% of my request time but in analytics I see that most of it coming from 2 customers and specifically related to sync. Is this normal? Are their ways to optimize sync?...
No description

Calculate action run time

So I have one store thats killing me on request time currently. I have webhook filtering on so I'm only receiving webhooks for inventory_quantity changes (basically a sale). I'm wondering if on Gadgets side (I know you use Axiom too) if you're able to actually give me any information on the time spent for the update action against shopifyProductVariant running. E.g. how long did each action take to run, whats the average run time etc. I'm just trying to figure out why so much time is being spent for this one store. 100 hours in 18 days even with webhook filtering feels incredibly high. ...
No description

Model creation/update hook

I am building a shopify app, I want to connect it with another external api. Basically my idea is to check the user in the external api by email and shopId and then persist in session an accessToken, so the user will be able to call this external api using the token. I tought about doing in the react app when it renders I can just call a useEffect there, but I was wondering if I can hook to shopify oauth or session creation or update, to run this logic. I know I can do it in the install action, but I believe that would only work for the user that installed the app and I want to be able to identify each user separately even if they are from the same shop....

Cannot read properties of undefined (reading 'upsert')

Hi. I created a model where I will upsert some data. But for some reason it gives me an error of undefined reading upsert. What am I doing wrong here?
No description