►
From YouTube: 2022-03-25-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
A
A
A
C
Oh,
it
looks
like
none
used
to
have
actually.
D
C
It
noticed,
but
yeah
one
has
some
special
markers
which,
like
look
like
functions
honestly,
I
personally
hate
them
for
one
simple
reason,
because
most
of
these
marker-like
functions
are
not
toolable
like
many
editors
and
stuff
that
don't
recognize
them
as
being
functions.
A
C
A
Yeah,
the
one
thing
we
have
done,
though,
is
to
try
and
help
in
terms
of
the
migration
right,
like
I
don't
think
we
have
like
in
terms
of
making
it
easy.
If
this
is
like
a
common
pattern
that
was
used,
we
tried
you
know
we
provided
some
functions
that
we
wouldn't
necessarily
had
have
added,
but
to
make
it
easier
to
transition.
We
did.
We
did
choose
to
do
that
in
some
cases.
A
A
And
so
this
one
ought
to
close
out
the
that
particular
issue
yeah.
I
think
I
think
we
can
take
this
off
this
list
right.
D
A
C
C
A
D
A
D
D
D
Okay
and
people
are
selling
the
thread.
The
12
line
is
going
to
be
drop,
the
maintenance
status.
So
I'm
not
sure
if
it's
valuable
for
us
to
support
the
back
part
of
this
right
fix.
Since
we
have
a
series
of
fixed
on
the
floating
line
to
suggest
the
finalizer
issue.
So
I
guess
we.
If
we
do
backward,
we
have
a
several
pro
requests
that
need
needed
to
be
backpacked,
but
so.
D
A
Right,
I
guess
the
so
if
you,
if
you
could
comment
at
least
like
comment
in
there,
that
it's
gonna
take
actually
not
just
that
one
pr,
but
these
set
of
pr's.
A
D
A
A
You
know
if
we
want
to
advocate
for
it.
That's
that's.
You
know
what
we
should
probably
decide
here.
A
So
maybe,
if
you
can,
if
you
can
cut
like
because
it
comes
down
to
like
how
risky
is
it
too
right
if
it's
like
one
thing
that
just
applies
cleanly
great,
if
it's
things
that
actually
require
back
ports,
that
makes
it
more
complicated
right.
A
So
that
is
correct.
What
I've
just
written
yeah
sounds
good
to
me,
okay,
good,
so
yeah.
I
think
that's
a
good
way
to
we'll
see,
see
that
list,
and
then
I
think,
that's
probably
the
last
opportunity
I
can
see
it's
scheduled
in
it's
probably
the
sort
of
last
one
and
maybe
we'll
see
what
richard
thinks
in
terms
of
like
he
may
say.
A
Oh
no,
we're
not
you
know,
I
think
it
comes
down
to
like
it
seems
to
me
like
it
would
be
nice
to
include
that
if
it's
not
too
risky,
because
you
know
it's,
it
is
a
crash
that
somebody's
run
into
we
basically
like
maintenance
mode
in
my
opinion,
is
like
security
releases.
Are
the
things
that
we
we
sort
of
limited
to
or
fixes
that
are
important
enough
to
warrant
the
risk
that
they
introduce
yeah.
A
A
Okay,
anything
more
on
that
one.
We
should
discuss.
D
B
C
We
had
this
issue
that
reported
that.
C
Some
registration
and
msvc
didn't
work
like
it
was
breaking
some
dynamic
initializers
for
static
variables,.
A
C
Okay
and
thank
you,
it
will
be
possible
to
do
it
for
the
all
c,
plus
plus,
but
I
only
for
kind
of
narrow
down
to
msvc,
so
think
all
other
compilers
still
do
the
old
route.
We
only
changed
it
for
msvc,
but
honestly
it
was
an
interesting
situation.
I
was
able
to
reproduce
issue
following
the
bug
description
without
problem,
but
then
I
tried
to
create
a
unit
test
to
test
this
stuff,
so
it
seemed
like
you
know
this
red
green
stuff
yeah.
C
Even
without
this
fix,
okay
wow,
it
was
interesting,
but
you
ended
up
with
one
here.
That's
so
I
still
created
tests
just
kind
of
for
the
future.
So
if
okay,
so
I
have
created
one
okay
inside
of
a
node
api
unit
test,
just
to
make
sure
that
always
dynamic
initialization
works
inside
of
c
plus
plus
and
you
can
see,
module
itself
has
dot
cc
extension,
so
it
means
must
be
done
from
c,
plus
plus.
A
Okay,
I
think
this
one.
We
just
talked
about
right,
yeah
right
this
one.
I
know
you've
we've
mentioned
a
few
times.
I
still
I
personally
haven't
had
enough
time.
It's
big
enough
that
I
haven't
had
enough
time
to
go
through
and
look
at
it,
but
it
looks
like
in
the
end
you
you
it's
from
a
very
quick
look.
I
had
it
sounded
like
in
the
end.
You
did
something
slightly
different
than
what
you
were
talking
about
to
start
with
right.
So
initially.
C
I
was
talking
about
some
special
finalizer
queue
and
it
was
stuck,
but
lately
I
realized
that
the
issue
was
not
about
the
cues.
The
issue
was
that
we
don't
do
correct
processing
from
garbage
color
second
pass
as
we
used
to
be
before,
because
what
I
found
that
is
history,
that
at
some
point
we
used
to
do
it.
C
But
then
it
was
a
bug
like
it
seems
that
our
finalizer
was
popping
up
with
random
exceptions
in
the
middle
of
other
calls
and
gabriel
had
a
fix
moving
this
stuff
inside
of
set
immediate.
So
now
all
finalizes
the
processors
set
immediate.
C
So
this
change
is
about
to
returning
back
to
second
pass,
but
instead
of
popping
up
exceptions
like
it
used
to
be
before
gabriel
gabriel's
fix
we're
now,
causing
this
unhandler
exception,
as
you
would
do
from
inside
of
set
immediate
and
also
on
top
of
it.
I'm
adding
this
new,
a
new
public
method
which
allows
you,
inside
of
your
module,
to
subscribe
to
all
these
different
finalizer
errors.
C
So
thank
you
not
only
we
by
default.
We
can
call
this
some
code
exception,
but
we
also
we
let
module
developers
say:
okay,
you
can
do
it
per
module.
Only
your
for
analyzer
issues.
You
can
handle
yourself
if
you
like,
so
rather
than
popping
up
to
the
global
level
right.
C
A
A
C
So
think
I
looked:
how
set
immediate
produces
this,
this
kind
of
unhandled
exception?
I
moved
in
pretty
much
doing
exactly
the
same,
but
on
top
of
it,
they're
also
offering
this
handling
this
exception
and
we
see
biggest
biggest
code.
What
you,
if
you
scroll
down
a
little
bit,
it's
it's
about.
No,
no
sorry
the
up,
yeah
this
this
one
biggest
thing
like
it's
about
handling
this
exception.
C
A
Oh,
is
it
maybe
I've
been
misunderstood,
like
that's
like
sort
of
and
again
I
I
may
be
getting
this
wrong,
but
like
I,
I
thought
that
there
were
like
cases
where
the
finalization
can
happen
but
like
in
that
second
pass.
You
can't
necessarily
run
just
any
javascript,
so
the
set
immediate
was
introduced
so
that
you
are
in
a
state
like
when
you're
running
this
when
you're
running
in
a
set
of
media.
You
are
definitely
in
a
state
where
you
can
run
javascript.
A
A
C
Right,
I
think
it's
fix
it.
I
mean
last
change
was
done,
like
probably
a
little
bit
like
last
last
week,
probably
okay,
so.
C
D
C
Yeah,
oh
yeah
yeah,
so
it
is
actually
going
back.
Remember
I
had
this
proposal
for
features
like
say
we
want
to
change
some
behavior,
but
we're
concerned
about
all
these
different
api
safety
and
kind
of
stability
of
our
apis.
So
I
I
kind
of
chose
this
very
simple
issue.
C
We
had
today
that
our
an
api
get
all
property
names
has
a
bug
that
it
does
not
process
it's
a
key
configurable
correctly,
and
I'm
introducing
these
features
here
like
just
to
show
how
they
can
be
used
to
address
this
specific
issue
because
suffix
itself,
a
trivial
is
one
liner.
So
mostly
this
this
this
we
are
concerned
about
like
introducing
features
like.
C
We
can
have
this
node
api
features
default
like
so
imagine,
but
by
default
default
will
be
like
zero
right,
but
each
version
may
have
its
own
setup
feature
growing,
like
we
can
have
here
if
they
have
all
these
different
versions.
So
what
happened
with
this
default?
One?
If
you
click
on
node
underscore
api.h.
C
This
one
right
right,
you
see
what
I'm
doing,
I'm
changing
this,
our
n
api
module
definition,
so
we
used
to
have
four
research
pointers.
Now
what
I'm
doing
I'm
taking
one
of
these
pointers
and
saying
it
will
be
used
for
features
right?
Okay,
it's
now
with
three
zero
reserve
points
and
we're
using
one
for
all
these
different
features
and
with
default
features.
If
you
scroll
a
little
bit
down,
you
see,
I'm
defining
this
macro
in
api
default
features.
So
if
this
marker
is
not
defined,
then
we're
setting
it
to
this.
C
Whatever
default
enumeration
we
have
so
it
gives
us
interesting.
Things
like
people
can
always
write.
Default
features
simply
define
this
macro
before
this
include
happened.
C
C
We
are
using
this
default
marker
to
initialize
our
napi
module
during
module
registration,
and
then
I'm
changing
codes
that
actually
propagating
these
features
all
the
way
to
an
api
environment.
So
now,
like
environment,
has
new
method.
Internal
method
has
feature
so.
Thankfully
any
kind
of
code
inside
can
can
check
it
right.
A
C
Right
like
yeah,
then
we
can
get
features.
It
gives
us
effectively
all
these
different
bit
flex,
which
whatever
is
set
right
and
people
actually
can
maybe
inside
of
the
code.
Imagine
that
they
want
to
have
this
feature
to
be
not
for
the
whole
module,
but
maybe
just
for
some
part
of
it
like
say
they
fix
it.
They
perfectly
find
this
feature
to
be
on
everywhere,
but
maybe
in
some
specific
place
they
want
to
turn
it
off,
because
maybe
it's
had
some
third-party
dependencies.
What
not.
D
A
D
This
this
specific
problem:
it's
not
working
ready
for
the
documented
behavior.
Like
say
people
want
to
get
a
list
of
configurable
keys,
but
they
are
getting
a
list
of
readable
keys.
So
if
they
are
getting
the
configurable,
configurable
configurable
keys
to
read
configurant,
then
their
code
might
not
be
already
working
since
the
key
might
be
non-configurable.
A
Right
so
yeah,
that
is
too
good.
I
mean
they
can
be
two
separate
things.
So
you
see,
I
guess
what
you're
thinking
is
like
if,
in
the
case
of
the
api,
we're
confident
that,
like
there's
nobody
who
can
be
using
it
successfully,
then
I
could
see
fixing
it,
but
if
we
think,
even
if
they're
using
it
incorrectly
but
they've
got
code
that
works,
we
don't
want
to
break
that
code.
A
C
D
C
E
D
A
B
A
D
A
I
I
think,
yeah,
I
think
that
seems
reasonable.
Like
basically
we'll
make
we'll
say
this
is
not
we
don't
believe,
there's
any
code
out
there
that
will
be
affected
by
this
effect.
C
So
what
should
be
recommendation
here
like
I
can
like
I
can
remove
these
features
and
introduce
features
as
different
pr,
okay,
but
make
this
this
specific
fix
to
be
without
any
kind
of
features.
Yeah.
A
Yeah,
I
think
that's
yeah,
okay,
yeah
and
just
we
need
to
be
clear
like
in
our
rationale
is
like
we
believe
this
is
not
gonna
affect
any
existing
users,
so
we're
willing
to
to
do
it,
and
you
know
yeah
just
to
make
sure
that
that's
part
of
like
the
pr
itself.
That
makes
that
case.
C
I
guess
my
question
is
like:
should
we
introduce
this
features
pr
without
actually
having
any
single
feature
to
play
with.
A
C
Right,
that's
what
my
thing
was
thinking,
let's
initially
introduce
his
features
as
my
kind
of
previous
pr,
which
we
just
discussed
about
handling
this
right.
Kindly
finalizer
issues
like
should
be
inside
of
set
immediate
and
stuff.
Maybe
it's
probably
good
good
playground
there,
because
it's
quite
significant
change
where
we
handle
them
as
a
part
of
gc
second
pass
or
we
handle
them
inside
of
set
immediate.
D
D
D
C
A
A
C
A
Yeah,
no
thank
you
just
looking
in
terms
of
we
think
we
looked
at
that
one
there's
a
couple
of
these.
I
think
we
already
talked
about.
E
No
for
now,
but
I
want
to
propose
to
prepare
the
new
raries
we
I
I
think
that
we
have
enough
things
to
land
so
yeah
I
as
always,
I
can
start
to
as
usual,
to
create
the
issue
for
the
release
and
move
on
yeah.
That
sounds.
C
E
Yeah
we
will
land
before
the
end
of
the
12th.
So
it's
it's
it's
good
for
me.
B
A
I
think
also
we
want
to
do
a
soon
after
the
node
release.
The
note
18
to
drop
support
for
I
guess
soon
after
12
goes
out
of
service.
We
want
to
have
a
release
that
drops
that
as
well,
but
I
don't
think
we
need
to
wait
like
it
might
be
good
to
get
a
release
that
has
the
new
stuff
in
and
then
drop
it
in
a
release
that
has
less
stuff
soon.
After
that.
A
A
How
many
contexts
I
don't
know
if
anybody,
so
we
need
to
take
a
look,
but
there
any
other
ones
in
particular
that
we
think
we
should
talk
about
before
we
close
out
for
today.
C
I
just
kind
of
want
to
kind
of
ask
your
opinion
about
this
another
proposal
I
had
about
this
shared
values,
so
ideas
that
what
if
we
introduce,
in
addition
to
references,
we
introduce
another
kind
of
primitive
which
allows
you
to
have
ref
counted
values
of
any
type
so
idea
that
we
can
have
strings,
we
can
have
objects,
we
can
have
symbols,
we
can
have
numbers
but
not
like
pretty
much
any
any
napi
value
can
become
an
api
shared
value
with
some
reference
counter.
C
That's
what
because
then
I
was
implementing
this
gsi,
it's
actually,
whatever
hermes
javascript
engine
has
a
special
interface
which
we
use
inside
the
freak
native.
Then
I
want
to
kind
of
implement
the
wrapper
of
gsi
around
node
api,
because
jsi
is
not
abi.
S8
and
node
api
is
api
safe.
So
I
have
created
this
wrapper.
It's
one
feature
which
I
was
missing.
I
couldn't
just
simply
have
hold
to
any
any
type
of
value
for
for
a
long
time
right,
so
I
need.
D
C
To
have
this
facility,
so
I
had,
I
had
to
add
it
as
extension
myself,
but
I
just
curious
what
would
be
opinion
of
the
team
if
we
have
as
a
new
facility
inside
of
our
node
api.
A
C
Yeah
so
think
in
say
in
gsi
they
want
to
keep
around
any
value
or
even
if
you
look
inside
of
the
eight
api,
when
we.
D
C
Having
this
hotel
like
sorry
to
have
different
global
value
of
whatever
the
other.
C
Use
so
global
value
can
be
any
value
of
any
type
right,
so,
thankfully,
it's
something
which
you
can
effectively
keep
outside
of
our
call
stack
right
in
in
v8.
These
values
do
not
have
counted
they're
more
like
unique
ptrs,
so
they
hold
into
it.
C
But
in
many
kind
of
other
cases
people
want
to
use,
say,
ref
counts
one
and
the
main
reason
I
understand
the
node
api
reference
today
only
relate
to
objects,
because
it
can
suddenly
become
big
pointer,
which
I
also
believe
very
complicated
pattern,
which
is
very
difficult
to
understand
and
in
the
fact
that
the
ref
count
goes
to
zero
instead
of
object
being
deleted.
B
C
It's
a
kind
of
very
kind
of
unexpected
behavior.
If
you,
if
you
know
like
in
most
ref
counted
world
like
usually,
then
the
ref
count
goes
to.
Zero
object
is
being
deleted
right.
C
So
yeah
sure
that
means
like
it's
pretty
much
termed
what
used
by
a
standard
c,
plus
plus
for
like
shared
ptr,
because
shared
ptr
means
that
this
value
has
a
shared
ownership,
which
is
usually
kind
of
based
on
ref
counting.
C
But
I
also
think
what
we
can
do.
We
can
have
this
ref
counter
itself
to
be
implemented
is
atomic
variable,
so
at
least
we
should
be
able
to
allow
people
to
release
reference
to
stuff
from
different
thread
if
we
want
to
so
still
like
a
final
destruction
of
object.
Insight
will
happen
on
javascript
thread,
but
at
least
we
would
allow
people
to
hold
on
to
this
shared
value,
maybe
from
different
threads.
If
we
need
to.
C
So
the
way
it's
implemented
in
hermes,
like
as
they
do
it's
very
interesting
way
like
they
don't
have
some
predefined
global
values,
as
we
have
in
v8.
Instead,
we
can
subscribe
to
garbage
collector
passes
like
so,
thankfully
the
never
garbage
collector
goes.
You
must
provide
all
the
different
set
of
rules.
What
you
have
right-
and
in
this
case
you
can
hold
on
to
all
these
different
shared
values
and
then
no
matter
from
which
threat
this
ref
count
goes
to
zero.
C
C
I
don't
know
if
v8
has
such
mechanisms
probably
does
probably
it's
how
internally
they
organizing
is
passing
through
those
different
global
values.
Today,.
C
C
D
C
To
see
it
believe
it
yeah.
I
wrote
this
proposal,
but
only
discussion,
but
I.
A
D
C
Because
you
remember,
in
the
past,
we
had
similar
issues
that,
with
exception
called
like
right,
we
had
to
go
through
some
additional
hoops
to
fix
it,
but
I
think
root
of
the
issue
was
like
we
don't
have
such
facility
in
the
first
place.
Imagine
if
our
error
code
will
be
such
shared
value,
so
it
can
be
anything
right.
This
probably
won't
even
exist
in
the
first
place.
C
Okay,
all
right,
okay,
cool
I'll
do
pr
and
thank
you
sounds
good.