►
From YouTube: Code Review Weekly Workshop - July 7, 2023
Description
In this session we talk about some random code review topics.
00:00 - Using the Web IDE to diff email files
07:20 - General tips on reviewing email MR's
14:35 - Discussing approach with rename emailsDisabled to emailsEnabled
A
So
much
okay,
all
right!
Well,
thanks
everyone
for
hopping
on
the
code
review,
weekly,
Workshop
I'm,
just
gonna
talk
about
some
code
review
things.
I've
got
a
code
review
thing.
A
Let
me
share
my
screen
and
we
could
talk
about
that
thing.
So,
every
once
in
a
while,
I
have
to
review
Mrs
touching
emails
and
I
was
gonna.
I
had
a
thought
that
oh
I
might
be
able
to
use
the
web
ID
to
do
this.
One
little
thing
that
you
have
to
make
sure
with
new
emails
and
you
totally
can't
which
is
really
exciting.
So
one
of
the
quirks
with
the
way
we
do
our
emails
is.
A
We
have
camel
email,
templates
and
text,
Erb,
email
templates
and
ideally
these
two
templates
would
say
the
same
thing,
but
in
a
different
format,
and
so
when
someone's
writing
a
new
email,
you
want
to
make
sure
that
these
two
files
are
looking
the
same
to
the
user
and
if
it's
a
long
email,
it's
kind
of
hard
to
like
just
even
visually.
If
you
had
two
renderings
of
the
same
email
side
by
side,
but
let's
just
pick
an
email,
real
fast
I'll
pick
a
one
of
the
text
ones,
let's
do
like.
A
Maybe
pipeline
fix
email,
no,
that
one's
not
interesting
do
like
relabeled
issue
email
that
was
uninteresting
at
all
man.
These
are
really
small
emails.
Let's
do
like
unknown
sign
in
okay
yeah.
A
So
this
is
the
Hamel
looks
like
the
web:
ID
isn't
rendering
Hamel
or
the
formatting
Hamel.
That's.
A
C
B
A
All
right,
so
this
is
interesting.
The
HTML
one
looks
a
lot
beefier
than
the
other
one.
Let's
see
yeah.
A
How
to
do
that's
what
to
do.
A
I
could
do
is
here
we're
saying
hi
username,
but
I
can
see
clearly
just
comparing
these
two
files.
Oh
yeah,
these
aren't
the
same.
This
is
a
much
Starker
difference
than
what
I
was
hoping
to
find
one,
let's
see
if
so
like.
If
I
was
going
to
look
at
these
two
I
see
a
lot.
Some
of
these
are
the
same.
You
see
like
here
this
bit
it
it
determined.
A
This
sentence
is
the
same
on
both
the
text
and
the
non-text
I'm
gonna
go
ahead
and
push
this
all
the
way
to
the
right,
and
then
I'll
move
this
over
to
see.
If.
B
A
Yeah,
you
can
see
some
slight
differences.
One
is
like
when
we
insert
links
in
the
text.
We
just
do
the
link
directly.
We
don't
we
can't,
because
we're
not
doing
anchor
tags.
We
don't
get
to
wrap
it
in
something
like
change
your
password,
but
basically
what
I
do
and
I
want
to
tell
if
two
things
are
kind
of
the
same
is
I'll
start
diffing
them,
but
then
I'll
just
start
changing
one
of
them
to
look
like
the
other
one
and
see
if
the
changes
make
sense.
So.
B
A
B
A
There's
a
lot
more
information
that
we're,
including,
and
so
if
I
was
reviewing
this.
If
this
was
a
new
email,
I
would
say:
hey
how
come
we're
not
including
hostname,
and
all
this
other
information
in
the
text.
Version
of
the
email
and
I
think
that
would
be
something
that
we'd
want
to
do
more
often
than
not.
A
The
differences
will
look
a
little
more
similar
like
this,
and
so,
if
I
was
going
to
compare
active
file
with
this
one
yeah,
so
I'll
try
I'll
just
start
removing
things
to
see
if
they
kind
of
look
the
same.
So
I
was
like
hello
name,
waiting
to
see
if
these
things
are
kind
of
the
same
yeah
that
one's
the
same
and
then
start.
A
Yeah
here
we
go.
These
things
are
probably
the
same
if
this
is
a
brand
new
yeah,
if
this
was
a
brand
new
email,
I
would
also
be
able
to
tell
since
We're
translating
these
things
by
looking
at
the
changes
of
the
Pod
file,
I
could
tell
if
there
is
extra.
A
That
look
like
they're
slightly
worded
differently,
or
something
like
that
so
yeah
I
was
just
gonna
share.
I
was
I
was
pleasantly
surprised
that
the
web
ID
out
of
the
box,
because
we're
using
open
source
vs
code
has
these
cool
features
like
compare
active
file
with.
So
you
can
actually
compare
the
files
with
each
other
pretty
nicely
in
the
web
ID,
which
could
be
nice
when
two
files
kind
of
have
the
local
link.
So
that's.
A
A
Think
I
think
they're
in
the
the
both
category,
because
I
think
technically
is
in
the
both
category.
So
it's
kind
of
left
up
to
discretion.
Of
how
back
Indy
the
Hamel
is:
okay,
yeah,
the.
E
Don't
even
know
how
to
test
one,
you
know
what
I
mean
like
yeah
I
would
want
to
test
it
I
feel
like
if
I'm
reviewing
it
I
would
want
to
see
it
visually
for
the
for
the
non-text
one,
because
I
like
the
text,
one
like
you
can
probably
just
test
that
pretty
easily,
or
at
least
like
visualize,
what
it's
going
to
look
like,
but
the
from
what
I
remember:
email,
CSS,
Is,
Not,
Great,
like
to
getting
an
email.
Looking
right
is
not
like
a
great
experience.
E
B
E
B
E
B
E
A
Yeah
I
think
it's
definitely,
though,
like
an
odd
thing
for
even
fronters
to
look
at
like
it's
there's
little
quirks
there
that
aren't
obvious
that
you
gotta
keep
an
eye
on
what
were
you
gonna,
say
Yannick.
C
I
was
also
mentioned
that
testing
it
in
our
application
is
actually
pretty
straightforward.
I,
don't
remember
it
from
the
top
of
my
head,
but
there's
like
a
route
in
our
in
a
ruby,
app
or
web
app.
That
allows
you
to
render
all
the
emails
that
we
do
have
available
like
in
in
GDK,
like
in
a
testing
purpose.
So
that's
the
good
thing,
the
bad
thing
about
it,
as
you
just
mentioned,
it
will
render
in
your
browser.
C
So
that
is
from
the
email
Mrs
that
I've
seen.
That
is
how
far
I
took
the
testing
and
still
Outlook
my
two
screw
up
everything
we're
gonna
pretty
much,
not
so
safe
about
the
on
that.
On
that
side,.
A
Yeah,
there's
there's
two
things
you
can
use
to
test
the
emails
and
it
rendering
on
the
browser,
isn't
isn't
that
bad?
But
it's
yeah,
there's
quirks
that
the
browser
clearly
can
handle
which
email
clients
can
I
say
it's
not
that
bad,
because
we
have
like
a
preprocessor
that
gets
rid
of
all
CSS
classes
and
stuff
and,
like
inlines
the
styles
of
the
things
we
have
a
preprocessor
to
emails
that
get
sent
out
to
make
them
email,
client
friendly,
but
that
doesn't
necessarily
mean
that
it's
always
email,
client
friendly.
A
The
two
things
ways
of
testing
them
is:
yes,
there's
a
there's
like
the
mail
previewer,
and
so
hopefully,
when
a
new
email
is
written.
We
can
add
this
to
our
big
list
of
email
previews,
but
that
doesn't
always
happen.
The
other
thing
you
can
use
to
test
emails
is
there's
a
route
called
letter
opener
and
if
you
open
this
route,
any
email
that
the
application
is
actually
sending
will
go
into
this
letter,
opener
thing-
and
so
it's
like
you-
have
this
on
a
tab
and
I'm
doing
something
else.
On.
B
A
I'll
just
keep
refreshing
the
letter
opener
for
like
a
minute,
it'll
show
up
the
email
that
was
actually
sent
to
a
fictional
user
or
whatever.
So
it's
a
the
letter,
opener.
C
Bonus
question
on
this.
We
do
have
a
browser
metrics
of
browsers
that
we
support.
Like
everybody,
who's
saying
on
the
web,
does
have
do
we
actually
have
a
list
of
email
clients
that
we
support,
so
yeah
haven't
seen
any
any
of
these
things
as
well,
but
I'd
be
I'd,
be
sure
that
you
would,
if
you
would
come
along
with
like
a
a
five-year-old
email
client,
you
probably
wouldn't
have
the
greatest
experience.
A
Yeah
we
it
feels
like
not
too
long
ago,
but
I
guess
maybe
it's
like
a
year
plus
we
updated
that
preprocessor
of
the
emails
significantly
and
emails
became
a
lot
more
styled
when
our
gitlab
Styles
I,
don't
know
if
you
ever
notice.
This
change
happened,
but
there
was
a
number
of
issues
caused
that
happened
in
The,
Fringe,
email,
clients
and
I.
A
Think
the
goal
was
just
to
kind
of
keep
supporting
whatever
we
supported
before,
but
there
were
some
issues
that
were
very
challenging
from
because
the
user
configuration
this
is
difficult
to
anticipate.
I,
say
that
because
maybe
it's
not
a
bad
idea
to
just
be
explicit
with
like
hey
if
you're
receiving
emails.
These
are
the
clients
that
our
emails
render
the
best
with
and
make
sure
you
don't
have
these
things
like.
A
Yeah
I
could
usually
think
of
really
helpful
documentation
in
my
head,
but
unfortunately
sometimes
that's
where
it
stops.
It's
like
whenever.
D
A
Feel,
like
maybe
I,
should
write
it.
That's
that's
when
the
blockers
in
my
brain
is
like
maybe
I'm
not
gonna,.
B
A
A
Okay:
well,
are
there
any
code
reviews
that
you
all
would
like
to
pair
on
that
yeah?
You
all
have
assigned.
B
E
I
will
I
don't
have
a
code
review,
but
I
was
trying
to
think
you
actually
got
assigned
an
MR
that
we
talked
about
the
week
prior
I
did
want
to
do
a
circle
back
and
discuss
that
very
briefly,
I
was
trying
to
find
the
Mr
yeah
I,
think
it
didn't
get
merged
and
I
I
sent
it
off
to
someone
else,
because
I
just
did
the
initial
back
in
review
I'll
see
if
I
can
find
the
link
or
very
quickly
while
I'm
talking
about
this,
but
there
was
a
community
contribution
Mr
that
I
was
asked
to
review.
E
That
was
huge
and
I
have
the
links.
Let
me
put
it
in
here
and
it
was
changing
over
from
using
this
a
field
called
emails,
disabled
to
emails,
enabled
in
both
this
group
and
project
context.
It
was
a
huge
Mr
with
a
ton
of
back-end
changes.
I
think
some
database
changes
some
front-end
changes
and
I
think
Paul.
The
question
that
I
wanted
to
Circle
back
on.
E
You
asked
me:
why
were
they
going
through
the
process
of
changing
everything
from
the
front-end
wording
of
emails
enabled
disabled
to
the
database
when
it
might
be
better
to
maybe
just
change
what
the
front
end
says
and
just
kind
of
like
not
everything
on
the
back
or
something
like
that?
I
did
go
through
and
do
the
due
diligence
of
looking
into
that
when
I
reviewed
the
Mr-
and
there
was
a
really
long
thread.
E
Discussion
between
I
think
git
love
team
members
at
some
point
where
that
was
discussed
and
the
decision
was
made
to
like
do
this
version
of
the
change.
So
I
did
go,
look
it
up
and
yeah
I
guess
I
wanted
to
say!
Thank
you
for
asking
that
question
because
I
like
did
it
didn't
even
like
it
really
even
occur
to
me
just
to
make
the
change
on
the
front
end,
but
I
did
go.
E
Look
it
up
and
if
I'd
like
a
pretty
long
for
our
discussion
with
quite
a
few
folks
about
like
why
they
wanted
to
get
everything
done
from
the
front
to
the
back
and
I
think
it
was
like
it
could
cause
a
lot
of
confusion.
Going
forward
and
they
wanted
everything
to
kind
of
be
the
same.
I
felt
like
the
Mr
was
like
very
confusing
to
review
and
every
time
I
reviewed
it
I
feel
bad
I
kept
like
finding
new
things
or
I'm
like
I.
E
Just
didn't
see
this
before,
but
that's
because
there's
so
many
things
to
look
at
so
I
do
I
I,
don't
know
how
you
got
it
by
accident,
but
someone
gave
it
to
you
and
I
was
like
well
sorry
at
least
you've
seen
this
before.
A
Yeah,
it's
an
interesting
remark.
Do
you
want
to
share
your
screen
and
we
can
look
at
it
together?
It
looks
like
yeah.
A
B
A
Do
you
want
me
to
oh,
you
want
to
share
your
screen
yeah.
Let's
do.
E
E
So
things
are
a
little
off
right
now,
but
so
just
to
give
the
high
level
I
can
show,
maybe
the
picture
of
before
and
after
and
that
might
be
of
like
a
clear
Yep.
This
is
the
biggest
part
of
the
change
is
they're
changing
from
this
disabled
email
notification
to
it
being
like
enabled
the
wording
enable
and
also
it
like,
floats
all
the
way
down
to
the
database.
E
E
Whatever
the
rules
are
for
the
database,
because
there's
rules
that
I
don't
remember
them
off
the
top
of
my
head,
but
yeah,
it
was
a
lot
of
changes
and
it
it
was
very
confusing
view
I,
don't
think,
there's
actually
a
ton
of
like
view
code
changed
no,
so
maybe
that
was
easy
for
me.
E
E
A
E
The
whole
thing
is
very
confusing,
like
the
code,
the
way
it
was
I
felt
like
it
was
very
odd
because
I
feel
like
this
is
part
of
our
interview
for
backend
there's
like
questions
that
like
they're
like
this
is
an
odd
way
to
do
this.
We
shouldn't
do
this
and
then
we
have
it
in
our
code
base.
So
I'm,
like
okay,
I,
don't
know
if
you
want
to
make
this
recording
private
now,
because
I
said.
E
Don't
know
there's
something
about
like
not
overriding
database
columns.
It's
just
a
strange
thing
to
do.
If
you're,
like
have
a
database
column
that
you
run
this
like
super
or
like
do
something
else,
because
it's
kind
of
like,
if
you
disable
the
old
way,
was
if
you
disabled
in
the
name
space
it
overrides
the
project
setting.
E
This
main
change
was
to
use
this
emails,
enabled
and
said
in
this
disabled
method,
and
this
was
the
code
I
think
that
they
were
using
to
populate
the
new
column
and
project
setting.
But
that's
gone
now,
because
it's
taken
care
of
as
part
of
these
changes
and
they.
B
E
E
Yes,
we
also
ran
into
like
they
removed
stuff
from
the
API
and
I
was
like
oh
I,
don't
I,
don't
think
you
can
do
that.
You're,
just
gonna
have
to
leave
it
and
Mark
it
as
deprecated
yeah.
You
can
add
the
new
one,
but
you
can't
remove
the
old
one.
I,
don't
think
you
can
ever
remove
fields
from
the
API
am
I
wrong.
No.
A
You're
right
yeah
because
there
might
be
third
parties
using
it
yeah
that
we
don't
control
and.
B
E
So
and
then
you
know
that
was
they
were
like,
but
this
is
what
this
Mr
is
doing
and
I'm
like.
Well,
yes,
it
is
in
most
of
the
areas,
but
for
the
API,
especially
you
have
to
leave
the
old
one
and
then
you
can
add
the
new
one
and
then
hopefully
people
will
just
use
that,
but
for
the
API
it's
like
I,
don't
even
think
from
the
documentation.
It
was
pretty
clear.
You
cannot
introduce,
like
it's
an
exception,
to
get
a
removal
of
a
field
from
the
API
response.
A
Oh
sure,
oh
yeah,
like
so
that's
a
pretty
article
that
we
have.
E
Even
in
the
major
releases
you're
not
supposed
to
remove
things.
A
E
B
E
A
Mean
I
would
say
like
a
lot
of
the
the
challenge
here
is
when
there's
this
ux
confusion,
and
it's
like.
Oh
okay,
we
can
change
how
we
want
to
present
this,
but
how
we
want
to
present.
It
causes
some
discontinuity
to
what
it
actually
is
in
the
back
end.
A
There's
two
ways:
you
can
approach
changing
the
thing
you
can
change
it
at
its
roots.
You
know
which
would
be
the
database
field
and
then
propagate
from
there
or
we
can
just
re-polish
it
to
make
it
look
like
the
ux
just
solve
that
not
saying
that
we're
ignoring
the
root
we
can
keep
going
like.
We
can
go
from
the
front
to
the
back,
but
because.
A
E
E
Challenging
and
I
think
that
isn't
the
path
that
was
was
taken.
I
actually
worked
with
this
contributor
for
the
database,
migrations
that
backfilled
things
it
took
months,
yeah
for
the
backfills
to
complete
and
I,
didn't
understand.
Why?
Because
I
didn't
really
pay
attention
to
the
names
of
migrations.
I
was
just
like:
oh
okay,
this
thing's
taking
a
while
I
guess
it's
big
and
what
it
was
doing
was
backfilling
emails,
enabled
for
like
all
projects
and
all
these
spaces
yeah.
A
Yeah
and.
E
B
B
A
B
E
Oh
I
still
don't
feel
100
about
this
Mr
like
that's.
Why,
as
I,
even
though
I
am
a
maintainer
I
only
did
the
initial
review
and
I
really
want
someone
else
to
look
at
it
as
another
set
of
eyes.
Maintainer
or
not.
There
are
still
sometimes
when
the
Mrs
are
like
I
want
someone
else
to
look
at
this
yeah.
B
E
It's
somewhere
in
here
I
think:
okay,.
B
A
If
you
want
to
switch
screens
I'm
supposed
to
review
this,
so
we
can,
we
can
pair.
Oh.
E
Okay,
you
can
yeah,
you
can
definitely
okay
when
I
find
the
thread.
Yeah.
B
A
Nicholas
is
already
dropping
things
on
what
do
they
say
about
this?
A
Oh
yeah,
so
there's
a
really
interesting,
there's
a
really
interesting
Behavior
here
with
these
settings.
A
The
so
these
are
the
overall
context.
This
is
a
rails
form
that
thing
is
Ajax
submitted.
Do
we
even
say
Ajax
anymore,
I,
don't
know
this
is
a
rails
form
where
you
have
all
the
toggles,
but
then
at
the
bottom
you
have
these
check.
Boxes
of,
for
your
projects
is
in
the
project
settings
so
check
boxes
are
interesting,
I
kind
of
learned
something
because
let
me
go
up
to
the
original
comment
here.
A
Deepika
left
a
really
good
question,
because
we
have
two
inputs
here
so
that
we
can
look
at
the
diff
pretty
well.
Let
me
go
ahead
and
open.
B
B
A
Oh
man,
why
are
you
taking
so
long
to
download?
What's.
A
B
E
A
I'm
not
I'm
in
I'm,
in
the
gitlab
development
kit,
all
right,
okay,
so
looking
at
the
changes
here,
we
have
we're
not
calling
it
emails.
Disabled
calling
emails
enabled,
but
one
of
the
weird
things
is:
we
have
a
hidden
input
and
we
have
a
form
checkbox.
A
A
A
B
A
So
you
see
the
you
see,
the
name
of
the
input
is
very
rails,
modely
yeah,
the
the
reason
we
need
a
hidden
input.
This
is
a
weird
Quirk
with
check
boxes.
A
A
Here
is
a
hidden
input
for
this
thing.
Here's
a
hidden
input
for
this
thing,
so
like
it's
pretty
straightforward,
but
the
one
thing
I
I
Rec
said
is
like
okay.
If
we
have
an
input
with
the
name,
this
checkbox
doesn't
need
a
name.
I
see
that
it
looks
like
we're
doing
that
below
here.
But
it's
like
the
checkbox
is
just
the
presentation
for
the
hidden
input
and.
A
Like
yeah,
that's
that's
a
good
question,
I,
judging
it
by
the
state
of
the
Mr
and
the
fatigue
of
the
Mr
right
now,.
D
A
We're
not
gonna
we're
not
going
to
continue
to
add
till
the
pattern
that
doesn't
make
sense,
and
maybe
that
makes
things
a
little
I
don't
know.
Maybe
that
makes
things
strange
for
future
readers
of.
Why
does
this
have
not
have
a
name?
Why
does
this
have
a
name?
Hopefully
it
just
makes
it
obvious
that
the
name
is
and
it
shouldn't.
E
A
A
Know
the
other
thing
I
see
as
a
front
Ender
when
I
looked
at
this
is
I,
saw,
there's
no
unit
test,
update
or.
C
What
we're
gonna
say
on
it
and
before
you
move
on
to
the
test,
just
a
quick
question
of
understanding
on
this.
Apologies,
if
you,
if
you've
seen
this
before,
but
we
I
get
the
the
hidden
input,
part
and
I
get
what
you
said
regarding
the
Ajax
endpoint
and
all
of
these.
But
what
we're
seeing
here
is
like.
Are
we
firing
a
form
submit
from
a
new
component?
C
Is
that
what
we're
doing,
because,
like
just
from
my
gut
feeling,
that
would
be
the
perfectly
right
thing
to
do
from
a
Hamel
template
as
I
find
like
old,
proper
Dom
land,
but
here
in
redomland
that
seems
odd
and
awesome.
What
are
we
doing
when
this
is
done,
like
page
reload
or
what
is
happening
here?
That's.
A
A
good
question
so
I
without
diving
into
the
code
I
have
fairly
High
certainty.
This
is
what's
going
on
view.
A
B
C
Yeah
interesting,
like
that's
not
to
dive
too
deep
on
this,
but
I
I've
never
run
into
this
in
an
hour
code
base.
So
far
like
with
a
weird
mix
between
the
the
two
approaches
yet
and.
C
C
B
A
So
and
I
would
think
that
the
reason
has
to
deal
with
the
there's
a
lot
of
Legacy
code.
It's.
A
Debt,
but
a
lot
of
Legacy
code
with
the
way
the
controller
receives
this
input.
It's
like
it's
not
ready
for
an
API
Ajax
submission,
but
it's
expected.
This
is
a
form
submission.
The
controller
has
all
these
rules
to
it.
So
we
have
to
do
that
form,
submission
thing
and
it's
part
of
it
is
leaning
into
the
pre-existing
Behavior.
So
for
my
for
my
purpose
was
it's
like
there's
already
a
rails
form,
but
now
we
need
something
really
Advanced.
C
Yeah
so
so
we're
mocking
a
form,
basically
out
of
all
of
you,
yeah.
A
B
C
B
A
Something
to
think
about
I
think
in
the
brought
from
the
from
the
broader
front-end
perspective
is
like
Do
Vanilla
form
submissions
have
a
place
like
do
we
like
them,
and
maybe
we
don't-
and
maybe
we
should
you
know,
maybe
we
should
view
that
as
technical
debt.
This
definitely
becomes
more
challenging
like
when
errors
happen,
like
all
of
that,
that
whole
cycle
of
I
submitted
something
we're
going
to
reload
the
whole
page,
but
there
were
errors,
so
they
showed
that
the
you
know:
that's
not
fun.
C
Do
we
get
away
without
a
page
reload
on
those
mocked
forms?
Do.
A
C
Okay,
Wild
World,
well,
okay,
yep
thanks
for
playing
today.
A
Sorry,
Yannick
I
know
the
only
other
thing
I
was
going
to
say
about
this
is
so
this
is.
This
is
really
really
small.
One
thing
that's
interesting
is
like
here
we
have
these
JS
classes
and
but
that's
pre-existing,
but
it's
being
used
in
these
feature.
Specs
and
the
feature
specs
is
what
I
observed
to
tell
that?
Oh,
what
was
I
thinking.
A
A
B
A
E
It
should
be
for
project,
maybe
the
naming
is
just
odd.
Yeah
I
know
that
there
was
this
Emma
originally
contained
group
and
project
together
and
I.
Think
it
had
like
60
files
changed
and
I
cried
a
little
and
asked
them
if
you
could
split
in
my
group
and
project
changes
separately.
B
E
It
may
be
not
a
bad
idea
to
suggested
as
a
non-blocking
change
or
maybe
I
mean
I,
don't
know,
I
feel
like
the
specs
are
hard
enough
to
read,
as
it
is.
Having
things
like
say,
the
right
things
for
me
is
helpful
to
make
sure
that
I
understand
what
the
spec
is
doing
and
so
like,
while
I
want
to
almost
make
it
a
non-blocking,
because
there
has
been
a
lot
of
back
and
forth
and
like
maybe
just
fix
it.
A
Yeah,
that's
yeah,
that's
interesting,
I,
don't
know
now
what
I
was
gonna
say
is
like
so
whenever
we
change
a
unit
but
there's
no
corresponding
change
to
the
unit
test
and
like
this
is
clearly
kind
of
more
than
a
pure
refactor
we're
changing
the
name
of
something
and
even
the
text
that
we're
rendering.
So
it's
like
I
kind
of
expected
to
see
a
unit
test
change,
but
I
see
I
think
when
I
dived
into
the
unit
test.
It's
not
going
to
this
level.
A
So
I
was
a
little
concerned,
but
then
I
could
see
that
okay,
but
we
have
like
multiple
feature
specs
covering
this,
and
so,
if
there
wasn't
already
a
lot
of
fatigue
on
the
Mr
I
would
ask
like
hey.
Can
we
just
add,
you
know
a
test
missing
unit
test
coverage
for
this
thing,
but
technically
we
already
the
thing:
that's
there's
not
a
lot
of
conditional
logic
going
on
either
here.
So
the
most
important
thing
that
goes
on
here
is:
does
it
all
work
in
integration?
A
So
for
me
it's
like
okay,
the
feature
spec
coverage.
Is
there
and
that's
kind
of
the
most
important
bit,
and
ideally
we
can
push
as
much
feature
spec
coverage
down
to
the
unit,
but
in
this
situation
I
was
like
all
right.
The
coverage
is
is
already
there.
So
it's
it's
kind
of
fine.
B
A
B
A
Yannick
is
hearing.
This
is
the
second
time
I've
I've
said
it's:
okay,
we're
not
testing
this
thing.
E
I
would
think
that
that
it
might
be
a
nice
thing
to
open
to
leave
the
comment,
make
it
non-blocking
open
up
a
follow-up
ad
like
the
help
needed
or
whatever,
like
the
community
contribution
tag
on.
It
is
because,
if
it's
small
enough
to
like
add
a
feature
spec,
it
is
going
to
be
more
work
on
you
as
the
reviewer
to
like
write
that
up
in
a
way
that
someone
could
pick
it
up.
B
E
A
Yeah
so
like
what's
interesting
is
so
there
is
a
unit
test
just
for-
and
this
is
I'd
love
to
hear
your
thoughts,
James
and
Yannick
being
in
the
front
end
like
how
you
feel
about
this.
A
So
there
is
unit
tests
for
find
email
like
settings
exists
or
not
exists
so
like
here
you
see
there's
an
if
so.
We're
just
basically
testing
that
this.
If
thing
is
there,
the
thing
that's
not
being
tested
at
the
unit
level
is
like.
A
C
Enough,
where
is
the
so
we're
dealing
with
a
with
a
hidden
input
and
a
GL
form
checkbox,
which
are
connected
to
each
other
variously
logic
that
actually
connects
these
two,
because
that
is
what
I
would
test
like.
This
doesn't
just
wasn't
normal
okay,
so.
C
A
C
C
But
to
yeah
that
might
be,
it
might
be
a
valuable
solution.
But
to
answer
your
question,
I
I'm,
pretty
convinced
that
we
should
come
up
with
a
test
to
come
with
us,
even
though
the
logic
is
kind
of
trivial.
At
this
point,
I
feel
like
this
is
something
if
it
breaks,
we
would
wanna
be
aware
of
and
yeah
yes,
a
feature
test
is
great,
but
feature
test,
also
changes
and
that's
that's
kind
of
okay
right.
Therefore,.
D
B
D
A
Foreign
I
think
that's
a
great
question.
I
I,
like
I
like
ionic's,
point
that
hey,
we
should
I
think
I'm
not
inclined
to
block
the
current
Mr
but
saying
hey.
Let's
add,
let's
add
more
pattern,
breaking
changes
to
the
test,
because
the
tests
aren't
currently
like
supporting
this
kind
of
thing.
So,
especially
given
the
larger
focus
and
fatigue
on
the
Mr
and
the
fact,
it's
already
has
feature
spec
coverage
if
it
didn't
have
features
by
coverage
like
we
got
a
test.
A
So
to
me
it's
like
it's
a
follow-up.
The
task
of
pushing
tests
down
the
pyramid
is
the
pre-existing
test
down.
The
pyramid
just
feels
like
a
follow-up
for
me,
but
I
love
your
idea
of
like
yeah.
Let's
have
a
component
for
this
and
that
will
make
the
test
really
easy.
We
just
have
to
see
hey.
Did
we
render
this
form
check
with
hidden
input
component
with
this
name
like
that
sounds
really
great.
A
I
like
I,
like
all
those
ideas
and
I,
think
it's
worth
mentioning
in
the
Mr
and
the
non-blocking
comment.
So
the
contributor
and
other
people
can
just
be
aware
of,
like
hey
here's,
how
we
can
improve
things
if
we're
still
touching
things
and
Future
iterations.
C
Plus
I
agree
with
everything
you
just
said,
plus,
maybe
leave
a
comment
on
the
features
back
and
Link
the
issue
like
hey,
it's
absolutely
okay,
to
change
this
file,
but
this
is
not
covered
in
a
unit
based
level.
So,
when
you're
thinking
about
about
changing
this,
please
make
sure
that
this
issue,
Linked
In
Here,
is
hopefully
resolved.
By
now.
A
B
A
What
you're
saying
yeah
that's
interesting
like
leaving
a
comment,
an
actual
inline
code
comment.
That's
the
interesting
point:
yeah
yeah!
This
is
an
interesting.
This
is
the
interesting
layer
of
the
code
when
it
comes
to
testing
because,
like
the
most
important
thing
here
well,
obviously
it's
all
super
important
but
like
if
the
name
was
different
and.
D
A
It
doesn't
work
like
the
only
one
of
the
things
that
really
really
matters
here
is
that
this
name
of
the
input
matches
what
the
rails
controller
expects.
So
it's
hard
to
test
that
without
it
somehow
being
in
integration.
So
it's
like
that
feature.
Spec
coverage
is
so
important
for
this
kind
of
thing.
A
So
it's
like
I
would
never
recommend.
Oh,
we
should
remove
the
feature
specs
for
this
thing,
but
then
it's
like
okay,
we
have
a
whole
bunch
of
names.
D
A
B
A
A
E
Yes
and
I
did
find
the
thread,
because
your
exact
comment
was
almost
brought
up
in
that
thread,
like
almost
in
the
exact
same
for
the
reason,
same
reasons
that
you've
described,
and
then
there
was
reasons
given
back
about
why
we
want
to
go
this
route,
and
so
that's,
but
it
might
be
an
interesting
read
through
yeah.
E
Document
and.
A
Yeah
I
think
I'm
gonna
reply
to
it
and
just
highlighting
like
look
at
the
size
of
this
Mr
touching
code,
that's
been
around
for
a
long
time.
This
is
a
risky
way
of
doing
it.
E
E
Think
maybe
what
would
have
been
good
and
I
didn't
read
through
the
entire
thread,
all
the
way
I
probably
did
I,
don't
remember,
because
I
just
feel
like
the
last
few
weeks
have
been
like
really
just
there's
a
lot
going
on.
It
might
have
been
to
lay
out
a
different
implementation
plan
about
how
to
approach
this.
Knowing
that
someone
from
the
community
is
going
to
be
working
on
it
to
say
like.
E
E
You
know
they're,
not
mergeable,
because
the
migrations
aren't
done
that
finally
gets
merged,
and
then
they
now
have
a
second
Mr
after
this
one
which
is
going
to
change
the
group
settings
over
so
yeah
I,
don't
know.
A
E
If
you
do
leave
that
comment,
do
you
think
that
when
they
do
the
group
settings
it's
possible
to
trunk
it
up
smaller
or.
A
Yeah
we're
doing
the
same
thing
for
group
settings.
Yes,
let's:
let's
try
to
do
it
in
a
different
way
and
I
think
that's
the
point
is
we
can
end
up
in
the
same
place?
So
it's
not
saying
the
point.
Isn't
the
the
desired
end?
State!
The
point
is
how
we
get
there
and
I.
Think
if
you
do
it
from
the
front
end
heading
back
it's
safer
than
from
the
root
heading
forward.
We
have
to
change
everything.
A
A
The
if.
A
Yeah
I
mean
this
is
I.
Think
another
interesting
case
too,
where
I
think
one
thing
that's
relevant
here.
Is
you
see
an
MR
and
you
see
the
approach
and
you're
like
oh
wow
like
this?
Is
this
is
a
risky
approach
to
making
all
these
changes
I
wish
we
weren't
doing
it
this
approach,
but
we've
already
made
the
database
migration.
So
it's
like
we're.
B
A
Number
of
times
I've
reviewed,
NMR,
it's
there's
every
I
would
say.
Maybe
a
quarter
of
the
time,
I'll
see
an
approach
that
isn't
favorable
and
I'll
be
able
to
say
something,
I'm,
saying:
hey:
let's
not
go
down
this
path,
a
lot
of
times,
I
come
to
an
MR,
and
oh
we've
already
been
on
this
path
for
a
couple
of
months.
It's
like
all
right,
but
we
have
to
just
make
the
best
of
the
path
we're
on
and
then
hopefully
the
the
thing
to
then
decide
then
is
well.
A
E
Like
this
yeah,
based
on
the
the
discussion
thread,
it
seems
like
we
got
here
from
a
Lessons,
Learned
From.
A
previous
issue
is
what
I
gathered
from
that,
but
perhaps
that
step
further
would
have
been
to
like
say:
okay,
this
is
the
end
State
we
want.
How
can
we
get
this?
How
can
we
get
there
in
smaller
chunks
to
avoid
monster
risky
change?
Okay,
yeah.
A
Definitely
I'll
try
to
do
that.
None
of
this
is
like
the
contributor.
That's
like
Shepard
Shepard.
Did
this
like
it's
crossed.
It's
been,
you
know
super
great
and
thoughtful,
and
it's
has
been
a
small
change,
but
it's
because
of
the
way
that
we
decided
to
do
it
see
you.
James
has
been
really
involved
and
so
I
think,
like
the
contributor
has
been
fantastic.
It's
just
I
wish
we
had
a
better
iteration
plan
from
the
beginning,
but
all
right.