►
From YouTube: PWA Studio Community Meeting Nov. 8th, 2019
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
A
Another
meeting
demo
community
sing
for
PWA
studio.
We
have
some
pretty
good
content
today,
we're
catching
up
after
a
couple
weeks.
Well,
we
had
to
sink
last
week
right,
but
we
forgot
to
report
it
put
it
on
YouTube,
so
my
bad,
but
so
we'll
cover
some
new
content
today,
we'll
try
to
kind
of
rehash
some
of
the
things
that
happened
last
week
and
just
quick
conversation
points.
I
will
open
it
up
to
the
floor.
Anybody
that's
all
online
as
questions
or
things
that
they
want
to
show
off
and
we'll
kind
of
wrap
up
from
there.
A
B
B
C
B
We
can
we
can
talk
offline
and
plan
it
out.
Okay,
the
other
thing
I
wanted
to
bring
up
was
page
builder
team
has
been,
you
know,
they've
merged
their
page
builder
components
and
the
documentation
can
be
found
on
a
fork
from
their
tech
writer
and
it's
in
this
URL.
So
if
you're
watching
this
recording,
you
can
just
visit
this
and
they
have
a
little
tab
right
here
that
you
can
read
preview.
The
page
builder
documentation
that
their
tech
writer
is
written.
D
E
Filter
models
was
contributed
from
community
came
from
Adrian
written
right
before
we
did
all
changes
over
to
talents
inside
of
Peregrine,
so
we
went
back
after
all
the
others
and
made
a
talent
for
filter
models.
So
this
is
following
the
same
pattern
we've
seen
before.
Basically,
all
the
logic
for
the
enclosing
component
is
in
the
main
one.
F
E
C
E
The
filter
blocks
the
filter
state.
Well
so,
let's
see
what
that
looks
like
now.
Some
minor
visual
updates
to
that
as
well
in
the
process
and
small
performance
tweaks,
though
same
filters
before
accordion
style,
with
swatches
that
are
the
same
as
the
product
page,
the
same
selection
up
top
here,
the
same
horizontal
available
selections
up
here.
E
E
And
when
we
reopen
the
filter,
of
course,
the
selected
filters
are
still
there.
The
state
of
this
model
is
preserved.
So
this
this
acts
and
operates
a
lot
like
the
other
drawers
that
we
have
in
the
app
as
well
now
other
than
that.
Just
minor
visual
stuff
should
be
easier
to
extend
them
and
then
coming
down
the
pipe.
E
D
E
You
know
it'll
exist
here
inside
the
potential
house,
so
sort
of
the
error
view
becomes
the
Magento
router.
It
calls
the
talent,
it
gets
the
states
that
error
view
is
concerned
with
like
whether
it
was
a
not
found
or
an
internal
error,
and,
and
it
decides
what
to
render
you
know.
So
this
is
it's
basically
taking
the
error,
view
thing
and
adapting
it
to
the
same
pattern.
We
use
everywhere
else.
You
know,
get
state
back
from
the
talent,
decide
what
to
render
cool.
G
So
I
was
just
going
to
demo
a
few
things
that
I'm
sorry
I,
just
kind
of
demo,
a
few
things
that
I
cleaned
up
yeah
a
couple
weeks.
So
one
of
the
one
of
the
there's
a
bug
that
was
pretty
pretty
low
hanging.
But
when
you
would
search,
we
wait
for
a
user
to
enter
three
more
than
three
characters
and
then
I
think
we
would
start
clearing
the
problem
is
we
would
do
it
on
every
enter
key
entry.
G
So,
as
you
can
see
in
this
gift
that
pretty
much
every
key
emits
a
craft
kill
call
which
comes
back
with
data.
This
is
bad,
so
I
don't
really
need
to
show
any
code,
basically
I,
just
D
bounced
that
and
now
just
waits
until
I
think
like
500
milliseconds.
Maybe
she
chose
an
arbitrary
time
so
that,
after
waits
after
the
last
key
press
and
then
it
it's
a
lot
better,
not
making
a
lot
of
calls.
Initially,
we
wanted
to
try
and
cancel
the
call,
but
that's
not
possible
it
retract.
G
That's
that
one
next
up
I
moved,
so
we
have
a
lot
of
rest
usage
still
throughout
the
application,
and
one
of
the
things
I
think
we're
gonna
try
to
do
soon
is
really
just
clean.
That
up
I.
Think
there's
like
some
user
state,
there's
checkout
and
cars
state
left
over,
but
two
of
the
ones,
two
of
the
places
that
I
found
that
we're
pretty
sort
of
sort
of
separate
from
the
other
areas,
and
that
therefore
easier
to
do
the
attack
where
the
create
customer
and
the
sign-in.
G
G
G
Then,
if
you
submit
now,
the
graph
feel
are
the
graph
QL
error
gets
logged,
but
also
the
error
that
comes
back
from
graph.
Ql
is
a
little
bit
more
explicit,
and
this
is
like
we
don't
have
to
maintain
any
strings
on
our
on
the
UI.
We
just
display
what
graticule
told
us,
rather
than
an
error
occurred.
So
this
is
a
better
use,
cave
or
a
better
user
experience
for
creating
an
account
next
I
did
sign
in,
but
that
was
very
similar
when
a
user
signs
in
we
wanted.
G
We
were
doing
that
with
rest
and
there's
a
craftool
mutation
where
we
can
grab
the
token
from
graph
UL
that
we
then
store
del
and
I
hours
on
about
how
this
is
not
necessarily
the
best
way
to
do
authentication.
But
this
is
pretty
much
just
converting
from
rest
to
graph
QL.
So
rest
was
also
using
a
little
local
token,
and
so
we're
still
going
to
do
that.
We're
just
using
graph
QL,
and
so
that
address
is
gone.
So
now
you
can
watch
my
sign
in
there's
a
call
for
that
and.
C
A
D
C
Are
we
lifting
up
graph
QL
errors
out
of
the
Apollo
client
today,
because
you
know
we
had
to
write
a
bunch
of
stuff
around
handling
rest
errors
because
they,
actually,
you
know,
travel
over
HTTP,
so
they
throw
exceptions
in
fetch
or
in
our
client.
But
I,
don't
know.
If
we
have.
You
know
our
graph
QL
usage
rarely
throws
exceptions
because
it's
strongly
typed,
you
know,
there's
almost
never
a
runtime
error,
I'm
wondering
I'm
wondering
how
do
we
handle
that.
G
G
No,
no,
you
know
we
I,
don't
even
think
I'm,
not
sure
if
we
were
before,
but
I
owe
the
the
actual
graph
Capri.
So
that
was
something
I
looked
into
when
I
wrote
this,
but
it
didn't
seem
necessary
in
this
case,
because
we
submit
the
form
all
at
once
anyways.
So
it
would
be
like
a
step
before
like
when
the
user
enters
their
email
understand
like
blurs
off
the
field.
Would
we
make
that
requester
graph?
You,
let's
see
if
that
email.
C
G
E
I
C
G
How
you
wrote
the
code
right
right
now
we're
using
the
used
query:
Apollo
use
query
hooks,
which
should
return
new
data
when
the
query
finishes
and
then,
if
you
have
an
effect
that
modifies
that
it
pulls
something
off
the
data
or
if
your,
even
if
your
react
component
directly
uses
that
data,
it
should
rerender.
So
if
it's
not
happening,
you
know,
we'd
have
to
debug
a
little
bit
is
all
I'd,
say:
Oh
ping
me
or
ping
the
channel,
and
maybe
somebody
can
help
you
out
in.
J
E
G
C
G
I
No
not
yet,
but
I
will
get
in
touch
with
you
if
I
need
help.
In
that
case,
we.
D
All
right,
so
this
is
PEP
catch.
It
so
I'll
show
you
the
demo,
but
basically
we're
going
from
the
category
page
ear
down
and
we're
gonna,
like
click
one
of
these
products
to
drill
into
it,
and
so
here
on
this
category
page,
the
graph
QL
query
really
only
needs
some
product
information
like
the
picture,
the
name
of
the
product
and
then
the
price.
And
so
when
you
went
to
the
PDP
page,
it
obviously
needs
more
information
than
just
that.
D
So
there
would
be
a
graphic,
a
phone
call
to
get
the
details
for
that
product
and,
as
a
result
you
the
PP,
couldn't
render
until
it
had
all
that
data.
And
so
you
get
this
loading
screen
a
loading
spinner
that
shows
up
and
since
graph
feels
a
little
bit
slow
right
now.
Sometimes
it
was
on
the
order
of
like
two
seconds
before
you
went
to
the
page,
so
I
set
out
to
improve
that
the
I'm
showing
be
PR
here,
because
I'm
not
going
to
go
into
great
detail.
D
So
basically,
we
are
over
fetching
a
little
bit
here
on
the
category
page
for
each
product
so
that
we
can
enable,
when
you
click
on
one
of
these
products.
The
PDP
page
camp
already
has
that
product
data
in
the
cache
and
can
load
the
PDP
immediately.
So
I
will
quickly
kind
of
clear.
All
of
my
fashion
show
you
so
I
just
clean
everything
and
we're
coming
like
coming
in
on
the
category
page.
This
is
going
to
make
that
category
query.
I,
guess
I
can
show
you
that.
D
We
no
longer
need
this
side
of
things,
but
they're
here,
I'm
I've
got
this
screenshots
checkbox
checked
out
here
in
case
it
will
show
you
like
what
the
page
look
like.
The
timeline
goes
by
so
here
you
can
see
we're
kind
of
on
the
category
page.
At
first
we
clicked
into
the
Claudia
address.
There
was
a
loading
spinner
for
a
second
and
then
the
PDP
started
loading
here.
D
But
what
I
want
to
call
out
specifically
is
up
here
right.
The
right
underneath
right
on
top
of
the
screenshots
I
should
say:
there's
these
blue
bars.
These
are
the
graph
QL
calls
and
you
can
see
them
also
in
this
network.
Accordion,
here's
one
and
here's
the
other,
and
this
first
one
is
the
one
with
the
loading
spinner
comes
up.
So
this
is
actually
resolving
the
URL
to
know
that
we
need
to
render
a
PDP
in
the
first
place,
so
there
was
really
no
getting
around
that
one,
but
this
1.
D
It's
kind
of
a
stale
while
revalidate
or
cache
in
network
will
check
the
cache
first
third
from
the
cache
and
then
hit
the
network
anyway,
and
make
sure
that
the
cache
is
up-to-date.
So
it
ends
up
I
guess
I
can
show
you
again
but
like
it
ends
up
being,
there
is
still
a
loading
spinner,
but
it's
not
nearly
you
can
tell
we
cut
off,
probably
more
than
half
of
the
loading
time
to
go
from
a
category
page
to
page.
So
that's
this
good
thanks.
G
Normally,
you
would
see
you
wouldn't
even
see
the
page
or
the
images
until
after
that.
Second
graphic
you'll
call
it's
done.
We
see
the
blank
template
because
of
the
blank
placeholder,
because
the
actual
image
is
still
being
requested,
but
I
think
is
another
PR
right.
That's
a
good
plenty
with
some
image,
caching
being
done
later
PR,
so
that
will
be
faster,
I
like
when
that's
done,
and
this
PR
Zen
loading
of
the
product
page
should
be
very
fast.
D
D
A
D
And
this
one
introduces
our
first
fragment
so
basically
grab
q-ball.
Normally
right
like
you
would
you
would
only
want
to
request
the
data
that
you
need
so
I
mentioned
previously
this
category
page
only
requesting
product
data
for
the
image,
the
name
in
the
price,
but
since
we
want
to
kind
of
share
the
data
that
the
PDP
needs
and
I
created
a
fragment
to
kind
of
keep
those
two
things
in
sync.
So
you
don't
have
to
manually,
keep
the
queries
in
sync.
But
again,
if
you
want
more
details
on
that
check
out
the.
E
A
All
right,
great
thanks,
Andy,
so
I
think
that
wraps
it
up
for
the
internal
cipher
for
demos,
James
I
turn
it
over
to
you
to
see.
If
you
have
anything
you're
in
that,
you
see
any.
If
you
have
anything
like
hearing
that,
you
were
going
to
discuss
general
opportunity
for
the
anyone
on
the
line
that
yeah.
A
C
D
A
I
think
the
only
thing
that
we
didn't
cover
from
last
week's
session
that
is
worth
talking
about
is
I
think
there
were
some
Doc's
updates
that
James
I
think
all
those
should
be
publicly
accessible
through
a
dead
dog,
though
I'm
not
sure
how
much
you
dive
into
that.
But
I
think
there
was
some
of
the
image
optimization
demo.
We
have
the
PR
handy
that
we
just
point
to
you.
Maybe.
D
D
Take
care
of
sizes
and
source
sets
and
placeholder
images
and
all
that
stuff
for
you.
So
a
lot
of
that
stuff
was
copied
and
pasted
throughout
the
code
base.
So
it
kind
of
consolidates
a
lot
of
that
logic.
Just
in
the
one
image
component,
which
is
pretty
cool
and
there's
actually
follow
up
here
to
that
now,
which
makes
the
API
a
little
bit
easier
to
work
with
so
a
little
more
intuitive.