►
Description
A weekly stream focused on Insomnia's open source community.
Join us on the #stream channel over on the Insomnia community slack: https://chat.insomnia.rest/
This week, we looked into a PR by the community for prettifying GraphQL variables
A
B
Okay,
hello,
everyone
welcome
to
another
insomniac
stream,
I'm
james
together
with
me.
I
have
mark
hey
mark.
B
Nice
doing
really
well
actually
the
weather.
A
B
Amsterdam
is
really
nice
these
days,
so
it's
really
good.
C
It's
awesome.
You
had
a
good
on
plug
weekend
for
your
contacts
for
the
viewers
at
kong.
We
had
unplugged
weekend
on
friday
and
like
sang
from
the
friday
ending
on
monday,
so
we
had
four
days
off.
Is
that
right.
B
And
it
was
great,
I
have
to
say
it-
it
was
really
nice
getting
some
energy
back.
You
know
is
always
nice
right
cool.
I'm
gonna
try
to
share
my
screen
here.
B
Nice
all
right,
so,
let's
see
what
we
have
for
the
stream
in
our
issues
in
our
pull
requests.
So
we
have
this
graphical,
pretty
fight
thing,
which
I
think
we
saw
the
other
time.
Probably
was
you
with
dmitry
mark.
B
Time,
yeah
all
right,
so
I
think
we've
seen
this
before
and
we
went
somewhere
close
to
the
end,
so
it
might
be
worth
pursuing
this
and
trying
to
merge
it
and
then
there's
not
so
much
so
that's
good
to
see
like
you
know,
there's
always
probably
more
issues
we
can
pull
in
here.
But
it's
a
nice
to
see
that
I
don't
need
to
scroll
to
see
all
the
things
we
have
all
right,
so
cool,
I'm
going
to
start
looking
at
the
issue
and
perhaps
like
provide
some
context
but
mark.
C
B
B
Okay,
let
me
start
then,
by
yeah.
I
remember
I
added
some
comments
here,
because
some
things
were
not
working
correctly.
B
But
here's
dmitry
trying
stuff
out
seth
says
he's
gonna
look
at
it
later,
but
no
worries
we
got.
You
covered
all
right.
So,
let's
all
right,
we
also
have
to
resolve
some
conflicts.
So
let's
let's
try
and
go
there.
Let's
go
to
the
pull
request.
B
All
right,
I'm
gonna
call
I'm
gonna,
try
and
set
things
up
a
bit
because
I
don't
have
the
pull
request
open
at
the
time.
B
All
right
we're
back
on
it.
Let's
see
get
helpful
requests
fix
spreadify
check
out
this
pull
request.
I
love
this
feature
of
github
by
the
way
where
you
can,
just
you
know,
go
to
the
thing.
B
B
All
right,
cool.
B
We
get
these
things
from
the
settings
and
now
we
use
them
like
that
intent,
characters.
B
And
then
we
prettify
the
variables
and
we
pass
as
the
second
argument,
the
intent
characters
so
that
that
seems
like
new
logic
to
me,
that
we
should
at
least
write
a
test.
B
C
Oh
sorry,
I
was
muted
yeah.
I
think
that's
that's
what
it
seems.
B
C
Yeah,
when
it's
yeah
there's
no
variables.
B
B
B
B
You
know,
someone
is
typing
this
and
they're
typing
like
a
and
we
get
this
as
a
string
and
then
we
say
like
do
the
thing
put
it
there
put
this
string
there
like
that
and
then,
if
it's
not
empty
parse
it,
because
we
want
to
catch
the
error
and
if
there's
an
error
we
should
we
want
to
set
the
state
to
this
thing,
but
this
seems
like
a
hack
to
me
to
get
this
functionality.
I
I
think,
that's
why
it
exists
here.
I'm
not
sure.
B
A
B
Also,
we
have
this
neat
thing
that
basically
just
puts
the
edit
or
code
mirror
editor
instance
into
this
components,
state
or
properties,
actually,
because
that's
a
class
component,
all
right.
B
A
C
C
A
C
Yeah,
I
feel
it
feels
like
this
is
this
doesn't
belong
here.
C
B
We're
gonna
face
it
in
the
end,
so
it's
it
might
be
better.
If
we
just
do
it
now,
get
it
out
of
the
way
auto
merging
failed
cool.
If
we
come
here
and
remove
the
color.
B
All
right,
so
that
appears
to
be
coming
from
great
vr
by
zone
which
is
enabling
street
typescript
in
the
app.
So
I
think
we
need
to
grab
that.
B
Type
put
it
here
and
just
accept
this
guy
and
then
probably
that's
the
same
oops.
B
B
A
B
All
right
so
now
that
that
is
out
of
the
way,
let's
move
on
oops
cool,
so
intense
characters.
That's
one
thing
I
want
to
check
and
then
jason
parks
is
another.
B
B
Plus
you
know
doing
other
stuff
and
then
the
second
thing
that
happens
in
my
opinion,
is
if
there's,
if
this
thing
is,
is
not
validation,
then
we
want
to
update
the
syntax
error
in
the
state
with
the
error
message
from
parsing
this
guy
and
if
I
go
here,
I
can
see
that
I
can
see
that
we
do
set
state
and
we
set
the
variable
syntax
error
to
nothing
in
here
too,
so
that
might
lead
to
some
like
crazy
race
condition
stuff
which
I
wanted
I
wouldn't
want
to
handle.
B
C
Well,
I
see.
B
B
Yeah,
this
could
also
be
a
derived
value
from
from
the
body.
So
variables
is
an
empty
thing
that
comes
from
here
and
that's
exactly
the
variables
we
used
before.
C
Yeah,
I
think
it
may
be
better
to
just
put
that
as
a
function
and
call
it
inside
this
function.
C
I
guess
ideally,
you
know
if
this
was
a
functional
component,
we
can
just
have
that
in
the
use
effect
as
a
standalone
use
effect
to
set
the
variable
syntax
error
state,
but
yeah.
B
Yeah,
pretty
all
right,
so
we
do
this.
We
capture
the
header
and
we
set
this
guy
to
the
error
and
we
update
the
state,
alongside
with
this
guy.
B
B
B
In
a
function,
but
it
doesn't
like
create
something
new
words
is
putting
it
behind
something,
but
it's
basically
gonna
do
the
same
thing.
Perhaps
the
try
cats
for
the
jason
pars,
like
is
jason.
B
While
you're,
seeing
that
that
codepilot
thingy.
B
B
B
I
just
want
to
check
if,
if
it
had
an
error
definition.
C
It
was
just
to
make
them
more
indicative
that
this
these
are
what
we
need
to
put
into
the
hook
when
we
move
this
component
to
a
functional
component,
but
it's
okay.
We
can
just
leave
it
as
this.
B
B
B
B
B
B
C
A
C
B
All
right,
I
also
want
to
check
out
okay.
This
one
is
now
not
blocked
by
these
things.
C
B
C
B
So
let's
make
a
new
graphql
request.
I
really
like
this.
B
Why
is
this
randomly
stopping
there?
We
can
mark
the
okay,
so
one
of
the
issues
we
have
is,
as
you
can
see,
this
one
defaults
to
an
empty
string
where
it
should
be
an
empty
object
or
nothing.
B
B
B
C
Apollo
studio
just
leaves
that
leaves
us
empty.
It's
like
just
empty
yeah,.
B
Yeah,
I
guess
it's
the
same
for
graphic
graphic
url.
It
is
empty
all
right
cool.
So
all
right
are
you
ready
to
go
into
the
rabbit
hole
of
how
this
gets
set
to
empty
string.
C
B
All
right,
so
I
think
that's
the
variable
editor.
Yes,
all
right,
so
this
guy
gets
initialized
with
some
default
value
and
that's
variables.
Variables
is
coming
from
here.
Variable.
A
B
Which
is
this
json
predefined
is
in
stringify
variable
subject:
let's
see
what
it
has
to
say
about
it,
cool
all
right.
So
if
I
step
below
oh
okay,
so
variables
is
this
from
here
variables,
object
is
an
empty
string.
B
C
C
Can
you
disable
the
breakpoints
and
just
run
it
through
like
clean.
B
C
B
Yeah,
I
think
my
laptop
is
burning
out
of
the
streaming
and
running
all
the
compiler
stuff.
Okay,
all
right
yeah.
I
don't
have
any
waters
or
breakpoints,
but
I
just
get
stuck
here.
So
probably
it's
an
issue
with
yeah.
B
Oh
okay,
it
seems
that
zach
joined.
I
will
add
you.
I
need
to
press
this
button
on
the
thing
on
the
left.
Yeah
welcome.
B
B
And
I
can
send
this,
it
was
not
provided.
B
B
B
The
thing
is
the
variables
editor
so
far
would
get
initialized
with
this
variable's
object,
which
could
be
an
empty
string
and
if
it
was
an
empty
string
because
it
was
stringified
what
the
user
sees
is
this
in
the
editor?
So
that's
that's
not
something
we
want
to
have.
We
want
to
have
just
an
empty
editor,
so
I
added
this
like
or
undefined,
and
this
returns
like
a
because
we
stringify
and
purify
in
the
end,
it's
like
an
empty
string.
B
Oh,
so,
if
I
do
you
know,
if
I
do
a
bad
jason,
we
can
see
unexpected
token
thingy
in
position.
Three,
which
is
fine
like
it
tells
us.
This
thing
is
not
what
you'd
expect,
if
I
add
like
rick,
I
can
pause
here.
B
That
this
is
now
like
a
string
pretty
fine
and
whatnot.
With
this.
B
B
Okay,
I'm
guessing
this
is
happening
on
the
send
request
like
this
issue,
but
let's
see
what
we
sent.
B
It's
appears
to
have
a
name,
but
I'm
not
sure
if
this
last
t
here
is
valid.
So
probably
like
fails
because
of
that
you
see
what
I
mean.
B
B
A
B
Yeah,
I'm,
I
would
need
to
do
it
somewhere
in
the
coat,
though,
where
this
like
slash,
t,
gets
added,
and
I
think
it's
this
guy.
A
It
might
be
a
good
idea
to
try
to
use
json.pass
in
just
in
the
browser
console
see.
If
it
I
mean
it
probably
does
pretty
sure
slash.
T
is
just
a
tab,
but.
B
B
All
right
so
removing
the
thingy
works.
Could
this
be
with
like
how
how
the
graphql
server
strips
or
parses
the
string
we
send
to
it?
It
could
be
that
you
know
we.
B
A
That
would
yeah.
Can
you
also
use
json
stringify,
the
the
additional
params
to
do
this?
Like
presentation
stuff,
you
know.
A
You
can
use
those
like,
I
think,
if
you
you
put
a
space
and
then
like
the
number
two
after
adjacent
stringify
arg
it
it
does,
it
uses
spaces
for
formatting
and
if
you
use
slash
t
it
uses
tabs
for
formatting.
Is
that
right?
You
know
what
I
mean.
I.
C
After
the
replacer
argument,
right.
A
Yeah
yeah,
that's
still,
it
still
conflates
two
things
I
think,
probably
are
more
towards
the
root
cause,
which
is
that
our
presentation
logic
is
dictating
what
we
send
to
graphql
and
that
probably
should
not
ever
be
the
case.
C
B
Like
my
initial
thing
would
be
like
try
to
understand
how
this
thing
is
being
used
because,
like
there's
so
many
places
like,
is
this
stored
in
the
database,
like
that,
I
think
so.
Is
it
being
used
by
the
editor?
B
C
A
So,
there's
also
these
two
other
ways
you
can
see.
B
Oh,
I
love
this
all
right,
so
that
would
be
okay.
That
would
four
would
be
yeah.
A
You
know
what
I
mean
so
then
we're
separating
the
concern
of
presenting
to
user
and
whatever
this,
whatever
this
gets
sent
to
handle
body
change.
B
B
All
right,
let's
try
this
one.
So
oh
okay,.
C
I
I
think
the
can
can
you
can
you
go
to
the
jason
prudify
definition
of
it?
I
want
to
see
what's
that
partners
and.
B
What
you
said
here
yeah,
but
you
need
to
pass
it
like
either
the
t
oops
or
how
many
spaces
you
want.
So
that's
why
they
did
it
like
that.
A
B
Yeah,
because
this
one
is,
is
we're
passing
it
a
string,
we're
not
passing
an
actual
object,
so
the
difference
is
this
takes
a
string
that
looks
like
jason.
C
B
Makes
it
look
nice?
So
if
I
had
this
invalid
thing,
I
can
do
prettify
and
it's
going
to
pretty
fine
with
whatever
I
told
it
to.
C
B
Jason
stringify
needs
an
actual
object
and
in
our
case
this
is,
we
cannot
represent
this.
We
cannot
json
parse.
This.
C
B
It
will
throw
it
throws
a
matter.
It
says,
like
hey,
you're,
what
what
is
this
so
I
agree,
that's
cool,
but
that's
probably
why
we
need
some
prettify.
A
I
think
part
of
the
problem
is
this:
this
prettification
step
is
coupled
with
the
it's
coupled
with
the
data
we
actually
send
so.
A
B
C
I
know
this
is
going
to
sound
really
dirty,
but
when
we
send
the
graphql
request,
can
we
just
replace
the
string
pattern
with
brizex
to
remove
you
know
flash
t
it
seems
like
you
know,
we're
digging
into
something
that
is
not
pleasurable
to
touch.
C
C
I'm
looking
at
the
insomniac
code
and
there's
a
whole
bunch
of
case
that
we're
handling
here.
A
B
There's
two
solutions:
one
is
down
the
low
four
tabs
here
and
just
make
this
be
always
spaces.
You
know
I
I
don't
like
it
since
we
offer
like
this
option
to
use
that
perhaps
we
need
it
and
that's
the
option.
One
option
two
is
probably
go
to
send
request.
C
C
How
how
does
the
monaco
will
help
here?
B
Here's
what
I'm
gonna
try!
I
wanna
see
this
if
this
works
with
jason,
stringify,
jason,
pars,
etc.
I
I
don't
think
it's
a
monaco
issue.
B
C
A
Thing
and
that
puts
us
in
a
pickle
when
we
want
to
control
like
a
rendering
context
like
taps
spaces,
coloration
or
some
other
like
meta
thing,
because
then
we're
altering
the
underlying
data.
B
A
And
then
this
I
have
a,
I
have
a
question:
what
should
what
do
you
think
what
should
happen?
What
does
what
do
you
think
a
user
would
expect
if
they
set
their
environment
to
indent
with
tabs,
and
then
they
start
using
spaces?
Should
that
should
that
little
window
there
replace
everything
they
do
with
tabs?
Should
it
let
them
do
what
they
want
freely
or
should
it
only
happen
on
send,
or
you
know,
those
kinds
of
questions.
B
B
A
They
all-
or
at
least
they
all
kind
of
happen
by
accident,
because
we're
constantly
running
the
on
change
handler,
which
is
constantly
updating
the
values
with
space
like
is
it
updating
all
spaces
or
just
indentation
spaces?.
A
A
B
C
Yeah,
I
think,
jack
what
you
said
about
having
the
separate
presentation
and
the
actual
data
that's
being
sent.
I
think
that's
the
good
approach
that
we
should
really
actually
take.
If
you
want
to
fix
this
right.
A
A
A
B
All
right,
I
think
we
have
like
reached
the
end
of
the
stream.
Also
so
I'll
just
add
a
note
for
from
the
stream
to
the
pr
that
we
need
to
check
the
tabs
and
stuff,
and
perhaps
the
second
take
here
is
to
try
to
do
this
stripping
out
or
whatever,
like.
B
I
also
like
the
presentation
versus
data
separation,
so
perhaps
we
can
try
to
see
what
it
needs
to
to
happen
to
get
there
because
yeah
we
we
seem
to
be
unpacking
a
lot
of
stuff
where
all
we
wanted
to
do
was
just
allow
you
to
purify
this
thing.
C
Yeah
but
it
seems
like.
A
C
A
different
use
case
here,
because
json
stringify
requires
you
to
pass
the
object,
whereas
the
this
json
prettify,
which
is
out
of
insomnia
protify
package,
it
takes
a
json,
formatted
string
and
just
do
they
replace
magic
inside.
B
All
right
cool,
I
think
we
got
a
lot
of
stuff
to
check
out
for
the
next
time.
Perhaps
we
can
also
do
it
in
between
the
streams
thanks,
everyone
for
everyone
who
joined
everyone
who
watched
this
see
you
again
on
the
next
stream.
C
Yeah.
Thank
you
so
much
guys,
thanks
for
all
of
all
your
support
and
involvement
thanks
so
much.