Multiple Webhook issues in hosted version

Hi all,

Today we created a webhook to a cloudflare worker and we are using all events. I found out multiple issues.

  1. When deleted 1 row it is firing 2 events. row.deleted (expected) and rows.deleted (not expected because there was only 1 row deleted).
  2. When I look into the baserow webhook logs it shows the timestamps for both events with 2 seconds difference. When I close that screen and open it again, it shows different timestamps with 4 minutes of difference between the 2 events.
  3. It seems there are 6 types of events, row.deleted, rows.deleted etc, but when editing the webhook “Which events should trigger this webhook?” only 3 are available for selecting, rows.deleted etc.

Thanks for helping.

Kind regards,
Jurjen

Hi @jurjendevries , could you give us details on how you created/updated this webhook as it should be impossible to end up with a webhook of both single and batch types (row.deleted x rows.deleted)?

Going forward, Baserow will be using only batch-type webhooks because new operations such as copy-paste multiple rows and others would otherwise send many single row events. Sending the rows at once also makes it clear that they were changed together.

Older webhook types (row.deleted etc.) still work for compatibility reasons, but should be converted as soon as possible to the new types. The interface should not allow you to create and manipulate older type webhooks at all, but it does offer a conversion from older to newer types.

You should not be using both old and new types together to receive updates about the same table.

Is it more clear now?

Also, you can easily fix the situation by creating a new webhook and deleting the old one.

1 Like

Hi @petrs , Thanks for helping :slight_smile:
We created a webhook 4 days ago with the setting “Which events should trigger this webhook?” set to “Send me everything” and post method.

As you requested I created a new webhook and deleted the old one, but it still shows the same logging, doing both:
row.created
rows.created

If I am correct, @petrs, you are saying that, for compatibility reasons Baserow is sending both row.created and rows.created events, right?

Hi all! So it turns out this is actually a bug in Baserow, so I want to apologize for the inconvenience. Both payloads are sent for new webhooks, while only the batch one should be sent. This will be fixed in production in a day or two as the fix is already prepared.

1 Like

In general, what you should do is:

  • Wait for the 1.11. release or deploy of this version to production if you are using hosted version. This will be done tomorrow or the day after.
  • Convert all webhooks to the new event type webhooks so as not to miss any batch-style row updates.
  • Change the way you handle incoming webhooks on your side to accept the new, multiple rows, payload.

The newly created webhooks or webhooks converted to the new event types will work correctly in 1.11. Until then, two requests are sent. In this case, feel free to ignore the single-row update and only process the batch payload one.

2 Likes

Thank you @petrs
Any idea where I can find the actual version number used for the SaaS hosted version?

Generally speaking, the saas is the latest released version. Typically a new major version is first deployed to production on our end and then announcement is made for that version.

The API docs (Baserow API spec) display the version as well on the very top of the page (“Baserow API spec (1.11.0)”).