00:05:12  * a_lequit (Remote host closed the connection)
00:18:22  <rphillips>what does a nil udp message mean?
00:23:56  * a_lejoined
00:29:24  * UniOnquit (Remote host closed the connection)
00:33:10  * a_lequit (Remote host closed the connection)
00:33:59  * a_lejoined
00:36:33  <rphillips>fixed the dns branch
01:19:17  * tim_smartquit (Ping timeout: 240 seconds)
01:38:40  * kazuponjoined
01:54:02  * travis-cijoined
01:54:02  <travis-ci>luvit/luvit#1144 (dns_support - 166695e : Ryan Phillips): The build passed.
01:54:02  <travis-ci>Change view : https://github.com/luvit/luvit/compare/0d9189debf7b...166695ed3f1a
01:54:02  <travis-ci>Build details : http://travis-ci.org/luvit/luvit/builds/40837992
01:54:02  * travis-cipart
01:56:39  * DarkGodquit (Ping timeout: 265 seconds)
02:12:32  * a_lequit (Ping timeout: 265 seconds)
02:36:28  * dan336joined
02:51:09  * a_lejoined
03:10:22  * a_le_joined
03:10:32  * a_lequit (Ping timeout: 265 seconds)
03:11:35  * dan336quit (Quit: Leaving.)
03:21:19  <rphillips>alright... i think we should merge that down
03:21:42  * travis-cijoined
03:21:42  <travis-ci>luvit/luvit#1148 (dns_support - 1affd31 : Ryan Phillips): The build has errored.
03:21:42  <travis-ci>Change view : https://github.com/luvit/luvit/compare/1283d4adee90...1affd311f9f4
03:21:42  <travis-ci>Build details : http://travis-ci.org/luvit/luvit/builds/40847129
03:21:42  * travis-cipart
03:24:32  * travis-cijoined
03:24:32  <travis-ci>luvit/luvit#1150 (dns_support - 6766e02 : Ryan Phillips): The build passed.
03:24:32  <travis-ci>Change view : https://github.com/luvit/luvit/compare/1affd311f9f4...6766e0242850
03:24:32  <travis-ci>Build details : http://travis-ci.org/luvit/luvit/builds/40847314
03:24:32  * travis-cipart
04:00:16  * dan336joined
04:06:09  * rphillipsquit (Read error: Connection reset by peer)
04:06:36  * rphillipsjoined
04:11:02  * kazuponquit (Remote host closed the connection)
04:12:27  * songgaoquit (Ping timeout: 272 seconds)
04:12:28  * rjequit (Ping timeout: 272 seconds)
04:14:54  * rjejoined
04:16:53  * songgaojoined
04:46:22  * kazuponjoined
05:42:54  * dan336quit (Quit: Leaving.)
06:47:11  * kazuponquit (Read error: Connection reset by peer)
06:47:14  * kazupon_joined
07:11:37  * a_le_quit (Remote host closed the connection)
07:12:18  * a_lejoined
07:41:52  * kazupon_quit (Remote host closed the connection)
07:45:59  * kazuponjoined
08:14:24  * srenatusjoined
08:20:09  * DarkGodjoined
08:52:21  * srenatuspart
09:27:33  * torporjoined
11:02:33  * kazuponquit (Remote host closed the connection)
14:45:45  * kazuponjoined
15:04:55  * dan336joined
15:05:54  * jetljoined
15:06:23  * a_lequit (Remote host closed the connection)
15:08:38  * tetquit (Ping timeout: 256 seconds)
15:12:12  <rphillips>morning
15:15:54  * tetjoined
15:18:30  * jetlquit (Ping timeout: 265 seconds)
16:25:58  * a_lejoined
16:34:53  * kazuponquit (Remote host closed the connection)
17:03:21  * dan336quit (Quit: Leaving.)
17:20:30  * dan336joined
17:45:43  * kazuponjoined
17:49:52  * kazuponquit (Ping timeout: 240 seconds)
17:53:16  * torporquit (Quit: Leaving.)
19:02:33  <rphillips>i think we need a script to merge directories into a zip file
19:02:55  <rphillips>i want to take all files from virgo-base/app and merge them with all files in the luvit/app folder
19:13:14  <creationix>rphillips: would merge make more sense or allow layered zip files?
19:13:26  <creationix>I’m pretty sure the zip format tells me somewhere where it starts
19:13:52  <creationix>though then, only the outer zip would be readable from normal unzip tools
19:13:59  <rphillips>i think merge would be faster to search for the file
19:14:18  <rphillips>i'm whipping up a python script, to see how it would work
19:14:46  <creationix>ok, long term I don’t want a python dependency, we’ll need to bake the ability into luvit itself
19:14:49  <creationix>but that’s fine for now
19:16:42  <creationix>I wonder if your dns pr needs to be rebased. It’s listing my new codec. http, and fs stuff as new in the pr
19:18:23  <rphillips>hmm let me check
19:18:52  <rphillips>pushed
19:19:26  * dan336quit (Quit: Leaving.)
19:19:28  <rphillips>that looks better
19:21:46  <creationix>much better, now I only have 1000 lines to review, not 2200
19:21:47  <creationix>;)
19:23:37  <rphillips>i bet i accidentally rebased to master before
19:23:55  <rphillips>there is a bug fix for timers in that PR as well
19:24:04  <rphillips>uses uv_now
19:24:10  <rphillips>instead of hrtim
19:24:11  <rphillips>hrtime
19:27:12  * travis-cijoined
19:27:12  <travis-ci>luvit/luvit#1151 (dns_support - 40483bd : Ryan Phillips): The build passed.
19:27:12  <travis-ci>Change view : https://github.com/luvit/luvit/compare/6766e0242850...40483bdf9eeb
19:27:12  <travis-ci>Build details : http://travis-ci.org/luvit/luvit/builds/40921999
19:27:12  * travis-cipart
19:34:06  * torporjoined
19:40:45  <rphillips>creationix: is there a variable in luvit land that contains all the loaded files within the zip?
19:41:02  <creationix>no, but the bundler API has a sync readdir
19:46:05  * torporquit (Quit: Leaving.)
19:46:32  <rphillips>creationix: https://gist.github.com/rphillips/363766301ced7b005085
19:46:38  <rphillips>got the file list zipped
19:46:55  <rphillips>is this right? require('virgo/connection')
19:47:12  <rphillips>it seems like require('virgo') should include virgo/init.lua
19:47:34  <creationix>it should
19:47:54  <creationix>assuming virgo is in the modules folder
19:48:55  <creationix>or you could to require(‘./vigro’) from main.lua
19:53:27  * a_lequit (Ping timeout: 265 seconds)
19:57:26  <rphillips>creationix: https://gist.github.com/rphillips/363766301ced7b005085
19:57:31  <rphillips>getting this error
19:57:34  <rphillips>not sure why
19:57:53  <creationix>is that in the repl?
19:58:14  <creationix>requires in the repl are relative to cwd I believe
19:58:57  <creationix>you can try a full url with bundle:virgo and see if that works
19:59:58  <creationix>if you log the arguments to https://github.com/luvit/luvit/blob/luvi-up/app/modules/require.lua#L128 you can see the search path clearly
20:03:24  <creationix>and remember you can use unzip -l to see what’s in the binary
20:03:36  <creationix>and you can run from an external zip file with LUVI_ZIP
20:05:27  * dan336joined
20:18:39  * travis-cijoined
20:18:39  <travis-ci>luvit/luvit#1152 (tls-codec - 88022e3 : Tim Caswell): The build has errored.
20:18:39  <travis-ci>Change view : https://github.com/luvit/luvit/compare/b02a1d50b42e...88022e372115
20:18:39  <travis-ci>Build details : http://travis-ci.org/luvit/luvit/builds/40927292
20:18:39  * travis-cipart
20:20:27  * travis-cijoined
20:20:27  <travis-ci>luvit/luvit#1153 (tls-codec - 79c96cf : Tim Caswell): The build passed.
20:20:27  <travis-ci>Change view : https://github.com/luvit/luvit/compare/88022e372115...79c96cf9ea52
20:20:27  <travis-ci>Build details : http://travis-ci.org/luvit/luvit/builds/40927461
20:20:27  * travis-cipart
20:20:46  * typedlambdaquit (Ping timeout: 250 seconds)
20:23:11  * typedlambdajoined
21:02:39  * a_lejoined
21:05:42  <rphillips>looks like modules is always a prefix
21:08:10  <creationix>it is for non-relative requires
21:08:33  <rphillips>gotcha
21:08:34  <creationix>./modules, ../modules, ../../modules, .. /modules
21:08:43  <rphillips>bundle:/virgo/connection seems to work
21:08:52  <creationix>does it work without the leading slash?
21:08:56  <creationix>I think both should work
21:09:21  <rphillips>no... https://gist.github.com/rphillips/5bfeaafc3bb8095ab060
21:09:30  <rphillips>it doesn't recurse down to the parent
21:09:55  <creationix>I see
21:10:56  * torporjoined
21:15:16  <rphillips>this loop seems like the bug https://github.com/luvit/luvit/blob/dns_support/app/modules/require.lua#L100
21:17:24  <creationix>no, the modules search path is correct. What I didn’t expect is “bundle:virgo” to be treated like a “modules” require
21:17:57  <creationix>I think the behavior is correct. The prefixes works a lot like windows drive paths
21:18:04  <creationix>C:foo is not the same as C:\foo
21:18:23  <creationix>there are environment variables in windows to show the cwd for each drive
21:18:30  <creationix>same idea here with the prefixes
21:18:41  <creationix>use bundle:/virgo when you’re outside the bundle
21:19:21  <rphillips>k
21:19:48  <rphillips>isn't that inside the bundle though?
21:19:58  <creationix>where are you requireing from?
21:20:08  * torporquit (Quit: Leaving.)
21:20:09  <creationix>the repl’s require lives outside the bundle
21:20:12  <rphillips>i'm trying it from the repl
21:20:15  <rphillips>gotcha
21:21:10  <creationix>hmm, maybe not https://github.com/luvit/luvit/blob/luvi-up/app/main.lua#L25
21:21:31  <creationix>looks like global require is relative to main in the bundle
21:21:37  <creationix>I think that’s the require the repl uses
21:21:55  <creationix>does “./virgo” work?
21:22:06  <creationix>that would be how you require it from main.lua
21:22:58  <creationix>where should the repl require from? I was thinking the least suprize would be to require relative to cwd in the outside filesystem
21:23:05  <creationix>that’s what node does IIRC
21:26:38  <rphillips>https://gist.github.com/rphillips/359765b582f79a01c55a
21:27:12  <rphillips>ok. the latest file name with this script wins
21:27:47  <rphillips>so app/main.lua and virgo-base/app/main.lua , the virgo-base one wins because it's directory is 2nd
21:30:41  <rphillips>https://github.com/virgo-agent-toolkit/virgo-base-agent/tree/luvi-up
21:30:54  <rphillips>still cleaning up
21:30:58  <creationix>cool
21:31:42  <creationix>Should we make luvit’s main just a shell that calls a library for people who want to modify main, but keep some of it’s functionality?
21:33:05  * a_lequit (Ping timeout: 265 seconds)
21:33:40  <rphillips>yeah, that would be nice
21:35:11  * a_lejoined
21:36:49  * UniOnjoined
21:45:45  <creationix>I’m slowly wrapping my head around coroutines https://github.com/luvit/luvit/blob/tls-codec/app/modules/codecs/tls.lua
21:45:56  <creationix>it’s cleaner than callbacks, but a very different way to think
21:47:17  <creationix>rphillips: my new tls code works mostly. Handshake completes , my request is sent to the remote https server and I get the first packed of real response data through, but it just hangs after that
21:47:32  <rphillips>hmm
21:47:36  <creationix>(btw, my callback code before did the same thing)
21:48:00  <rphillips>perhaps the http connection is set to keepalive?
21:48:43  <creationix>I mean it hangs before I get the entire http response
21:48:49  <creationix>I only get the first chunk of index.html
21:49:24  <creationix>my test takes keepalive into account and closes the socket when the entire body is read. https://github.com/luvit/luvit/blob/tls-codec/tests/test-tls-codec.lua#L63
21:49:27  * a_lequit (Ping timeout: 265 seconds)
21:49:30  <creationix>it just never gets that far
21:50:11  * a_lejoined
21:50:57  * travis-cijoined
21:50:57  <travis-ci>luvit/luvit#1154 (tls-codec - 7ad200b : Tim Caswell): The build passed.
21:50:57  <travis-ci>Change view : https://github.com/luvit/luvit/compare/79c96cf9ea52...7ad200b8432c
21:50:57  <travis-ci>Build details : http://travis-ci.org/luvit/luvit/builds/40936277
21:50:57  * travis-cipart
21:51:56  <creationix>maybe there is more to the protocol after handshake?
21:53:27  <rphillips>just ssl_write/ssl_read
21:54:32  <creationix>does the tcp socket need nagle disabled maybe?
21:54:44  <creationix>not sure why that would pause on reading though
21:55:30  <creationix>hmm, I get some of the data after a long timeout
21:56:04  <creationix>about 73 seconds
21:58:30  <creationix>yeah, it looks like the test does eventually finish on travis https://travis-ci.org/luvit/luvit
21:58:51  <creationix>about 70 seconds longer than usual
22:05:12  * typedlambdaquit (Ping timeout: 250 seconds)
22:08:17  * a_lequit (Ping timeout: 272 seconds)
22:33:20  <creationix>strange, according to wireshark, I get a TLSv1.2 Encrypted Alert exactly 75 seconds after the stall, at which point the data resumes and it finished
22:33:22  <creationix>*finishes
22:56:27  <creationix>ok, so the server sends all the data at first
22:56:37  <creationix>but openssl is hanging onto the second half of the body
22:56:48  <creationix>it doesn’t emit it till end server-sent timeout alert kicks it out
23:04:15  <rphillips>luvit-async works without modification
23:16:42  <creationix>nice
23:20:31  <creationix>ok, fixed it. reading pending on the bio is the wrong way to use it
23:20:39  <creationix>you need to just keep calling ssl:read till nothing comes out
23:26:12  <creationix>rphillips: Ready https://github.com/luvit/luvit/pull/531
23:27:11  <rphillips>i think we need an luvit-init to setup globals
23:27:21  <rphillips>process, p(), etc
23:27:36  * travis-cijoined
23:27:37  <travis-ci>luvit/luvit#1155 (tls-codec - 5bb5aad : Tim Caswell): The build passed.
23:27:37  <travis-ci>Change view : https://github.com/luvit/luvit/compare/7ad200b8432c...5bb5aad45005
23:27:37  <travis-ci>Build details : http://travis-ci.org/luvit/luvit/builds/40945296
23:27:37  * travis-cipart
23:29:15  <rphillips>https://github.com/luvit/luvit/pull/531/files#diff-90031d60c75f1ba279c5bb26e1c053f4R22
23:29:25  <rphillips>this returns a function?
23:30:09  <rphillips>oh i see
23:31:00  <rphillips>dinner... i'll review it after... looks good
23:39:11  <creationix>yep, returning a non-nil value is the same as setting module.exports
23:40:29  <creationix>it’s used here https://github.com/luvit/luvit/pull/531/files#diff-3326c101a51d89bc1293c82be6ad6090R51
23:46:18  <creationix>also your dns PR looks good to pull
23:49:56  <rphillips>sweet
23:52:42  <rphillips>I think layers would be nice.
23:52:56  <rphillips>in the zip. thinking on it
23:53:03  <creationix>ok