Changelog

Perfect Checkout is in active development and updated regularly by our team.  

1.0.2 – 2021-02-08

  • Fix: Users inputting quantities too quickly was causing a cart calculation error in rare cases. We have disabled user input on quantity until cart has been calculated to correct this.  

1.0.1 – 2021-02-04

  • Fix: Auto-populated all fields from local storage – If the user has visited a Perfect Checkout before, he won’t have to manually type in any details. The tricky part was getting the Address field to autofill considering it was getting the data from Google Maps. We managed to fix that as well. The auto-populate speeds up the checkout process significantly. 

1.0. – 2021-01-16

  • Fix: Fixed Safari bug – made perfect checkout work on WebKit (Safari, Macbook, iOS) – We completely removed the Iframe session cookies (Safari blocks them if in an Iframe) and instead we implemented iron store seal which is more secure. Google will follow by blocking the cross-site cookies in 2022. With the changes implemented, our code is not going to be affected.

Beta 0.5 – 2021-01-12

  • Fix: Fixed the remove and undo from cart bug – There were occasional problems with deleting the items and undoing the deletion. That’s now fixed.
  • New: Made a Snack bar visible on mobile and stacked – We’ve had a lot of trouble making the popup snack (the one that appears when an item is removed from the cart) be visible on mobile. That’s now fixed & the snack bars are now stacked so that the user can delete multiple items and see an undo snack for every one of the deletions.

Beta 0.4 – 2021-01-08

  • Fix: Fixed update quantity bug – There was a bug that caused the problems with updating the number of items in the cart. That is now fully fixed.
  • Fix: Fixed loading states – loading spinners were not showing at the right times. Loading state is now being done using Redux – there’s one state of truth and it is 
  • Dev: Got rid of “props drilling” – With the implementation of Redux, we got rid of deep props drilling which is an antipattern.

Beta 0.3 – 2021-01-03

  • Fix: Fixed shipping methods – There were a few problems with the shipping methods selector: it was not being re-rendered correctly, it messed with the loading states of the OrderView and it wasn’t fetching the US states. That’s now fixed.
  • Fix: Fixed coupons – There were a few bugs with coupons: there were problems when adding them, removing them and they also messed with the loading states. The coupon code was also greatly refactored to make it more scalable and less error-prone

Beta 0.2 – 2020-12-14

  • Dev: Merged the “staging” branch into “master” – Staging was a big Git branch containing most of the changes. It is now successfully merged into master. All the other branches have been cleared up as well and now we have a clean setup of Git branches. That’s going to make the addition of new features and branches easier to follow and more scalable.
  • Dev: General refactor – Using Redux and other principles, we’ve removed duplicate code, increased the code reusability and most importantly made the code simpler to understand, which also makes the code more scalable.

Beta 0.1 – 2020-12-4

  • Dev: Implemented ESLint – a linting utility frequently used to find problematic patterns or code that doesn’t adhere to certain style guidelines. I’ve created a robust superset of React specific rules on top of the default ones. With ESLint, the code will stay consistent across teams and it will be less error prone.
  • Dev: Implemented Redux – a JavaScript state management tool. Redux’s core idea is that the whole state of the app is contained in one central location. Redux makes the code easy to maintain, it is strict about how code should be organized so it makes it easier for someone with knowledge of Redux to understand the structure of any Redux application. This generally makes the app easier to scale and maintain. Redux also improves the code reusability and removes the duplication.