►
From YouTube: 2021-07-23-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
We
will
follow
our
standard
agenda,
which
is
to
look
at
the
things
which
are
tagged
for
milestone
11..
A
B
Yeah,
I
don't
know-
I
just
saw
this
one
from
a
from
the
stale
bot,
and
I
think
this
was
a
valid
one
to
work
on,
and
I
think
the
was
had
mentioned
that
he
would
take
a
look
at
at
this
if
you
scroll
down
for
a
specific
use
case
for
related
to
exceptions
right,
but
I
think
like.
If
it
I
mean
I
might
be
able
to
take
this
over.
C
Yeah,
I
just
take
a
look
previously
on
this.
Then
we
may
just
have
very
much
more
functions
to
market
them
and
no
except,
but
I'm
not
sure
it's
worth
it.
So
I
just
didn't
make
a
next
step.
B
B
D
A
D
But
these
are,
these:
are
the
operators
right,
so
they
they
just
assign
fields
from
from
one
reference
to
another,
so
it
did.
There
should
be
no
reason.
Okay,
so.
A
A
C
A
D
D
Exception,
oh
I
see
so
okay,
but
I
mean
if
you,
if
you
swap,
if
you
swap
with
with
with
a
trivially,
constructed
reference
right
which
doesn't
point
at
anything,
then
that's
basically
moving
a
reference
right
because
you
know
you're
just
transferring
the
the
values
from
one
from
one
object
to
the
other
and
the
other
object
was
empty.
So
you
have
essentially
moved
things
without
destructing
anything
because
you
can
destruct
an
empty
one.
A
A
D
Well,
wait
a
second!
If
we
do
that,
then
our
equal
should
be
like
an
api,
get
reference
value
and
api
delete
reference
and
api,
create
reference
and
store
the
resulting
reference
in
the
new
object.
If
we
were
to
do
that
right,
that's
that,
that's
what
it
would
mean
to
destroy
one
reference
and
create
another
one
in
in
at
the
destination.
D
So
if,
if
we
just
transfer
the
values,
then
we're
not
really
creating
a
new
reference,
it's
the
same
reference
as
far
as
core
is
concerned
right,
it's
just
stored
in
another
rapper,
and
so
we're
not
doing
anything.
That
is
that
might
throw
an
exception,
because
there's
no
there's
no
chance
of
receiving
an
api,
something
other
than
okay
from
core,
because
we're
not
calling
core
at
all.
B
A
D
B
D
B
A
Okay,
we'll
see
see
if
you
know
what
the
comes
from
that
one.
The
next
one
was
9.65,
which
I
think
we
talked
a
little
bit
about
before.
But
let
me
just
go
down
to
the
bottom
right,
okay,
so
this
is
one
where
but
we're
waiting
for
some
feedback
from
the
originator,
yeah.
B
Have
this
work
on
symbols,
I
think
is
gonna
be
a
long
time
coming
before,
like
I
think,
maybe
we
should
do
something
else
then
or
like
maybe
just
accept
the
fact
that
you
can
throw
everything
except
symbols,
and
we
just
make
that
be
a
known
limitation
until
we
can
do
it.
You
know
like.
Is
there
some
way
that
we
can
move
forward
with
this
issue?
So
we
can
close.
It
is
what
I'm
trying
to
get
at.
A
C
C
Yeah
we
discussed
previously
that
I'm
just
saying
that
line
symbol
as
a
minimum
requirement,
and
the
gabriel
mentioned
that
if
we
confirm
we
can
confirm
that
if
other
engines
are
allowing
arbitrary
javascript
value
to
be
referenced,
then
we
just.
We
can
broaden
the
scope
to
arbitrate
the
arbitrary
javascript
values.
Then
the
problem
is
sold
without
any
change
in
the
dna.
A
D
A
F
E
D
Yeah
and
jerry
script
would
be
a
good
one
because
they
already
have
an
api
bindings
or
an
api
surface.
G
We
have
the
javascript
engine
used
by
facebook
for
extra
native.
I
don't
remember
the
name.
C
G
Microsoft,
the
the
guys
from
microsoft
that
we
had
on
the
meeting
sometimes
are
implementing
an.
G
Api
for
that
just
angie
because
they
use
a
react
native.
If
I
were
a
man.
B
One,
so
what
we
want
to
do
is
check,
so
I
have
this
list
of
five
here
and
see
how
many
we
can
look
and
leave
five
if
they
allow
references
on
primitive
values.
B
Okay
and
then,
if
that's
the
case,
then
we
can
do
the
implementation
in
node
core.
Otherwise
we
have
to
do
some
implementation
in
a
node
add-on.
Api.
D
D
Yeah,
I
I
think
I
think
legend
quest
is
right,
though
the
key
one
is
symbol
right,
because
symbol
cannot
be
represented,
natively,
yeah,
and-
and
so
so
you
know,
if
we,
if
we
can
at
least
extend
to
that
you
know.
If,
if
you
know
the
important
thing
would
be
to
check
if
all
the
engine
supports
symbol
first
and
then,
if
they
support
everything
else,
then
good,
and
then
we
can
extend
all
the
way
and
we
can
simply
remove
that
check
with
it.
D
B
Right,
okay,
so
I
can
try
to
look
at
some
of
these
and
put
my
comments
and
then
hopefully
we'll
have
something
for
next
week.
It
sounds
great.
A
Thanks,
that's
through
the
stale
issues,
tracking
issues
for
ported
modules-
I
don't
see
anything
new
there.
A
I
haven't
added
debug
testing
for
add-ons,
so
I
guess
we're
over
to
the
effort
to
add
tests
and
issues
opened
by
in
the
core
or
node
add-on
api.
Before
we
move
over
to
the
issues
jack,
any
questions
problems
things
you
need
help
for
from
people
to
move
forward.
H
Not
right
now,
but
I'm
working
on
adding
more
like
test
coverage
for
function,
references
and,
I
think,
like
I
guess,
like
more.
I
guess
I'm
trying
to
understand
like
the
async
context,
stuff
better
and
I'm
just
wondering
where
I
can
find
more
material
on
that
stuff.
I've
watched
like
youtube
videos
and
like
tried
out
api,
but
I
think
I
like
cutting
more
like
or
a
comprehensive
understanding
of
topic.
If
that's
okay,.
D
D
F
D
Timer
five
seconds
later,
you
wanna
you
stop
the
program
like
who
set
the
timer
from
where
right.
That's
not
part
of
the
call
stack
right,
but
if
you
have
this
async
context,
then
you
know
where
the
async
context
was
created
and
so
that
kind
of
creates
a
bridge
between
between
the
stacks
right
and
so
it's
it
becomes
trackable
and
you
can
get
like
a
more
meaningful
back,
trace
right
and
and
so
so
that's
why?
D
Because
you
know
the
the
the
native
add-ons
they
very
often
do
asynchronous
stuff
right,
and
so
so
you
want
to
be
able
to
sort
of
hop
between
these
asynchronous
steps
and
and
recreate
like
like
a
full-blown
stack
trace
from
the
moment
that
you
created
the
asynchronous
context
to
the
moment
where
you
stopped
the
app.
A
That
that
did
make
me
think
actually
going
back
and
reading
this,
the
async
context
section
that
we
added
recently
to
the
docs.
I
don't
know
if
you've
seen
that,
but
that's
actually
related
to
to
that.
I
believe-
and
so
you
know,
one
of
the
use
cases
is
the
one
that
gabriel
mentioned,
but
it's
also
for
you
know.
A
You
often
want
to
trace
a
transaction
as
it
flows
through
different
microservices,
and
to
do
that,
you
want
to
be
able
to
keep
context
when
you,
you
know
you
get
an
http
request
in
for
your
rest,
endpoint.
A
It
may
make
a
call
out
to
something
to
some
other
microservice
or
a
database,
and
you
want
to
maintain
the
context
through
that
through
the
code
that
gets
you
from
the
input
to
the
output
on
in
like
other
languages
like
java
or
whatever
you
can
stick
things
into
thread:
local
storage,
because
you
know
the
thread
has
basically
one
you
know:
sequence
of
execution,
whereas
in
in
node
you
have
multiple
things
running
on
that
same
thread,
and
so
you
can't
use
the
thread.
A
Local
storage,
async
context
is
kind
of
that
same
concept,
but
for
cases
where
you
can
have
multiple
things:
multiple
threads
of
execution,
all
running
on
the
same
thread
and
so
yeah.
That
context
gives
you
that
thing
where
you
know
like
in
this
case
the
api
lets
you
say,
get
me
the
store
which
is
what's
associated
to
your
async
context,
and
I
can
store
some
data
in
there.
D
H
Yeah,
okay,
so
it's
like
sort
of
like
a
pointer.
I
guess
like
sort
of
points
back
to
where
it's
like
that,
like
asynchronous
operations
coming
from
yes,
it'd.
A
You
know
every
time,
anytime,
you're
running
part
of
code
that
runs
in
that
async
asynchronous
flow.
So,
like
you
know,
you
get
the
http
request.
That
http
request
makes
a
callback
like
says:
okay
run
this
and
then
call
this
callback
when
the
thing's
ready
when
you're
running
the
code
in
that
callback,
you
want,
you
can
get
that
same
async
context,
and
you
can
use
that
as
a
key
into
like
a
hash
table
or
like
in
in
this
case
of
async
local
storage.
D
Okay,
so
another
way
to
think
about
it
is
like.
Let's
say:
let's
say
you,
you
get
an
http
request
and
in
in
and
as
part
of
building
the
response
you
make
a
database
query
which
is
itself
asynchronous
right.
So
then,
so
then
you
have
like
a
bunch
of
database
responses
coming
in
now.
The
question
is
which
response
came
for
which
query
right?
Oh
I
see
so
so
yeah.
So
the
context
tells
you,
okay,.
B
Particular
and
the
pull
request
for
the
cleanup
check
a
node
add-on
api
pr,
yep.
E
B
I
added
the
guards
to
running
the
tests
and
then
you
made
a
comment.
The
most
recent
comment
I
think,
on
whether
one
of
the
constructors
could
just
call
another
constructor.
A
B
A
Okay,
sorry
yep
then
never
mind.
Okay,
thanks.
A
I
C
A
G
It's
a
it's
forever.
C
C
Oh,
I
will
just
mention
that
we
have
not
recently
all
the
symbol
changes
so
just
merge
the
symbol
change
and
make
it
to
be
compatible
with
maybe
type
okay,.
A
This
this
I
discovered
when
I
was
working
on
the
other
one,
because
I
compiled
node
to
run
in
debug
mode
in
it
through
an
assertion.
Whenever
I
ran
the
function
reference
test
and
what
I
figured
out
was
happening
by
running
out
of
the
debugger.
Now
I
don't
fully
understand
why
or
how
but
like
what
basically
happens
is
that
when
we
come
back
from
this
callback,
the
rapper
that's
run
has
said:
hey,
there's
an
exception
handled
that
exception
and
like
thrown
a
an
exception.
So
we
have
a
pending
exception.
A
However,
result
was
still
being
returned
and
it
was
like
not
a
value
that
made
any
sense
because
down
in
the
code
down
in
the
actual
function
reference
code,
if
we
looked,
maybe
it
makes
sense.
I
can
go.
C
C
A
A
Reference,
so
we
we
have
a.
We
have
a
test
where
we
call
a
method
which
is
going
to
use
a
function,
reference
to
callback
to
a
javascript
thing
and
those
those
javascript
methods,
throw
exceptions,
and
the
test
makes
sure
that
we
actually
pass
the
exception
back
correctly.
A
A
A
D
D
D
D
Well,
an
api
underscore
and
and
comma
and
api
callback
info,
sorry
say
a
little
bit
more
slowly.
A
A
A
D
F
D
D
D
A
D
Yeah,
it's
weird,
it's
weird
that
it
doesn't.
It
doesn't
set.
F
D
A
c
it's
a
c.
Well,
actually,
I'm
not
sure
that
you
can't
put
no
except
there,
because
the
the
function
pointer
has
to
have
has
to
be
like
a
plain
c
function,
pointer
that
you
can
pass
into
core
and
it
make.
It
may
complain
that
once
once,
there's
no
except
and
the
expected
signature
doesn't
say
no
except
so
right.
This
may
actually
just
actually
not
compile.
If
you
put
no
except
here
right.
A
D
But
but
maybe
and
maybe
in
the
in
the
rap
callback,
because
that
one
absorbs
the
exception.
D
A
I'd
have
to
go
through,
I
don't
you
know,
I
don't
remember
looking
specifically
which
one
of
those
two
like
you
mean
in
here,
there's
two
of
them
right.
D
A
A
D
A
A
Like
I
actually
tried
like,
let's
just
make
this
equal
null
player
right,
wow
and
that
didn't
know
it.
Actually,
you
know,
because
I
do
before
before
this
call
in
the
module.
I
said
like
okay,
yeah,
let's
print
it
out,
because
that
was
my
first
pick
so
I'll
just
set
it
to
no
yeah
nope
yeah.
D
A
D
A
So
I
mean
the
change
I
came
up
with,
like
makes
sense
to
me
from
the
resp
the
aspect
of
like
you
can't
really
con.
You
know
you
can't
assume
you
got
a
result,
value
yeah,
but
it
may
be.
It
should
have
been
no
unless
there's
some
like
magic
like
there's
something
within
the
the
lambdas
or
the
sort
of
wrappers
that
we
have
that.
That
basically
mean
we.
We
lose
that
because
there
was
an
exception
at
one
point.
D
Yeah
the
thing
is
not
yeah
yeah.
I
think
I
think
your
change
is
correct
in
that
sense,
but
I'm
just
worried
that
it
might
it.
It
makes
the
the
process
of
invoking
a
callback
more
expensive.
You
know,
and
can
you
show
me
the
change
that
you
made
yep
to
so
I
can
see
just
how
much
or
try
to
estimate
how
much
more
expensive
it
is
now
yeah.
F
D
D
A
D
Yeah
yeah,
this
is
cool
yeah
yeah.
I
think
I
think
this
is.
This
is
sort
of
the
the
ultimate
way
to
catch
any
and
all
possible
incorrect
implementations
of
of
of
of
exception,
handling.
A
D
There
there
is,
there
is
one
thing
you
can
do.
I
mean
you're
testing
for
garbage
return,
value
right,
yeah,.
F
D
So
you
you
so
I
mean
you
write.
You
write
the
test
in
c,
so
there
is
no
funky
c,
plus
plus
exception
handling
right
and
you
you
intentionally,
because
I
mean
you
you
what
what
does
your?
What
does
your
callback
look
like?
It
looks
like
an
api,
throw
and
then
return
x,
right
right
and
then
and
then
you
an
api,
throw
and
then
you
return,
0x,
f,
f,
right
for.
A
A
A
Yeah,
so
I
want
to
go
into
function
test
function.
No,
is
there
a
function,
reference.
D
F
D
You
you
would
well
this
creates
functions,
so
I'm
not
sure
if
this
is
a
test.
D
Right
here
so
in
test
call
function
you
would
like
you
would
like
an
api
throw
and
then
you
would
return
0x
ffff
right
and
that.
A
D
A
Yeah
definitely
we'll
put
a
comment
like
this
is
the
test
this
particular
thing
right:
yeah,
yeah,
yeah,
okay,
yeah.
No,
that
sounds
good
I'll.
Try
that
out
and
then
that'll
be
that
I
think
that's
lasting.
A
D
You
know
there
there
is
one
thing
that
you
might
bump
into
like
what
value
shall
the
garbage
take
in
order
for
it
to
actually
trigger
v8?
You
know
like
0x
fff
sounds
like
it
might
be,
a
good
idea,
but
you
know,
like
you,
want
to
make
sure
that
it
that
it
like
kills
v8
and
and
with
it
node.js.
A
D
I
A
This
one,
I
think
we
talked
a
little
bit
about
last
time
this
one
we
already
talked
a
bit
about.
I
don't
see
anything
there.