►
From YouTube: 30 Sept 2022 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
All
right,
hello,
everybody
and
welcome
to
this
week's
node.j
node
API
meeting
for
30th
September
2022.
Before
we
get
started
with
our
usual
agenda,
does
anybody
have
any
announcements
that
they
would
like
to
make
nope
all
right?
So
then,
let's
get
started.
Let
me
share
my
screen
foreign
all
right.
So
here
we
have.
Our
milestones.
A
Jack
I
did
take
a
look
just
now
like
an
hour
ago.
At
this
tsfn
new
one,
yeah
and
I
see
you
made
some
comments.
Yeah
okay
plan
was
to
complete
coverage
of
type.
That's
safe,
I.
Think
I
may
have
missed
some
and
made
a
mistake.
Okay,
yeah
I
mean
I
might
have
also
made
a
mistake
in
trying
to
look
at
what's
been
missing,
but
I
think
these
three
are
the
ones
that
I
didn't
see.
A
Yeah
I
think
I
mislabeled,
some
of
them
because,
like
there's
quite
a
few
arguments
and
then
I
think
I'm
probably
missed
a
few
yeah
okay,
we
kind
of
got
in
trouble
by
making.
So
many
of
them
didn't
know
how
it's
done
is
done
because
they
were
started
in
the
regular
thread,
say
function
and
then,
in
order
to
keep
that
same
API,
it
was
also
decided
to
put
them
into
the
type
thread
safe
as
well.
Okay,
then,
I
see
you've
added
this
one
most
recently
yeah
yeah
about
this
one
yeah.
A
So
I
think
this
one
I
think
was
for
testing
that
when
we
cue
a
worker,
a
cure
tasks
going
through
the
Australian
and
we
cancel
it
right
away,
it's
gonna
throw
an
air,
and
this
one
is
essentially
for
testing
that
this
will
actually
indeed
happen,
because
this
one
doesn't
really
cover
that
edge
case,
because
the
gencast
think
so
we'll
make
it
too
complex
and
yeah
all
right,
I
guess
the
build
failed.
A
He
has
a
timeout
yeah
I,
actually
canceled
this
workbook
for
some
reason,
because
I
think
it
was
running
for
a
while
and
I
wasn't
sure
about
taking
opportunity,
resources
gotcha
there
is
a
I
mean
if
it
was
just
canceled
and
maybe
because
I
think
some
of
the
some
of
the
executors
do
take
a
while
for
their
tests.
Okay,
so
it
shouldn't
be
a
problem.
I
think
there
is.
There
is
an
automatic
timeout
of
30
minutes,
I.
Believe.
B
A
B
A
Them
again,
yes
right
and
I
guess
we
can
take
a
look
at
this
on
our
own
time
and
then
get
back
to
you
on
that
it
doesn't
look
like
too
much
we
can.
We
can
take
a
look
all
right
anything
else
for
tests.
I
think
that's
it.
Thank
you,
okay,
so
we
can
close
that
up.
Then
we
have
better
coverage
of
the
node,
API
and
YouTube
I.
Don't
think
anything
has
been
done
since
last
week.
A
Another
idea
that
I
had
was
showing
how
to
do
debugging
of
the
the
native
module.
So
attaching
you
know
like
a
debugger
inside
the
IDE
and
being
able
to
step
through
both
the
JavaScript
code,
as
well
as
the
native
C
plus
code.
A
A
B
I'm
just
curious
like
how
it
generally
works
on
the
other
platforms,
because
myself,
I
I,
do
debug
it
regularly,
but
I
kind
of
on
the
windows
I
pretty
much
just
sets
like
special
flags
for
the
process
for
note
process
exactly
it
stops
the
soon
starts.
So
at
this
point,
I'm
attaching
debugger
duel
with
breakpoints
and
stuff
and
continue
develop
process
for
Linux
just
curious.
A
Yeah
I
mean
for
for
mac
and
probably
Linux
as
well.
I
mean
it's
really
easy.
I
can
speak
from
a
Mac
perspective
and
I
use
Visual
Studio
code,
and
it's
basically
just
configuring
the
a
launch
configuration
inside
vs
code.
That
would
start
the
node
executable
with
the
proper
argument
of
your
script
and
it
runs
it
in
llgb
and
then
you're
able
to
add
your
break
points
and
everything
inside
inside
the
IDE.
A
But
so
that's
how
you
do
it
for
the
native
side
and
then
so
that
would
start
the
process
and
then,
if
you
like,
there
should
be
some
way
to
attach
because
I
did
a
quick
Google
but
I've
never
done
it
myself.
So
it
would
take
some
thinking
of
or
some
trial
and
error
of
how
to
run
a
second
debug
instance
for
the
JavaScript
side,
because
Visual
Studio
code
does
allow
using
multiple
debugger
instances.
A
A
B
Yeah,
it
would
be
kind
of
very
useful
to
have
this
type
video,
especially
like
you
said,
if
we
can
show
like
how
to
do
JavaScript
and
native
code
simultaneously.
It's
yeah
I.
B
A
I
think
yeah
that
would
take
us
a
little
bit
towards
the
next
issue
on
the
Milestone.
The
non-c
language
bindings
Nick
had
emailed
us
to
say
that
he
would
be
missing
the
meeting,
but
he
did
say
that
he
was
working
a
little
on
this.
A
A
Weekly
downloads,
9.1
million-
hopefully
one
day
it
will
reach
the
10
million
Milestone,
and
that
would
be
great
does
look
like
our
last
release
was
five
months
ago.
Maybe
we
should
discuss
possibly
doing
a
new
release.
We'll
have
to
see,
though,
like
what
features
have
been
added
and
if
there's
anything
that
we
are,
we
are
explicitly
waiting
for.
A
A
If
we
could
get
a
look
at
that,
because
we've
had
multiple
issues
come
up,
this
1066
as
well
as
this
1198,
so
I
think
this
would
be
a
good
thing
to
actually
get
published.
A
So
people
can
take.
A
That'd
be
great
just
to
recap:
basically,
we
remove
this
unknown
array
type
and
defaulted
it
to
the
int
8
array.
So
you'll
see
that
in
a
lot
of
those
changes
where
the
type
used
to
be
that
unknown-
and
we
set
it
to
that
in
eight
array
and
then
inside
of
the
Constructor.
A
If
you're
given
a
value
and
it's
and
then
you
know
it's
not
no
pointer,
then
we'll
get
the
type
from
using
get
types
of
typed
array
info
and
it
goes
into
the
type
and
the
length.
A
A
Right,
this
is
the
one
that
we
had
talked
about
it
would
we
believe
that
this
issue
would
be
fixed
if
that
command
line
was
added
the
command
line
flag.
That
was
added
as
part
of
this
PR.
A
This
emit
uncut
exception
when
calling
into
modules
I
believe
a
flag
was
added
in
order
to
enable
this
feature,
and
what
we
had
discussed
last
week
is
that
the
gender
cast
would
see
if
using
that
flag,
actually
solves
this
problem,
and
then
there
was
also
a
sort
of
a
side
discussion
of
enabling
module
writers
to
enable
these
feature
flags
at
runtime
themselves
and
I
guess:
yeah!
That's
what
this
second
bit
is
for,
but
I
guess
we're
gonna
continue
waiting
on
this
part
to
see.
B
Yeah,
just
in
this
context,
I
want
to
mention
like
we
talk
about,
is
some
runtime
Flags,
pure
module
and
I.
Just
today
updated
my
pull
request
with
kind
of
proposal
how
this
runtime
effects
might
look
like.
B
Yes,
yes,
it's
it's
about,
like
I,
have
his
pull
request
for
a
supporting
reference
types
for
all
all
value
types
and
because
it's
no
API
changes
but
pretty
much
just
internal
Behavior
changes.
So
it's
a.
B
Wait
if
you
remember
in
original
vspr,
was
about
adding
new
apis
and
then
we
decided
like,
let's
not
do
it.
Instead,
hey
I
need
to
update
this
definition,
but
if
you
look
on
the
file
changes
so
current
current
ID
that
we
just
simply
have
some
a
runtime
flag
and
depending
on
this
runtime
flag,
we
just
simply
say:
oh
we're
gonna
support
him
now,
like
all
value
types,
but
just
for
the
back
for
the
compatibility
we
still
want
to
have
this
feature
flag.
B
Api
feature
and
once
I've
got
a
feature,
ref
all
value
types
right
so
technically,
if
this
thing
is
Set,
pretty
much,
any
value
type
can
be
a
reference
type
yeah.
It's
not
that
we.
B
It
was
one
of
kind
of
discussions
with
like
we.
We
need
to
introduce
these
features
first,
before
with
we
can
start
to
use
them
for
other
scenarios.
B
If
you
click
with
load,
api.h
file
it
actually,
it
actually
has
always
kind
of
kind
of
internal
kitchen.
If
you
like,
so
you
see
the
way
it
works.
We
we
defined
in
a
couple
of
markers.
One
of
them
effectively
creates
a
array
of
enabled
features.
This
array
should
be
zero
terminated,
so
we
should
always
have
an
API
feature.
None
the
last
one
in
this
array.
B
If
you
look
on
this
structure,
which
we
send
during
a
modulation,
we
used
to
have
four
reserved,
avoid
Stars
pointers
right,
like
what
I'm
doing
actually
I'm
taking
one
of
his
reserved
values
to
send
pointer
to
this
array
of
features.
A
B
A
Okay,
so
you're
putting
the
features
on
the
module
registration,
okay
and
the
question
that
I
have
is
when
you
had
something
that
was
like
has
feature.
A
B
So
what
happens
like
you
now
code?
We
create
a
new
environment
instance
per
module,
so
typically
in
from
the
North
Point
node
API
point
of
view.
This
is
not
node
environment,
it's
actually
a
node
API
environment
and
we
always
have
one-to-one
relationship
between.
A
Them
I
see
okay,
well
that
kind
of
answers.
Another
concern
that
I
had
okay,
so
I
guess
this
PR
here
is
kind
of
twofold
one,
where
it's
adding
this
you
know
feature
registration
and
acknowledgment
as
well
as
adding
the
feature
for
supporting
the
reference
to
any
values.
B
Yeah,
the
point
is:
actually
it
didn't
feature.
Support
on
its
own
may
not
make
sense.
We
really
want
to
have
a
working
example
of
this
feature
in
my
previous
attempt
to
do
it
for
Pixel
get
all
property
names
failed
because
we
decided
like
we
just
need
to
fix
it
back.
We
don't
need
features
so
I
remove
teachers
from
there
like
now.
We
have
a
clear
case
that
we
don't
change
and
we're
not
changing
the
reference
apis,
but
we
were
just
simply
saying:
okay.
B
Just
send
it
a
few
a
few
minutes
ago
and
I'm
not
sure,
did
possible
checks.
Oh
oh
ouch.
A
Yeah
so
I
mean,
if
you
think
it's
ready
to
go,
then
I
guess
you
can
remove
the
do.
You
believe
it's
ready
to
go.
B
Not
yet
I
want
to
want
to
make
sure
that
all
unit
tests,
button
I
want
to
add
additional
unit
tests
and
I
also
need
to
change
documentation.
So,
okay.
A
Do
you
believe
that
the
implementation
at
least
the
feature
acknowledgment
or
whatnot?
Are
you
happy
with
that
implementation.
B
A
I
mean
because
what
I
was
gonna
say
is
if
you,
if
you're
happy
with
what
you
have
with
this,
then
I
can
put
a
comment
in
here.
For
you
know,
people
to
look
at
that
part
of
the
of
the
pull
request.
Yeah.
B
But
please
do
because
I
I'm
gonna
a
little
bit
out
of
ideas
how
to
make
it
better.
I
did
some
experimentation
but
still
like.
Maybe
maybe
somebody
would
have
a
look
and
say,
like
oh
I,
have
why
not
to
do
this.
A
A
And
two:
the
ability
for
modules
to
register
and
to
request
a
certain
feature
sets
at
module
registration.
A
It
has
some
requests
to
just
some
feedback
on
as
I
say
both
of
these.
You
know
because
yeah,
it's.
B
Still
draft
state
but
but
I
would
definitely
kind
of
appreciate
any
any
feedback.
Yes,.
A
All
right
so
now
going
back
a
couple,
so
we
were
at
this
still
issue
and
discussing
this
and
those
feature
sets
and
everything
so
I
think
that's
all
right
anything
else
to
discuss
on
this
one
before
we
move
on
all
right.
Moving
on
and
there's
this
one.
A
This
is
this
will
be
fixed
by
that
pull
request
that
I
have
opened
up.
So
nothing
really
just
discuss
about
that,
and
then
this
one
here,
I,
yes,
I,
remember
I,
have
not
gotten
any
work
on
this
one
done,
but
we
will
remove
this
still
label.
A
Just
for
a
quick
recap:
some
people
are
complaining
that
you
should
not
be
able
or
they're
saying
that
you
cannot
release
a
threat,
say
function
inside
the
destructor
of
an
object,
and
that's
all
that
I
really
remember
about
this
issue.
Hopefully,
I'll
have
some
time
to
to
look
at
it
again.
A
Then
there
was
I
think
that's
it
here.
Well,
there's
one
more
here.
Yes,
this
was
the
migration
to
object,
wrap
and
I.
Think
we
had
this
left
open
because.
A
Right
no
issues,
there
was
another
one
that
I'm
going
to
add
to
this
list,
because
it
popped
up
and
I
forgot
that
this
was
something
that
I
was
working
on
before
my
vacation
async
progress.
Key
worker
signal
does
not
trigger
the
tsfn.
A
I'm
gonna
add
this
to
the
sale
list
so
that
we
don't
lose
track
of
it.
It's
been
a
long
running
issue
for
a
year
now,
okay,
well,
hopefully
we
can
get
around
to
it.
A
And
we
have
issues
raised
in
modules:
does
anyone
have
anything
that
they
would
like
to
bring
up?
In
particular
nope?
A
Okay,
there
were
I
think
two
issues
open
since
the
last
meeting.
A
One
was
questioning
about
how
the
finalizer
works,
because
this
person
was
creating
like
an
object
with
a
finalizer
data
of
this
new
ant
and
then
they're,
saying
that
the
finalizer
is
only
called
when
the
program
exits,
but
I
did
comment
a
little
bit
saying
that
it's
ran
for
the
for
the
garbage
collector
decides
to
to
run
because
of
whatever
internal
statistics
it
has
or
whatnot,
and
then
I
mentioned
the
exposed,
GC
flag
and
then
the
global
GC
and
linked
to
a
test
that
we
have.
B
B
But
we
currently
want
to
want
to
fix.
So
it's
one
of
the
flags
we
want
to
introduce
that
to
run
by
noise,
actual
part
of
a
GC,
and
the
reason
was
for
that
behavior
that
if
somebody
runs
some
JavaScript
code
in
this
case,
so
we
can't
really
track
all
those
different
JavaScript.
A
B
A
A
B
B
A
Okay,
the
second
ingredient-
okay,
yes,
it
might
as
well
be
as
concise
as
possible
right,
okay,
all
right
that
looks
good
there
and
then
there's
another
one.
Another
issue
that
I
think
is
from
the
same
person
talking
about
an
object,
wrap
memory,
leak
and
I
I.
A
Think
we
had
talked
about
this
in
the
past,
there's
a
while
loop
here
and
basically
they
just
continuously
creating
an
AP
object
wraps
and
if
I've
I
believe
there
was
an
issue
like
this,
and
it
was
addressed
by
or
at
least
somebody
had
reported
a
similar
issue
and
they
said
that
adding
recheck
that
adding
a
like
a
time,
a
timeout
here,
you
know
like
making
this
asynchronous
and
then
awaiting
on
like
a
next
take
or
something
so
that
the
kind
of
talking
about
the
garbage
collector
and
the
finalizer
and
things
like
that,
so
that
it
actually
has
a
chance
to
run.
B
It's
exactly
what
we
just
said
before,
like
all
actual
we
we
called
for
analyzers,
we
effectively
free
memory
only
as
a
part
of
certain
media.
So
if
somebody
runs
a
JavaScript
Loop
effectively,
not
not
allowing
to
our
kind
of
modal
just
execute,
we
need
to
finish
with
scripts
first
before
we
can
run
any
finalizers
effectively
right
what
you,
whatever
you
mentioned,
like
I,
remember
this
back.
It's
a
kind
of
I
started
to
work
on
this
issue
a
few
months
ago,
right.
A
A
A
I
guess
the
because
so
there
is
there
a
difference
between
when
the
garbage
collector
would
actually
free
this
and
the
difference
between
that
and
when
the
finalizer
actually
runs,
because
if
that's
running
on
another
set
immediate,
could
it
just?
Is
there
a
way,
for
you
know
the
for
V8
to
actually
clear
this
memory,
or
does
it
have
to
do
it
at
the
same
time
as
the
finalize
was
Iran
on
the
set
immediate
tick.
B
B
B
Because
I
still
have
this
PR
opened
in
in
a
in
the
core
about
this
finalizer.
But
just
because.
B
I
think
it's
we
have
this
one.
A
B
Think
it
should
have
a
reference
to
to
the
bug
what
we
discussed
before
oh
yeah,
this
one-
probably
yes,.
A
A
B
B
Okay,
because
I
think
we
can
Implement
my
change,
but
it
will
in
some
sense,
will
be
contradicted
to
what
he
does
like,
and
so
we
need
to
have.
We
need
to
have
a
chain
and
I
believe
he
faced
some
issue
of
some
unit
tests
so
before
he
finishes
this
PR,
he
needs
to
implement
another
one,
which
is
like
a
cue.
A
Yeah,
that
makes
sense
all
right
so
I'll
just
link
to
these
here,
so
I
link
to
the
issue
and
I'll
link
to
these
PRS
so
that
we
got
us.
A
A
Okay,
so
that's
that
issue
yep
that
and
that
all
right
anything
else
on
this
one,
okay,
I,
will
think
it's
worthwhile
to
reopen
this
one.
A
And
we
can
add
it
to
the
stale
list
because,
because
we
didn't
just
but
we
didn't
discuss
the
gender
classes,
PR
and
I'm,
not
exactly
sure
what
its
current
state
is.
So,
let's
just
take
a
quick
look.
A
A
This
will
at
least
give
us.
You
know
remember
to
remind
us
to
to
discuss
the
two
PRS.
B
And
latest
thinking
about,
we
say,
like
my
PR
was
interviewed
about
introducing
new
apis
and
stuff
and
I
kind
of
like
with
latest
thinking
in
this
area,
that
we
don't
introduce
new
API.
But
again
we
just
will
use
this
new
feature
flag,
which
will
pretty
much
say.
Oh
we'll
run
finalizers
as
a
part
of
its
GC
runs
instead
of
set
immediate,
but
we'll
fail
if
somebody
using
any
JavaScript
code,
because
in
majority
case
I
would
say,
99
99
people
don't
want
to
run
JavaScript
yeah
in
finalized.
B
A
Right:
okay,
yeah:
we
can
discuss
that.
Hopefully,
the
next
call.
If
Michael
and
agenda
cats
are
both
on.
A
All
right
that
is
Oliver
issues.
The
new
issues
on
you
know
that
on
API
I,
don't
think
there's
any
progress.
A
Anything
else
this
is
one
that
I
was
working
on
before
my
vacation
and
I'm
still
waiting
to
hear
if
this
person
actually
solved
the
problem
or
just
accepted
the
limitations
that
they
were
having.
A
Document
how
to
I
guess
the
memory
leaks
one.
A
This
is
just
something
that
we
wanted
to
add
some
documentation
on,
because
as
Michael
explained
it
you
know,
we
do
not
unload
modules.
So
if
you
do
load
them,
it
may
look
as
something
is,
you
know,
is
a
leak
because
they're
not
unloaded,
but
that's
just
by
Design
and
I.
Think
that's
what
we
want
to
sort
of
add
as
documentation
and
that's
what
we
have
on.
A
This
issue
that
was
added,
so
it's
sort
of
talking
about
this
and
making
it
into
a
better,
better
documentation,
but
it
does
not
look
like
there
was
any
progress
done
on
that.
A
Okay,
then
that
is
it
for
the
Milestones.
Does
anybody
else
have
anything
else
they
would
like
to
discuss
before
we
end
the
meeting
for
this
week.