Hi Bubble community,
On this past Tuesday, the Bubble team held its second “hackathon day” (see this post about the first one). The focus was again on churning out as many smaller “quality-of-life” features as we could, as a break from the larger, more impactful projects that are in progress. Many of these ideas came from the community, and others came from our observations of user pain points that we thought we could address!
Here are the changes being rolled out over the next few days, starting today (the numbering here is just for reference):
Design
- The history of previous commands that you can “undo” or “redo” will now persist across page refreshing, closing and reopening, and unexpected crashes - there is a limit of 50 previous undos and 10 redos that can persist (but if you keep the window open, the behavior is the same as today) @riley
- When copying and pasting an element with a custom name many times, instead of all the copies being called “Button Custom copy”, the name will now have a counter that increments to help you tell them apart @miri
- Now if you’re dragging an element with “Shift” held down, it will constrain the movement along the same horizontal or vertical axis as the original position @emmanuel
- The “subscribe” button in the Bubble-made Stripe plugin should now be translated as appropriate @emmanuel
Workflow
- When creating an action in a workflow, there is now a search box where you can quickly search for actions by name @emmanuel
- With the send email action, there is now the option to attach one or multiple files - note there is a 19MB limit to the total size of the attachments (many email clients have a ~20MB limit, plus some padding for the email’s contents) @aless
- The “Go to page” action now has the additional option to preserve URL parameters @riley
Data
- The view you’re looking at in App Data will be preserved across changing the database version @peterj
- If a new custom view in App Data has the default name, the name will now contain a counter that increments to help you tell them apart @aless
- In the App Data sub-tab, there is a new search box where you can search for custom views - by either the name of the custom view or by the name of the underlying data type @aless
Plugins & API
- In the API Connector, there is a new UI indication on new calls that have not yet been initialized, which is an important step in creating them! @sam8
- Relatedly, with the API Connector, there will be a softer warning when a previously initialized call has been modified, to remind you that you may need to reinitialize @sam8
Additional
- Date values have new operators: “:rounded down by” and “:equals rounded down by”; the former effectively truncates the datetime to just the year, or year + month, or year + month + day, etc., while the latter allows you to compare two dates at the chosen level of granularity @chris3
- There’s a new operator, “:converted to number”, that will attempt to convert a text to a number @miri
- When in “Step-by-step” mode with the debugger, the entity containing the current workflow should more consistently be shown, e.g. if a reusable element is the one that has the current “Page is loaded” workflow @aless
- “Sub-tabs” (e.g. “App Data” in Data, “General” in Settings, etc.) are now part of the editor’s URL, meaning you can link directly to them, and your active sub-tab will persist through refreshes @peterj
(Apologies, omitted a couple in the original post!)
- The Stripe Workflow action for “Charge the current user” now has an additional optional field for “statement descriptor” to control how the charge shows up on the payer’s credit card statement (note that Stripe has a 22 character limit on this, and that this field is optional) @marca
- When using repeating groups that are ‘paginated’, there are now two new options available for dynamic statements: “is on the first page” and “is on the last page”, which are extra helpful if you’re trying to show / hide “Previous” and “Next” buttons @aless
This was again a huge team effort! In addition to the Engineers mentioned above, thanks to new team member Remy, @alex.bolanos @elisa @eve @JeffT @DavidS @mattlegrand @josh and @emmanuel for all their help with QAing, design guidance, and general support!
Hope you all enjoy
Cheers,
Allen on behalf of the Bubble team