00:32:05  * AtumTquit (Quit: AtumT)
00:57:43  * keith_millerjoined
01:01:52  <Domenic>One day I hope the ES functions and constructors get a treatment like https://heycam.github.io/webidl/#create-an-interface-object and https://heycam.github.io/webidl/#create-an-interface-prototype-object instead of the current morass of prose "as if" conditions.
01:02:15  <Domenic>For Web IDL we hope to roll that all up into one single algorithm which initializes everything in the realm.
01:26:46  * akirosequit (Ping timeout: 272 seconds)
01:27:24  * akirosejoined
02:02:08  <devsnek>that's awesome
02:34:30  <ljharb>What’s an example of an “as if”?
03:05:56  * cloudshuquit (Quit: Connection closed for inactivity)
03:25:16  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
03:25:46  <Domenic>Everything in https://tc39.github.io/ecma262/#sec-ecmascript-standard-built-in-objects
03:26:21  <Domenic>I guess I meant "Unless otherwise specified"
03:26:42  <ljharb>gotcha
03:30:53  <devsnek>jmdyck and i were working on a refactoring of this a while ago
03:30:57  <devsnek>i don't remember where it went
03:34:06  * akirosequit (Ping timeout: 246 seconds)
03:34:16  * aki_joined
03:34:41  * aki_changed nick to akirose
04:05:06  <jmdyck>Oh yeah, I really dislike "Unless otherwise specified"
04:08:14  <jmdyck>devsnek: re "i don't remember where it went" https://github.com/tc39/ecma262/pull/539#issuecomment-451688570 ?
04:09:15  <devsnek>jmdyck: that, and the formal writeup of how to interpret the definitions of the functions
04:09:27  <jmdyck>yeah
05:33:06  <devsnek>ljharb: is it on purpose that things get merged with --committer-date-is-author-date
05:34:01  <devsnek>i was working on a script to grab the last 24 hours of commits to ecma262 but that obviously won't work in this case
05:35:38  * jmdyckquit (Remote host closed the connection)
05:40:26  * aki_joined
05:40:47  * akirosequit (Ping timeout: 246 seconds)
05:40:48  * aki_changed nick to akirose
05:48:51  <ljharb>devsnek: i'm not using that flag anymore afaik
05:49:08  <ljharb>devsnek: but that kind of script is never guaranteed to work on any git repo; commits aren't guaranteed to be chronological.
05:49:18  <devsnek>yeah i found the reflector issue about how its caused by fast forward
05:49:26  <ljharb>devsnek: you'd want to do a log from a reference sha, to HEAD
05:49:34  <devsnek>(no project i've ever worked on uses this flow)
05:49:59  <ljharb>there are many git flows; git doesn't have a history, it has a log.
05:50:25  <devsnek>i'd call this git reality
05:50:32  <devsnek>a pun on web reality
05:50:34  <ljharb>lol
05:51:43  <devsnek>is there something else that can be done
05:51:51  <devsnek>putting iso dates in the commit messages or something
05:52:32  <ljharb>what's the value of knowing when it landed?
05:53:02  <ljharb>it seems like you're trying to compare to a reference date; but if you use a *sha* then it'll never be wrong
05:53:21  <devsnek>what's the value of knowing when the patch was written
05:53:42  <ljharb>that's dealing with the flag, and i'm not using the flag
05:53:43  <devsnek>"when the spec changed" seems quite useful from a historical perspective
05:53:54  <ljharb>sure, that data's all part of the PRs
05:54:08  <ljharb>(which are all archived)
05:54:13  <devsnek>it's usually part of the commit too
05:54:21  <devsnek>we use the cli to land patches to node
05:54:30  <devsnek>and they're dated by when they get merged
05:54:45  <ljharb>sure, but the way node lands patches has tons of other problems, including that it marks PRs as closed and not merged - that's not really something to emulate
05:55:10  <ljharb>so what's the value *to you*?
05:55:11  <devsnek>they'd be marked as merged if we didn't amend them
05:55:38  <devsnek>and we can still mark them as merged by pushing the amended commit back to the branch
05:55:41  <ljharb>they're only marked as merged if they land as part of clicking the UI button, or if they're actually part of the PR branch
05:55:47  <ljharb>right, if node did that it'd be great
05:55:55  <ljharb>and that's exactly what is done here
05:56:02  <devsnek>the value to me is a cron job i was working on to open issues on engine262 for changes to ecma262 in the last 24 hours
05:56:25  <ljharb>ok so, instead of checking "the last 24 hours", can you persist a sha, and check "since the last sha"?
05:56:37  <devsnek>its travis
05:56:49  <ljharb>that has the advantage of always being 100% correct even if your cron job fails for a few days and then starts up again
05:56:55  <ljharb>travis can persist things
05:57:07  <devsnek>i couldn't find anything about travis persisting
05:57:09  <ljharb>you can save the sha to a text file, and mark its dir as cached
05:57:27  <devsnek>that would mess with the cache of the actual build jobs
05:57:44  <ljharb>not sure what you mean
05:57:50  <ljharb>every successful job writes back to the cache
05:57:56  <ljharb>and every job reads from the cache, without exception
05:59:08  <devsnek>so like
05:59:19  <ljharb>(i often use travis's cache to cache the nvm cache dir as well as npm's, for example)
05:59:21  <devsnek>`touch ~?last_processed_commit`
05:59:29  <devsnek>except a slash instead of a question mark
05:59:42  <ljharb>more like `cat $sha > last_processed_commit` but yeah
06:00:45  <ljharb>if for some reason travis's cache wasn't reliable enough, you could also have travis push to a bare branch on your repo a single empty commit whose message is the sha, as another alternative
06:00:58  <ljharb>¯\_(ツ)_/¯ there's a bunch of ways to persist a single sha
06:02:00  <devsnek>and of course the github api doesn't support "commits after this sha"
06:02:24  <ljharb>it should, there's a "since" or something
06:02:30  <devsnek>only by date
06:02:40  <ljharb>O.o i'm pretty sure pagination works by sha, one sec
06:02:45  <devsnek>i would have to fetch items in a loop
06:02:50  <devsnek>until i find a commit object with that sha
06:02:58  <devsnek>there's a "sha" param
06:03:04  <devsnek>but it sets the head not the tail
06:04:09  <ljharb>seems like a strange omission
06:04:15  <devsnek>not really
06:04:16  <ljharb>twitter's api works by date or by tweet ID, for example
06:04:35  <devsnek>this api works by date too
06:04:39  <devsnek>if the dates are correct
06:04:59  <TimothyGu>devsnek: can we just… clone the repo and then do `git log $sha...HEAD`
06:05:09  <devsnek>that's also an option
06:05:22  <ljharb>or a git submodule
06:05:25  <devsnek>but this script is getting annoyingly complex
06:12:25  * keith_millerjoined
06:13:35  * keith_millerquit (Client Quit)
07:46:30  * aki_joined
07:47:27  * akirosequit (Ping timeout: 240 seconds)
07:47:27  * aki_changed nick to akirose
08:16:21  * keith_millerjoined
08:18:58  * keith_millerquit (Client Quit)
08:37:00  * keith_millerjoined
08:48:19  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:37:50  * keith_millerjoined
09:42:20  * keith_millerquit (Client Quit)
09:52:40  * aki_joined
09:53:26  * akirosequit (Ping timeout: 240 seconds)
09:53:26  * aki_changed nick to akirose
11:08:40  * AtumTjoined
11:58:55  * aki_joined
11:59:56  * akirosequit (Ping timeout: 240 seconds)
11:59:56  * aki_changed nick to akirose
13:05:16  * jmdyckjoined
13:45:00  * keith_millerjoined
14:05:47  * akirosequit (Ping timeout: 240 seconds)
14:06:36  * akirosejoined
14:08:04  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:26:53  * keith_millerjoined
14:31:36  * keith_millerquit (Client Quit)
14:40:49  * keith_millerjoined
14:46:50  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:48:53  * keith_millerjoined
14:51:30  * keith_millerquit (Client Quit)
14:59:17  * keith_millerjoined
15:00:43  * keith_millerquit (Client Quit)
15:03:56  * keith_millerjoined
15:05:53  * keith_millerquit (Client Quit)
15:27:47  * keith_millerjoined
15:42:06  * keith_millerquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:48:37  * keith_millerjoined
15:51:06  * keith_millerquit (Client Quit)
16:07:10  * keith_millerjoined
16:11:10  * keith_millerquit (Client Quit)
16:13:23  * akirosequit (Ping timeout: 245 seconds)
16:13:47  * akirosejoined
16:15:57  * keith_millerjoined
16:17:52  * keith_millerquit (Client Quit)
17:03:54  <Domenic>I do wish ecma262 just used squash and merge like a normal project.
17:22:55  <ljharb>i think “like a normal project” is the thing that there’s no objective agreement on.
17:23:12  <Domenic>I think there's objective statistics
17:23:29  <ljharb>has github collected any?
17:24:08  <devsnek>i've literally never seen a project do this except for ecma262
17:24:08  <ljharb>anecdotally, of the hundreds of projects i interact with, only like 5-10 use squashmerge or rebasemerge. I’m sure we all have different anecdotal experiences.
17:24:20  <devsnek>and i'm using literally correctly here
17:24:58  <ljharb>sure, that’s another valid anecdotal perspective
17:38:38  <devsnek>whatever happened to that webkit threading proposal
18:19:28  * aki_joined
18:20:32  * akirosequit (Ping timeout: 250 seconds)
18:20:33  * aki_changed nick to akirose
18:58:44  * AtumT_joined
19:00:29  <Domenic>As far as I can tell that was pizlo's passion project, but he's full-time on WebAssembly, and I'm not sure how much appetite he (or other WebKit team members) have for pushing it in the language level. I'm also unsure how passionate he still is about it, versus thinking that WebAssembly threads is the way to go.
19:01:26  * AtumTquit (Ping timeout: 240 seconds)
19:46:56  * jmdyck1joined
19:47:30  * jmdyckquit (Ping timeout: 272 seconds)
20:26:14  * aki_joined
20:27:04  * akirosequit (Ping timeout: 250 seconds)
20:27:04  * aki_changed nick to akirose
20:55:41  * Havvyquit (Ping timeout: 246 seconds)
21:11:56  * Havvyjoined
21:29:03  * AtumT_quit (Quit: AtumT_)
22:32:17  * akirosequit (Ping timeout: 246 seconds)
22:32:25  * aki_joined
22:32:49  * aki_changed nick to akirose
23:34:26  * Havvyquit (Ping timeout: 240 seconds)
23:36:08  * Havvyjoined