►
From YouTube: 2022-11-29: Release group pair programming
Description
Andrew Fontaine and Andrei Zubov from the Release team will do some front-end pair programming!
A
Okay,
this
is
the
release
team
front
end
paired
programming
streaming,
take
two.
So,
as
mentioned
last
time,
we
were
looking
at
doing
some
declarative
form
stuff
on
our
deploy.
Token
page
and
we've
managed
to
wrap
the
Scopes
into
a
nice
little
declarative
object
that
decides
kind
of
how
to
display
the
tokens
and
the
Scopes
added
to
how
to
display
like
what
Scopes
are
end
up
in
in
our
final
object,
but
it
might
be
fun
to
maybe
expand
on
this
for
the
rest
of
the
form.
A
Also,
the
challenges
that
kind
of
come
with
that
so
I
think
what
we
can
do.
First,
is
we
hop
over
to
the
editor?
A
We
can
pick
our
scopes,
so
this
is
where
we
declare
all
the
Scopes
and
let
us
expand
this
a
little
bit.
So,
let's
add
one
for
deploy
token
name.
A
B
Before
we
Venture
a
bit
further
into
this
path,
let's
also
just
Ponder
around
other
options
that
we
have
right.
So
currently
we
have
this
scopes
array
right
that
is
solely
responsible
for
scopes
right.
So
maybe
we
just
add
some
other
array
that
would
indicate
labels
that
we're
dealing
with,
for
example,.
C
A
A
Show
you
what
we
can
kind
of
Mile
now
we
don't
want
to
do
that.
I
was
gonna,
say
we
can
rebind
on
everything,
but
that
would
make
our
ID
become
an
ID
and
we'd
have
multiple
IDs
the
same
age,
and
that
wouldn't
be
any
good.
C
A
A
I,
don't
actually
know
how
it
is
date,
picker
right
now
from
the
looks
of
it,
but
we
can.
We
can
modify
it
so
that
it
is
also
a
date
picker.
A
C
A
A
They're,
maybe
back
in
emac,
let's
see
any
editor
they're.
A
C
A
A
Like
it's
acting
like
a
tooltip
or
something
right,
yeah
I
guess
it
has
this
target.
A
C
A
A
A
A
A
A
C
A
B
A
The
date
when,
when
it's
clipped
for
now
Okay,
so
we've
got
the
name.
A
Okay,
so
for
that,
let's
kind
of
split
up
our
object
a
little.
Let's
have.
A
Which
is
not
the
most
strongly
typed
thing
in
the
world,
but
hey
you,
don't
have
to
play
with
strong
types
and
might
as
well
take
advantage
of
the
dynamicness
of
everything
right.
B
A
I
think
this
one
will
be
kind
of
interesting
because
if
I
remember
correctly,
it
utilizes
a
slot,
so
we
have
to
figure
out
kind
of
how
to
shove
a
slot
into
this
little
situation.
A
C
A
A
A
Let's
see
how
we
Define
this
guy
a
good
idea
how
to
deal
with
them
the
message:
what.
C
A
A
Gl
Sprint
app
only
looked
for
things
like
that
were
camel
case
all
right
again,
but
if
you're
coming
from
Ruby,
they
obviously
prefer
snake
case
for
a
lot
of
stuff.
So
we
have
a
lot
of
like
historic
translations
that
have
these
snake
case
playful
placeholders,
instead
of
instead
of
camelcased
ones.
But
if
you
go
and
change
the
translation
or
the
the
placeholder
casing,
it
kind
of
avoids
the
the
translation
automatically.
So
somebody
has
to
go
back
and
and
check
it
and
make
sure
like
it.
A
I
don't
know
they
have
to
rubber
stamp
it.
But
somebody
has
to
go.
Do
that
right
and
that's
kind
of
a
pain,
especially
because
most
of
our
translations
are
are
most
of
our
translations
aren't
done
by
the.
A
By
by
volunteers,
so
we
have
this
special
placeholders
thing
to
help
us
do
the
conversion.
So
what
we
can
do
I
think
here
is.
A
Because-
and
this
makes
it
even
easier-
because
the
string
in
the
browser
here
has
the
this
gitlab
deploy
token
and
saying
kind
of
embedded
into
the
string,
we
can
use
geosprintf
in
our
V4
section.
So
what
we'll
do
is
go
back
to
the
editor
finder
V4
and
we
can
do
down
here.
We'll
do
template
description.
A
C
A
It's
all
there's
that
link
an
interesting
refactoring
potential
here
would
be
to
just
match
this
all
into
like
one
big
object
and
one
big
set
of
placeholders,
because
I
don't
know
if
we
really,
if
there's
really
any
gain
from
having
them
split
out
like
this.
A
And
then
in
our
template
we
can
are
in
our
Sprinter
templates.
You
just
kind
of
basically
take
the
template
from.
B
A
And
that's
really
only
it's
still
easy
because
we
don't
have
to.
A
A
A
One
day
we'll
have
to
go,
maybe
we
can
do
like
an
exploration
of
how
the
beaker
Flags
front
end
code
kind
of
works,
because
that's
a
little
bit
fun
like
this
as
well.
There's
a
lot
of
due
to
the
like
nature
of
how
the
strategies
are
all
different.
They
gotta
be.
They
have
to
be
like
brought
in
in
various
ways.
A
C
A
In
our
Mr
review
of
the
last
Mr,
we
can't
really
use
v-model
on
these
right.
B
Now
we
can,
what
Natalia
was
not
happy
with
was
that
we
kind
of
bind
to
the
result
of
the
computed
property.
B
We
can
post
through
this
computed,
so
if
we
would
use
something
like
gamer
or
whatever,
then
this
stuff
wouldn't
work,
because
we
would
have
the
new
references
for
objects
in
the
computed.
C
A
A
A
A
And
we
are
going
to
create
something
of
the
shape
of
it.
Field
happening
is
value,
and
this
handy
dandy,
formatting
is
very
useful
for
the
function.
A
A
C
A
A
Okay,
so
you
missed,
you
missed
some
magic
here,
oh
no
yeah,
but
first
what
we
do
is
we
map
our
fields
and
we
we
create.
The
closest
thing.
Javascript
has
to
a
tuple,
which
is
a
two
item.
A
Array
makes
sense
and
we
can
pass
an
array
of
these
tuples
to
a
function
called
object.entries
smart
and
the
idea
is
that
it
takes
the
first
thing
as
the
key,
and
the
second
thing
has
the
value,
and
now
we
are
going
to
log
we're
going
to
log
the
body
to
make
sure
it
all
works
appropriately,
but
it
should
be
fine.
B
A
C
A
A
A
I
don't
know
why,
but
it's
it's
embedded,
it's
embedded
deep
in
my
brain
that
that
would
be.
That
would
be
how
it
worked.
Okay,
just
took
in.
A
B
A
Somehow
I
lost
I
lost
your
I
lost
you.
What
happened?
A
A
I
didn't
stream
that
I
gotta
get
maybe
get
like
scene
swapping
hotkeys
set
up,
I
guess.
A
B
A
C
A
A
B
A
C
B
What
I
think
what
also
changed
is
we
replace
the
input
right
that
showed
the
date
picker?
What's
the
date
picker
itself,
so
maybe
that
also
screwed
up
some
of
the
tests.
No.
A
Because
it's
name
is
zero
and
then
and
then
username
is
oh.
B
A
Calendar
if
I
did
okay,
let
me
Mount
this.
C
A
How
do
you
feel
about
Mount
like
fully
mounting
components
in
tests?
I,
don't
know
if
we've
talked
about
this
yet.
A
A
A
A
A
I'm
not
like
a
big
fan
of
importing
the
translations
and
the
tests,
because
it
feel
I
feel
like.
A
A
A
C
A
C
A
A
A
A
B
I
don't
know
it,
it
looks
pretty
daunting
to
be
honest,
for
example,
just
imagine
the
person
that
just
lands
on
this
component
yeah
and
then
just
some
I,
don't
know
interaction
and
data
structures
just
to
render
three
more
fields,
I'm,
not
sure
if
it.
Basically,
if
the
use
case
is
complicated
enough
to
justify
this
part,
yeah.
A
I'm
kind
of
with
you:
what
would
you
think,
instead
about
something
like
this
but
or
like
the
whole
form
as
like,
as
like
a
separate
Library
like
a
utility,
you
could
pull
in.
B
B
Kind
of
past
request
body,
or
something
like
that
or
like
a
mutation
parameters
with
kind
of
straight
one-to-one
mapping
field
to
the
parameter
yeah.
In
this
case,
it
could
be
very
nicely
kind
of
automated
this.
B
The
whole
flow,
basically
like
the
form
and
that
you
submitted
with
some
post
request
but
for
general
purpose,
form
building
again
like
it
might
be
proven
to
complicated
or
less
flexible
than
you
would
like
it
to
be,
because
even
for
even
with
this
simple
form
right,
we
already
experienced
some
challenges,
for
example
with
the
formatted
descriptions
and
so
on.
A
Yeah,
that
is
true,
that's
true,
I
think
we
can.
We
can
supply
I,
think
there's
a
way
to
supply
slots
is
like,
but
then
we
get
into
like
we're
getting
away
from
kind
of
templated
components,
but
you
can
you
can
you
can
set
them
as
like
render
functions
and
stuff
yeah,
but
yeah
I
think
you
might
be
right,
and
this
might
be
just
a
little
bit.
It
got
a
little
unwieldy,
but
it
was
definitely
a
fun
exploration.
B
Yeah
man,
it's
pretty
cool
dynamically,
creating
components
and
this
smart
bindings,
yeah.
A
A
For
the
teacher,
Flags
form
be
basically
how
to
type.
A
It's
strategy
parameters
yeah,
so
we
set
a
strategy
type
and
then
we
map
that
to
a
component
that
deals
with
the
parameters
for
that
strategy
type
right.
So,
if
you're
doing,
if
you're
doing
a
flexible
roll
out,
it
pulls
in
the
like
or
for
any
pretty
easy
one.
If
you're
doing
a
percent
based
rollout,
it
just
pulls
in
like
an
input
box
for
the
percent
and
then
all
of
that
still
funnels
up
very
nicely
into
the
into
the
thing.
A
But
that's
definitely
a
little
more
complicated
because
you
have
like
each
of
these
different
types
as
a
different
parameter
type.
And
then,
if
you
have
stuff
like
the
gitlab
user
list
is
kind
of
complicated
because
it
has
to
it's
complicated
because
it
has
to
go
out
to
the
API
and
fetch,
like
all
of
your
user
lists,
that
you
need
to
that.
You
need
to
be
able
to
like
get
and
do
autocomplete
searching
on
so.