Skip to content

v2.0.0 Release Candidate 1

Pre-release
Pre-release
Compare
Choose a tag to compare
@zetlen zetlen released this 03 Oct 19:22

This is a prerelease in preparation for a larger architectural change in RC2. Here is a rough changelog:

Jonathan Stein 2018-10-03 Account creation (issue #250) (#293) * create generic input component

  • create login component, action and reducer catch

  • Hook login form to utilize and store token

  • Add navigation animation and user icon

  • add auth to REST requests

  • Add user icon

  • add auth header login_token to graphql queries

  • Change animation, add user to store

  • Move user logic into separate action/reducer

  • Add token to auth headers when token is available (rest)

  • Style sign in form, fix user reducer

  • Rename log in -> sign in. Wire up sign in form.

  • Style error messages in sign in form

  • write test for signIn and input, small style and prop fixes

  • Add redux actions to create account and transfer guest cart to user's account

  • add form, navheader and create account components, update styles

  • Transferring cart to a newly created customer account created an
    issue where a guest cart could not be made. getCartDetails now checks if
    a user is signed in.

  • add debounce email check

  • add error display and checkbox components, wire up account creation with redux

  • add automatic login

  • Close createaccount if user is signed in

  • let checkbox highlight on focus, add firstname and lastname required fields

  • Tests for createAccount form

  • use browser persistence instead of interacting directly with local storage

  • add autocomplete to input

  • set default username and replace Form component with Informed's Form

  • start switch to Text component from Informed

  • switch to dot lookup in navigation states

  • Set initial value of CreateAccount (inform)

  • modify user actions/reducers to be in release 2.0 format

  • write tests for async User actions

Jimmy Sanford 2018-10-01 Update hardcoded client path in root template (#315) Now that client assets are output to web/js, the currently
hardcoded path in root.phtml needs to be updated.

James Zetlen 2018-10-01 fix: reducer removes guestCartId when it fails (#314)

James Zetlen 2018-09-28 fix(dev): merge 'assets' and 'output' paths (#220) - Remove the concept of the "assets" directory entirely, and set the
"output" directory to be just "web/".

  • Remove the old logo asset from /web/ (pre-Venia rebrand!)
  • Gitignore entire "web" directory
  • Set JS files to output to 'web/js' subdirectory by adding directory
    prefix to output.filename and output.chunkFilename
  • Modify tests, documentation, and type expectations to remove
    paths.assets
  • Check if captureStackTrace exists before calling

  • Add test to ensure captureStackTrace isn't called when it does not exist

Unit tests should use MemoryRouter, not BrowserRouter, and do
shallow rendering rather than full mounting.

  • feat(dev): Make PWADevServer host/SSL optional (#175)

PWADevServer attempts to create a unique domain name, create local
SSL certificates, and tell the OS to trust those certificates, for
every new project. It also tries to confirm they exist on every run!

This causes many problems for users under some common conditions:

  • No administrative access to local machine
  • No OpenSSL installed, or wrong OpenSSL installed
  • OS cannot be scripted to trust certificates
  • Developer uses Firefox, which uses its own cert store

Additionally, some bugs in the implementation have caused some
developers' projects to enter an unusable state.

  • Adds provideUniqueHost flag to PWADevServer configuration.
    PWADevServer will no longer try to create or retrieve a custom domain
    name unless provideUniqueHost is in its configuration in
    webpack.config.js as either a custom string or true.
  • Adds provideSSLCert flag to PWADevServer configuration. PWADevServer
    will no longer try to create or retrieve a trusted SSL certificate
    unless provideSSLCert: true is in its configuration in
    webpack.config.js.
  • Modifies custom domain name creation strategy to ensure uniqueness
    based on a hash of the full local path, rather than using the local
    flat file database.

We created these features for the needs of the developer working on
several PWAs at once on their local machine, so that they don't have to
set up manual SSL every time, and they have no conflicts with Service
Workers. This could be considered "bonus functionality", as it's not
critical to the setup of a minimum viable PWA. It was meant to establish
our focus on developer experience, and articulate the parts of developer
setup that PWA Studio can "own".

However, we soon learned that we could not maintain all scenarios for
automated setup and continue to make progress with shopper-facing
features
. We still really want to support and automate all of these
scenarios, but for now, our implementations are a hindrance and we are
turning them off by default.

Paul 2018-09-26 Default pragma (#229) chore: Switch back to default pragma

  • Switched import { Component, createElement } from 'react';) to import React from 'react', { Component };
  • Switched import { Fragment, createElement } from 'react';) to import React from 'react', { Fragment };
  • Switched import { createElement } from 'react';) to import React from 'react';
  • Added eslint-plugin-react and updated eslint configuration
    accordingly

Jimmy Sanford 2018-09-25 Merge develop branch (#298) * Reorganize redux, add address form

  • refactor(redux): Reorganize actions and reducers (#212)
  • feature(checkout): Add address form to checkout flow (#226)
  • test(redux): Add tests for redux actions (#239)