Images that are too large or have missing headers won't sync to Webflow
Section titled “Images that are too large or have missing headers won't sync to Webflow”Webflow is very particular about what images it accepts and will silently fail to sync images that do not meet certain criteria. Specifically images can be synced to Webflow if:
- They are less than 4 MB in size
- They are configured correctly on the server with a known image MIME type that has lowercase letters
Workaround
Section titled “Workaround”If your images are over 4 MB, you can make them smaller with image editing software to reduce their size.
If your images are hosted on a service that does not produce the correct MIME type, you may need to rehost your images on a service that does, such as Cloudinary.
Images that were synced from Airtable are broken
Section titled “Images that were synced from Airtable are broken”When syncing images from Airtable to Bubble, Notion, or Postgres, the images appear to be broken after a few hours. This is due to a recent change in how Airtable exposes its image URLs. Now they expire, after which the URL won't work anymore.
Workaround
Section titled “Workaround”Please see file-hosting.md for details on making sure your base is set up to handle this.
Airtable linked records, Airtable views, and record deletes in Webflow
Section titled “Airtable linked records, Airtable views, and record deletes in Webflow”If you're syncing an Airtable view to Webflow, if a record that was previously in the view is then removed from the view, Whalesync will sync that removal as a record delete. If that record is referenced by another table in Airtable via a linked record field and that field is synced to Webflow, Webflow refuses the delete while that reference is still there. You will see an issue on the issues page saying Webflow won't delete records that are still being referenced by other records.
For example, let's say you have a "Published Blog Posts" Airtable view for a blog posts table and an "Authors" table that has a linked record field pointing to every blog post an author has written. One of your blog posts that was previously visible in the published view then is unpublished, hence disappearing from the view. The author still has a reference to that blog post in its linked record field, so Webflow refuses to delete the blog post. Whalesync removes that reference in Webflow the next time it reads the author from Airtable, such as when the author changes or at the next full sync. It doesn't retry the delete on its own, so retry it from the issues page after that.
Workaround
Section titled “Workaround”There are two possible workarounds (using the above example):
- Create a new linked record field that only has the blog posts in the "Published Blog Posts" view and sync that field to Webflow. You can use Airtable automations to dynamically update this field as blog posts come in and out of the view. Here is a video showing the workaround.
- Update the linked record field on a one-by-one basis in either Airtable or Webflow to remove references to blog posts no longer in the view.
If the delete already failed, retry it from the issues page once the reference is gone. For more on how Whalesync handles references to records that leave a view, see References to records outside the sync.
Syncing more than 200 foreign keys to Bubble
Section titled “Syncing more than 200 foreign keys to Bubble”Bubble's API has a restriction such that only 200 foreign keys (also known as record references or linked records) can by synced to Bubble in a single API request. The way Whalesync works today prevents more than 200 foreign keys to be saved to a Bubble foreign key field.
Workaround
Section titled “Workaround”You can create an association table in Bubble. For example, let's say you have two tables, "People" and "Companies" and the Companies table currently has a foreign key that points to the People table.
Instead, you could create a "Companies_People" table where each record has two fields: "company_id" and "person_id". In order to find all of the people a certain company is associated with, you can fetch all records from the Companies_People table that has the desired company_id.