Vue Storefront 1.10-RC is here — new CTO, Shopware partnership, native indexer and almost 90 PRs merged!

Filip Rakowski
The Vue Storefront Journal
9 min readJun 26, 2019

We are happy to announce that release candidate for Vue Storefront 1.10 is now ready to test! In this release, despite stabilization and bug fixing, we focused on improving Vue Storefront frontend API layer and expanding possibilities of current features. Even more exciting things happened outside of the code world. Let me walk you through them!

All about Vue Storefront 1.10-RC

Below you can find the gigantic list of around 90 PRs merged with improvements, bug fixes and enhancements made by our community for Vue Storefront 1.10-RC release.

You must admit it’s impressive ;)

Added

Removed

  • The getter cart/totals has been replaced with cart/getTotals - @pkarw (#2522)
  • The getter cart/coupon has been replaced with cart/getCoupon - @pkarw (#2522)
  • The getter cart/totalQuantity has been replaced with cart/getItemsTotalQuantity - @pkarw(#2522)
  • The event cart-before-save has been removed - @pkarw (#2522)
  • The action cart/save has been removed - @pkarw - (#2522)
  • Some deprecated config options: useShortCatalogUrls and setupVariantByAttributeCode have been removed - @pkarw (#2915)
  • Button for filters acceptance added with new styles for clear filters button — @965750 (#2811)
  • Added “Clear wishlist” button — @aniamusial (#2806)
  • Make all links with the primary color — @Hackbard (#2932)

Fixed

  • The back button on the Error page has been fixed — @pkarw (#3077)
  • Special price got zeroed — @pkarw (#2940)
  • Microcart tax + discount totals fix — @pkarw (#2892)
  • Microcart offline prices now forced down to original prices — @pkarw (#3012)
  • Login/Register error message added in case of FetchError (no network connectivity) — @pkarw
  • Products removed from the cart are no longer add back on the connectivity return — @pkarw (#2898)
  • Sidebar menu wasn’t possible to scroll — @PanMisza (#2627)
  • Confirmation popup ‘Product has been added to cart’ is displayed only once — @JKrupinski (#2610)
  • Moved My Account options from Categories — @bartdominiak (#2612)
  • Fix displaying (and adding) reviews for configurable products — @afirlejczyk (#2660)
  • Image switching fix — @pkarw (#2709)
  • Respect store code on order/PROCESS_QUEUE for shop store — @Zulcom (#2727)
  • Unexpected window.localStorage use in user module actions - @Zulcom (#2735)
  • Fix handling state of same address checkbox in the checkout — @lukeromanowicz (#2730)
  • Fix for everythingNew collection on the home page - @vishal-7037 (#2761)
  • Fixed display of chevron arrows when there is only one product image — RGijsberts — (#2911)
  • Fixed Clear cart option as it previously was not syncing the changes with the server - therefore when the user was logged in and cleared the cart all the products were restored - @pkarw (#2587)
  • Fixed the cart sync for a rare case that current cart token was empty — @pkarw (#2592)
  • Use event bus to emit ‘application-after-init’ event (#2852)
  • Validation of fields ‘company name’ and ‘tax’ in checkout doesn’t work correctly — @dimasch (#2741)
  • Fixed wrong price, displayed in instant checkout module — @vishal-7037 (#2884)
  • Incorrect working of checkboxes in checkout — @dimasch (#2730)
  • Fixed ios input zoom on category page — @VictorKadup (#2815)
  • Fixed Load more in Search Results not working when typed too fast — @Flyingmana (#2659, #2946)
  • Subscribe button responsive — @exlo89, @webdiver, @przemyslawspaczek (#2886)
  • Multiple instances for search adapter invocations — @bratok (#2960)
  • Fixed issue with login popup state not resetting on mobile devices — @aniamusial (#2699)
  • Fix sortBy for the category page — @Jensderond (#2868)
  • Fixed incorrect prices in Instant Checkout (PR API) — @qiqqq (#2874)
  • Fixed placeholders in the gallery in offline mode — @przspa (#2863)
  • Incorrect user_id set on the order object - @pkarw (#2966)
  • Problem with SSR render on the product page with logged in user — @patzick (#2888)
  • NaN displayed as shipping method — button disabled — @aniamusial (#2881)
  • Logo on the Error page has been fixed — @przspa (#3077)
  • No placeholders / no photos for the Get Inspire section in offline — @przspa (#3072)
  • The back icon on product page causing inconsistent behavior — @patzick (#3056)

Changed / Improved

  • The cart/sync, cart/addItems, cart/removeItem and cart/updateQuantity now returns the diffLog object with all the notifications, server statuses, and items changed during the shopping cart sync
  • The cart/addItem is no longer displaying the error messages - please use the diffLog.clientNorifications to update the UI instead (take a look at the AddToCart.ts for a reference)
  • The action cart/userAfterLoggedin got renamed to cart/authorize - @pkarw (#2522)
  • The action cart/refreshTotals got renamed to cart/syncTotals - @pkarw (#2522)
  • The action cart/serverPull got renamed to cart/sync - @pkarw - (#2522)
  • The way we’re getting the user and cart tokens got refactored — @pkarw (#2513)
  • Changed the way to access the configuration. Currently the rootStore.state.config is deprecated. Please do use import config from 'config' > config instead - @pkarw (#2649)
  • Changed the order number (from entity_id to increment_id) on MyOrders and MyOrder pages - @pkarw (#2743)
  • Disabled the server cart sync in case a user is in the checkout — @pkarw (#2749)
  • Improved ProductGalleryCarousel component to handle non-numeric options id’s — @danieldomurad(#2586)
  • Number of displayed products is now visible on PLP on desktop — @awierzbiak (#2504)
  • Improved visibility of product SKU in wishlist — @PanMisza (#2606)
  • Instant focus to search input field after clicking on the search icon in navbar — @ca1zr (#2608)
  • Login flow from authorized pages after session expired, show the modal with the new error message and redirect after login — @gdomiciano, @natalledm (#2674)
  • Added support for the newest node version — @gdomiciano (#2669)
  • Default store ID from 0 to 1 for multistore and CMS data logic - @janmyszkier (#2590)
  • Used $bus plugin instead of EventBus import - @szafran89 (#2630)
  • BaseCheckbox now uses v-model. @click is not needed anymore — @haukebri (#2630)
  • Image selection supporting multiple configurable options — @mdesmet (#2599)
  • Product video — retrieve video id from ‘video_id’ field (if set) instead of ‘id’ — @afirlejczyk
  • Webpack config improvement — @yogeshsuhagiya (#2689)
  • BaseSelect input event — @ResuBaka (#2683)
  • Fixed static file handler to immediately return 404 status for missing files — @grimason (#2685)
  • Fixed maxAge Response Header for static files and Content-Type for Service Worker — @grimason (#2686)
  • Default log verbosity is changed to show only errors — @lromanowicz (#2717)
  • Remembering last search query — @webdiver, @patzick (#2787)
  • Extracted ProductImage component to support faster images loading — @przemyslawspaczek (#2925)
  • Improve performance with preventing render ‘404 page’ on the server side if some of the static content is missed, simple 404 response uses instead — PHOENIX MEDIA — Yuri Boyko @yuriboyko, Anton Lobodenko @sniffy1988 (#3002)
  • Logger refactor + now it takes showErrorOnProduction into account - @lromanowicz - (#2717)
  • Jest updated from 24.1 to 24.7 along with typings — @lromanowicz — (#2717)
  • Jest globals added to .eslint — @lromanowicz (#2717)
  • The default store ID was removed from the configurations — @nuovecode (#2718)
  • ‘Multitab cart’ sync — @BartoszLiburski (#2547)
  • Back to login button now shows the Login modal window instead of closing it — @RGijsberts (#2882)
  • Status filter in Related Products query (#2805)
  • The ‘Apply’ button size has been reduced — @idodidodi (#2807)
  • Added return to shopping button on ‘Thank You’ page — @ZeevGerstner (#2818)
  • Added optional attributes to catalog/product.ts — @ZeevGerstner (#2792)
  • Formatted dates in CHANGELOG.md to match ISO standard — @phoenixdev-kl (#2839)
  • Moved Filter Price Ranges (used for ES aggregations and UI Filter) to the config — @jpetar (#2873)
  • Extra space if not found products in everything new section home page — @cnviradiya (#2846)
  • Load custom fonts without webfont.js — @jahvi (#2944)
  • Added some structured data to the product page — @cewald (#2910)
  • Improved the Size Guide feature, so it opens in a modal popup instead of a new page — @RGijsberts — (#2913)
  • Refactored Travis config @Tjitse-E (#3035)

Native Magento 2 Indexer

Our standard data importers were designed to solely use the platform APIs to push the data into Elastic Search. This is precisely how the mage2vuestorefront works.

As flexible, this solution is, it comes with some severe limitations. One of the most critical limitations it has is the performance. Executing API requests for each product might have a sense for 1–2K SKUs but doesn’t work with the databases counting a hundred thousand items.

This was our motivation to create the native indexers for Magento. Currently, you can find two native indexers on our Github:

Read more about native Magento indexers here.

Magento MSI support

Thanks to our fantastic partner, BitBull, Vue Storefront is now supporting Magento Multi Stock Inventory. Special thanks to Alessandro Ronchi who made it possible and ensured high code quality!

What else?

Vue Storefront has new CTO!

Following to rapid growth of Vue Storefront, we have decided to expand the Vue Storefront team with a new tech leader. Everyone — please meet Mr. Sander Mangel, Magento community legend and our new CTO!

Sander is working with us for only one month, and we already see exceptional results of this cooperation!

You can read more about Sander joining our team here along with the short interview.

Vue Storefront as Shopware exclusive PWA solution!

It turns out that May was an excellent month for Vue Storefront! We not only started working with sander but also announced Vue Storefront and Shopware partnership! Now we will work on delivering the best possible PWA experience for Shopware 6 together!

You can read more about Shopware and Vue Storefront cooperation here.

Shopware 6 integration

Followed by our partnership with Shopware we released Vue Storefront integration with newest Shopware 6!

Here you can find the code and installation guide.

Our QA team will now help you on VS forum!

As we take our support to the next level, we would like you to meet Core QA Team! Gabi, Alina, and Artur help you find or get the answers for your Vue Storefront related questions and issues on our official forum.

Vendic launched Vue Storefront for Meubelplaats

What are the challenges of enriching Magento-based stores with PWA solutions? To find out, we met up with Tjitse and Eugene, developers from Vendic agency, who recently launched a PWA in the Meubelplaats furniture store.

You can read the full interview here.

Vue Storefront hackathon in Deventer by Vendic & Yireo

When speaking about Vendic, it’s hard not to mention amazing hackathon they’ve organized together with Yireo recently in Deventer! Despite the regular focus on coding many efforts has been put into knowledge sharing.

We header about PWAs from Sander mangel, Magento PWA solutions comparison from Jisse Reitsma and running Vue Storefront on production from Tjitse Efde

You can find stunning presentation made by Tjitse from Vendic about running Vue Storefront on production here!

Coding, knowledge sharing, exclusive T-shirts, and beer. What else would anyone need?

Upcoming Vue Storefront hackathons

If you missed hackathon in the Netherlands, there is no reason to panic! We have plenty of them coming where you can meet Sander, core team members, our partners, and other Vue Storefront community members!

Sign up for the Vue Storefront hackathon in Romania here.
Sign up for the Vue Storefront hackathon in Germany here.

Keep an eye on our event list to stay updated and don’t miss Vue Storefront hackathon near your town!

--

--

Filip Rakowski
The Vue Storefront Journal

Co-founder @ Vue Storefront / Frontend Developer @ Divante | Twitter @filrakowski