►
From YouTube: 2022-11-15: Release group pair programming
Description
Today Andrew Fontaine and Andrei Zubov have paired on doing some refactoring of a front-end code summarised in this issue:
https://gitlab.com/gitlab-org/gitlab/-/issues/378770
A
Okay,
so
I
think
we
are
alive,
so
whoever
is
watching
happy
to
have
you
on
our
pair
programming
stream
with
Andrew.
Today
my
name
is
Andre.
We
both
work
in
for
this
group
in
gitlab
and
today
for
our
pair
programming.
We
have
picked
a
nice
small
issue
that
we
maybe
would
be
able
to
finish
during
the
session,
or
maybe
not,
but
we
at
least
definitely
can
start.
A
So
the
issue
is
about
the
refactoring.
There
was
a
piece
of
code
or
a
component
that
basically
manages
the
new
deploy
token.
A
And
some
parts
of
it,
the
country,
didn't
follow
the
single
source
of
Truth
principle
and
that
led
to
explain
some
bugs
in
the
process
of
extending
the
component.
So
what
we
try
to
do
today
is
to
streamline
the
combined
implementation
and
make
it
basically
using
the
single
source
of
Truth
to
avoid
any
potential
issues
in
the
future.
A
What
it
is
about,
let's
just
first
check
the
manufacturing
issue.
This
is
it
by
the
way.
It
is
also
tagged
as
good
for
new
contributors.
So
if
you
ever
search
for
something
to
contribute
to
gitlab
this
label
as
a
good
place
to
start
so
in
this
issue,
basically,
the
problem
is
described
and
in
verticular
two
parts
of
the
code
that
could
be
interesting
and
there
are
also
listed
the
components
that
we
most
likely
have
to
touch.
A
Apart
from
that,
there
is
also
listed
the
steps
to
reproduce
the
issue
manually
and
how,
in
general,
to
check
if
everything
works
as
as
needed
and
like
here
in
the
very
bottom,
there
is
a
implementation
guide.
So
if
you
need
some
tips
and
tricks
how
to
start
or
the
general
direction,
what
to
do
it
is
listed
here.
A
So
let's
read
it
out
a
good
way
to
start
history
Factor
only
the
part
that
is
responsible
for
scopes,
the
check
boxes
of
the
input,
so,
basically
what
this
problem
is
about.
We
have
this
component,
the
deploy
token
model
I,
think
right
anyway,
and
part
of
it
is
the
list
of
check
boxes
that
are
basically
that
we
need
to
collect
these
inputs
and
send
them
to
the
backend
to
properly
create
deploy
tokens
with
the
right
scopes
and
those
Scopes
can
be
added
in
the
future.
A
Probably
so,
in
order
to
make
it
more
streamlined,
we
would
like
to
basically
have
in
the
code
someplace
that
would
declare
it
will
describe
what
Scopes
do
we
have
and
based
on
that,
we
both
generate
components
in
the
UI
and
wire
them
to
be
to
their
stpi
call
to
send
the
data
the
backend.
So
that's
what
we
gonna
do
you
have
any
comments.
Andrea.
B
A
Let's
get
started,
I
already
checked
out
the
branch
over
here
in
this,
so
we
have
the
scope
in
which
we
will
be
working.
Silicon,
basically
Dive
Right
In.
Let's
start
with
the
files
that
are
mentioned
here.
It's
the
new
deploy,
token
you
and
the
corresponding
speaker.
A
So
this
is
the
code.
A
A
Okay,
amazing
great,
so
then
this
is
the
code
file
and
then
you
deploy
Duncan
spec.
It's
gonna
be
our
spec
file
that
we
would
have
a
closer
look
later.
A
B
A
A
And
in
the
template
over
here,
it
should
be
bound
to
to
the
actual
UI
elements.
This
part
yeah
right,
so
this
list
of
check
boxes
is
basically
what
we
are
looking
for.
A
And
basically,
those
are
connected
to
these
flags
that
we
have
read
repository,
read
registry
write
registry,
read
package
registry
and
so
on.
So
those
are
pretty
much
the
same
that
we
have
over
here.
So
those
Six
Flags.
A
Apart
from
that,
they
also
so
in
order
to
render
a
checkbox,
what
do
we
need?
Actually,
we
need
to
know
to
know
the
property
to
which
it
should
be
bound
and
a
bunch
of
other
fields
like
ID
name
and
data
QA
selector,
so
here
some
of
them
are
pretty
consistent
or
maybe
all
of
them
are
pretty
consistent.
Let's
see
if
it's
like
that
amazing,
so
then
we
basically
can
I
think
structure
it
anyway.
A
That
would
allow
us
to
feel
all
the
necessary
information
with
actually
not
too
many
extra
data
fields
inside
the
code
and
also
we
have
this
initial
rendering
here
bound
to.
A
A
A
Right
so
I
would
basically
send
have
the
following
plan
to
have
a
structure
in
this
file
that
would
basically
describe
what
kind
of
check
boxes
do
we
have
and
just
having
these
Fields
basically
listed
so
like.
A
Id
name
and
data
query
selector.
So
since
I
didn't
name
are
the
same
and
maybe
just
can
have
one
and
we
maybe
can
derive
the
ATK
selector
value
from
the
name
and
then
also
a
conditional
showing
whether
the
checkbox
is
present
or
not.
And
then,
if
we.
A
We
can
have
it
basically
in
our
default
data,
based
on
that,
we
would
render
the
check
boxes
if
I'm
not
wrong.
We
can.
A
A
Yep,
that
makes
sense,
so
that
would
allow
us
to
render
the
check
boxes
and
then
the
next
step
would
be
to
actually
properly
properly
construct.
This
object
over
here
so
instead
of
manually
listing
all
the
props,
we
would
basically
just
collect
all
the
check
boxes
that
we
have
random
dynamically
cool
and
in
order
to
test
it
here,
I
have
basically
test
project
open
and,
let's
see
how
we
can
actually
go.
There
I
think
it's
in
the
CI
CD.
A
And
that's
also
by
the
way,
gives
us
a
good
opportunity
to
see
how
we
can
set
the
the
feature
Flags
for
our
local
environment
right
so
deploy
tokens.
That's
the
thing!
So
right
now
we
see
three
deploy
tokens
or
like
three
different
Scopes
over
here
and
in
order
to
enable
them
we
need
to
connect
to
the
rails,
console.
A
A
A
Didn't
get
that
right,
yep
I
think
so.
A
A
B
A
A
All
right
and
I
think
we
still
needed
the.
A
Jungle
anyway,
so
then,
let's
get
started
with
their
factoring.
First
thing:
let's
create
the
data
structure
that
will
describe
us
this
Scopes
build.
So
what
we
can
do
is
add
here.
A
A
A
Or
else
like
the
power.
B
A
B
A
A
A
A
Right
makes
sense,
so
something
like
this.
A
B
B
A
A
At
least
some
of
them
I
guess
right,
because
otherwise
we
wouldn't
be
able
to
bound
them,
so
they
has
to
be
here
for
the
rest
of
the
stuff
right.
B
A
All
right,
then
help
text
would
be.
A
A
And
the
text
is
actually
hard-coded.
B
A
A
Also
works
also
true,
that's
great.
Then
we
can
actually
just
fill
in
the
missing
data.
B
A
Rest
of
the
stuff
yeah,
and
we
also
need
to
not
forget
about
the
the
visibility
stuff.
B
A
B
B
B
B
B
A
This
guy
is
this
one
and
then
or
those
we
would
basically.
A
Okay
yep,
so
we
can
do
this
scopes,
which
would
be
the
object
and
then
what
we
can
do
is
basically.
A
A
Okay,
right
yeah,
we
will
pay
more
attention
to
chat,
but
about
the
Scopes.
So.
A
But
then
you
need
to
kind
of
you
need
to
construct
the
object
from
Center
I.
Don't
know,
I
mean
if
you
want
to
do
it
in
one
Loop
without
this
part,
so
just
return
the
object
that
you
want
I
think
we
can
use
reduce
that
would
kind
of
do
the
same,
but.
A
But
since
we're
out
running
out
of
time,
I
just
want
to
try
if
that
actually
works
right
and
then
we
can
make
it
better
a
bit
later.
A
Actually,
this
is
also
a
bit
awkward
that
so
that
we
would
need
to
rename
the
text
because
it
doesn't
properly
convey
the
meaning,
but
so
far,
let's
call
it
text,
because
text
is
also
what
is
here
right.
This
is
exactly
the
same
and
then
so
that's
what
should
basically
bring
us
the
proper
object
with
the
proper
keys
right,
and
here
we
can
just
structure
scopes.
B
A
A
Looks
good,
oh,
let's
refresh
not
at
the
top
and
actually
create
some
added
one.
B
A
A
All
right,
then,
basically
for
those
who
have
been
with
us
thanks
a
lot
next
time,
our
streaming
experience
will
get
even
better
than
today
thanks
a
lot
Andrea
for
super
helpful
tips,
I'm
still
super
Rusty,
where's,
View
and
yeah
streaming
doesn't
help
with
anxiety,
so
yeah
thanks
a
lot
really
cool,
and
hopefully
next
time
you
could
drive
and
I
will
be
the
one
making
suggestions.