These are chat archives for rosshinkley/nightmare

26th
Apr 2016
Rob Brackett
@Mr0grog
Apr 26 2016 18:16
@rosshinkley V3 branching: I don’t have a strong feeling either way, but no reason to rock the boat, if the process has been master = shipping and another branch is vNext, just keep rolling w/ it
Ross Hinkley
@rosshinkley
Apr 26 2016 18:16
right on
only gets nasty if we ever want to merge v3 to master and the versions have diverged
rosshinkley @rosshinkley shrugs
Rob Brackett
@Mr0grog
Apr 26 2016 18:17
I would just as soon reserve v3 for breaking things, though
like, the safe IPC thing isn’t breaking
why hold it back?
unless you want to change the API design to break, which is fine
rosshinkley @rosshinkley thinks
Ross Hinkley
@rosshinkley
Apr 26 2016 18:18
that's a good question
Rob Brackett
@Mr0grog
Apr 26 2016 18:18
some are
I think, potentially, a lot of things on #593 aren’t breaking
Ross Hinkley
@rosshinkley
Apr 26 2016 18:18
in the original incarnation of wholesale replacing emit an on (i think), that would have been not great
queue safety isn't
the multiple window management might be
Rob Brackett
@Mr0grog
Apr 26 2016 18:20
TBH I’m more focused on wanting to fix stability/reliability issues than new stuff
Ross Hinkley
@rosshinkley
Apr 26 2016 18:20
i agree
and i'd argue that everything in 593 is aiming to that goal
although the windowmanagement stuff is kind of borderline
Rob Brackett
@Mr0grog
Apr 26 2016 18:21
so I’d just say: if making something more stable doesn’t require breaking things or adding vastly new API, I’d just as soon go to 2.x+1 rather than 3
Ross Hinkley
@rosshinkley
Apr 26 2016 18:22
yep
your skilled reasoning has convinced me
Rob Brackett
@Mr0grog
Apr 26 2016 18:22
heh
it may be that the queuing stuff goes that way
I need to find time to come back round to it
Ross Hinkley
@rosshinkley
Apr 26 2016 18:23
that i can identify with
by the by, while i have your attention, re segmentio/nightmare#600
... now you have me doubting myself, but isn't that how electron exposes versions?
how i have it, i mean
i am pretty sure i made a passing attempt to make the look and feel simialr
... similar even
Rob Brackett
@Mr0grog
Apr 26 2016 18:26
oh
Ross Hinkley
@rosshinkley
Apr 26 2016 18:26
(trying to find the documentation in an ocean of tabs)
Rob Brackett
@Mr0grog
Apr 26 2016 18:26
well, I’d say Electron’s method is kind of funky, but it’s also allowed to be a little funky since it’s the environment as opposed to a library
library-wise, I think lib.version or lib.VERSION is pretty standard and typical, so I’d think that would be a good thing to follow
Ross Hinkley
@rosshinkley
Apr 26 2016 18:27
fair enough
when i get back, i will do just that
i need to embark on errand runnning
Rob Brackett
@Mr0grog
Apr 26 2016 18:28
and then supply the electron/chromium info separately
Nightmare.version is just a string, Nightmare.versions or Nightmare.engineVersions is an object with all three
that would be my thinking
Ross Hinkley
@rosshinkley
Apr 26 2016 18:29
sounds fine to me
:)
Rob Brackett
@Mr0grog
Apr 26 2016 18:29
the I’m-not-sure/it’s-edgy part for me is whether that last should just be a getter (and therefore sync)
it’s not a big deal if you’re just using it for debugging
and it’s helpful if you are using it to branch logic
but, blocking
anyway, I don’t think any of it is that big a deal, and I certainly don’t want to manage from the crowd here
Ross Hinkley
@rosshinkley
Apr 26 2016 18:31
your input is warmly welcome for sure
you say it "should be a getter"
Rob Brackett
@Mr0grog
Apr 26 2016 18:33
yeah, so I can if (Nightmare.versions.chrome === 'x') { something() }
Ross Hinkley
@rosshinkley
Apr 26 2016 18:33
that data is still set async, though
Rob Brackett
@Mr0grog
Apr 26 2016 18:33
yeah, but you can execSync() to get it
Ross Hinkley
@rosshinkley
Apr 26 2016 18:34
egads man
you're talking about a dummy instance of electron, yes?
just to get the versions?
Rob Brackett
@Mr0grog
Apr 26 2016 18:34
Well, you have to do something to get the versions
Ross Hinkley
@rosshinkley
Apr 26 2016 18:35
fact
Rob Brackett
@Mr0grog
Apr 26 2016 18:35
you could start one and hold it in reserve, I guess
Ross Hinkley
@rosshinkley
Apr 26 2016 18:35
honestly, exec'ing another instance would not have occurred to me
Rob Brackett
@Mr0grog
Apr 26 2016 18:35
then you need a whole mechanism for handing it off
Ross Hinkley
@rosshinkley
Apr 26 2016 18:36
that... actually isn't the worst idea
if you're using nightmare, you already are forfeiting a desire for speed anyway
:P
Rob Brackett
@Mr0grog
Apr 26 2016 18:36
obviously, either way, no need to do any of that if a process has already been started; then you have the info already at hand and cached
hahahaha
very true
Ross Hinkley
@rosshinkley
Apr 26 2016 18:36
and if the execsync is contained inside the getter...
and then cached...
rosshinkley @rosshinkley strokeybeards
Rob Brackett
@Mr0grog
Apr 26 2016 18:37
runner.js would probably just check for an arg like --versions and print the versions JSON then quit
Ross Hinkley
@rosshinkley
Apr 26 2016 18:37
yeah
and then have the stdout pipe through json.parse or something?
i think i'm picking up what you're putting down
Rob Brackett
@Mr0grog
Apr 26 2016 18:38
yeah, sure
not really any need to pipe at that point, I think
Ross Hinkley
@rosshinkley
Apr 26 2016 18:38
well... "pipe"
Rob Brackett
@Mr0grog
Apr 26 2016 18:39
In theory the only output you’re going to get is the JSON
Ross Hinkley
@rosshinkley
Apr 26 2016 18:39
bad use of nomenclature on my part
Rob Brackett
@Mr0grog
Apr 26 2016 18:39
heh
Ross Hinkley
@rosshinkley
Apr 26 2016 18:39
"use"
probably would have been a better choice
anyway!
upon my return i will try to address those things
thanks!
:)
Rob Brackett
@Mr0grog
Apr 26 2016 18:40
np