When using multi-row selection on a table, with the "use checkbox column for selection" enabled, every time I click a checkbox on a given row a call is made to update that row in the underlying database (a simple gsheet).
This is unexpected (not to mention it slows the app and counts against quota). What's going on, do you think?
I expected the calls to update the data upon form submission, or similar. I've tried deleting the functions and re-adding them... which I suppose is an odd thing to do but I'm out of ideas.
Here's some screenshots:
Hey @darrellsilver!
Would you mind sharing the event handlers for that table? One possible source is any "Row select change" or "Row click" event handler that has been configured.

It may also be worth checking if there are any other queries or components that reference this table's .selectedRow
property.
Seeing what you have for either would be helpful for investigating!
For sure – don't think there's any of those, but I can't see any "Edit row select change handler" panel... where is that?
And I have this reference as well (changed the name of table1
for privacy in this post):
but if that's being triggered by selecting a row I'll need another way to do the same GSheets update... but I guess I'm getting ahead of myself.
that second reference isn't being triggered automatically so that should be fine. Your event handlers would be right below the toolbar options in the right panel:
ah ok – here's that section:
Very odd, would you mind if we stepped into your app to take a look?
This is not something I've seen before but you may also try deleting and recreating the table itself. Without any event handlers or queries that watch for changes on it, there shouldn't be any side effects to you selecting the rows!
Happy to. What do you need from me?
Just your permission! Still not seeing anything there though. Since your resources require user auth I can take a look at your app structure but not how it interacts with your data/resources.
Would you mind taking a look at the Retool debug console (located in the lower right corner of your screen)?

Query runs should show up there along with a trace of what has caused them to run:

Go for it. When this works it doesn't throw errors, but when triggered by selecting a row I see:
it looks like that error is being thrown because the query is recalculating its inputs but that doesn't necessarily mean that it would fire. Is there a log that has append_to_contacts.trigger()
somewhere in its trace? If you're seeing the rows in your database get updated then I'd expect there would be a successful query call.