v2.0.0 Release Candidate 1
Pre-releaseThis 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 tooutput.filename
andoutput.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 unlessprovideUniqueHost
is in its configuration in
webpack.config.js
as either a custom string ortrue
. - Adds
provideSSLCert
flag to PWADevServer configuration. PWADevServer
will no longer try to create or retrieve a trusted SSL certificate
unlessprovideSSLCert: 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