►
From YouTube: PWA Studio Community Sync 24 July, 2020
Description
Demos for Cart creation and a fix for an infinite loop issue plus a quick overview of upcoming PWA Studio roadmap.
A
Happy
friday,
everyone
thank
you,
everyone
for
joining
again
to
another,
exciting
community
sync
meeting.
Today
we
have
a
few
demos
from
the
team
and
then
we'll
kind
of
take
some
general
questions.
General
updates,
our
initial
agenda.
I
think
that
we
have
proposed
for
today
was
that
we
would
have
mr
zetland
here
to
talk
about
extensibility
and
the
targets
concepts
that
he's
introduced
he's
run
into
a
little
hiccup
doing
some
trying
to
update
his
driver's
license.
A
So
he
might
not
be
here
today
and,
if
he's
not
we'll
end
early
and
push
that
topic
to
next
week,
but
in
the
meantime
we
do
have
stephen
here
with
us
today
to
talk
through
some
of
the
recent
updates
to
cart
so
even
feel
free
to
take
your
time
draw
it
out.
You
know,
and
then
we'll
see,
if
we'll
see,
if
james
is
able
to
join
us
today,.
B
I
doubt
he'll,
I
doubt
he'll
make
it,
but
I
thought
I'll
make
it
to
you.
I
will
I'll
take
my
time.
B
If
you
are
a
new
visitor
to
pw
or
tivenia,
or
to
one
of
your
sites
that
uses
vineya,
the
initialization
was
done
inside
the
cart
trigger,
and
it
was
sort
of
done
like
that
for
legacy
reasons
that
I
won't
necessarily
get
into.
But
it
wasn't,
it
didn't
really
align
with
with
how
I
envisioned
the
cart
creation
happening,
and
it
was
sort
of
an
unnecessary
detail
that
we
all
just
sort
of
had
to
be
aware
of.
B
If
any
of
you
have
tried
to
implement
your
own
cart
trigger
or
have
tried
to
get
rid
of
it
or
do
or
move
it
somewhere
else.
You
may
have
noticed
this
that
it
wasn't
creating
the
cart
correctly
and
that's
because
the
cart
creation
happened
as
an
effect
on
mount
of
the
cart
trigger
component.
B
So
I
had
been
thinking.
It
might
be
more
sensible
to
move
it
sensible
to
move
it
to
the
cart
context
provider,
which
is
the
thing
that
allows
us
to
call
this
cart
context
hook.
B
I've
just
moved
that
into
the
cart
context
provider
in
peregrine,
so
this
is
basically
a
one
for
one
with
that
code
that
was
in
the
trigger
before
it's
just
that
it
now
happens
in
the
context
provider,
which
is
handy
because
it's
you
know
it's
it's
closer
to
the
root
of
the
app.
If,
if
for
some
reason,
you
didn't
want
to
render
cart
the
cart
component
or
or
have
a
cart
on
your
website,
and
you
wanted
to
remove
the
cart
contacts
provider,
you
could
do
that
and
a
cart
would
no
longer
be
created.
B
Of
course,
I'm
sure
that
comes
with
a
lot
of
other
downstream
effects
that
you'd
have
to
handle,
but
the
key
is
that
you
know
car
a
car,
create
car
creation
and,
and
and
the
existence
of
that
idea
is
sort
of
like
core
to
the
cart.
So
it
made
more
sense
for
it
to
exist
in
the
thing
that
always
has
to
exist.
When
there's
a
cart,
which
is
the
context
provider.
B
One
thing
I
wanted
to
point
out
was
that
I
didn't
I
didn't
use
mutations
or
queries
to
create
the
cart
like
we've
been
asking
people
to
do
when
they
write
their
own
components
or
or
modify
talons.
You
know
in
most
of
the
other
areas
in
venia
when,
when
you,
when
you
want
to
use
a
mutation
or
a
query,
we
ask
that
you
call
the
hook
or
pass
in
the
the
graphql
string
from
the
component
into
the
talon,
which,
which
then
invokes
the
the
use
mutation
hook
or
use
query
hook.
B
And
then
you
know,
whatever
else
needs
to
happen
with
that,
but
in
this
instance
there
wasn't
really
a
good
place
for
that
query
to
live
because
of
the
way
that
we
create
the
context
providers,
and
so
I
added
a
comment
here
just
to
explain,
but
I
just
wanted-
and
I
wanted
to
call
this
out
that,
though
you'll
see
these,
you
know
the
graphql
template
string
creator
and
the
graphql
tag
import
now
in
peregrine
as
a
pure
dependency.
B
This
isn't
a
practice
that
we're
trying
to
get
used
to.
We
want
to
just
use
it
sparingly
where,
where
necessary-
and
so
you
know
here-
we've
got
two
very
minimal
mutations
or
mutation
in
a
query.
The
mutation
just
calls
that
create
empty
cart,
and
this
may
even
change.
B
Eventually,
if
we're
going
to
get
into
customer
cart,
which
is
a
different
query,
I
believe
to
fetch
an
auth
user's
cart.
This
right
now
just
happens
to
return
the
cart
id
for
an
off
user
if
the
bearer
token
exists
and
then
the
second
query
is
just
a
very
minor
query
to
check
that
the
user's
authorized,
because
of
some
retry
logic
that
happens
in
the
action
so
again,
there's
no
functional
changes
to
this,
except
that
cart
creation
just
happens
like
higher
up
the
tree.
B
Now
in
the
cart
context
provider,
you
really
shouldn't
you
really
shouldn't
see
any
other
any
any
bugs
or
anything
with
this
no
regressions.
This
is
just
literally
moving
some
code
up
the
tree
to
a
different
place.
That's
more
global!
B
So
there's
really
not
much
more
in
this
pr
for
me
to
go
over.
I
don't
think
so.
Are
there
any
questions
about
this
specific
pr
before
I
move
on.
B
So
the
next
thing
I
wanted
to
get
into
was
something
that
fuman
brought
up
in
an
issue
which
is
that
if
the
graphql
back
end
has
some
problems,
there
was
an
infinite
error
loop
that
would
occur,
and
I
did
a
little
bit
of
digging
and
I
found
that
it
was
because
of
the
cart
creation
logic
that
we
had.
So
speaking,
of
moving
cart
creation.
B
So
I'll
just
sort
of
I'll
demonstrate
that,
first
for
you
and
I'll
do
that
by
trying
to
this
is
okay,
so
I'm
just
going
to
block
all
requests
to
graphql
right
now.
You'll
see
some
other
errors
right.
Obviously,
the
site's
not
going
to
render
right
now
and
I
can
probably
demonstrate
that
actually
well
I'll,
show
you
what
happens
on
develop
when
this
happens.
B
I
hope
I
don't
freeze
my
computer
all
right
so
right
now
we're
at
68
requests
we're
going
to
see
an
error.
Our
72
requests,
73.
B
B
We
have
create
cart,
which
does
a
bunch
of
stuff
to
to
create
the
cart
and
return
it
and
then
inside
the
it's
just
gonna
be
easier
for
me
to
show
my
code
inside
git
cart
details
which,
if
you
recall
from
the
first
pr
I
showed
you,
is
the
action
that
we
we
dispatch
when
we
start
up
the
app
and
and
the-
and
this
is
sort
of
like
incidental
that
what
happens
when
you
call
this
action
is
that
in
when
it
first
runs.
B
If
there's
no
cart
id
in
storage
or
in
your
reducer,
it
will
dispatch
a
call
to
create
the
cart
and
then
it
will
retry
the
git
card
details
call
after
that's
complete
after
it's
created
one.
The
problem
is
that,
as
you
saw,
this
results
in
infinite
loop,
because
the
dispatch
would
ask
for
a
cart.
That
request
would
fail.
That
request
is
up
here.
B
We
would
right
here
we
would
throw
and
then
we
would
just
dispatch
an
error
and
that
doesn't
do
anything
to
the
to
the
stack
right.
It
just
continues
processing,
which
means
that
you
ended
up
back
here
and
you
retried
the
thunk,
which
came
back
and
said.
Oh,
I
still
have
a
card
id
so
give
me
a
cart
which
would
fail,
and
then
it
would
hit
this
so
so
yeah.
All
I
got
all
I
did
was
inside
the
create
card
action.
B
Now
when
there's
an
error,
we're
going
to
log
it
first
of
all
in
development
mode,
so
it's
a
little
more
helpful.
We're
going
to
do
the
same
thing
we
were
doing
before,
which
is
dispatching
the
action,
but
then
we're
also
going
to
throw
out
of
this
action,
because
it's
the
only
way
that
we
can
inform
the
upstream
actions.
As
far
as
I
know,
of
a
of
a
problem
during
this,
this
flow
so
now
git
card
details
whenever
it
hits
it's
now.
B
I
wrap
this
in
a
try
catch
whenever
just
the
create
cart
action
fails,
it'll,
throw
we'll
get
the
error
here
and
oh,
I
missed
a
spot
and
then
it'll
just
return,
which
means
that
it
will
allow
users
to
continue
browsing
the
site
without
things
blowing
up
on
them.
So
I
can
demonstrate
that
happening
here.
Just
by
throwing.
B
Throwing
an
error
during
create
cart,
and
then,
let's
see,
if
we're
over
here,
yeah
we're
at
175
requests.
Now,
I'm
just
going
to
close
this
all
right.
So
if
your
the
flow
is
when
the
there's
no
card
id
so
no
card
id
and
storage
and
I'm
going
to
refresh
the
page
and
you'll
see
an
error
occur,
there's
that
there's
that
error
throw
these
won't
be
logged
in.
I
think
one
error
will
get
logged
in
production.
If
this
happens,
but
as
you
can
see,
the
rest
of
the
site
is
functioning
you're
able
to
do
things.
B
You
know
you
can
you
can
go.
You
can
try
to
add
an
item
to
your
cart
and
I
added
a
little
helpful
error
message
on
this
page
too.
There's
a
problem
with
your
cart
refresh
the
page.
Try
adding
again
so
hopefully
this
this
doesn't
result.
You
know
you
never
want
to
result
in
infinite
error
loops
for
users,
so
this
at
least
will
stop
that
and
allow
them
to
continue
browsing
the
site
if
there
happens
to
be
a
problem,
creating
the
cart.
B
So,
let's
see
one
thought
I
had,
and
one
thing
I
did
was
this
error
gets
dispatched
into
the
store
and
this
was
happening
already,
but
now
I
have
spread
the
or
I've
stored
that
error
inside
the
card
slice,
and
that
means
that
you
can
you
can
you
can
handle
it
accordingly,
if
you
want
by
checking
in
you
know
your
app
file
for
for
get
card
air
and
you
can
throw
a
toast
if
you
want
or
you
could
code
the
or
you
could
update
the
actions
to
just
straight
up
return,
if
there's
an
unrecoverable
error
in
the
store.
B
I
didn't
do
this
and
I
didn't
throw
a
toast.
Yet
I
felt
like
that
was
a
little
bit
beyond
the
scope
of
this
pr,
but,
but
I
did
put
I
did,
I
did
add
it
to
the
store
now.
So
if
there's
an
error
with
getting
that
cart,
it'll
exist
in
the
store
for
you
to
to
check
and
then
here's
that
here's
that
display
for
product
for
the
product
detail
page.
B
Pushed
can
I
push
change.
I
must
have
missed
some
of
these
console
locks.
Okay,
yeah!
That's
about
it!
For
for
this
guy.
Is
there
any
questions
about
the
infinite
loop
problem
that
I
was.
A
It's
perfectly
fine
all
right,
so
there
are
no
questions
for
stephen
again.
I
know
we've
had
a
few
people
joined
since
we
first
started.
The
quick
update
here
is
that
we
were
going
to
cover
sensibility
and
targets.
Mr
zetlan
had
a
had
a
last
minute
conflict,
so
he
won't
be
able
to
make
it
today
to
cover
that
content,
so
we'll
cover
it
next
week.
A
In
the
meantime,
though,
what
we
can
do
is
quickly
talk
about
some
of
the
roadmap
updates,
updated
roadmap
for
pwa
studio
and
again
what
our
kind
of
current
priorities
are,
what
we're
planning
to
address
going
forward
in
q3
and
q4.
So,
if
that's
of
interest
to
everyone,
let
me
just
share
my
screen
and
we
can
talk
through
that.
A
All
right
so
again
here,
if
you
go
to
our
github
repo
in
the
wiki,
there's
a
roadmap
page,
but
you
of
course
try
to
maintain
and
keep
updated
with
all
of
our
current
priorities
and
near-term
priorities
for
the
project.
We
have
a
couple
different
views
of
of
our
roadmap.
That,
of
course,
are
not
on
this
page,
but
if
you're
interested
feel
free
to
ping
me,
we
have
no
no
problem
sharing
the
kind
of
slide
view
of
it,
but
it
essentially
contains
the
same
information
so
I'll
walk
through
this
really
quickly.
A
I
guess
quick
update
on
our
7.0.0
release
is
that
it
is.
It
is
planned
for
next
week
we
covered
the
release,
notes
on
the
call
last
week,
but
if
you're
interested
in
checking
out
those
release
notes-
which
is
obviously
important
because
it
speaks
to
some
of
these
current
priorities,
there
is
a
open
pr
right
now
with
the
kind
of
rough
draft
or
finalized
draft
of
the
release,
notes
which
is
2542
pr2542.
A
So
you
can
pull
that
up
and
check
out
the
7.0
release,
notes
and
what's
in
it
mostly
is
kind
of
the
well
there's
a
lot
in
it.
So
I
just
won't,
say
it's
basically
just
one
thing
anyway:
moving
back
to
kind
of
road
map
so
currently
for
q3
and
q4
we're
kind
of
working
it
across
a
a
kind
of
few
different
areas.
But
the
primary
theme
here
for
the
team
is
around
completion
of
b2c
features
and
storefront
features,
as
well
as
continuing
to
improve
the
developer
experience.
A
So
at
the
top
here
we
see
kind
of
some
developer
experience
items:
it's
not
you
know
in
a
timeline
view,
so
I
can
understand
there
might
be
questions
on
timeline,
but
for
the
most
part
from
the
top
to
bottom
order.
It
is
in
a
priority
order.
So
currently
we
have,
you
know,
dave,
mccauley
and
obsessive
alex
team
working
with
us
on
pwa
studio
now,
they're,
taking
on
this
internationalization
and
localization
framework.
A
Obviously
we're
working
from
the
pr
that
was
contributed
by
chris
bob
enter
from
the
community,
but
that's
a
big
focus
for
us
for
this
quarter.
We
also
have
an
epic
coming
up
with
scaffolding.
Improvements,
we've
had
feedback
and
seen
some
issues
or
bugs
opened
up
from
the
community
that
have
come
in
we've
kind
of
organized
those
into
an
epic
and
then
we'll
also
do
some
some
improvements
around
that
dev
experience
for
scaffolding.
A
Multi-Store
is
an
item
that
we'll
have
down
the
line,
but
fortunately,
I
think
internationalization
kind
of
touches
on
some
multi-store
capabilities,
so
we'll
look
at
what
we
can
do
in
terms
of
delivering
across
both
of
those,
but
it
is
also
a
separate
work
stream
on
our
roadmap.
A
Extensibility,
which
we
know
is
is
current,
has
been
launched,
started
with
6.0
and
then
his
the
docs,
and
you
know
the
evolution
of
that
framework
is-
is
continuing
at
7.0.
A
A
A
Right
is
a
is
a
kind
of
constant
hot
topic
for
us
in
the
community,
so
we
do
have
a
road
map
item
that
we've
built
into
q3
end
of
q3,
going
into
q4
for
us
to
kind
of
readdress
some
of
the
things
the
out
of
the
box
and
support
for
ssr
within
pwa
studio.
So
as
we
get
closer
to
that,
we'll
make
sure,
of
course,
that
we're
being
transparent
on
what
we're
planning
to
do
there.
A
But
it
is
an
item
that
we
do
plan
to
address
and
then
some
kind
of
items
there
at
the
end
are
just
cloud
magento
commerce,
cloud
optimizations
working
with
the
cloud
team
we're
looking
at
in
q3
q4.
How
do
we
make
sure
that
we're
optimizing?
You
know
the
the
install
and
the
implementation
of
pwa
studio
and
magento
cloud,
as
well
as
improving
things
like
lighthouse,
constant
improvements,
around
performance
and
then
quality
fixes
for
developer
experience,
so
I'll
kind
of
just
jump
into
the
shopper,
experience,
real,
quick
and
then
I'll.
A
Take
questions
around
q3
q4,
so
the
to
wrap
up
or
to
continue
q3.
We've
obviously
done
carton
checkout
over
the
last
a
few
months.
My
account
is
the
big
feature
that
we're
tackling
in
q3,
as
well
as
the
mini
cart
refactor.
A
The
mini
cart
refactor
will,
as
we've
kind
of
demoed
on
this
call
before
we'll
turn
mini
cart
into
a
true
kind
of
desktop,
mini
cart
and
then
we'll
also
make
sure
that
we
we
tie
together
the
new
carton,
checkout
experiences
kind
of
fluidly
throughout
the
app.
My
account
there's
details
there
for
what
we
are
planning
for
the
initial
phase
of
the
my
account
delivery.
A
So
all
the
way
from
you
know
account
info
the
order
history
address
book,
wishlist
stored
payments
and
communication
preferences,
all
the
the
kind
of
stories
that
we're
delivering
against
for
the
initial
phase
of
my
account.
So
I
know
there
have
been
questions
there
so
that
detail
is
now
listed
on
this
page,
and
then
we
have
a
epic
currently
with
indesign
right
now
to
to
add
in
the
support
for
additional
product
types
like
grouped,
bundled
virtual
and
downloadable.
A
So
that's
when
it's
indesign
that
we'll
be
picking
up
after
the
current
work
on
on
my
account
in
internationalization,
and
then
we
have
some
epics
to
round
out
q3
and
going
into
q4
for
adding
in
support
for
mega
menu
product
recommendation
recommendations.
A
Team
is
actually
working
on
delivering
product
recommendations
for
pw
studio,
using
the
extensibility
framework
that
we've
recently
launched
so
that'll
be
something
that
comes
in
from
their
team,
but
we're
obviously
going
to
be
tracking
and
making
sure
that
everyone's
aware
of
and
then
lastly,
around
shopper
experience
is
accessibility
and
doing
a
kind
of
full
audit
on
accessibility
and
what
it
means
for
us
to
move
forward
and
have
some
some
compliance
or
support,
for
you
know
wcag's
kind
of
double
a
level
of
double
a
standard.
A
So
that's
pretty
much
it
for
kind
of
rounding
out
this
year.
What
we're
focused
on
for
this
year,
you
can
take
a
look
at
this
page.
You
can
look
at
what's
coming
up
what
that
means
for
q1
and
q2
next
year
and
kind
of
the
thing
some
of
the
items
that
are
out
there
coming
out
of
the
end
of
the
year,
but
I'll
kind
of
stop
there
and
stop
reading
everything
to
everyone
and
ask
for
any
questions.
A
C
A
A
Of
course,
you
know
I'd
say
since
this
is
the
call
for
the
community,
if
you're
looking
to
contribute
in
any
of
these
areas,
or
you
see
something
on
the
roadmap
that
you'd
want
to
contribute
that
that
we're
not
currently
focused
on
feel
free
to
reach
out
reach
out
to
any
of
the
community
maintainers
reach
out
to
me
reach
out
to
tommy
weibo
on
the
team.
A
You
know
we
can
have
those
conversations
which
there
are
no
other
questions
about
the
roadmap.
I
guess
I
will
stop
sharing
and
just
ask
jordan
lars
or
tommy
any
updates
for
community.
C
A
Yeah
there
are
no
definitive
plans
of
net.
As
of
now
we
haven't
set
the
scope
for
the
epic
really
we're
in
discovery
right
now
and
doing
some
initial
kind
of
research
again
dave
and
I'd
invite
him
to
jump
in
here.
But
you
know
dave
has
kind
of
identified
that
as
we're
delivering
internationalization,
there
are
likely
going
to
be
some
areas
where
it
might
start
to
touch
on
multi-store.
So
we're
trying
to
define
that
now
and
doing
some
additional
research.
But
I
don't
think
we've
kind
of
fully
flushed
out
the
details.
C
Okay
yeah,
I
have
had
some
some
success
using
the
like
store
header
modification
that
was
mentioned
in
the
documentation,
so
just
again
just
curious
what
your
guys
plans
plan
was
for
this
feature.
That's
that.
D
A
E
Yeah,
I
would
say
no
change
since
last
week.
I
would
I
would
jump
on
and
show
the
project
board
again,
but
it
would
seem
like
a
broken
record
if,
if
anybody's
interested
in
picking
up
work,
there
is
a
community
backlog
with
prioritized
work,
we
are
aligned
with
all
of
the
community
engineering
kind
of
point
systems
and
all
that
so
everything's
tagged
and
ready
to
go.
E
We're
also
starting
kind
of
a
issue
sponsor
program
where,
like
some
of
the
more
complicated
issues,
that's
going
to
require
help
from
somebody
from
the
core
team,
someone
has
assigned
themselves
as
a
sponsor
for
that
issue.
So
I
think
there's
a
big
one
related
to
staging
environments
that
james
zetlin
is
going
to
be
the
sponsor
on.
So
that's
a
highly
complicated
piece
of
functionality,
but
he's
willing
to
kind
of
help.
Talk
you
through
how
that
implementation
should
go.
So
if
anybody's
interested
in
some
fun
work
take
a
peek
there.
A
Perfect
all
right!
Well,
I
guess
that
wraps
us
for
today
and
again
we'll
get
we'll
get
to
extensibility
from
mr
zetland
next
week,
as
well
as
more
fun
demos,
but
I
guess
thanks
everyone
for
joining
have
a
great
rest
of
your
friday
great
weekend
and
we'll
see
you
all
next
week,
all
right
see,
you
guys
see
you
bye.