►
From YouTube: 2021-05-07-Node.js Node-API Team meeting
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
A
So
welcome
to
the
node.js
node
api
team
meeting
for
may
7th
2021
we'll
follow
our
standard
approach
of
looking
at
what
is
tagged
for
the
milestone
11.
before
we
get
started.
Does
anybody
have
any
announcements
they'd
like
to
share.
A
If
not,
okay,
I'm
going
to
share
my
screen
and
with
the
milestones.
So
this
is
the
first
one.
The
first
one
is
talk:
submissions
for
opengs
world,
so
I
guess
kevin.
I
I
saw
that
you
just
got
a
response
which
was
funny
because
I
did
ask
last
week
and
I
got
told
that
they
responded
to
you
already,
but
anyway
sounds
like
you
got
a
response
today.
A
B
Yes,
so
I've
been
working
on
the
presentation,
I
made
a
comment
on
the
bottom
of
here.
I
guess
in
the
presentation
you
know
I'm
trying
to
decide
when
we're
talking
about
the
apis
and
things
like
that,
should
they
focus
on
the
the
c
abi
side
or
the
node
api
side.
If
you
open
the
presentation
link,
I've
started
adding
some
slides
for
the
thread
safe
async.
If
you
scroll
down
it's
like
the
last
set
here
right
and
and
these
I
guess
the
number
10
we
can
start
with
10.
I
guess
so.
B
This
is
sort
of
like
a
general
description
of
what
node
has
and
then
the
next
slide
below
is
like
how
I've
decided
to
document.
I
guess
how,
if
you
could
see
this
napi
underscore
or
an
api
colon
colon,
but
I
don't
think
it's
worthwhile
to
have
full
code
samples
for
both
or
I'm
not
sure
if
that's
needed,
what?
What
do
we
think.
B
Because
I-
and
it's
also
like
there's
some
features
that
are
only
in
node
add-on
api,
like
async
progress
worker,
because
that
is
backed
by
a
thread-
save
function.
You
know,
so
that's
something
that
we
provide
additionally.
So
I
feel
like
that's
something
to
discuss
separate
but,
for
example,
the
thread
safe
function.
A
A
So
I
I
guess
my
first
take
is
like
yeah
doing
the
same
code
twice
doesn't
necessarily
make
sense.
The
sort.
C
A
Thing
is
is
to
discuss
that
like
hey,
you're
gonna
want
concept
of
having
multiple
threads
is
kind
of
important,
and
you
know:
we've
got
we've
been
adding
support
for
new
ways
to
make
that
easier
on
developers
right
right,
okay,
you're
kind
of
the
key
ways,
and-
and
then
you
know
a
little
bit
of
code
to
like.
I
like
this,
this
sort
of
kind
of
summary
level
where
it's
like
you
know
here
are
the
different
options
you
have
and
then
even
maybe
like.
B
Okay
and
then
my
comfort,
I'm
more
comfortable.
Writing
in
note,
add
on
api.
So
I'll
probably
do
the
code
snippets
and
that
then,
and.
B
Okay,
then,
we
also
got
feedback
saying
that
we're
not
allowed
to
have
more
than
three.
B
Yeah,
it
was
two
presenters
and
four
is
a
panel
right
so
right
now
I
see
that
only
I
am
registered
as
a
schedule
as
a
speaker,
I'm
not
sure
if
jim
did
any
of
the
the
sign
up
or
whatnot.
So
I'm
not,
I
think.
A
A
B
B
A
I
yeah
that
was
kind
of
my
interpretation.
I
guess
I
was
a
little
overly
optimistic
that
they
wouldn't
mind
extra
people
popping
in,
but
I
can
see
I
guess.
If
they're
you
know,
I
guess
the
it's
once
you're
a
panel
there's
extra
requirements,
so
I
can
kind
of
see
they
don't
want
people
going
around
the
rules
to
get
there.
B
A
Wouldn't
be
that
bad,
I
I'm
doing
some
with
several
and
again.
I
can
help
if,
if
you
need
help
to
get
multiple
people
into,
but
it's
I
think
it's
like
is
there
somebody
else
who
would
like
like
to
be?
Certainly
I
I'm
already
giving
some
other
presentations,
so
I'm
I
won't
jump
in,
but
if
there's
somebody
else
on
the
team
that
would
like
to
that
would
be
good.
A
Okay,
it'd
probably
be
good
to
to
to
get
that
closed,
though
I
like
to
let
kevin
know
like:
does
he
have
to
put
together
the
whole
thing
or
is
it
somebody
else
can
collaborate
on
it.
B
With
them
so
right
now,
what
I'm
focusing
on
is
the
stuff
that
was
assigned
to
me
the
thread
safe
stuff
and
then
moving
on
to
jim
stuff,
which
was
like
the
building
and
whatnot,
and
then
I
would
just
continue
moving
on
unless
somebody
else
wants
to
to
jump
in.
On
that,
I
did
see
gabe,
I
think
added
the
add-on
and
those
first
couple
of
slides
were
these
newly
added
by
you
gabe.
B
E
Well,
I
was
kind
of
hoping
jim
might
be
right
because
he
was
originally
the
one
who
put
together
the
abstract
and
everything,
but
he's
not
here
now.
So
I
I
don't
know
what
his
final
word.
A
E
Okay,
I
see
I
see
well
okay,
I
mean
in
that
case
I'm
I'm
fine
with
doing
it,
but
I
I'm
happy
to
yield
to
anybody
else.
So
that's
where
I
stand.
E
F
For
me,
it's
a
better
sort
of
because
yeah.
I
think
that
he
is
better
than
me
to
explain
some
concept
so
yeah,
it's
it's
my
opinion.
B
Okay,
then,
if
we
go.
B
I
already
saw
going
through
the
previous
presentation.
We
already
have
like
resources
and
getting
started,
but
I
guess
if
you
could
move
that
into
the
new
template
format
and
then
also
any
of
the
documentation
for
the
helper
methods.
There.
F
Yeah
I
I
in
this
weekend-
I
I
will
do
this
and
yeah.
If
I
find
the
new
resources,
I
will
add,
so
I
did
something:
okay.
B
F
I
for
sure
I
will
do
in
in
in
this
weekend
so
saturday
or
sunday,
so
yeah
for
sure
monday.
You
can
see
the
the
update.
B
Perfect,
okay,
so
then
the
final
recording
is
due
the
19th,
so
that's
in
two
wednesdays,
so
that
leaves
us
basically
one
additional
friday
meeting
on
the
14th.
B
So
if
we
get
sort
of
the
slides
in
place
this
weekend,
then
we
can
do
like
a
final
in-person
review
with
the
team.
I
guess
on
the
the
14th
and
then
sometime
between
then
in
the
19th
gabe,
and
I
will
have
to
schedule
some
time
to
actually
do
the
recording.
E
B
E
Sin
since,
since
I
was
mentioned-
and
I
was
not
here,
what
is
the
schedule.
B
Sorry
so
the
the
video
is
due
on
the
19th
okay,
so
we
have
one
additional
team
meeting
before
then,
which
would
be
on
the
14th.
B
B
Okay,
perfect,
then.
The
final
point
is
that
they
there's
also
a
question
and
answer
period
that
will
be
held
on
june,
2nd
and
3rd,
and
it's
a
20-minute
slack
session,
and
I'm
just
wondering
if
anybody
would
be
happy
to
join
that
as
well.
They
said
it's
there's
no
video
and
it's
basic.
It's
only
over
text
and
the
timings
that
we
have
our
wednesday
eastern
evening,
so
after
5
p.m
or
thursday
in
the
morning
before
4
p.m.
B
Yes,
wednesday
june
2nd
and
the
following
day
june
3rd.
B
B
B
B
E
E
So,
okay,
so
then
so
then
we
would.
We
would
just
like
fill
in
one
of
these
slots.
B
And
I'm
flexible
on
either
date
for
any
of
the
available
times,
so,
whichever
works
best
for
you.
E
Okay
and
how
will
we
receive
the
slack
coordinates.
A
E
B
E
E
A
Sounds
good
and
thanks
for
thanks
for
taking
the
lead
on
that
that
that's
that's
great,
this
one
the
doc
was
published.
So
actually
let
me
just
yeah
we
can
close
yeah.
I
just
want
to
find
the.
A
A
A
D
Yeah,
like
I'm
pretty
much
like
finished,
covering
up
all
the
classes
and
I
think
there's
like
a
few
more
left.
I
can
probably
finish
this
weekend
and
there's
probably
like
gaps
between
like
the
like
certain,
like
methods
not
being
covered
so
probably
like
the
next
couple
of
months
weeks
or
so
just
work
on
that
and
also
have
a
open
pr
in,
like
the
node
add-on
yeah
that
nicolette
looked
better
probably,
but
I
want
one
if
you
guys
can
like
take
a
look
at
it.
A
A
F
But
jack
jack
added
new
yeah,
some
new
method,
cyborg
4.
So
if
you
want
to
take
a
look,
it's
always
good
and
yeah.
For
me,
the
paracas
is.
A
D
Just
I
think
it's
just
like
it's
like
a
bit
more
to
their
question.
That's
okay!
Just
wondering
like
what
are
some
other
like
ways
I
can
like
sort
of
get
more
acquainted
with,
like
just
like
sort
of
like
other
code
base.
It's
like
what
I've
been
doing
is
like
I've,
pretty
much
been
trying
to
like
try
all
these
apis
on
my
own
running,
the
old
tests
see
how
they
work,
but,
like
I
would
like
more
sort
of
in-depth
look
at
or
more
like,
like
sort
of
structure.
A
A
Yeah,
I'm
still
on
the
wrong
background,
yeah,
so
you're
thinking
of
like
ways
like
ways
to
learn
or
to
go
through
like
the
the
apis
that
are
there
or
what's
the.
D
A
A
D
B
I
think
also
one
thing
that
may
be
beneficial
is
looking
at
maybe
trying
to
port
modules
to
node
add-on
api.
E
Yeah,
it's
it's
not
a
bad
idea.
The
other
thing,
of
course,
that
you
might
want
to
look
at
is
simply
just
the
issues
reported
and,
and
just
you
know,
look
look
at
try
to
reproduce
the
issue
for
one
and
then
you
know
trace
trace
through
the
code
and
and
see
if
the
issue
is
even
caused
by
know
that
on
api
or
by
node
api,
you
know
and
then
and
then
just
make
a
report
on
that.
You
know
just
reply
to
the
issue
saying
yeah.
E
D
E
Or
or
to
know
that
on
api,
then
you
can
you
can
try
to
see
what
the
library
does
at
that
point
where
it's
behaving
you
know
incorrectly
and
just
try
to
create
a
second
test
case
from
scratch.
E
Using
know
that
on
examples,
which
just
has
that
one
incorrect
incorrect
sequence
of
of
of
operations
and
then
that's
like
a
minimal
test
case
right
so
so,
then
you
can
you
can
post
that
you
can
create
like
a
gist
for
it
or
even
just
a
small
repo
which
just
has
a
couple
of
files
in
it,
that
that
does
exactly
the
one
thing
that
goes
wrong
and
then
that's.
That's.
E
That's
also
very
valuable
to
have
like
a
minimal
test
case,
because
that's
the
beginning
of
a
test
that
we
can
then
add
to
to
know
that
on
api
and
of
course,
sooner
or
later
fix
it.
You
know
yeah.
A
Okay,
so
that's
that's
if,
unless
you
have
any
other
questions,
we'll
move
on
to
the
next
thing.
A
Okay,
yeah!
No
thanks!
I
I'd
like
to
kick
off
the
looking
at
issues
to
getting
back
to
looking
at
906,
because
I
think
I
could
still
use
some
input
from
people.
So
let
me
go
over
that
to
node.
A
Api,
so
we
talked
a
bit
about
this
one
last
time,
which
was
around
the
crash
that
we
were
seeing
in
16
and
I
I
went
and
I
actually
you
know,
started
working
on
the
what
we
suggested
which
was
to
to,
and
actually
maybe
it's
worth
looking
in
the
code
here.
E
A
A
So
so
the
suggestion
was
to
was
here
to
avoid
the
set
immediate
in
the,
and
let
me
actually
let
me
go
to
the
pr
that
I've
got
to
the
set
immediate
when
the
finalizers
were
being
called.
But
I
have
some
things
on
that
that
I
want
to
ask
questions
on
so.
A
You
know
I
I'd
added
the
the
the
stuff
we
needed
to
be
able
to
tell
are
we
tear
down
or
not,
but
in
here
that
alone
didn't
fix
the
chain
that
crashed
and
I've
done
some
additional
investigation,
and
actually
the
only
change
that's
required
to
to
avoid
the
crashes?
Is
this
ref
and
unref?
A
The
first
question
I
want
to
want
to
discuss
was:
is
it
possible
that
we
don't
actually
call
this
version
of
the
call
finalizers
when
we're
doing
that
loop?
I
mean
I've
been
trying
to
create
a
test
case,
and
I
see
it
calling
things,
but
it
seems
to
only
call
the
version.
That's
in
js
native
api.
E
Yes.
Yes!
Yes!
Yes!
Yes!
Yes!
Yes,
that's!
That's,
because
the
the
the
finalized
alls
are
happening
from
the
destructor
right
and
and
by
the
time
the
superclass
destructor
is
called.
The
subclass
has
already
disappeared,
including
all
its
overrides
and
everything
right.
So
so
that's
why
we
were
saying
that
we
need
to
move
that
finalize
all
so
those
two
finalize
all
calls
we
mean
we
need
to
move
them
out
of
the
the
destructor
and
and
into
the
and
right
before
the
spot.
That
says,
delete
this
in
right
on
ref.
A
I
tried
that
and
that
actually
made
tests
fail,
maybe
because
it
was
actually
said
calling
the
set
immediate
versus
not
right,
because
we
don't
want
to
call
the
set
immediate
version
in
that
case
right.
A
D
A
And
it
basically
does
this
call
into
module
right
yeah,
but
it
sets
it
in
sets
at
an
immediate.
You
know,
puts
a
handle.
Scope
puts
that,
although
this,
so
this
part,
is
the
the
core
right
yep.
If
we
go
back
and
look
at
this
one
view
file.
E
A
A
C
A
E
A
So,
if
okay,
so
that
that
was
my
first
question
so
that
like
to
validate
that
that
actually
makes
sense
to
just
say:
okay:
well,
we
don't
know
if
I
can
go
back
there.
E
E
Whether
it's
arguable,
whether
it's
a
good
idea
to
rely
on
the
destructor
behavior,
because
we're
relying
on
the
destructor
behavior
now
right,
you
know
because
it
is,
it
is
kind
of
it
is
kind
of
surprising.
Like
you
know,
you
know
the
you
always
call
the
subclass
implementation
that
overrides
the
superclass
implementation,
except
during
environment
teardown.
You
know,
that's
that's
a
bit
surprising.
You
know.
E
Yeah,
maybe
maybe
you
could,
you
could
add,
like
a
comment.
Maybe
there's
already
quite
a
big
comment
there
right
before
finalize.
D
E
Maybe
you
could
add
one
to
explicitly
mention
that
that
it
that
this
will
result
in
in
any
an
api
end
of
methods
being
called
because
node,
api
or
yeah
node
api
and
has
already
been
cleaned
up
like
the
class,
has
already
been
removed.
And
thus
all
the
overrides,
just
just
to
you,
know,
to
be
clear
in
the
future,
because
this
has
been
a
surprising
sort
of
turn
of
events.
A
If
we,
sir,
I
can
do
that
because
yeah
I
I
moved
it
and
it
and
it
broke
like
our
tests
actually
failed,
and
I'm
like
I
don't
know
why
that
is,
but
it
seems
to
be
doing
like
it
seemed
to
be
working.
So
I
thought
well,
let's
not
mess
with
that
for
now,
so
right
right
but
yeah.
So
I
guess
it's
the
question
like
you
know,
do
we
want
to?
A
I
don't
quite
understand
the
question.
Well,
it's
like
like
do.
We
think
that
it
would
be
better
to
change
it
change
the
code
so
that
it
does
force
cause.
You
know
calling
the
override
or
the
the
node
api
version,
but
then
have
to
add
in
this
additional
checking
to
basically
undo
it
or
is
it
or
documenting
it
like
you
said
the
right,
the
best
thing
to
do
for
now.
E
Well
there,
there
is
another
reason
why
you'd
you'd
want
to
to
not
do
the
finalize
all
from
from
from
from
the
destructor,
but
rather
from
before
the
destructor,
and
that's
that
one
of
the
overrides
that
disappears,
because
of
because
we're
doing
this
in
the
destructor
is
whether
you
can
call
into
js
or
not
and
because
the
the
subclass
calls
like
the
node
environment
and
and
asks
whether
it's
okay
to
call
into
js
or
not.
Whereas
does
the
the
superclass
just
always
says?
E
But
you
know
that
that's
that's
not
a
problem
that
that
you
need
to
address
here
right
and
there
is
another
solution
which
is
to
which
is
to
store
the
answer
to
the
question
as
to
whether
you
know
calls
can
be
made
into
js
in
in
the
super
class
in
a
boolean
right
and
the
boolean
gets
updated
every
time.
Every
time
node
api
gets
control
right.
E
So
so,
when
control
passes
into
node
api,
that
variable
gets
updated,
and
so
so,
even
even
if
we
call,
even
if
you
call
finalize
all
from
the
super
class,
because
the
subclass
is
already
gone,
the
last
answer
that
the
subclass
received
will
be
stored
in
the
superclass
right.
E
A
E
A
Okay,
so
so
the
second
question
was:
is
you
know?
Okay?
So
if
we
said
okay,
we're
not
gonna,
I
can
back
out
the
changes
that
actually
check
for
tear
down
and
and
because
it
seems
like
we're
not
going
to
be
hitting
these
set
immediates
in
the
first
place,
yeah
and
that
reduces
the
code
change.
The
the
other
thing
that
seems
to
be
is
like
I'd.
Actually,
there
was
two
set
of
medias.
There
was
one
for
the
buffer
finalizers
and
one
for
the
call
finalizer.
A
A
E
Question
so
wait
a
second,
so
you
said
there
were
two
finalizers.
These
are
all
like
subclasses
of
finalizer.
These.
A
A
E
Okay,
right
right,
right,
wow,
that's
wow!
So
this
was
like
a
double
set
immediate
because
you
know
call
like
during
normal
operations
right.
The
call
call
finalizer
is
being
called
during
a
gc
for
from
from
the
environment
right,
because
when
a
gc
happens,
call
finalizer
is
basically
the
entry
point
for
actually
executing
the
finalizer,
because
it
sets.
A
A
C
G
Well,
because
it
already
gets
directed
to
the
actual
buffers
analyzer
of
the
data
object
right.
G
E
No,
no,
no,
no
you're
right,
you're
right!
There
isn't
yeah!
Okay
yeah,
because
because
this
finalized
buffer
callback
is
is,
is
a
function
pointer
past
two
node
yeah,
true,
okay!
So
then,
so
then
that
doesn't
use
any
of
our
methodology.
E
G
G
Something
that
is
different
differently
buffer
from
the
normal
object.
The
buffer
finalizer
is
triggered
from
the
back
store,
but
the
backstory
is
a
shared
pointer,
a
shared
pointer
in
c
plus
plus,
and
I
I
haven't
dig
into
the
v8
that
how
the
sharepoint
of
the
backstory
is
being
like,
say
decremented
on
the
reference.
But
the
there
is
a
chance
that
sharepoint
may
be
released.
G
Other
than
in
the
gc
phase,
so
that's
why
we
have
a
cell
immediate
in
the
sienna
and-
and
I
have
a
change
on
the
bio
finance
previously
to
alleviate
the
issue
around
the
backstory
referencing.
So
there
is
a
fundamental
difference
from
of
the
buffer
finalization
from
the
normal
object.
A
A
E
A
A
E
Okay,
yeah,
it's
and.
A
E
A
C
Mesa
just
right
in
here
romans
here,
because
calling
this
referendum
seems
quite
unsafe
because
imagine
if
this
lambda
is
never
executed,
so
andreiff
is
never
called
so
it
means
we
have
rf
count
cost
leak
right.
E
C
But
it's
still
like
in
c
plus.
It
will
be
always
better
to
have
this,
what
you
call
a
car
exception,
safe
code,
and
you
have
using
some
kind
of
a
smart
variable
like
imagine.
If
we
have
something
like
a
environment
wrapper
which
in
constructor
called
graph
and
destructive
calls
and
ref,
so
think,
then
we
capture
this
variable
in
lambda.
So
no
matter
how
lambda
is
destroyed,
we
will
call
under
automatically
well.
E
Yeah
yeah
yeah,
I
mean,
I
guess
I
guess
what
you
could
do.
I
suppose
I
don't
know
if,
if
that'll
work
is,
is
to
just
have
a
variable
that
that
is
well.
That
is
passed
by
copy,
it's
captured
by
copy
into
the
lambda
and
then
and
then
you
know
the
constructor
for
that
variable
refs
and
the
destructor
for
that
variable
unwraps.
That
would
be
the
other
way
to
do
it
and
then,
and
then
the
reffing
and
the
unwrapping
would
be
contained
in
the
definition
of
that
variable.
E
So,
like
I
don't
know
like
environment
scope
or
I
don't
know
what
you
would,
what
you
would
call
that,
but
it
would
be.
It
would
be
basically
that
and
then
and
then,
because
this
is
passed
by
copy
you'd
have
to
have
like
move
semantics
for
it
right
and
then
and
that's
it.
So
basically
move
semantics
and
constructor
says
ref
the
instructor
says
unref
and
then
you
can
pass
it.
You
can
just
pass
it
in
into
the
lambda,
and
that
would
be
it.
E
A
I
think
we
should
you
know
that
one
might
be
a
good
we
should
like.
If
there
was,
we
should
make
a
class
and
use
it
across
a
bunch
of
places.
So
not
necessarily
do
that
in
this
change,
but
it
would
be
a
good
follow-on
change
because,
like
there
are
a
few
other
places
where
ref
and
on
ref
called
right.
E
Well,
yes,
yes,
but
the
problem
is,
if
you,
if
you
do,
want
to
render
it
as
as
as
such
a
kind
of
class,
then
well
yeah,
okay,
yeah,
wherever
it's
bookended
yeah
like
that
with
ref
and
unref
like
if
it's
rev
unref,
then
yeah.
We
might
want
to
do
that
like
just
make
it
something
that
that
unwraps,
when
it
passes
out
of
scope.
E
So
actually,
another
thing
I
I
just
thought
of
is
is
instead
of
that
solution
with
the
with
the
smooth
semantics
and
all
that
it
might
just
be
simpler
to
just
construct
one
of
those
objects
as
like
a
capture
parameter
right.
I
think
you
can
do
that
right
or
does
it
have
to
refer
to
something?
That's
already
in
the
scope.
I
I
don't
know
enough
about
lambdas
like
can
you
like,
put
like
like
in
the
square
brackets?
Can
you
put
just
like
you
know?
E
D
C
Not
done
executed,
but
then
we've
been
called
something
yeah.
E
E
E
Well,
I
mean
it's
raft,
so
so
that's
okay,
but
still
yeah.
So
that's
the
only
thing
you
need
from
the
outside
is
end.
That's
what
yeah
I
mean!
That's
what's
called
in
here
right,
yeah,
that's
well!
Well!
Actually!
No,
that's!
That's
not
the
same
because
because
it
receives
a
parameter
of
an
end
right
so
so
the
end
in
the
innermost
is
actually
passed.
E
Function
right
it
it,
it
happens
to
be
the
same
value,
but
but
it
it
that
way
you
don't
need
the
outside.
E
Yeah,
okay,
so
the
innermost
uses
this
this
data
and
hint,
which
is
pretty
static,
that
that
should
stay
the
same
because
data
and
hint
can
only
change
if
you've
ever
called
into
user
code,
so
that's
safe,
so
so
yeah.
The
only
thing
is
this
end
yeah.
If
if
we
could
have
a
class
that
that
sort
of
does
the
reffing
and
unrefined
then
yeah,
you
could
just
construct
the
class
as
one
of
the
capture
parameters
to
set
immediate
and
that's
it,
and
then
it
would
be
cleaner
than
this
ref
unref.
C
Be
future
proof,
like
I
mentioned,
that
somebody
else
in
the
future
had
some
code
which
escapes
with
scope
somehow
like
and
have
this
always
done
automatically
in
destructor
like
using
this
effective
c
plus,
plus
goodness
yeah
future
protect
ourselves,
and
this
smart
pointer
for
environment
can
be
used
in
many
other
scenarios,
like
you
said,
but
probably
good
follow-up
change.
Like
I
said,
maybe
we
can
do
it
across
across
the
board
and
kind
of
instead
of
you
using
this
snake
naked
ref
and
ref,
we
can
use
the
smart
pointer
instead.
E
Right
yeah,
all
right,
I
I
think
for
now
you
know
we
can.
We
can
just
do
that.
Do
that
sort
of
tracker
class,
I
don't
know
what
you
want
to
call
it
and
and
and
actually
yeah.
If,
if
you,
if
you
find
other
places
like
where
we
ref
and
unref,
then
then
it
definitely
makes
sense
to
just
use
one
of
those
scopes.
There.
A
A
A
Well,
that's
what
I'm
adding
is
like
this
is:
what
solved
the
problem,
reffing
and
unrefining
the
environment.
Without
that,
does
it
make
sense
that
you
know
like
obviously,
until
you
called
this
like
until
the
finalizer
was
called,
something
was
keeping
the
environment
alive
right,
yeah
right
after
the
call
finalizers
executed?
Does
it
make
sense
that
whatever
used
to
be
keeping
it
alive,
is
now
gone.
A
I'm
I'm
kind
of
thing
thinking
the
answer
like
well
yeah.
My
thought
process
was
like
okay,
it's
from
this
perspective.
We
think
we've
actually
already
run
the
finalizer.
We
we
just
haven't
actually
done
it
right.
So
you
know
yeah
finalizers
finalize.
If
we're
done,
we've
run
the
finalizer,
and
so
it's
now,
but
because
we've
done
set
immediate.
That
could
actually
happen
after
whatever
cleanup
of
the
finalizer
occurs.
E
Yes,
yes,
yes,
yes,
okay,
okay!
I
think
I
think
I
understand
so
so
like
in
the
set
to
me
like
in
the
set
immediate
case.
We
need
the
nvon,
the
ref
on
ref
right,
yes,
but
in
in
the
in
the
other
case,
we
don't
because
obviously
the
environment
is
still
alive.
Otherwise
we
wouldn't
have
gotten
called
and
the
environment
will
remain
alive
when
we're
done,
because
we
don't-
I
mean
if
it
doesn't,
then
that's
a
huge
book,
because
we
we
so
somewhere,
we
unref
where
we
didn't
first
ref.
A
E
A
A
E
E
Yeah,
that's
yeah,
that's
yeah!
That
seems
like
a
tough
one
right,
because
you
know
a
lot
of
things
have
to
line
up
for
this.
To
actually
happen,
I
mean,
as
evidenced
by
the
fact
that
it
is
so
difficult
to
reproduce
in
the
first
place,
yep
right.
So
I
I
don't.
A
E
A
E
A
A
So
so
maybe
you
can
comment
on
the
issue
like
anna's
kind
of
like
hey.
I
agree,
you
know,
change
is
probably
okay,
but
it
needs
to
test
right.
So
if
you
can
comment
you
know,
I
thought
I
spent
two
or
three
hours
trying
to
to
come
up
with
something,
and
you
know
I
I'm
out
of
ideas
right,
but
so
it'd
be
good
to
have
other
people
who
said
yeah.
I
think
about
thought
about
it
too,
and
I
know
I
know
legenda
cass.
You
were
thinking
about
some
ideas.
So
do
you
have
some
thoughts.
G
I
was
thinking
that
we
are
hardly
able
to
testing
this
this
behavior
using
merely
the
northern
another
api,
see
in
the
face
right
so
well,
I'm
reproducing
the
previous
issue
on
the
38
000,
the
pure
I'm
already.
I
was
trying
to
using
the
non-internal
api
and
direct
directly
according
to
the
v8
to
trigger
the
behavior
that
that
we
are
expecting.
A
We
can
like,
is
it
possible
to
control
the
gc
behavior
more
like
we
can
call
a
g
ask.
G
Let's
say
in
m
m
teardown
callbacks
like
what
we
do
in
the
not
not
api
internal
implementation.
Like
say
we
created
a,
we
created
a
terran
callback
while
we
creating
the
node
api
environment.
It's
on
the.
A
So
but
yeah
if
people
can
kind
of
chime
in
on
the
issue
in
terms
of
the
testing,
that
would
be
great,
we'll
figure
out
whether
we
want
to
block
this
on
that
or
not
and
and
like
you
know,
legendary
cast.
If
you
have
some
good
ideas
on
how
we
might,
that
would
be
great,
but
I'm
kind
of
stuck.
G
A
That
would
be
great,
yeah.
Okay,
we're
at
time.
Is
there
anything
else
that
people
think
we
really
need
to
cover
before
we
we
close
out.
C
Michael
that
pretty
much
topic
we
discussed
last
time
about
standalone
in
api
in
terms
of
using
in
javascript
engine
and
stuff
we
discussed
in
our
team.
We
have
a
couple
of
kind
of
asks
to
pretty
much.
We
would
like
to
contribute,
but
we
want
to
understand
what
exactly
needs
to
be
done.
There
are
kind
of
different
line
of
thoughts,
one
of
them.
C
It
would
be
nice
to
have
pretty
much
to
have
maybe
like
node.js
ci
loop,
to
take
care
about
some
kind
of
to
ensure
that
all
these
different
node
apis
can
be
compiled
and
used
as
a
standalone
entity.
C
So
one
approach
we
use,
I
talked
to
one
of
the
engineers
from
our
team
in
react
native
windows
that
then
we
run
ci
we're
creating
a
kind
of
small
npm
package
just
to
publish
a
subset
of
our
code,
and
then
we
have
some
process
how
this
subset
of
code
can
be
tested
in
different
environment.
C
It's
it's
one
line
of
thoughts
if
it
should
be
kind
of
every
time,
people
say
changing
anything
inside
of
node.js.
We
run
some
process
and
this
which
will
say
like.
Oh,
you
introduced
some
extra
dependency,
which
causes
a
failure
in
in
consuming
with
these
apis.
A
Right,
certainly,
we
can
look
at
like
another
test
job
as
part
of
the
node
ci,
but
we'd
have
to
figure
out
kind
of
what
that
looks
like.
C
Right:
it's
it's
one
line
of
thoughts
and
another
line
for
like
pretty
much
to
what
we
discussed
before
like
if
pretty
much
definitely
kind
of
made.
It
make
sense
to
have
the
whole
separate
test
suite,
which
can
be
run
probably
independently
from
node.js
code,
because
technically
today,
if
you
look
on
l
api
unit
as
the
mostly
driven
from
javascript,
it's
a
plus
and
minus
right
yeah,
because
certain
things
from
native
code
can
be
really
tested.
End-To-End.
C
Right,
that's
what
it's!
What
we
see
today
there
yeah
anyway
like
so
we
what
we
decided
now
team
like
we
would
like
to
contribute.
We
would
like
to
participate
because
we
have
a
lot
of
interest
in
using
this
an
api
outside
of
node.js,
namely
for
v8
dll,
and
for
for
probably
like
a
react
native
windows.
Success,
extensibility
story
as
well,
because
one
of
the
best
advantages
of
node
api
is
actually
it's
abi,
safe.
It's
so
instead.
C
A
C
I
think
the
main
thing
we
want
to
do
at
this
point
just
understand
what
would
be
our
steps
like
what
we
like
you
said
before,
if
we
want
to
establish
like
separate,
reaper
and
stuff
like
what?
What
exactly
we?
Probably
we
don't
have
that
much
knowledge
about
kind
of
infrastructure
for
node.js
today
and
pretty
much
set
up
your
use
and,
thankfully,
maybe
helping
us
to
make
first
steps
to
kind
of
kind
of
help
with
direction.
A
C
A
Would
we
extract
the
tests?
How
would
that
work,
and
so
yeah
brainstorm
on
that,
I
think,
would
make
sense.
I
can.
I
can
take
the
action
to
set
that
up
I'll
send
it
to.
I
have.
I
think
I
have
your
email
right.
C
Yes,
so
think
me
tudor
and
holly
from
our
team.
It
could
be
nice
to
spend
this
meeting
and
whoever
else
yeah.