►
From YouTube: FE Pairing - 20220916 - Snowplow tracking and links
Description
In this session we visit an MR that replaces a `visitUrl` call with a regular ol' `href`. We also discuss the challenges of tracking link clicks.
- https://gitlab.com/gitlab-org/gitlab/-/merge_requests/97601#note_1102331961
B
Little
JavaScript
utility-
if
we
want
to
call
it
that
visit
URL
and
one
of
you
may
know
better
than
me.
The
the
background
I
understand
I
think
it
might
be
purely
in
existence
because
we
couldn't
track
and
I'm
not
sure.
If
the
terminology
is
right
but
track
snow
plow
send
events
to
snowplow
just
using
normal
hyperlinks.
So
we
had
to
use
like
get
rid
of
hyperlinks
and
instead
use
this
utility
or
JavaScript
or
whatever.
B
You
want
to
call
it,
which
is
really
kind
of
straightforward
to
to
kind
of
navigate
to
a
URL.
But
we
send
a
snow
plow
event
beforehand.
B
B
So
I
decided
to
have
a
little
bit
of
a
poke
and
it
looks
like
it's
reasonably
straightforward
to
pass
an
event
and
the
event
contains
information
about
the
environment.
If
that's
the
right
phrase-
and
we
know
whether
the
control
key
or
the
command
key
is
pressed
and
based
on
that,
we
can
open
it
in
a
new
tab.
So
that
seemed
quite
straightforward,
but
then
yeah.
Somebody
quite
rightly
pointed
out
that
do
we
really
need
to
do
this
hack,
or
can
we
use
a
normal,
a
or
maybe
geolink?
A
Yeah
so
I
I
I
have
experience
and
I'm
bubbling
over.
With
this
conversation,
I've
had
multiple
times
with
a
we
really
really
really
want
to
lean
towards
using
links
instead
of
using
visit.
Url
I
am
not
familiar
with
the
snowplow
limitation
that
you
mentioned
and
I.
Don't
believe
that
there
is
a
limitation.
Snowplow
should
be
able
to
capture
a
click.
B
B
C
B
It
looks
like
I
might
never
have
shared
on
Zoom
before
so.
I
need
to
give
you
access,
I'm
gonna,
try.
C
It
but
all
the
sessions
that
we
never
let
you
share,
I'm
sure
that
you've
shared
I've.
B
A
Oh,
you
got
to
restart
your
whole
computer.
Okay,
I'll,
see
you
see
you
next
time,
Lee.
A
So
I
wonder:
I,
don't
get
the
I,
don't
get
the
snowplow
thing
that
we're
talking
about?
Oh
but
I,
wonder
if
it's
like!
Oh
here,
we're
gonna
visit
and
then
we're
admitting
that
we
click
this
yeah.
This
isn't
gonna.
A
A
I
I
agree
with
what
you're
saying
Lee
like
this
isn't
gonna
work
because
we're
gonna
change
the
url
and
then
and
then
then
it
you
know
it's
end
of
the
world
for
JavaScript.
You.
C
A
B
Is
the
whole
reason
this
visit
URL
was
used
in
the
first
place
is
completely
pointless
because
you
don't
think
that
that
have
you
got
access
to
the
system
to
see
if
this,
whatever
this
CI
state
is
badge
link,
should
log
in
the
back
end.
If,
if
those
events
are
ever,
if
they
exist,
have
you
got
access
to
snowplow
or
whatever
it
is.
A
That's
a
really
good
question.
That's
a
question
worth
ask
like:
is
this
actually
working?
That's
a
good
question
on
behalf
of
the
members
of
Fe
pairing
to
oh
nine.
Sixteen
we
besieged
now
we
is
this
event.
Tracking,
even
working
we'd
expect
Java
scripts
to
be
torn
down
after
visiting
the
URL.
B
C
Do
anything
but
quick
question
is
I'm
currently
looking
on
the
implementation
of
visit,
URLs
and
it
says,
simulate
a
Target
blank.
Well,
no
open!
No,
no
referral
simulating
Target
plug
for
me.
It
means
this
thing
will
be
opening
in
a
new
tab.
So.
B
Yeah
so
so
this
only
happens
in
two
scenarios.
One
is
if
you
pass
the
external
flag,
which
I
think
this
may
be
used.
You
know
like
when
you
post
a
comment
on
an
issue
I
think,
depending
on
what
the
content
of
the
comment
is,
you
know
where
I'm
going
with
this
and
then
the
other
reason
is
when
what
I've,
literally
just
added
in
this
Mr,
which
is,
if
you've,
got
the
command
or
control
key
press
so
99
of
the
time
it
would
be
opening
in
the
same
tablet
window
before
I
added
this
functionality.
A
This
for
things
that
open
in
new
windows
that
don't
have
open
and
refer,
they
can
actually
reference
that
previous
window
with
window.opener
and
refer.
So
this
is
a
huge
security
issue,
because
you
can
have
a
link
to
third-party
site.
A
B
Diagnose
all
kind
of
what
I
call
the
the
csrf
headers
or
whatever
it's
called
yeah.
A
So
it's
like,
if
we
had
like
a
like
if
we
were
listening
to
mess
like
we
had
a
general
message
listener
like
we'd,
be
able
to
then
have
that
third
party
site
would
be
able
to
start.
You
know
doing
doing
some
actions
on
that
window.
C
A
B
But
so
I
I
don't
know
if
you've
got
specific
place.
You
want
to
jump
into
now,
but
David
has
very
kindly
already
posted
what
he
believes
to
be
a
a
kind
of
solution
to
using
GL
link
instead
of
visit
URL.
So.
B
A
And
I
want
to
highlight,
like
this
point
that
David
mentioned
is:
this
is
the
real.
This
is
a
huge
reason
of
why
we
shouldn't
add
gotcha,
just
partial
behavior,
for
control
and
command,
because
there's
also
middle
click
and
there's
right
click
and,
if
you're
on
mobile,
there's
other
ways
and
it's
like
no.
If
we
want
to
be
able
to
open
absolutely.
B
Yeah
and
you
know
what
that's
something
that
I,
when
I
implemented
a
form
a
little
while
ago
and
I
I
was
like
well,
we
just
need
a
text
box
and
we
need
this
and
a
button
and
and
I
didn't
use
the
standard
like
formed,
HTML
form,
tags,
Etc
and
then,
as
time
went
on,
and
you
know
somebody
reviewed
it
and
it
you
kind
of
realize
that
that
helps
to
exhibit
standard
behaviors.
You
know
it
means
that
when
you
hit
enter
it
submits.
B
Know
little
bits
and
pieces,
and
it's
like
okay,
there's
there's
reasons
these
things
yeah,
so
yeah
yeah.
If
we
can
use
a
a
normal,
well
official
yeah
WC3,
whatever
it.
A
Is
so
this
is
saying
on
click
we
navigate
to
the
pipeline?
Yes,
yes,
I,
think
I
think
what
is
being
discussed
here.
Yes,
I
think
this
is
gonna
work
testing,
maybe
all
those
needed.
Yes,
yes,
yes,.
B
A
You
ask
a
really
good
question,
but
I
believe
I'm
pretty
sure
it's
a
standard
that
links
will
process
synchronously
if
they're
click
handlers
and
if
nothing
is
ever
called
prevent.
Then
it
will
do
the
ahref.
B
They,
let
me
rework
that
slightly
so
I
think
it
will
admit
the
event,
but
I
don't
know
that
the
thing
listening
for
the
event
is
going
to
receive
it
and
process
it.
Yes,.
A
So
that
is
the
this
does
create
some
racy
condition:
stuff
races,
maybe
not
the
worst.
That
sounds
that
sounds
scandalous.
A
This
does
create
some
race
condition
like
things,
because
what,
if
View,
because
now
we're
working
a
little
couple
to
view
handling
these
things,
synchronously
and
I
believe
that
they
do
it's.
The
rendering
of
templates
that
is
like
has
to
be
next
ticked,
I
believe
that
this
will
actually
be
handled
synchronously
unless
the
Handler
for
this
is
actually
asynchronous,
which
it
probably
is
because
yeah,
let's,
let's,
let's
find
this
thing,
yes
track,
link!
A
Okay,
so
this
Handler
is
not
but
I
mean
certainly
track.
Is
making
some
sort
of
web
request
right
yeah.
So
wherever
we
wherever
is
where's
our
track
and
stuff
where's
methods
track
tracking
event
tracker?
B
A
A
I'm
gosh:
what
was
the
name
of
the
function
it
was
track?
Is
it
URL
or
oh.
B
C
B
Okay,
yeah,
you
probably
won't
want
to
read
it,
but
you,
you
clearly
know
a
lot
more
about
you
than
me,
but
I
really
didn't
spend,
expect
the
event
fast
as
they
call
it
to
be
an
asynchronous
sort
of
something
emits
in
a
van.
It
goes
somewhere
and
then
you
know
something
picks
it
up
and
but
it
seems
like
it's,
especially
as
I
presume
you
could
have
multiple
lists.
No,
could
you
not?
Maybe
not
you.
A
A
I,
don't
know
not
whatever
the
event
Target
thing
and
those
those
are
going
to
be
synchronous,
like
is
this
gonna
awesome.
Well,.
A
So
here's
here's
the
situation
though.
Like
so
now
we
call
the
snow
plow
event
we're
tracking
something
it's
got
to
make
a
request.
B
A
That's
gotta
be
asynchronous,
so,
even
if
all
of
our
stuff
here,
even
if
we're
not
waiting
for
this,
it
says
bringing
up
the
question
of
like,
are
we
able
to
track
links
and
I
I,
just
don't
know
so,
I
kind
of
want
to
just
do
a
quick
search
for
like
snow
plow
track
link
clicks
all
right.
Well
here
we
go
link
click
tracking,
whoa,
enabled
by
enable
link,
click
track,
each
link,
click
wow,
that's
a
link!
Click,
that's
a
little
bit
of
a
tongue,
twister
I'm,
also
just
not
good
at
talking.
So
probably.
A
C
C
Think
so,
quick
background
information
if
I
recall
this
right
from
working
with
other
tracking
libraries
with
links
as
far
as
I
remember,
you
usually
just
write
a
couple
of
values
to
a
global
JavaScript
event
and
as
a
Dev,
that's
kind
of
all.
You
do
and
I
suppose
the
library
then
would
update
this
JavaScript
event
immediately
or
whatever
you'll
be
revisiting
the
page.
But
I
only
remember
when
implementing
this
thing
is
basically
just
editing
an
object
or
firing
like
an
event
to
editors,
but
there
will
be
it
I'm.
A
I'm
so
curious
how
this
works,
I'm
so
curious,
how
this
works,
I've,
I've,
gotten
so
curious,
I'm,
I'm,
jumping
into
the
source
code.
I'm!
Sorry
we
could.
We
could
do
something
else.
I.
A
Okay,
oh,
look,
we
can
add
a
little
filter.
This
looks
like
a
hundred
percent.
What
we
should
do
this
would
be
really
nice.
We
add
the
click.
Listener,
click
listener;
okay,
oh
it's
adding
it
to
the
mouse
up
and
mouse
down
on
pseudo
clicks.
Okay
or
we
do
this
one
to
get
the
click
Handler.
C
A
A
B
So
should
we
just
have
a
look
at
what
David's
suggestion
was
and
did
we
have
like
a
old
I?
Don't
think
this
is
gonna
work
or
I'll?
Actually,
no.
B
A
Looks
like
it's
gonna
work,
right,
I
think
this
is
gonna
work,
I
think
what
was
oh
100
I
think
this
is
what
what
was
really
tripping
me
up
was
was.
How
can
we
make
a
web
request,
which
is
asynchronous
yep
here,
like.
B
A
Is
snowplow
doing
that,
but
I
guess
the
way
this
works
is
it
doesn't
need
to
wait
for
a
response,
so
these
requests
are
actually
just
fire
and
forget.
So
as
long
as
the
back
end
receives
a
request,
that's
really
the
only
bit
that
really
matters
I,
guess
so.
I
think
that
may
be
able
to
be
happened.
Synchronously
from
snow
plow
snowplow
is
able
to
say,
go.
B
A
Think,
that's
I
think
that's
what's
happening
and
now
that
I
think
about
it.
Like
that's
the
way
the
xhr
works
is.
A
A
I'm
gonna
I'm,
going
to
say
I
need
to
hop
in
up
to
Reef.
Oh,
are
we
doing
this
refactor
is,
is
Peyton
doing
this,
or
are
we
doing
this.
B
So
what
I
have
said
we
will
do
is
so
it
may
well
be
that
we
can
end
up
removing
visit
URL
entirely.
Maybe
we
can
spend
if
we've
got.
You
know
the
rest
of
the
session.
Looking
because
what
is
so.
This
is
the
specific
case
that
Chad
brought
up.
That
was
like
oh
I,
wanted
to
open
this
in
a
new
window
and
I
can't
so
I
said
well
Okay.
The
reason
you
can't
is
because
we're
using
this
JavaScript
method
I'll
improve
this
JavaScript
method,
so
it
supports
control,
can
let
command
kit
click.
B
I
will
update
this
one
call
to
the
method,
but
there's
about
50
or
100
or
there's
quite
a
few
calls
to
this
method
that
we
need
to
update.
So
we
could
do
one
of
two
things.
We
could
look
at
all
those
other
calls
and
see
whether
we
think
that
all
of
them
are
redundant
and
that
we
should
be
using
something
else
instead
or
we
can
say.
Oh
no,
actually,
you
know
it
makes
sense
that
we're
using
this
method.
B
A
Only
use
it
so
I
mean
that
was
its
original.
Well
now
we're
talking
this
look.
Look,
oh
we're!
So
far
back
man,
so
this
is,
you
know
we
used
to
have
just
a
global
YouTube
like
this
is
back
before
we,
you
know,
had
module
exports
in
the
project.
So
you
can
see.
This
is
one
of
the
early
module
exports
and
I
guess
previously.
It
was
just
we're
just
gonna
change.
The
href
one
of
the
benefits
of
having
in
its
own
function
is
for
testing.
A
You
can
just
mock
this
function
and
your
environment
won't
like
throw
an
error
or
something
like
that,
because
you're
trying
to
change
locations
or
something
so
that's
probably
one
benefit
but
I
think
also
encapsulating.
This
external
flag
seemed
be
really
related
to
this
specific
problem
and
it's
funny
how
code
is
just
sticky
and
it's
just
been
around
forever
since
then
so
yeah.
C
B
So,
okay,
so
I
didn't
say:
as
far
did
you
actually
respond
to
David
or
didn't
quite
get
that
far
well.
A
A
I,
don't
think
I
have
any
contributions
or
what
activity
today
so
I
might
maybe
I
should
push
up
the
commit.
So
it
looks
like
I'm
doing
something.
B
If
you
yeah
by
all
means,
then
if
you
have
a
finger
Society
like
once
we've
it's
brilliant
again
reasons:
I
love
these
sessions,
because
it's
not
just
that.
Oh
yeah,
let's
apply
this.
It
works,
cool,
proper
Deep,
dive
and
understanding
and
asking
questions
yes,
but
yeah.
Yeah
I
am
very
interested
to
see
some
of
the
other
scenarios.
So
so,
as
I
say,
this
one
is
very
much:
oh,
we
don't
need
to
use
visit
URL
so
like
we're
going
to
change
it
to
GL
link
or
whatever
it
might
be.
C
B
For
some
of
the
other
scenarios
like
that
one,
you
just
showed
me
where
it's
we're,
making
an
asynchronous
form
submission
and
then
we're
redirecting.
We
do
need
that
method.
Yeah.
C
B
B
B
Use
usages
yeah,
if
you
lose
me,
sorry,
no,
no!
No
so
I
I
was
just
saying
that
so
they
clearly
are
some
scenarios
where
we
do
need
to
use
visit,
URL,
I'm
Keen
to
look
like
a
bunch
of
places
to
see.
If
we
can
like
start
finding
yeah,
which
ones
can
we
identify
as
ones
that
we
can
definitely
remove
in
favor
of
yeah.
A
A
Don't
I
don't
know
if
need
is,
like
I
I
think
it's
there's
probably
many
many
places
it's
used
where
it
shouldn't
be,
and
it's
such
a
huge
win
when
we
can
get
rid
of
it.
But
like
look
at
look
at
this,
do
you
see
how
this
thing
is
not
a
link
like
so
I
can't
like
just
highlight,
but
on
this
side
this
little
bit
is
a
link
like
I
can
highlight
this.
We
used
to
have
like
a
this
used
to
be
handled
with
a
click
listener,
but
it's
you
know
from
this
perspective.
B
A
But
I
what
I
was
going
to
say
is
there's
other
places
where
I
know.
We've
we've
had
to
fancifully
shimmy
like
an
anchor
in
place
to
get
that
right,
Behavior.
So
there's
really
there's
interesting
ways
that
you
can
get
link-like
Behavior
and
we've
done
it
once
before.
A
This
is
related
to
it,
but
there's
another
one,
that's
related
to
it
as
well
of
we
have
some
complex
components,
but
we
need
to
be
able
to
like
middle
click
and
right
click
on
them,
and
you
can
do
that
with
somehow
you
shimmy
an
anchor
in
there
I'm
I,
don't
remember
how
we
did
it
before,
but
it
was.
It
was
interesting
and
the
result
was
pretty
nice
actually
so,
but
anyways.
A
Yes,
let's
apply
this
thing.
Yes,
yes,
GL
link,
that's
great
yeah!
Look
we
already
get
I.
Guess
we
get
these
things
for
free,
I'm
wondering
if
that's
the
case,
maybe
I
should
maybe
we
should
test
this
that
this
looks
as
we
expect.
A
All
right
here
we
go
boom
all
right,
so
the
tests
are
passing.
We
got
ready
to
visit
URL
and-
and
these
aren't
asynchronous
yep,
because
all
we
need
to
do
is
just
test
the
href
yep
yep,
yep,
yep
yep,
and
then
here
we'll
do
the
mid
to
click
and
we
emitted
the
thing.
Everything
is
great,
great,
great,
great,
great,
great
yeah.
This
should
work,
but
I
am
now
just
curious.
What
does
this
look
like
you
know?
Maybe
it
doesn't
look
good
because
we
changed
to
a
GL
link
which
I
guess
should
look
fine.
A
Let's,
let's
do
that,
oh
man
do
I
still
have
this
thing
running,
probably
should
stop
GDK
at
some
point.
All
right,
I
just
ran
yarn,
so
I
probably
need
to
run
bundle.
Let
me
run
start
okay,.
B
B
You
know
you
get
the
little
pipeline
yeah,
that's
it
okay,
so
for
some
reason,
there's
not
a
pipeline
again,
it
might
be
that
one
I
did
it
on
the
commits
tags,
weird
on
the
commits
tab.
It
didn't.
C
A
Oh
wow,
this
is
four
years
ago.
Oh,
that's
interesting.
Wow
status
badge
link,
oh
wow,
so
this
is
not
it.
It's
status.
Badge
link
is
the.
C
A
C
C
B
A
B
A
B
A
Where
is
this
thing?
Where
did
you
say
you
were
used
pipelines
table
First,
Column
yeah,
that's
got
to
be
out
of
date,
maybe,
though,
maybe
it's
not
is.
Is
it
this
thing?
Is
this?
It.
C
B
C
Violently
is
looking
for
that.
Can
I
just
ask
a
somehow
unrelated
question
regarding
the
regarding
the
visit
URL
or
the
GL
link.
We
are
using
here
like
what
I'm
after
is
I
get
the
way
we
are
using
View
at
gitlip,
which
is
basically
not
necessarily
web
component
approach,
but
with
a
mostly
with
a
dedicated
app
for
each
application.
C
Aka
each
route,
I'm
just
curious
when
I'm
thinking
about
tools
like
I
almost
said,
react
router
when
I
I
think
about
JS
routers,
and
it
feels
a
little
Mayhem
to
me
to
go
from
one
of
our
view.
Applications
to
another
using
window.url
regarding
page
loads,
like
a
link,
is
probably
what
we
have
to
deal
with
and
might
not
be
a
perfect
approach.
But
when
dealing
with
the
window
object
sounds
like
a
little
much,
even
though
I
get
the
reasons
why
we're
doing
this?
C
B
C
A
It's
like
you
know
these.
These
are
static.
These
middle
parts,
change
that
we
unload
and
reload
the
thing
and
but
what's
cool
is
like
view
routers,
so
the
router
modules
are
so
sophisticated
where
you
can
still
just
use
regular
links
and
then
we'll
hook
in
okay,
but
visit
URL
you're
right
visit.
Url
would
circumvent
that
like
visit
URL.
A
Will
we're
gonna
refresh
no
matter
what,
where,
if
we
were
using
links,
and
then
we
had
a
we
could
we
we
could
more
easily
Implement
something
that's
not
not
at
all
like
it's
easy,
but
but
that's
how
routers
work,
and
so
we
could
transform
something
to
a
little
bit
more
single
pagey
with.
C
A
A
And
these
These
are
these
These
are
links
so
like
these
are
links
that
I
can
middle
click,
right
click
and
everything,
but
you
notice
it
doesn't
refresh.
This
is
a
single
page
e
thing.
Oh.
A
Oh
no
and
I
totally
lost
the
MR2.
Can
you
please
resend
it
to
me.
B
C
B
B
C
A
I'm
I'm
man
there's
so
many
bunnies,
so
many
bunnies
I'm,
following
all
of
their
their
bunny
Trails.
A
This
will
I
believe
this
I.
Don't
know
why
this
would
work,
but
if
I
do
actually
like
middle
click
on
it
or
like
that's,
but
but
I
see,
there's
no
ahrefs
so
because,
what's
interesting
is
in
your
Mr
there's
another
path
where
we
don't
tear
down
this
JavaScript
environment
because
we're
actually
opening
in
a
new
window,
yeah.
A
B
C
Weird
idea,
folks:
can
we
reproduce
this
Behavior
like
actually
executing
this
link?
We
can
right:
okay,
yeah
what
if
I
can
put
it?
What
if
we
put
a
debugger
just
below
the
air,
just
above
the
tracking
event,
just
to
verify
that
this
thing
is
not
I
still
think
it's
that,
like
it's
nothing.
B
A
So
I'm
still
trying
to
find
where
this
thing
is
is
I
did
see
in
the
project
operations
things
we
have
a
really
interesting
I,
don't
know
if
I
can
open
it
up
here,
but
I
should
be
able
to
open
it
up
in
the
GDK
which
should
be
started
now,
let's
do
it
this
is
it
let's
open
up
GDK
there's
like
a
project
operations,
dashboard
thing
which
will
show
Pipeline
and
I
wonder
if
that's
it
great
we're
here
in
the
GDK
I'm
gonna
open
up
this
thing
called
operations
which
I'm
not
gonna,
pretend
that
I
really
okay.
B
That's
actually
on
the
failed
jobs,
tab
of
a
pipeline.
B
A
So
this
is
with
the
change,
so
I'm
gonna
keep
this
tab.
Open,
I'm
gonna
commit
this.
Let's
call
it
thanks
the
sec.
A
Ahref
and
GL
link
for
CI
badge
link
all
right
and
we
will
also
link
to
the
comments.
Yes.
Yes.
Yes,
yes,
yes,
yes,
yes,
yes!
Yes,
yes,
yes,.
A
It
looks
like
we
are
exactly
the
same
except
now.
Look
I
can
actually
see
where
this
thing
goes.
Yes
and
I
can
middle
click
this
it's
so
much
more.
Lovable
love
it
great,
but
Yannick
is
unconvinced
how
how
do
I
know
this
really
works.
A
C
C
A
There's
two
I
can
I,
can
I
have
Chrome,
but
why
do
we
have
two.
C
I
think
I've
only
worked
with
the
debugger
so
yeah.
Let's.
C
A
A
A
A
A
C
You
go
go
with
that.
Oh
wait!
A
second
can
I
just
see
the
other
ones,
the
other
the
yeah
chatting
from
the
video
below
I,
think
that
is
what
I've
been
using.
Okay,
I'm
sure
yeah
all
right
do.
A
A
Snow
plow
debugger
tab
here
we
go.
No,
maybe
I
need
to
close
this
yeah.
You
probably
need
to
restart
the
whole.
Oh
there
we
go
there.
You
go
snow,
plow,
debugger
tab.
What's
going
on,
what's
gonna
happen,.
A
A
C
A
Reset
so
I
resetted
the
revert
so
we're
we're
at
the
href
version.
Now.
A
C
C
A
A
This
is
some
context:
data
but
I'm
not
getting
like
a
custom,
structured
event.
Projects
pipeline
show,
here's
the
event,
label,
project,
side,
navigation,
okay,
here's
another
structure
to
that
wow.
We
do
these
a
whole
lot.
A
In
this
structured
event,
oh
gosh,
oh
my
gosh,
okay,
oh
I,
keep
losing
my
place,
where's
the
event
data
yeah.
This
isn't
doing
what
I
I
don't
know
if
this
is
doing
what
I
think
it's
doing
I
keep
getting
this
project
side-
navigation,
like
that's
what?
Oh
they
all.
A
Well,
yeah,
we
could
try
the
other
extension.
Do
you
want
to
try
that
it's
a
little
late,
we've
been.
A
So
I'm
gonna
just
say
we
weren't
able
to
verify
we
weren't
able
to
verify
that
this
was
behaving.
A
A
That
we
that
we
found
I
must
have
closed
that
tab.
The
extension
does
pseudo-click
listening,
so
it's
like
looks
for
Mouse
down
and,
like
all
the
other
kind
of
that.
A
A
I'll
leave
a
question
for
Peyton
of
like.
Could
he
confirm
locally?
That
is
working?
We
weren't
able
to
confirm
that
either
working
locally,
so
something's,
probably
wrong
with
our
environment.
That's.