Nothing too flashy in the latest releases. Not every release can be the pinnacle of innovation. Sometimes you just have to tend to a few bugs. That's exactly what we did for this release!
We address a couple high impact bugs this week.
The first of which was a bug where email templates would save but then later when you came back to them the changes would be gone. Rest assured, from now on we will not disappear your custom email changes.
The second was an issue in the Point of Sale that would prevent certain afternoon time slots from showing.
Finally, by popular opinion we brought back the functionality to duplicate email templates when duplicating an experience. From now own, if your experience has custom notification templates that you've edited and you duplicate that experience, those email customizations will carry over to the duplicate as well.
Most of what was to say has already been said above. I'll just add some context around the release points for those of you that are interested in this stuff.
The Case of the Disappearing Email Changes
Whenever we make changes to how some current functionality works (even if it's not visible to you the merchants or the customers), we have to wrestle with the question of how to keep things working while still updating the functionality. Generally, there are two options.
- Determine what needs to change at the database level and run a script to make those core database changes so that all functionality flows through the new changes.
- Add in additional logic to the application codebase to handle both the "legacy" functionality and the "new" functionality so that both scenarios continue working.
As with anything in life, all choices come as a set of trade offs. Option 1 carries with it a lot of risks in that you're running a potentially error prone script against production data that people are depending on. Option 2 means that moving forward you'll forever be maintaining two ways of doing the same thing and all the potential bugs that may come along with that.
In general, we like to stay away from option 1 as much as possible as errors there tend to be higher impact and harder if not impossible to repair.
All this is to say that a while back we changed some of the core functionality that runs our email template customizer to an overall better system. However, when we made that change we went with Option 2 from above and now we're dealing with the issues associated with managing both a legacy and updated system.
What was happening here is that in shops where you the merchants had edited the global shop email templates in the legacy system, and then later went to edit individual experience templates, your changes would be saved to which ever template you were editing that time. However, when you moved on to edit the next experience template, the system would update the edited template from the last experience to be linked to the new experience. Thus as you went through your experiences making changes, those changes would only be applied to the last saved experience and all other ones would go back to the default template.
After several days of trying to figure out what was going on here, I'm happy to say we've finally got this one wrapped up and from now on changes made to email templates will be correctly saved and linked to the correct experience.
The Not Duplicated Emails
Loosely related to the email changes above, was the removal of duplicating email templates, when duplicating experiences. Again, going back to making changes to things that are already in use, you have to make trade offs when making those changes. One of the things we de-prioritized was duplicating the email changes. We thought that since most email template changes are specific to the individual experience, if people had made those edits, they wouldn't mind starting with the default on a duplicate experience.
As it turns out there are several good reasons to carry on those edits to the newly duplicated experience and therefore we've brought this functionality back. From now on if you've edited your experience level email templates those edits will carry over when you duplicate that experience.
The only caveat to that is that for legacy email templates (templates that haven't been edited since January), you'll need to first go in and save those templates with a minor change before duplicating the experience. This will convert the template over to our new email system and allow it to be duplicated along with the rest of the experience. Be sure to do this for every email template on that experience.
Hidden Time Slots in the POS
Lastly, we fixed a small bug with pagination on the POS time slot list. For those of you not familiar with pagination, this is the act of programmatically loading data in to a page in small chunks or "pages" and then incrementally loading more as needed.
This can be a bit tricky especially depending on the type of the data being displayed. In the case of dates and times which is what we're dealing with, there's a lot of little big details that can cause parts of the data to be skipped over.
That was the case here where the evening time slots would be skipped over when clicking "Load More" because it would simply jump to the next day, rather than including the remainder of the current day.
Our current POS time slot list will load in 10 time slots at a time and we've now corrected this to ensure that if there are still time slots on the current day, it will include those in the next page when clicking "Load More".
We know these types of "bug fix" releases aren't quite as fun as ones filled with a bunch of shiny new features but we consider the reliability of current functionality as important as the generation of new functionality.
Because of this we consider these types of releases similar to taking our daily vitamins. They're not nearly as a smoked brisket but they keep everything running well enough to occasionally indulge in delicious slow cooked meat.
Thanks for reading this far and most of all thanks for using Experiences App. You can always reach out with questions using the blue intercom bubble in the app or by emailing us at email@example.com.