►
From YouTube: Code Review Weekly Workshop - Apr 21, 2023
Description
In this session we talk about some topics pertaining to code review. We also pair up on a review.
00:00 - Intro
00:30 - Mocking gdk as gitlab.com for testing sourcegraph
15:00 - Pair on a MR review
A
B
Right
thanks
for
hopping
on
the
code
review
weekly
Workshop,
we
have
some
things
to
talk
about
pertaining
to
code
review.
B
I've
got
interesting
thing
related
to
revealing
these
Mrs
I
get
pinged
on
regularly
involving
Source
graph
I.
Actually
just
now
well,
I
was
trying
to
close
out
all
the
windows.
I
managed
to
do
that.
I
close
out
all
the
windows,
including
the
agenda
doc
I
didn't
want
to
close
out.
B
I'm
back
okay.
Well,
let's
do
it!
So
let
me
share
my
screen
here,
so
we're
looking
at
the
same
thing
and
every
once
in
a
while
I
get
pinged
on
these
dependency
Updates.
B
This
is
our
iteration
with
Source
graph,
which
provides
the
like
code
Intelligence
on
blob
and
Mr
views
when
you
click
on
whatever
whether
it's
like
a
like
a
keyword
or
function
name,
you
can
see
some
descriptions
and
references
and
links
to
going
to
definitions
and
references
for
various
code,
things
so
very
cool
feature,
but
we
use
Source
graph,
we
kind
of
partner
with
them
for
this,
and
they
provide
the
code
for
that
which
hooks
into
their
which
hooks
into
their
backend.
B
That's
when
things
get
interesting,
Source
graph
has
both
sourcegrass.com,
which
I
love
using
for
doing
all
sorts
of
code
searching
stuff
which
I
there's
probably
many
recordings
of
me
popping
in
sourcecraft,
but
you
can
also
just
self
Host
this
thing.
So
when
I
run
into
these
dependency
updates,
let
obviously
the
goal
is
we
want
to
make
sure
that
you
know
this
works
and
nothing
breaks?
Sometimes
things
are
broken
and.
B
Unfortunately,
I
can't
test
against
sortsgraph.com
locally,
because
sort
of
scratch.com
doesn't
know
about
my
local
domain,
and
so
it
won't.
It
won't
accept
my
requests
and
service
crafts.com
will
only
any
sourcecraft
server
will
only
give
you
data
for
things
it
knows
about,
so
it
it
knows
about
gitlab.com,
gitlab
or
gitlab.
B
So,
if
I'm
looking
at
a
certain
blob
here,
it
knows
this
repo
with
this
commit
on
this
file.
Source
graph
I
knows
this.
I
know
this
I've
already
indexed
it
here's
data
for
it.
If
I
try
to
like
use
it
locally
and
I
pass
it.
You
know
a
URL.
It
knows
nothing
about,
it's,
not
gonna.
So
what
I
used
to
do
is
follow
Source
graphs,
documentation
for
spinning
up
your
own
source
graph
server
that
hooks
into
spinning
up
your
own
source
graph
server.
B
It
has
to
index
your
local
gdks
repositories
and
then,
when
it's
all
set
up
and
ready
to
go
now.
You
can
finally
test
out
this
integration
bit,
but
that
whole
process
is
dependent
on
Docker
and
on
our
Mac
computers.
We
don't
really
have
Docker
anymore,
so
then
it
becomes
a
matter
of
okay.
Do
I
whip
out
one
of
my
Linux
computers
and
try
to
update
the
GDK
and
get
Source
graph?
Yes,
yes!
Yes!
B
B
C
Before
we
dive
into
the
local
solution,
can
I
chime
in
with
a
question
yeah.
Please.
D
C
I'm
aware
of
one
of
those
features
that
is
pretty
underused,
I'd
say
but
open
Mrs
I
need
to
double
check
this,
but
aren't
we
having
these
development
environments
spinned
up
where
you
would
basically
be
able
to
give
this
a
spin
on.
C
Yeah
I
need
to
need
to
double
check,
but
that
might
be
one
of
those
UK
use
cases
which
just
comes
pretty
handy,
like
I,
think
these
kind
of
things
are
super
underused,
since
they
are
pretty
Limited
in
terms
of
functionality
like
you
kind
of
screwed,
if
you
have
to
update
a
feature
flag
or
whatever
it
might
be,
but
for
such
a
use
case
just
like
a
dependency
update
that
might
be
kind
of
a
quick
solution.
B
So
that
the
challenge
is
I
need
to
I
need
to
manually
test
this
out
and
it's
not
necessarily
about
getting
the
GDK
slash,
gitlab
server
running
because
that's
a
solved
problem,
but
it's
about
getting
a
valid
source
graph
server
running
that
knows
about
that
environment.
B
Right-
and
so
we
don't
even
have
like
so
like
part
of
our
and
I'm
gonna-
not
be
using
these
terms,
probably
correctly,
but
this
is
something
that
a
git
lab
admin
or
some
I.T
admin
of
a
customer
of
ours.
They
would
have
to
set
up
their
own
source,
Craft
Server,
it's
not
part
of
our
Omnibus
kind
of
thing
or
whatever
so
or
somehow
make
their
server
now
into.com
and
like
Source
graphs,
has
a
lot
of
really
great
solutions
to
this,
but
for
development
environments
me
testing
out
locally.
B
B
I
was
able
to
make
this
hit
my
local
GDK,
which
was
great,
and
so
then,
as
long
as
I
had
a
project
that
was
real.
So
it's
such
that
it
mirrored
like
the
same
path
that
sourcecraft.com
would
know
about.
I
was
able
to
test
this
out.
It
was
like
oh
yeah,
so
it
worked
so
I
was
able
to
get.
What's
the
picture
here.
C
B
Etc
is
like
that
yeah,
okay,
so
we
updated
for
normally
everything
has
GDK
test,
but
I
was
like
yeah.
Let
me
just
do
this
with
gitlab.com
I
had
to
do
this
at
a
certain
time,
though,
if
I
did
it
too
early
in
my
process,
then
like
running
GDK
reconfigure,
which
tries
to
reach
out
to
getlab.com
started
to
fail
at
me
and
stuff.
So
I
was
like
oh
gosh.
The.
A
B
Step
is
updating
in
the
yaml,
the
host
name
from
gdk.test
to
gitlab.com,
and
then
I
was
able
to
use,
make
cert
to
just
make
a
certificate.
I
am
already
running
https
locally,
so
I
was
just
able
to
make
a
certificate
for
gitlab.com.
B
Then
I
hit
GDK
reconfigure
and
it's
good
there's
one
more
problem
to
solve,
which
is
this
port
I
can't
make
443
the
default
https
port,
because
that
requires
pseudo
access
and
I
didn't
know
how
to
dive
into
the
bowels
of
GDK
to
figure
out
how
to
give
nginx
pseudo
access
for
this
good
point
yet
so,
instead,
after
doing
all
this,
which
I'm
not
going
to
write
I'm
just
going
to
quit,
Barrel
I
said
after
doing
this,
all
of
this
I
ran
GDK
reconfigure
once
it
was
reconfigured,
I,
started
it
and
and
and
outdated
the
etc,
etc.
B
Host
I
had
to
look
up.
How
do
you
give
443
access
and
Mac
without
root
and
there's
a
really
cool?
There's
really
cool
utility,
but
I've
completely
forgotten
about
it.
So
I
just
found
it
on
a
Google
search
and
I
would
recognize
it
if
I
saw
it
again,
but
it
was
basically
some
sort
of
networking
tool
that
similar
to
like
IP
tables
or
something
which
just
told
your
local
computer,
anything
coming
in
to
443
just
internally
pipe
it
to
three.
Four
four:
three
and.
E
B
Just
lets
me
hit
locally
I
can
hit
both
getlab.com
or
get
lab
report
three
four,
four
three
and
and
it
works
so
I
didn't
know
if
that
was
gonna
all
work
out,
but
I
was
surprised
that
it
did
so
I
guess
isn't
really
helpful
to
a
lot
of
people.
But
if.
D
B
C
Okay,
yeah-
that
would
probably
be
a
start
like
I,
see
the
like
this
this
to
to
actually
achieve
this.
What
you
just
reported!
It
takes
a
lot
of
back
background
knowledge
for
sure,
and
also
quite
a
bit
of
work,
as
you
just
mentioned
so.
Making
this
easy,
I
would
probably
like
I
would
have
had
Fair
troubles
with
this
Mr.
B
B
B
Be
a
challenge
so
but
I
had
that,
all
that
solved
locally,
but
now
I,
don't
we
can't
use
Docker
on
Max
anymore,
so
that
was
that
was
disappointing.
We.
D
C
C
Yes,
thanks
for
sharing
one
one
more
kind
of
follow-up
question:
just
do:
are
you
aware
of
any
other
dependencies
that
gitlab
is
having?
That
would
be
like
similar
and
complexity
to
update.
C
Because,
hopefully
that
is,
that
is
not
the
the
usual
like
dependency
updates.
Mr
are
never
the
easiest,
but
usually
there's
basically
just
our
code
base
as
a
consumer,
in
best
case,
even
maybe
a
death
dependency.
So
it
is
kind
of
run
the
pipeline
across
fingers.
But
that
is
that's
probably
already
quite
a
bit
that
you
have
covered
by
just
doing
so.
The.
B
B
Elasticsearch
is
a
pretty
solved
problem
in
GDK,
but
I'm
I'm
thinking,
maybe
setting
up
some
of
our
security
tools,
certainly
setting
up
like
the
pricing
like
the
customers,
app
and
and
stuff
related
that
has,
you
know,
has
to
deal
with
credit
cards
and,
and
things
like
there's
some
developer
instances
of
like
integrating
that
you
need
to.
B
Those
are
some
challenges.
The
thing
that
unique
makes
this
uniquely
challenging
I
would
imagine.
Other
kind
of
other
kind
of
third-party
Integrations
challenging
is
when
the
third
party
thing
needs
to
know
about
your
app
and
most
of
the
time
it
can
just
live
inside
of
it,
and
it
just
responds
to
whatever
data
it's
gotten
in
our
in
this
situation
is
like
no.
These
are
two
separate
things
that
are
independent,
but
our
talk
should
have
commute
some
background
communication
with
each
other,
which
is
the
case
with
sourcecraft.com.
B
Because
Source
graph,
like
just
Source
graph,
indexes
every
public
thing,
so
you
can
see
like
here's
all
these
GitHub
repos.
How
can
I
look
up?
Oh
yeah,
and
then
here
we
go.
Here's
all
these
gitlab
repos,
and
so
you
can
create
your
own
local
instance
of
this
and
won't
have
whatever
repos
you
can
specify
where
it's
going
to
look
for
things
whatever,
but.
A
B
For
letting
me
share
that
cool
all
right.
Well
then,
the
the
next
thing
I
got
is
a
Amara
Peron.
Does
that
sound
good,
absolutely.
B
B
Mrs,
this
is
part
of
our
newly
named
IDE
team
working
on
the
remote
development
feature.
Where
not
only
can
you
spin
up
the
web
ID,
but
you
can
spin
up
the
web
ID
with
the
terminal
and
all
sorts
of
goodies.
C
C
B
Any
lots
of
other
kind
of
editors
too,
so
it's
very
exciting
cool
solving
solving
the
hard
problem
of
providing
out
of
the
box
workspaces
for
projects,
so
contributors
don't
have
to
set
things
up
locally.
That's
the
large
ambitious
goal
which
there's
a
lot
of
great
work
on,
but
we're
on
the
front
end.
So
we
don't
have
to
solve
those
hard
problems.
B
So
this
is
a
follow-up
to
one
of
the
Mrs
I
guess
I
was
creating
this
thing,
I'm
going
to
read
the
context
first,
actually
before
I
do
anything
I
am
going
to
assign
myself
as
a
reviewer.
So
when
I
was
looking
for
this,
it
wasn't
assigned
to
me.
Oh
I
can't
assign
it
because
I'm
not
signed
into
gitlab.
B
A
C
C
C
Absolutely
yeah,
no
just
kidding
economics.
E
F
B
Right
resume
sharing
here
we
go
all
right
now,
I'm
signed
in
and
move
our
heads.
This
is
a
view
app
thing
that
you're
talking
about
exactly
yeah.
It's
it's
really
helpful,
I
like
using
it.
It
can
be
difficult,
though
I
always
forget
how
to
like
change,
feature
flags
on
it.
Is
it
even
possible
it
is?
You
can
use
the
API
to
do
it,
but
I
forgot
how
I've
totally
forgotten
how
to
I.
C
B
It's
on
I'm
gonna
check
out
the
changes
locally.
Oh
I
might
need
to
fetch
the
latest.
E
Is
changing
great.
B
Okay,
so
looks
like
we're
changing
some
graphql
files
and
then
we're
just
modifying
files.
Okay,
a
whole
lot
of
stuff:
let's
see
what
happens.
B
B
B
B
Here's
where
I'm
at
with
these
are
Mars
because
I've
been
paying
on
a
chain
of
the
works.
This
remote
development
feature
that
we're
fleshing
out,
which.
D
B
Under
a
little
bit
of
pressure,
because
we're
trying
they're
trying
to
hit
Milestone
dates
and
deliverables-
and
let
me
go
back
to
pre-
oh
obviously,
it's
great
when
I
can
check
it
all
out
and
test
it
myself.
B
B
Instead,
I'm
kind
of
just
looking
from
the
front
end
and
I
have
ran
the
front
just
this,
because
these
are
now
being
built
in
parallel
to
the
back
end
and
the
front
end
so
I'm.
Looking
for
like
run
in
specific
issues
of
debouncing
inputs,
are
we
resetting
the
state
like
when
other
things
in
our
form
are
changing
and
like
looking
for
front-end
specific
issues,
so
I
I'm
not
quite
able
to
test
out
the
whole
picture
yet,
which
is
okay.
C
But
for
those
inputs
and
things
that
you
just
mentioned
like,
are
you
able
to
actually
mock
this
UI,
some
somewhere
or
yeah.
B
To
some
extent
so,
and
sometimes
I'll,
like
just
turn
off
certain,
like
checks
and
the
code,
so
that
I
can
keep
going
forward
just
to
test
it
out.
So
there's
two
user
facing
changes.
It
looks
like
that's
great.
Dev
files
are
required
on
a
project.
The
UI
redirects,
the
user,
to
the
workspaces
list
after
workspace
is
created,
nice,
okay,
oh
nice,
and
here's
all
the
instructions
we're
doing
that's
great
great
and
so
I
won't
need
to
actually
I.
B
Don't
think
that
any
of
this
is
integrating
with
the
real
backend
yet,
which
is
totally
fine.
But
let
me
go
ahead
and
run.
C
B
Man
I
hate
this,
but
I
guess
I,
guess
it's
too
late.
He.
A
C
B
B
B
B
E
B
C
Is
pretty
cool?
Let
me
double
check
for
a
small
thing.
C
C
B
B
A
B
Guess
we're
all
good
now
it
group
all
right.
Let's
look
at
this
view
file.
B
Okay,
all
right
some
background
to
this
file,
so
I
see
that
there's
changes
here
probably
could
be
potentially
wise
to
look
at
the
scope
of
what
this
component
was
like
before,
and
his
component
was
a
renderless
component,
encapsulating.
B
This
worry
uh-huh,
which
is
cool.
B
B
B
D
B
Right
yeah,
we
didn't
even
have
to
update
this
thing
at
all,
because
this
is
where
we
referenced,
that
little
query
thing,
and
so
we
just
pass
in
a
little
project
path
and
then,
whenever
there's
a
result,
we
get
that
bag.
E
B
B
Oh
I,
see
what's
going
on.
My
concern
was
that
we
would
emit
results
twice.
You
know,
because
I
see
a
line
and
emit
results
here,
yep
and
then
I
see
a
line
emit
results
here
and
it's
like.
Are
we
going
to
emit
results
while
we're
still
waiting
for
results
and,
what's
going
to
happen
to
the
UI,
when
we
do
that.
B
And
then
we
don't
emit
the
results.
We
wait
for
this
query
to
do
its
thing.
A
D
B
C
It's
a
lot
I'm
currently
thinking
about.
If
there
is
any
like
the
point
you
just
met
made
with
the
emit
results
twice,
if
that,
if
it
could
tweak
the
architecture
to
make
this
a
little
more
obvious,
because
that
is
definitely
something
to
stumble
on
that,
definitely
would
be
one
thing
and
another
thing
with
which
I
saw,
which
is
completely
optional.
C
Let
me
just
quickly
double
check
if
this
is
the
actual
file
or
if
it
is
somewhere
else
in
the
summer
somewhere,
it
is
basically
taking
the
error,
input
and
returning
it
into
GL
alert,
which
is
absolutely
fine
to
do,
but
you're.
C
With
this
problem,
yes,
that
is
what
I'm
about
to
say
feeling
a
little
bit
like
a
one-trick
pony
here,
but
we
could.
We
could
leave
an
optional
comment
that
we
could
enhance
this.
Just
that's
a
good
idea.
C
You
decide
yeah,
let
me
quickly
search.
B
It
I
see
what
you're
saying
I
will
leave
that
as
an
optional
comment.
That's
that's
a
good
idea
of
that's
good,
just
something
to
think
about
all.
D
C
I
was
just
planning
on
coming
back
to
the
actual
Clockwork
query,
so
I'm
not
to
get
too
distracted
too
much
about
this
of
chance.
Yes,
yeah.
Let's
do
that.
D
B
Is?
Is
user
friendly.
D
B
Man,
I
was
trying
to
think
of
a
plan
because
I
was
thinking
like
he
has
a
knack
for
this.
I
was
like
that's
not
yanak.
You.
B
I
can't
do
it,
he
goes
by.
E
D
E
E
B
The
other
yes
getting
back
to
here,
you
I
think
you
mentioned
about
not
it
not
being
obvious.
Yes,
I
agree
with
all
of
that.
It's
like
yeah.
This
is.
A
B
B
The
other
thing
is
what,
if,
while
this
is
loading,
we
get
a
new
project,
full
path.
A
C
So
we
would
end
up
with
having
a
defined
project
path,
but
an
undefined
group
out.
C
F
B
E
E
C
Okay,
so
just
for
me,
you're,
basically
trying
to
explore
our
craft
career
and
or
create
endpoint
to
see
if
we
can
get
the
information
by
just
in
one
query
instead
of
two.
Yes,.
B
C
Idea,
what
do
you
think
about
leaving
apartment
for
a
non-blocking
follow-up
thingy
for
the
back
end
to
actually
like?
If
there
was
a
need
for
this
kind
of
information,
then
we
it'd
probably
be
a
good
idea
to
have
a
query
and
querying
two
endpoints
at
the
same
time,
with
all
the
risks
that
kind
of
involves
it's
not
the
greatest
thing
so
as
as
a
Band-Aid
as
a
first
iteration,
whatever
this
might
be
an
acceptable
solution,
but
on
the
long
run,
yeah.
D
B
C
B
Right
some
proof
to
prove
what's
going
on
with
the
double
query.
B
Behavior,
are
we
considered
adding
a
root
cluster
agents
similar
to
just
saw
the
word
root
here?
Root
storage
statistics.
E
Pull
from
the
current
group,
if
it's
a
root
group
or.
E
It
only
has
to
part
to
be
once
report.
Okay,.
B
B
Here's
here's
a
scenario.
The
scenario
is.
B
C
I
think
that
it
is
really
really
hard
to
solve
this
as
an
atmosphere
sticking
to
the
double
query.
So
therefore,
I'm
with
you
that
wow.
C
D
B
Right
I
know
when
we
get
off
the
call
it's
gonna
dawn
on
me,
I'm,
like.
B
Do
you
have
just
five
more
minutes?
I
think
we
can.
B
I
think
we're
deleting
this
fragment
now,
which
I
find
to
be.
Oh,
because
when
we
create
the
workspace,
we're
not
going
to
return
the
whole
workspace.
A
C
Can
you
help
me
with
the
with
the
app
client
we
just
saw
and
the
if
we
go
back
to
yes,
so
it's
a
security
augmentation,
it
is
imitation,
it
has
the
ad
client
so
therefore
I
assume
that
it
stays
mocked
or
is
this
like.
B
C
B
C
C
C
This
is
not
a
good,
a
new
State
Management
machine.
This
is
actually
something
to
be
forgetful.
B
B
Yeah
yeah
yeah
is
this:
is
this
mutation
still
client
marked
I.
B
And
I
think
we
got
rid
of
these
because
I
having
worked
with
debugging
issues
with
this
feature,
we've
implemented
subscriptions
so
rather
than
like
I,
create
a
new
one
and
then
I
have
to
do
the
Apollo
Way
shove
it
into
the
Old
Quarry.
Somehow
we
implemented
subscriptions,
it's.
E
B
D
B
All
right
we're
almost
there
yeah.
These
are
just
queries,
doing
their
query
things
these
they're
just
messages,
I'm,
not
super
worried
about
those
right
now
has
Dev
file
used
to
be
true,
and
now
it
is
a
null
should
we
make
it
false.
B
A
good
question
I
would
guess
assumed
because
everything
else
is
falsy,
but.
B
Results
we
get
the
data,
a
workspace,
create
errors,
I
see
and
we
don't
need
to
visit
previously
I
guess
we
were
visiting
this
URL,
but
now
we
just
push
back
to
the
router,
that's
great,
and
so
the
last
bit
are
these
specs.
This
is
going
to
be
the
most
complicated
fact.
The
query
one
this
one
which
is
testing
out.
Oh,
this
is
just
mock
data.
B
D
D
B
Yeah
I'll
take
a
quick
look
at
the
specs
and
then
be
done
with
this,
so
cool
yeah.
Thanks
for
your
help,
Yannick
that's
helpful.
I'll
go
ahead
because
I
have
another
meeting
right
now
and
I
think
the
wisest
thing
to
do
is
rather
than
let
the
review
just
sit.
I'm
just
gonna
submit
the
review,
as
is
so
that
Enrique
can
respond
to
things
as
I'm
still
looking
at
this
back
since.