00:59
<Aki>
is 8x8 down?
01:00
<Bradford Smith>
it's working for about 16 of us :)
01:02
<ryzokuken>
(I did it yesterday)
01:02
<ryzokuken>
had initially done just two days since we'd expected this one to run for just two days
01:02
<devsnek>
its working for me
01:13
<ljharb>
sffc: fwiw 262 has "extended mathematical values", in case you want to define "intl math values" as "extended with NaN and -0" https://tc39.es/ecma262/#sec-mathematical-operations
01:17
<littledan>
+1 for Stage 3
01:17
<ryzokuken>
I cannot unmute, sorry 😅
01:24
<Aki>
can i take a quick moment to appreciate sffc 's boundless positivity when presenting to the committee
01:52
<leobalter>
Aki bterlson I'll let you know asap when Caridy is back.
01:53
<Bradford Smith>
+1 for pattern matching from me - I would have come this last time, but was on vacation
01:54
<ljharb>
Michael Ficarra bakkot : 2360 or 1554 or 545 first? (since 545 is big and there may be conflicts)
01:54
<Michael Ficarra>
ljharb: they should be able to go in in any order
01:55
<ljharb>
ok cool, i'll do it oldest to newest then
01:55
<Michael Ficarra>
to be safe, land 545 I guess
01:56
<Michael Ficarra>
ah, 1554 adds a new AO though ljharb
01:56
<Michael Ficarra>
we may want to wait for bakkot to rebase that one on 545 first
01:56
<Michael Ficarra>
I'll remove the label
01:56
<ljharb>
alternatively, i could land 545 last
01:57
<Michael Ficarra>
ljharb: we should probably take this to #tc39-editors:matrix.org
01:57
<ljharb>
sure, i can't speak in there tho
01:57
<Michael Ficarra>
oh, that's not good
01:58
<Michael Ficarra>
is there an easy way to permit every delegate?
01:58
<ljharb>
^ Aki or bterlson?
01:58
<bterlson>
I don't think so, without a bot of some kind :/
01:58
<ryzokuken>
I think it's time we built a bot
01:59
<Aki>
i've been elbow deep in the API docs for the past few days
01:59
<Aki>
so
01:59
<Aki>
uhh
01:59
<Aki>
on it
01:59
<ryzokuken>
😲 awesome!
02:00
<waldemar>
I'm interested in the pattern matching incubator
02:01
<Aki>
i'm not actually building a bot, for the record. i'm writing a tiny CLI for the chairs to handle admin tasks, including matrix permissions
02:02
<Aki>
@mich
02:02
<Aki>
ugh
02:02
<Aki>
Michael Ficarra, bakkot i think you two are admins on the editors channel
02:02
<devsnek>
you should make it a discord bot
02:02
<ryzokuken>
what is a bot, maybe we're the bots...
02:03
<HE Shi-Jun>
Could we have matrix rooms for the proposals which many may be interest in? I just found pattern match proposal have a room :)
02:04
<devsnek>
as long as your homeserver can handle it, you can make as many channels as you want
02:04
<ryzokuken>
Could we have matrix rooms for the proposals which many may be interest in? I just found pattern match proposal have a room :)
temporal has one too
02:04
<devsnek>
can someone post here when we resume
02:04
<Michael Ficarra>
Aki: I think so too, but I can't figure out how to add someone or change their permissions
02:04
<ryzokuken>
question is, are those official TC39 rooms to be added in this space?
02:04
<ryzokuken>
devsnek: we are almost here
02:05
<ryzokuken>
we're resuming
02:05
<devsnek>
we are?
02:05
<ryzokuken>
yeah
02:05
<ryzokuken>
with the temporal discussion
02:05
<devsnek>
oh
02:06
<HE Shi-Jun>
temporal has one too
Oh, temporal room does not have the prefix "tc39" so I missed it!
02:11
<ljharb>
Michael Ficarra: ftr no, it still says i can't post
02:14
<HE Shi-Jun>
I think in the developer perspective, "namespace" means if you destructure the property/functions from the namespace, they still keep the same functionality
02:16
<ljharb>
probably also, that you could copy all the things from the original namespace to a new object, and it'd be indistinguishable except by identity?
02:17
<HE Shi-Jun>
ryzokuken: Can I ask what's the room name for Temporal proposal? I can't find it by public room search.
02:17
<ljharb>
i can't find it either
02:20
<HE Shi-Jun>
probably also, that you could copy all the things from the original namespace to a new object, and it'd be indistinguishable except by identity?
Agree. And it also means namespace object would never be used as receiver (this argument) in their functions.
02:29
<littledan>
Fwiw WebIDL namespaces can have pure accessors
02:31
<HE Shi-Jun>
what is "pure accessors" ?
02:40
<littledan>
In the sense of, they act like data properties basically
02:43
<HE Shi-Jun>
In the sense of, they act like data properties basically
but use namespace object as receiver?
02:43
<bakkot>
we are now discussing strictly internal words?
02:43
<HE Shi-Jun>
Note, old libraries like YUI2 use namespaces like "YAHOO.util.*" which do not capitalized... I think they are affected by java language convention.
02:43
<bakkot>
I would like to stop discussing that
02:44
<littledan>
These are both established terms. I don't think we have standing to rename them
02:49
<ljharb>
bterlson: advance queue?
02:50
<bterlson>
done
02:50
<bakkot>
so on the previous topic, we kind of went from discussing capitalization to discussing whether we should call "module namespace" something else, without getting formal consensus on the previous topic
02:50
<bakkot>
unless that happened and I missed it
02:51
<ljharb>
iirc consensus was presumed but never officially asked for
02:52
<shu>
i did ask for consensus for capitalization
02:52
<shu>
didn't i?
02:52
<bterlson>
my understanding was the main point was the narrow issue of .Now?
02:52
<bakkot>
point of order: more note takers
02:52
<shu>
yes, sorry, i asked for consensus for capitalization of .Now
02:52
<shu>
and that we will write down what a namespace object is in how-we-work, but i did not ask for consensus that we capitalize all future namespace objects
02:53
<bakkot>

the thing I wrote in the notes is

Namespace objects will be capitalized, including when nested. This means Temporal.now is renamed to Temporal.Now
Shu to write up a definition of "namespace object"

02:53
<bakkot>
is that not accurate?
02:53
<bakkot>
because I would really like it to be accurate
02:53
<bakkot>
so we can be done
02:53
<shu>
i'd like that to be true; if ljharb confirms he doesn't object to it let's go with that
02:53
<shu>
because i asked for a narrower thing, pedantically speaking?
02:53
<devsnek>
if membranes are equiv to direct access, why does chrome not block them as the same security issue
02:54
<littledan>
Once you have leaked the wrong-realm array constructor, it's game over for preventing the library user from monkey patching things
02:54
<ljharb>
that is true, that's a problem with the slide example
02:55
<shu>
but that's the point, the argument is a footgun argument
02:55
<ljharb>
altho delete otherRealmGlobalThis.Array.prototype.constructor would fix that
02:55
<shu>
it's easy to write code that is wrong in the way the slide example is wrong
02:55
<ljharb>
it's easy to write loops as infinite ones. that doesn't mean we ban loops.
02:56
<HE Shi-Jun>
The example may be not the best, but I think I understand the point :)
02:56
<devsnek>
does anyone know? should i ask mark?
02:56
<shu>
ljharb: it's a question of line-drawing
02:56
<HE Shi-Jun>
No membrane is not equiv to direct access...
02:56
<ljharb>
sure. which is arbitrary, and decides whose use cases get to happen and whose don't
02:56
<iain>
The average success rate at writing a terminating loop seems to be a lot higher than the average success rate at not leaking given direct object access
02:56
<HE Shi-Jun>
membrane should not leak another realm
02:56
<shu>
i don't think it's a strong argument to say "another bad thing Y is possible, and we don't ban Y, therefore we shouldn't ban any bad thing"
02:58
<ljharb>
sure. but i don't think it's super strong either to say "X can be messed up, so rather than make X harder to mess up, let's make it impossible to do at all"
02:58
<HE Shi-Jun>
Personally I don't think leaking another realm is the end of the world, but if we can avoid it in most cases I would be happy :)
02:59
<shu>
i agree, in the abstract. in this case this was informed by actual enthusiasm to use Realms as sandboxes that would've resulted in security issues, which pushed this over the line to "let's make it impossible instead"
02:59
<shu>
please note i use "security" there in a way i don't personally endorse as a browser vendor :)
02:59
<littledan>
There's a lot more to defend against than just deleting the constructor property. You can find the Array constructor again through eval. Less obscurely, you could easily patch methods on the prototype, and it's easy to accidentally use them. It becomes a big problem to block everything
02:59
<shu>
+1
03:01
<ljharb>
littledan if you're handed an other-realm array that has no constructor, and you don't have access to the other realm, how could you find it through eval?
03:01
<ljharb>
the prototype tho is fair, that'd defeat the purpose
03:01
<ljharb>
to fix caridy's example, i'd do return [...slice.call(sequence, index)]; or similar
03:01
<HE Shi-Jun>
Agree with shu , it seems very easy to write wrong code which will leak the sandbox. So if consider secure sandbox is the important use case, I have to support ban the direct object access.
03:01
<littledan>
+1 to Caridy's point
03:02
<littledan>
I think it is important that we make better mechanisms for resilient code. Shared-object Realms just don't seem like that solution.
03:03
<littledan>
(maybe there are other important use cases of them though)
03:03
<Josh Blaney>
wow, was not expected to get rick rolled
03:03
<HE Shi-Jun>
Oh, good music ...
03:03
<Josh Blaney>
but I approve
03:08
<devsnek>
can we have an api to zero-copy refer to arraybuffer data over the callable boundary
03:08
<devsnek>
does that already exist
03:09
<ptomato>
I'm reading the scrollback and now am not sure if there is any residual doubt about whether we got consensus on the capitalization of namespace objects. can anyone confirm?
03:10
<devsnek>
if there was it should be in the notes
03:11
<ptomato>
I believe there was some discussion above about whether the notes correctly reflected what shu asked for? I'd like to sleep well tonight knowing the matter is put to rest
03:12
<shu>

ljharb: are you okay recording the namespace discussion conclusion as what bakkot has written, which is

Namespace objects will be capitalized, including when nested. This means Temporal.now is renamed to Temporal.Now
Shu to write up a definition of "namespace object"

03:14
<ljharb>
sorry for the delay; i've had kids out of bed in and out of my office for the last half hour
03:14
<ljharb>
i'm very unhappy with the renaming and think it's a bad decision, but i had my chance to object and didn't, so i guess go for it
03:15
<shu>
thanks, unhappiness noted
04:07
<bakkot>
oh man are hosts going to add postmessage
04:07
<bakkot>
probably, right?
04:07
<bakkot>
so you can structured clone your objects across the boundary
04:07
<shu>
indeed, that was the original suggestion, a structured-clone boundary
04:07
<bakkot>
but here you could just do it manually
04:07
<shu>
a callable boundary is not mutually exclusive with a structured clone boundary afaict
04:07
<bakkot>
by messaging yourself
04:08
<leobalter>
bakkot: most of a structured close boundary represents a membrane
04:08
<shu>
really?
04:08
<shu>
a structured clone boundary explicitly doesn't preserve identity
04:08
<shu>
you get new clones
04:09
<leobalter>
I don't have bandwidth to discuss here and listen to the meeting
04:10
<leobalter>
I'm afraid my answers here will be short, but I'd love to talk more with time allowing
04:11
<devsnek>
would anyone block a "transfer arraybuffer across realm boundary" proposal
04:12
<shu>
transfer meaning detach on one side?
04:12
<ryzokuken>
devsnek: can you explain transfer better?
04:12
<devsnek>
detach would be fine for my use case
04:12
<shu>
seems like it'd be subsumed by structured clone, which i'd like to think more about
04:12
<devsnek>
i'd be cool with a full structured clone
04:12
<shu>
no principled concerns from my POV for that
04:13
<devsnek>
what kind of timeline are you thinking about structured clone in
04:13
<shu>
no idea
04:13
<devsnek>
😔
04:15
<devsnek>
in a js environment with MessageChannel is there a way to get a port across the boundary
04:15
<HE Shi-Jun>
transfering arraybuffer across realms! I really want it!
04:16
<bakkot>
ljharb: I would like to talk to you about your caching use case more, maybe. I thought I wanted realms to solve that but it turns out I didn't and I suspect you also might not.
04:16
<ljharb>
bakkot: i have to listen, so if you can type it one-sidedly i'll read as i have time
04:16
<bakkot>
yup
04:17
<leobalter>
HE Shi-Jun: I hear you! There are people in the SES group who wants it too.
04:19
<ryzokuken>
do we want to go back to the queue for discussing this?
04:19
<bakkot>
basically: in terms of how many objects you create, a new realm is significantly more heavy than just capturing every reachable thing. and you can just capture every reachable thing instead: basically just take a snapshot of the current realm, with a fairly small loop. and that's much lighter weight, and not even very much more code.
04:19
<HE Shi-Jun>
Transferable seems web api, not in ES spec. Hope we could include it in JS directly.
04:19
<devsnek>
i can confirm that greedily taking all the primordials is expensive, it is one of the reasons nodejs moved to using v8 snapshots
04:20
<bakkot>
so optimizing for specifically that use case does not seem like something which needs language-level support
04:20
<leobalter>
ryzokuken: please check the queue because Greg is not used to the TC39 meetings yet
04:21
<shu>
i don't have this cache-originals problem space paged in very well, how does Realms solve this again?
04:21
<shu>
like even if you cache the Realm don't you still need to run before anything can run in the user Realm?
04:21
<bakkot>
yes, the assumption is that you are running first
04:22
<ryzokuken>
leobalter: sure. Did Greg remove his question? If not, could you please ask them to add it again? I saw their clarifying question for a second
04:22
<ljharb>
like even if you cache the Realm don't you still need to run before anything can run in the user Realm?
yes, that isn't the problem being solved. but it makes it one thing instead of N things
04:22
<shu>
okay, and don't you still have to enumerate all reachable things from the Realm?
04:22
<devsnek>
ljharb wants to cache originals lazily
04:22
<bakkot>
the question is, do you take a snapshot by making a new realm, or by walking the current one and saving stuff off of it
04:22
<shu>
you can't just cache the Realm
04:22
<bakkot>
assuming you are run-first
04:22
<bakkot>
uhhhh why not?
04:22
<bakkot>
no one else should be able to reach it
04:22
<ljharb>
why can't i just cache the realm, if nobody else can get to my realm, and i avoid leaking access to its primordials?
04:22
<shu>
oh, you make an entirely new realm for the sole purpose of getting primordials off it
04:22
<bakkot>
yup
04:22
<shu>
not that you try to reuse a user realm that's already used for something else
04:22
<shu>
got it, thanks
04:23
<bakkot>
yup
04:23
<shu>
my response to that is that that is a Bad Idea for performance
04:23
<shu>
which people have said
04:24
<bakkot>
yeah, and it seems like the thing ljharb doesn't like about the current approach is also performance, so this would not solve this, though maybe I am not understanding
04:24
<ljharb>
it's not really perf, it's that it's actually hard to grab everything dynamically
04:24
<ryzokuken>
Realm.prototype?
04:24
<ljharb>
especially since not all the instrinsics are globals
04:25
<bakkot>
eh, there's only a small number of things which aren't reachable as paths off the global, so you just write those down and capture everything else with a loop
04:25
<devsnek>
getoriginals proposal lives again
04:26
<ljharb>
that specific proposal had the "get originals" function as nonconfigurable tho, which is a nonstarter.
04:26
<HE Shi-Jun>
I am not sure I understand what ljharb want... but I guess it's a usecase of making polyfill?
04:26
<ljharb>
not just polyfills. all my npm modules are written robustly, so that later builtin modification doesn't break them.
04:27
<littledan>
I don't see why this would be part of the Realm constructor. Presumably you would want to be able to access this from the main global object
04:27
<ljharb>
^ agreed
04:27
<bakkot>
I feel like jordan + SES + me + salesforce + one or two other polyfill libs are the only people who would use this, though
04:27
<bakkot>
so I am not convinced it makes sense for the language to help us out
04:27
<bakkot>
we can just do it ourselves
04:27
<ljharb>
that's 10-20% of npm traffic right there tho
04:28
<HE Shi-Jun>
Ok, it's like to reuse spec behavior (abstract operation or something like that)
04:29
<bakkot>
there is a sharp upper bound on how many people can do this, because each person doing it assumes they are first-run
04:29
<bakkot>
and we can't all be correct
04:29
<HE Shi-Jun>
I believe it's a valid use case, which is very important for polyfills or other cases which u want to keep align as close as spec.
04:29
<shu>
the implementation complexity for getoriginals seems high
04:30
<shu>
though i don't know the exact semantics proposed
04:30
<shu>
so, agree with bakkot's point on nicheness
04:30
<devsnek>
v8 already like half implements it
04:30
<devsnek>
for its own internal usage of primoridals
04:30
<littledan>
I guess the semantics proposed are a bunch of Gets?
04:30
<littledan>
It seems OK?
04:30
<bakkot>
pretty much, yup
04:31
<bakkot>
well, getOwnPropertyDescriptor, really
04:31
<shu>
if i modify Object.prototype
04:31
<shu>
and i getOriginal('%Object.prototype%'), what do i get?
04:31
<HE Shi-Jun>
But I still not get how current realm proposal not satisfy this use case ...
04:31
<devsnek>
the original
04:31
<shu>
like i added a property to Object.prototype
04:31
<littledan>
The post-modification value
04:31
<shu>
but the object is still the original object
04:31
<shu>
oh ok
04:31
<shu>
then i have no concerns
04:31
<littledan>
The post-modification property of the original intrinsic
04:32
<ljharb>
no
04:33
<ljharb>
or wait
04:33
<devsnek>
ljharb does your use case match nodejs's primoridal api
04:33
<ljharb>
yes
04:33
<devsnek>
then it matches what littledan said
04:33
<ryzokuken>
yeah exactly
04:33
<ljharb>
if you replace, say, Array.prototype.slice A with Array.prototype.slice B, without replacing GetIntrinsic, and you try to get that intrinsic, you'd get A
04:33
<shu>
i don't understand that sentence
04:34
<ljharb>
iow if you want to deny access to A, you'd have to wrap/replace GetIntrinsic to do so
04:34
<shu>
"that intrinsic" is which intrinsic?
04:34
<bakkot>
I don't think I really care what it gives you for X after someone has patched X, as long as it's a coherent, because if I'm first-run I can patch getOriginals myself to pretend that I hadn't patched X
04:34
<devsnek>
shu ljharb is saying like, getIntrinsic('%Array.prototype.slice%')
04:34
<devsnek>
that sort of api
04:34
<shu>
thanks, that unconfuses me
04:34
<bakkot>
but the most convenient thing is if it just looks it up on the current objects
04:34
<littledan>
OK, so it would be like a separate point that you would have to monkeypatch?
04:34
<ljharb>
yes
04:34
<littledan>
So a little more "secure" than the current approach?
04:35
<littledan>
Could you explain the rationale?
04:35
<bakkot>
it's not more secure, it's just more convenient
04:35
<littledan>
This actually was an issue with getOriginals, that such an API might have real memory cost.
04:36
<shu>
if it's just gets on the original objects, then that's fine
04:36
<shu>
if it's like "get me the original objects with its original shape at the start of Realm genesis", that is not fine
04:36
<ljharb>
it can't be just that, or it doesn't meet the goal
04:36
<devsnek>
i don't think it would have the memory cost until you actually try to use a specific intrinsic
04:36
<ljharb>
if nobody's touched the GetIntrinsic function, then that is what it would have to be, or it wouldn't be solving the problem
04:36
<shu>
let me just put it on the queue because i don't understand what you're proposing anymore
04:37
<devsnek>
i think most of the major engines have a concept of rehydrating these apis from RO space as needed?
04:37
<shu>
not sure
04:38
<shu>
i don't think so actually, RO space things are RO
04:38
<devsnek>
v8 definitely does this, at least for intrinsic functions
04:38
<littledan>
Yeah the thing is that not all built-in methods are in that table
04:39
<devsnek>
would probably need more investigation but i don't think memory is a blocker off the bat
04:40
<iain>
I will also have to double-check in SM
04:40
<ljharb>
Yeah the thing is that not all built-in methods are in that table
yes, they are now, with the %a.b.c% syntax.
04:40
<devsnek>
i don't know about sm, but iirc jsc does this too
04:40
<ljharb>
every single original thing, with no exceptions, is accessible in the spec via intrinsics % % syntax.
04:41
<devsnek>
i think shu's concern is that they are not all accessed that way currently, and he's unsure of the implications of allowing that
04:42
<devsnek>
like in v8 there is a table on contexts with some of these, for example promise.prototype.then, but it's ad hoc for what actually gets used
04:42
<littledan>
I think we will have to check with implementers out of band before we can guarantee that there won't be implementation issues.
04:42
<shu>
yes
04:43
<shu>
i think in the abstract it seems doable
04:43
<shu>
specific hurdles may arise and i can't promise anything
04:43
<devsnek>
firing from the hip is a key part of constructive language design
04:43
<ljharb>
i'm obviously not asking for nor could i possibly expect guarantees.
04:44
<ljharb>
i just want to minimize the chances that i invest lots of effort and get stonewall-blocked later
04:46
<bakkot>
fwiw I don't hate it
04:46
<bakkot>
not super useful to me, because I also need to modify things
04:46
<bakkot>
and I'll need to patch it
04:46
<bakkot>
but it's not that hard to do
04:48
<ryzokuken>
"Adventures in monkey-patching the anti-monkey-patching API" 😛
04:49
<devsnek>
what happens if you do
04:49
<devsnek>
getOriginals('%getOriginals%')
04:49
<ryzokuken>
I was just about to say that
04:49
<ryzokuken>
if you monkey-patch getOriginals, would getOriginals return the original getOriginals?
04:50
<devsnek>
technically it would return whatever you patched it to return
04:50
<ljharb>
your monkey-patched one would decide that :-p
04:50
<devsnek>
but in twitter speak
04:50
<devsnek>
this is a good meme
04:51
<bakkot>
being able to not use eval is good
04:51
<leobalter>
shu: I really don't have a better name that would not cause conflict, but my last alternative to rename Realm (if really necessary) would be CallableBoundary
04:51
<bakkot>
ryzokuken: this is surprisingly well-trod ground, it turns out
04:51
<bakkot>
at least in my little niche
04:52
<bakkot>
lot of people patching Function.prototype.toString to mask their functions and also making it mask their new Function.prototype.toString while they're at it, e.g.
04:52
<devsnek>
bakkot i'm honestly not sure what you do but everything i hear about the things you build sounds very cool
04:52
<ryzokuken>
and scary
04:52
<bakkot>
it's very... adversarial
04:53
<bakkot>
the actual thing I do is anti-automation
04:53
<ryzokuken>
every developer for themselves
04:53
<bakkot>
so like shoebots, I am the other side of that game
04:53
<bakkot>
if you are familiar with that niche
04:53
<devsnek>
you fight the gpu scalpers?
04:53
<bakkot>
can't speak to any particular retailer, but that is in the category of thing we do, yes
04:53
<shu>
leobalter: i'm fine with that, sure, i don't want to spend committee time bikeshedding now. i'd like for the vendors to agree to hold off shipping until we've actually bikeshed the name, which i want us to do async
04:53
<devsnek>
godspeed sir
04:53
<bakkot>
the way I usually put it is, we solve the same problem as captchas without needing a captcha
04:54
<bakkot>
I don't think marketing likes me to describe it that way though
04:54
<littledan>
shu: I really don't have a better name that would not cause conflict, but my last alternative to rename Realm (if really necessary) would be CallableBoundary
I would prefer to consider the name Realm settled (we are at Stage 3; we had years to debate names, etc)
04:54
<devsnek>
that just makes me think about google's creepy user behavior tracking non-captcha
04:54
<ryzokuken>
bakkot: let's move this to TDZ? 😀
04:54
<shu>
i know, but we never did actually debate the name, did we?
04:54
<bakkot>
bakkot: let's move this to TDZ? 😀
whoops sorry
04:54
<ryzokuken>
no worries, I'm equally interested hehe
04:54
<littledan>
i know, but we never did actually debate the name, did we?
Well, we said, "we are open to other names if you don't like this"
04:55
<leobalter>
the fact we are adding anything to hold on implementation gives me a very high amount of anxiety. My strong preference is to keep it as is, but I can't say no otherwise.
04:55
<littledan>
I don't really like the name "CallableBoundary" but I don't have a better idea
04:55
<shu>
well, we don't really like this
04:55
<shu>
this == "Realm" as the user-exposed thing
04:55
<shu>
it's not a blocking concern, but i don't think we've actually bikeshed this
04:55
<littledan>
Oh, I see. I thought you had made peace with ut
04:56
<shu>
leobalter: i'm not putting a hold on implementations
04:56
<littledan>
Can we timebox the renaming debate to one more meeting?
04:56
<shu>
of course
04:56
<shu>
i'm only asking that other vendors don't ship until we've bikeshed the name, and if for whatever reason that never happens, we'll roll with Realm
04:56
<devsnek>
we could just spend all of tomorrow discussing it
04:57
<shu>
no, i'd rather we do this async as i originally said
04:59
<devsnek>
i feel like we've gone through like 15 different topics without noting consensus at the end of them
04:59
<bakkot>
we did get consensus for realms, explicitly
04:59
<bakkot>
it's in the notes even
04:59
<ryzokuken>
we did get consensus for realms, explicitly
we did
05:00
<devsnek>
cool
05:00
<ryzokuken>
oh oops
05:00
<ryzokuken>
I misunderstood
05:00
<devsnek>
no tests though :(
05:00
<bakkot>
that's next stage
05:01
<devsnek>
yeah i know, but i still get my hopes up
05:01
<ljharb>
i like a rename; it's really not "realms" anymore
05:04
<iain>
I commit SM to not shipping (before we've had a chance to bikeshed the name)
05:07
<HE Shi-Jun>
About name, what about "Isolate" ? :)
05:08
<ryzokuken>
HE Shi-Jun: that's deceptive because this is different than a V8 Isolate
05:09
<ryzokuken>
my understanding is that this lies somewhere between a Context and Isolate in terms of V8...
05:10
<ljharb>
also i read "isolate" like a verb but a v8 isolate is a noun
05:11
<legendecas>
my understanding is that this lies somewhere between a Context and Isolate in terms of V8...
"IsolatedContext" :facepalm:
05:11
<devsnek>
this is a context in v8
05:11
<devsnek>
an isolate is an agent
05:11
<devsnek>
context in the public api sense at least
05:12
<shu>
is "this looks interesting" a reason...?
05:12
<ryzokuken>
I like Compartments
05:12
<ryzokuken>
I like Zones too tbf
05:13
<leobalter>
I've been informed of objections for both Compartments and Zones already
05:13
<leobalter>
same for Context
05:13
<leobalter>
there is a much stronger objection for Context
05:14
<iain>
SM already has Realms, Zones, Compartments, and Contexts internally (this is not a blocker for any of those)
05:14
<legendecas>
what's wrong with "realm" exactly? I didn't find an issue about it, did I miss anything
05:14
<devsnek>
the meaning is not immediately clear
05:15
<ljharb>
"context" is an extremely overloaded term :-)
05:16
<leobalter>
RealmBoundary, it's ugly but heh
05:17
<shu>
legendecas: "Realm" already means a thing as a spec term in HTML that won't match up to user Realms
05:18
<shu>
so we can end up in a situation where we have to say "spec Realm" vs "user Realm" or something, which doesn't seem great
05:19
<leobalter>
shu: to confirm, you said you don't like CallableBoundary, right?
05:20
<shu>
i didn't say that, i said i'm fine with the name, probably something like "perfectly neutral"
05:20
<shu>
it's a weird name, but no weirder than Realm
05:20
<leobalter>
oh I see
05:20
<leobalter>
no weirder than Realm, but it distinguishes from the html Realms you mentioned
05:20
<shu>
yeah
05:21
<leobalter>
from this perspective Atomics could mean many things, specially to those who don't use shared buffers
05:21
<leobalter>
(I like Atomics, and this is not a criticism to it)
05:21
<devsnek>
GlobalFactory
05:22
<leobalter>
devsnek: that assumes a subset of usage
05:22
<devsnek>
does it?
05:23
<legendecas>
IIUC it can run codes, but not only construct a global
05:23
<devsnek>
running code uses the globals
05:23
<devsnek>
but i see your point :(
05:24
<ljharb>
x factories make x's
05:27
<ljharb>
can we maybe cut short debate about the efficacy of ecma's technology
05:27
<ryzokuken>
yeah
05:27
<bakkot>
do we need this in the notes? because I am getting tired of transcribing this
05:27
<Aki>
no\
05:27
<bakkot>
k I will kill it
05:27
<Aki>
in fact absolutely not
05:27
<Aki>
it's not time yet
05:27
<ljharb>
we probably shouldn't have it in the notes anyways if ecma wants it not public
05:28
<Aki>
if we have time after this to have littledan talk about realms stuff, could you fire it back up?
05:28
<bakkot>
yup
05:28
<Aki>
ty
05:28
<leobalter>
shu: I wonder if we should use the W3C-TAG review to get feedback on the name?
05:29
<bakkot>
we have it transcribed so far; if you don't want that published, delete it
05:29
<leobalter>
At least three people actively reviewed Realms there and they might come with some interesting ideas that is also web friendly
05:32
<shu>
leobalter: ehh, i don't think this is a good use of TAG's time
05:32
<shu>
they're overloaded as it is
05:33
<leobalter>
no problem, just verifying the next steps.
05:33
<devsnek>
i also did not hear this from what ujjwal said, thank you aki
05:33
<danielrosenwasser>
Yes, I think Aki's answer was helpful and direct
05:33
<ryzokuken>
😅 Thanks Aki!
05:34
<leobalter>
shu: I'll roll some internal work with my team so I hopefully bring you a few suggestions
05:34
<shu>
awesome, thanks
05:34
<leobalter>
Celebration tweet: https://twitter.com/leobalter/status/1415544635934396418
05:35
<devsnek>
don't celebrate yet, it could end up with a name you hate :^)
05:35
<leobalter>
I really don't mind on the name
05:37
<leobalter>
You can call it DemiIsolatedRealmCommunicationChannel and if I have the feature working I'm happy
05:38
<shu>
i don't think the extra resources angle affects tc39, does it? it might affect other tcs
05:38
<shu>
we have our own copies of everything
05:38
<ljharb>
potentially tho it might mean we no longer need to invent our own solutions to every problem
05:38
<Aki>
FALSE
05:39
<devsnek>
lol
05:39
<ljharb>
lol
05:39
<shu>
ljharb: very skeptical of that, yeah
05:39
<Aki>
IT AFFECTS US. it affects the chairs. it affects me.
05:39
<ljharb>
lol i put the hedge word in there
05:39
<Aki>
extra resources is a big sell for me
05:39
<ljharb>
oh wait, which part is false?
05:39
<shu>
Aki: elaborate?
05:39
<shu>
what more resources would you like to get from LF for chairs?
05:39
<Aki>
our disfunctional email address, to start
05:40
<Aki>
we've been trying to get IT to fix that for like three years
05:40
<shu>
i... okay
05:40
<ljharb>
LF/openjs's devops is pretty good ime
05:40
<shu>
there is a mile-wide chasm to me between "working email aliases" and "let's change by-laws"?
05:40
<Aki>
i want a matrix homeserver. i want a paid discourse host
05:40
<Aki>
my point is there's a ton of infra stuff
05:40
<Aki>
that does really matter
05:41
<shu>
okay
05:41
<Bradford Smith>
was there a decision to stop taking note that I missed, or should I raise a point of order?
05:41
<devsnek>
shu it does sound like there is not GA consensus on the scary bylaw stuff
05:41
<Aki>
including spending our dues in a more efficient way taking advantage of the LF's existing infra
05:41
<ljharb>
was there a decision to stop taking note that I missed, or should I raise a point of order?
yes, this doesn't go in the notes
05:50
<Michael Ficarra>
Istvan is aware we've abandoned the typesetting thing because of all the strings attached to the funding, right?
05:50
<Michael Ficarra>
I certainly wouldn't hold that up as an example of a successful funding request process
05:50
<ljharb>
Aki: your queue item is exactly what popped into my head, glad you're saying it
05:51
<littledan>
We didn't abandon it, it's just that I didn't argue it out yet
05:51
<littledan>
I am kinda the bottleneck
05:51
<littledan>
The queue isn't working for me
05:51
<Aki>
refresh?
05:51
<littledan>
I have more requests to forward up
05:54
<littledan>
+1000 to what Aki is saying; this is sort of my barrier
05:54
<ljharb>
+1 also, they should be aggressively figuring out how to spend money to help us; we shouldn't have to always ask
05:55
<ryzokuken>
littledan: I understand what you mean by "I'm the bottleneck" but I think it's highly unfair.
05:55
<littledan>
I asked some people in committee to write more formal documents to describe funding requests, that didn't end up happening, and I didn't write them either
05:55
<ryzokuken>
why does it fall upon you (or anyone from us) to navigate a labyrinth in order to get the most basic stuff done?
05:55
<littledan>
Well, I volunteered
05:56
<ryzokuken>
if you didn't, someone else would have to
05:56
<ryzokuken>
things like these should work by default, is what I mean
05:56
<littledan>
I agree with Aki, we need a push model with actual people whose job it is to help us
05:56
<ryzokuken>
I guess that's close to what Aki's point was too, that there's just a lot of work to make things work
05:57
<littledan>
We are collectively paying lots of money, it should partly go to solving our problems
05:57
<ryzokuken>
We are collectively paying lots of money, it should partly go to solving our problems
this 100%
05:57
<shu>
on that note i wanna get to waldemar's queue item
05:57
<Aki>
🤔
05:57
<shu>
are dues changing?
05:57
<littledan>
We are collectively paying lots of money, it should partly go to solving our problems
I think the Linux Foundation will help us shift to this model
05:57
<littledan>
are dues changing?
This is a good thing to ask Isabelle
05:58
<shu>
yes, and waldemar is going to ask
05:58
<shu>
so let's advance the queue
05:58
<ryzokuken>
shu: for Google, yes. IIUC the plan is to reduce them somewhat for organizations that are members of both LF and ECMA
05:58
<Aki>
littledan: can we skip you
06:00
<Aki>
i have to run y'all, but one final thought: the plan was for the negotiations to be done (-ish, done for another round of discussion) by July 21, so please don't read "i don't know" as duplicitousness (edit typo)
06:01
<iain>
ryzokuken: Do you have any information about changes to dues for organizations that are not members of LF?
06:01
<Aki>
iain: "no change" last i heard
06:01
<ryzokuken>
iain: I would need to recheck but yeah "no change"
06:02
<littledan>
A change in dues structure has long been under discussion in Ecma, so I am not surprised that it is part of an Ecma modernization package
06:02
<ryzokuken>
but this would incentivize all of us non-LF members to work with them (because the cost of joining now comes down).
06:04
<littledan>
My understanding was that cross-participation comes with extra fees, so this isn't an Ecma-is-bankrupt scenario
06:05
<ljharb>
so do we have a meeting tomorrow still?
06:05
<Michael Ficarra>
oh I didn't realise this was the final topic of the meeting
06:05
<ljharb>
draft schedule's empty
06:05
<devsnek>
ironically jory's post on the reflector 18 days ago is pretty clear in comparison to the information we obtained during this meeting https://github.com/tc39/Reflector/issues/386#issue-930822046
06:07
<HE Shi-Jun>
Could we have a document with more details about the changes (include fees)? Some Chinese members are both Ecma and LF members but no delegate on the call, they would like to read the document.
06:07
<ryzokuken>
HE Shi-Jun: that's the deal
06:07
<ryzokuken>
we'd post the documents on the reflector
06:07
<Aki>
HE Shi-Jun: once they're available, i'll make sure they're shared
06:07
<ryzokuken>
so you can review them and discuss them with other delegates
06:07
<ljharb>
the implication to me tho is that fees won't go up for anyone; they just might go down for members of both?
06:08
<HE Shi-Jun>
Thank you!
06:14
<littledan>
the implication to me tho is that fees won't go up for anyone; they just might go down for members of both?
I think we will just have to wait a few days for Ecma to publish its proposed fee structure
20:19
<ryzokuken>
could someone with edit access to the TC39 calendar remove delete the Friday session?
23:22
<shu>
i couldn't, even though i have access to the calendar. probably that item isn't editable by others
23:22
<shu>
ljharb: ^
23:28
<ljharb>
👀
23:29
<ljharb>
done