Make sure your data type has a field with the type âlist of textsâ
Once that field exists, the âDays of weekâ option should appear in your Air Calendar element settings
You can then map it to your list of texts field for recurring events
Could you check if your current data type has a list of texts field? If not, youâll need to add one for the recurring events functionality to work properly.
I came across an issue that I canât figure out how to solve. To make things easier, I also noticed that the exact same problem is happening in the calendar available on your website that demonstrates how the plugin works.
Recently, I noticed that some events in my calendar, specifically during the months of November and December, are showing shifted by one hour (events scheduled for 09:00 are appearing at 10:00 instead).
Iâm from Brazil, and my calendar is configured with the âAmerica/Sao_Pauloâ timezone because otherwise users from other parts of the world see the events at incorrect times. In other words, I had to explicitly fix this timezone so events would always be displayed at their official scheduled times, since these are reservations taking place here in Brazil.
The problem is that during November and December these events are displayed at the wrong times.
Please note the event below, which on your website is scheduled for 4:45 AM. When I change the timezone to âAmerica/Sao_Pauloâ, it gets shifted to 5:45 AM instead.
Iâm not sure if there is some kind of daylight saving time configuration forcing this behavior, but Brazil has not used daylight saving time for the past 6 yearsâŚ
We tested the issue on our demo page and were able to reproduce it there as well, which confirms that this is not related to a configuration issue.
The exposed states that return the underlying event start and end dates are working correctly. They take the timezone offset into account, including Daylight Saving Time adjustments for calendar dates prior to 2019.
At the moment, the issue appears to be purely visual, and we have already escalated it to our development team.
We will post an update as soon as a fix for this behavior becomes available.
Thank you for your patience while we work on resolving this issue.
Thank you for the detailed report and for checking the same behavior on our demo page.
We were able to confirm the issue. It was related to the timezone data used by the calendar plugin for America/Sao_Paulo. The event data itself was correct, but the calendarâs visual rendering applied an outdated daylight-saving-time rule for Brazil, which caused events in November and December to appear shifted by approximately one hour.
Brazil abolished daylight saving time in 2019, but the timezone library used in the plugin still contained older timezone data. Because of that, for some future dates in November/December, the calendar could visually place the event as if DST was still active, even though the actual event time was stored and returned correctly.
Our development team has updated the timezone library used by the plugin to the latest version included in the fix, and the update has already been published. Please update the Air Calendar plugin in your Bubble app to the latest available version and test the same America/Sao_Paulo cases again.
After updating, events scheduled for Brazil timezone should render according to the correct current timezone rules, without the extra one-hour shift for November/December dates.
Please note that for historical dates before Brazil abolished DST, different offsets may still be expected, since those reflect the real timezone rules that existed at that time. But for current and future dates after the DST abolition, the calendar should now respect the correct America/Sao_Paulo offset.
Please update the plugin and let us know if the issue is resolved on your side.
Thank you very much for bringing this to our attention.
As you may have noticed from our discussions on the forum, weâre continuously working to optimize the library and script usage across our plugins. This is an ongoing effort, and feedback like yours helps us prioritize what to tackle next.
Weâve already shared your suggestion with our development team, and work on it should begin soon.
As soon as we have an update, weâll return to this thread and let you know.
Our development team has completed its investigation into the resources loaded by the Air Calendar (FullCalendar 6.1.15) plugin for Bubble.
Their findings confirmed that this plugin version does not include any shared headers.
The plugin loads the FullCalendar library whenever a Calendar element is present on the page, even if that element is hidden. However, if no Calendar element is present on the page, the library is not loaded.
While we understand that performance may vary across different devices, there are currently no additional optimizations available for this pluginâs code.
Thank you for your patience while we investigated this issue.
That is strange. I donât have any FullCalendar plugins except for yours, so unsure why my home page is loading it, when the calendar is not displayed anywhere on that page (even in any hidden re or smth). I need to review this deeper.
Since the plugin script is designed to load only when the element is present in the DOM, here are a few common Bubble setup areas to inspect during your review:
Reusable Elements Check if the calendar element is placed inside any reusable element (such as a header, sidebar, footer, or navigation panel) that is used on your home page.
Hidden Groups and Popups Verify whether the calendar element exists inside any hidden group, popup, floating group, or tab container located on the home page canvas.
Single Page Application Structure If your app uses a single-page architecture where different views are toggled using custom states or hidden groups on one page, Bubble loads the scripts for every element present on that page during the initial load.
Browser Caching Test the page in an incognito window or clear the browser cache to ensure old network requests are not being cached locally.
Keep us posted on what you discover or let us know if you have any questions along the way.
Hey! Yes, I forgot that I never updated to the latest version of the plugin because of it interfered with another plugin on my app, the older version I had was still loading the script everywhere. All good now, thank you!
Thank you for following up and sharing the update.
I am glad to hear you were able to identify the root cause and that everything is working as expected now. Updating plugins can often resolve legacy script loading behaviors, so it is great that this cleared up the issue for you.
If you ever need assistance with our plugins or run into any other questions in the future, feel free to start a new thread or reach out to us via email at support@zeroqode.com.