New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Telemetry #247

Closed
wants to merge 6 commits into
from

Conversation

Projects
None yet
5 participants
@omefire
Contributor

omefire commented May 2, 2016

Here is the related proposal: apache/cordova-discuss#43

@omefire

This comment has been minimized.

Show comment
Hide comment
@omefire

omefire May 8, 2016

Contributor

This code relies on the insight package: https://www.npmjs.com/package/insight
However, due to a bug within insight, when the command prompt timeout expires, it won't automatically opt the user out, leading to the prompt being displayed again the next time cordova is run.

I have a patch to fix this issue here:
yeoman/insight#47

Use the patch to test this PR.

Contributor

omefire commented May 8, 2016

This code relies on the insight package: https://www.npmjs.com/package/insight
However, due to a bug within insight, when the command prompt timeout expires, it won't automatically opt the user out, leading to the prompt being displayed again the next time cordova is run.

I have a patch to fix this issue here:
yeoman/insight#47

Use the patch to test this PR.

@csantanapr

This comment has been minimized.

Show comment
Hide comment
@csantanapr

csantanapr May 9, 2016

Contributor

LGTM

Contributor

csantanapr commented May 9, 2016

LGTM

@stevengill

This comment has been minimized.

Show comment
Hide comment
@stevengill

stevengill May 10, 2016

Contributor

LGTM!!

Contributor

stevengill commented May 10, 2016

LGTM!!

Show outdated Hide outdated doc/cordova.txt
cordova-cli telemetry on
cordova-cli telemetry off
cordova-cli build --no-telemetry

This comment has been minimized.

@nikhilkh

nikhilkh May 10, 2016

Contributor

These examples are not necessarily needed here as they are simple and not common scenarios - it will be nice to keep this output as small as it could be.

@nikhilkh

nikhilkh May 10, 2016

Contributor

These examples are not necessarily needed here as they are simple and not common scenarios - it will be nice to keep this output as small as it could be.

Show outdated Hide outdated doc/cordova.txt
@@ -23,6 +23,12 @@ Project Commands
serve .............................. Run project with a local webserver
(including prepare)
Telemetry Commands
telemetry on ....................... Turn telemetry collection on

This comment has been minimized.

@nikhilkh

nikhilkh May 10, 2016

Contributor

Sounds like telemetry is a "global command" and should go along with create & help. All details about telemetry command e.g. privacy notice, on/off should not be specified here. The goal of this top level help is to be succinct without going into details.

@nikhilkh

nikhilkh May 10, 2016

Contributor

Sounds like telemetry is a "global command" and should go along with create & help. All details about telemetry command e.g. privacy notice, on/off should not be specified here. The goal of this top level help is to be succinct without going into details.

This comment has been minimized.

@nikhilkh

nikhilkh May 10, 2016

Contributor

Also, we need to document these commands and options here: https://github.com/apache/cordova-cli/blob/master/doc/readme.md

@nikhilkh

nikhilkh May 10, 2016

Contributor

Also, we need to document these commands and options here: https://github.com/apache/cordova-cli/blob/master/doc/readme.md

off ...................... Turns telemetry collection off
Details
A timed prompt asking the user to opt-in or out is displayed the first time cordova is run.

This comment has been minimized.

@nikhilkh

nikhilkh May 10, 2016

Contributor

Can omit "or out"

@nikhilkh

nikhilkh May 10, 2016

Contributor

Can omit "or out"

This comment has been minimized.

@omefire

omefire May 10, 2016

Contributor

It reinforces that they are making a choice, they have options.

@omefire

omefire May 10, 2016

Contributor

It reinforces that they are making a choice, they have options.

Show outdated Hide outdated doc/telemetry.txt
A timed prompt asking the user to opt-in or out is displayed the first time cordova is run.
It lasts for 30 seconds, after which the user is automatically opted-out if he doesn't provide any answer.
In CI environments, the `CI` environment variable can be set, which will prevent the prompt from showing up.
Telemetry collection can also be turned off on a single command by using the `--no-telemetry-flag`.

This comment has been minimized.

@nikhilkh

nikhilkh May 10, 2016

Contributor

I believe you meant --no-telemetry flag

@nikhilkh

nikhilkh May 10, 2016

Contributor

I believe you meant --no-telemetry flag

Show outdated Hide outdated doc/telemetry.txt
cordova-cli build --no-telemetry
For details, see our privacy notice: https://cordova.apache.org/privacy-notice.html
and the proposal: https://github.com/cordova/cordova-discuss/pull/43

This comment has been minimized.

@nikhilkh

nikhilkh May 10, 2016

Contributor

Best not to reference the pull request here which will get closed and the doc itself will eventually get updated.

@nikhilkh

nikhilkh May 10, 2016

Contributor

Best not to reference the pull request here which will get closed and the doc itself will eventually get updated.

Show outdated Hide outdated spec/cli.spec.js
cli(["node", "cordova", "-v"]).then(function() {
expect(console.log.mostRecentCall.args[0]).toMatch(version);
done();
}).fail(function() {

This comment has been minimized.

@nikhilkh

nikhilkh May 10, 2016

Contributor

Can you elaborate why these tests had to be changed and made async?

@nikhilkh

nikhilkh May 10, 2016

Contributor

Can you elaborate why these tests had to be changed and made async?

This comment has been minimized.

@omefire

omefire May 10, 2016

Contributor

They have changed because telemetry.showPrompt() is async, therefore the return of cli turned into async, and the tests had to be updated to reflect that.

@omefire

omefire May 10, 2016

Contributor

They have changed because telemetry.showPrompt() is async, therefore the return of cli turned into async, and the tests had to be updated to reflect that.

* Has the user already answered the telemetry prompt? (thereby opting in or out?)
*/
function hasUserOptedInOrOut() {
return !(insight.optOut === undefined);

This comment has been minimized.

@nikhilkh

nikhilkh May 10, 2016

Contributor

to test for undefined in javascript you have to use typeof - http://stackoverflow.com/questions/3390396/how-to-check-for-undefined-in-javascript

@nikhilkh

nikhilkh May 10, 2016

Contributor

to test for undefined in javascript you have to use typeof - http://stackoverflow.com/questions/3390396/how-to-check-for-undefined-in-javascript

This comment has been minimized.

@omefire

omefire May 10, 2016

Contributor

Quesiton: Why do we 'have' to use 'typeof' ? According to the same link, it seems like this way is fine as well, with the difference between the two being that one throws when the variable is undeclared.

@omefire

omefire May 10, 2016

Contributor

Quesiton: Why do we 'have' to use 'typeof' ? According to the same link, it seems like this way is fine as well, with the difference between the two being that one throws when the variable is undeclared.

This comment has been minimized.

@purplecabbage

purplecabbage May 10, 2016

Contributor

the typeof === discussion is a matter of preference, I personally have never had an issue with
if (x) { // do something } so I can check for null at the same time as I typically set js vars to null, but I am a freak.
As long as you are sure that the value will never actually be null, this should be fine; otherwise change it to == for a simple truthy comparison.
There is however an anti-pattern that is not obvious here. A boolean is being used to hold 3 values, no-answer, user-opted-in, user-opted-out. When I see return !(insight.optOut === undefined); my immediate thought would be to correct it to return (insight.optOut !== undefined ) which is not exactly the same meaning.
I would prefer 2 bools in this case. Something like: if( wasPrompted && isOptedIn ) ...
... but again, preference.

@purplecabbage

purplecabbage May 10, 2016

Contributor

the typeof === discussion is a matter of preference, I personally have never had an issue with
if (x) { // do something } so I can check for null at the same time as I typically set js vars to null, but I am a freak.
As long as you are sure that the value will never actually be null, this should be fine; otherwise change it to == for a simple truthy comparison.
There is however an anti-pattern that is not obvious here. A boolean is being used to hold 3 values, no-answer, user-opted-in, user-opted-out. When I see return !(insight.optOut === undefined); my immediate thought would be to correct it to return (insight.optOut !== undefined ) which is not exactly the same meaning.
I would prefer 2 bools in this case. Something like: if( wasPrompted && isOptedIn ) ...
... but again, preference.

This comment has been minimized.

@nikhilkh

nikhilkh May 10, 2016

Contributor

undefined in JavaScript can be redefined to anything. typeof prevents that from having an effect

typeof insight.optOut !== "undefined"

@nikhilkh

nikhilkh May 10, 2016

Contributor

undefined in JavaScript can be redefined to anything. typeof prevents that from having an effect

typeof insight.optOut !== "undefined"

This comment has been minimized.

@purplecabbage

purplecabbage May 10, 2016

Contributor
> typeof null === 'undefined'
< false

My concern is only for clarity of intent. If someone decides to redefine undefined, I would think things will break all over.

@purplecabbage

purplecabbage May 10, 2016

Contributor
> typeof null === 'undefined'
< false

My concern is only for clarity of intent. If someone decides to redefine undefined, I would think things will break all over.

This comment has been minimized.

@omefire

omefire May 11, 2016

Contributor

If undefined was to be redefined, that wouldn't be our biggest concern. Plus, modern webviews/browsers don't allow that anymore.

@omefire

omefire May 11, 2016

Contributor

If undefined was to be redefined, that wouldn't be our biggest concern. Plus, modern webviews/browsers don't allow that anymore.

});
if (someChecksFailed) throw new CordovaError('Some of requirements check failed');
}).done();

This comment has been minimized.

@nikhilkh

nikhilkh May 10, 2016

Contributor

Looks like you end up removing "done()" - does that not cause us to lose exceptions?

@nikhilkh

nikhilkh May 10, 2016

Contributor

Looks like you end up removing "done()" - does that not cause us to lose exceptions?

This comment has been minimized.

@omefire

omefire May 11, 2016

Contributor

Good point. This will end up requiring a rework of how the tests are structured, since calling done() will end the promise chain.

@omefire

omefire May 11, 2016

Contributor

Good point. This will end up requiring a rework of how the tests are structured, since calling done() will end the promise chain.

This comment has been minimized.

@omefire

omefire May 11, 2016

Contributor

I've refactored and introduced done() into the main function. This required introducing a callback into the main/exported function for testing purposes.

@omefire

omefire May 11, 2016

Contributor

I've refactored and introduced done() into the main function. This required introducing a callback into the main/exported function for testing purposes.

Show outdated Hide outdated src/cli.js
if (shouldCollectTelemetry) {
telemetry.track(cmd, result.isFulfilled() ? 'successful' : 'unsuccessful');
}
return result;

This comment has been minimized.

@nikhilkh

nikhilkh May 10, 2016

Contributor

why return result? - also, this is not being done consistently.

@nikhilkh

nikhilkh May 10, 2016

Contributor

why return result? - also, this is not being done consistently.

This comment has been minimized.

@omefire

omefire May 11, 2016

Contributor

returning result is done for consistency's sake.

@omefire

omefire May 11, 2016

Contributor

returning result is done for consistency's sake.

Show outdated Hide outdated src/cli.js
create();
var result = create();
return result.finally(function() {
if (shouldCollectTelemetry) {

This comment has been minimized.

@nikhilkh

nikhilkh May 10, 2016

Contributor

Instead of duplicating this code - consider the caller taking the promise and calling "finally" and recording telemetry calling "done()"

@nikhilkh

nikhilkh May 10, 2016

Contributor

Instead of duplicating this code - consider the caller taking the promise and calling "finally" and recording telemetry calling "done()"

This comment has been minimized.

@omefire

omefire May 11, 2016

Contributor

As discussed offline, I'm going ahead with this refactoring. but it will require retesting the whole CLI as it affects everything. Looking at things from the benefits/costs perspective, I'm not sure if that's the best route, but let's do it ...

@omefire

omefire May 11, 2016

Contributor

As discussed offline, I'm going ahead with this refactoring. but it will require retesting the whole CLI as it affects everything. Looking at things from the benefits/costs perspective, I'm not sure if that's the best route, but let's do it ...

Show outdated Hide outdated src/telemetry.js
insight.askPermission(msg, function (unused, optIn) {
var EOL = require('os').EOL;
if (optIn) {
console.log(EOL + "Thanks for opting into telemetry to help us better cordova");

This comment has been minimized.

@nikhilkh

nikhilkh May 10, 2016

Contributor

better = improve. Also end with a period.

@nikhilkh

nikhilkh May 10, 2016

Contributor

better = improve. Also end with a period.

Show outdated Hide outdated src/telemetry.js
if (optIn) {
console.log(EOL + "Thanks for opting into telemetry to help us better cordova");
} else {
console.log(EOL + "You have been opted out of telemetry. To change this, run: cordova telemetry on");

This comment has been minimized.

@nikhilkh

nikhilkh May 10, 2016

Contributor

End with a period.

@nikhilkh

nikhilkh May 10, 2016

Contributor

End with a period.

Show outdated Hide outdated src/cli.js
var result = cordova.raw.serve(port);
return result.finally(function() {
if(shouldCollectTelemetry) {
telemetry.track(cmd, result.isFulfilled() ? 'successful' : 'unsuccessful');

This comment has been minimized.

@nikhilkh

nikhilkh May 10, 2016

Contributor

Looks like "track" itself checks if telemetry should should be collected - why should every calling point also check?

@nikhilkh

nikhilkh May 10, 2016

Contributor

Looks like "track" itself checks if telemetry should should be collected - why should every calling point also check?

@omefire

This comment has been minimized.

Show comment
Hide comment
Contributor

omefire commented May 10, 2016

Show outdated Hide outdated doc/cordova.txt
@@ -21,7 +23,7 @@ Project Commands
run ................................ Run project
(including prepare && compile)
serve .............................. Run project with a local webserver
(including prepare)
(including prepare)

This comment has been minimized.

@nikhilkh

nikhilkh May 11, 2016

Contributor

Trailing spaces after (including prepare).

@nikhilkh

nikhilkh May 11, 2016

Contributor

Trailing spaces after (including prepare).

Show outdated Hide outdated doc/cordova.txt
@@ -5,6 +5,8 @@ Synopsis
Global Commands
create ............................. Create a project
help ............................... Get help for a command
telemetry on ....................... Turn telemetry collection on

This comment has been minimized.

@nikhilkh

nikhilkh May 11, 2016

Contributor

Like other commands - let's not list sub-commands like on and off.

@nikhilkh

nikhilkh May 11, 2016

Contributor

Like other commands - let's not list sub-commands like on and off.

@omefire

This comment has been minimized.

Show comment
Hide comment
@omefire

omefire May 12, 2016

Contributor

ping ...

Contributor

omefire commented May 12, 2016

ping ...

@csantanapr

This comment has been minimized.

Show comment
Hide comment
@csantanapr

csantanapr May 12, 2016

Contributor

I have one question, maybe I missed it in discussion why is this implemented in CLI and not LIB

I think it make more sense to implement in the top level of API entry points in LIB like create platform plugin etc.

In LIB will be disable by default
CLI will call API with new parameter to enable telemetry
CLI telemetry will
Be enable by default and CLI will offer user a CLI flag and env to disable telemetry

Contributor

csantanapr commented May 12, 2016

I have one question, maybe I missed it in discussion why is this implemented in CLI and not LIB

I think it make more sense to implement in the top level of API entry points in LIB like create platform plugin etc.

In LIB will be disable by default
CLI will call API with new parameter to enable telemetry
CLI telemetry will
Be enable by default and CLI will offer user a CLI flag and env to disable telemetry

@purplecabbage

This comment has been minimized.

Show comment
Hide comment
@purplecabbage

purplecabbage May 12, 2016

Contributor

Other CLIs that use lib (as a lib) would not want this code. Off by default is interesting, but I think this is cleaner, and it's done.

On May 12, 2016, at 3:12 AM, Carlos Santana notifications@github.com wrote:

I have one question, maybe I missed it in discussion why is this implemented in CLI and not LIB

I think it make more sense to implement in the top level of API entry points in LIB like create platform plugin etc.

In LIB will be disable by default
CLI will call API with new parameter to enable telemetry
CLI telemetry will
Be enable by default and CLI will offer user a CLI flag and env to disable telemetry


You are receiving this because you commented.
Reply to this email directly or view it on GitHub

Contributor

purplecabbage commented May 12, 2016

Other CLIs that use lib (as a lib) would not want this code. Off by default is interesting, but I think this is cleaner, and it's done.

On May 12, 2016, at 3:12 AM, Carlos Santana notifications@github.com wrote:

I have one question, maybe I missed it in discussion why is this implemented in CLI and not LIB

I think it make more sense to implement in the top level of API entry points in LIB like create platform plugin etc.

In LIB will be disable by default
CLI will call API with new parameter to enable telemetry
CLI telemetry will
Be enable by default and CLI will offer user a CLI flag and env to disable telemetry


You are receiving this because you commented.
Reply to this email directly or view it on GitHub

@@ -5,6 +5,7 @@ Synopsis
Global Commands
create ............................. Create a project
help ............................... Get help for a command
telemetry .......................... Turn telemetry collection on or off

This comment has been minimized.

@nikhilkh

nikhilkh May 12, 2016

Contributor

The CLI reference docs need an update.

@nikhilkh

nikhilkh May 12, 2016

Contributor

The CLI reference docs need an update.

This comment has been minimized.

@omefire

omefire May 12, 2016

Contributor

Hmm, I thought it was generated from these files. Anyway, it's been updated.

@omefire

omefire May 12, 2016

Contributor

Hmm, I thought it was generated from these files. Anyway, it's been updated.

This comment has been minimized.

@nikhilkh

nikhilkh May 12, 2016

Contributor

They live in doc/readme.md.

@nikhilkh

nikhilkh May 12, 2016

Contributor

They live in doc/readme.md.

This comment has been minimized.

@omefire

omefire May 12, 2016

Contributor

Yes, I've already updated it and pushed to this PR. thanks.

@omefire

omefire May 12, 2016

Contributor

Yes, I've already updated it and pushed to this PR. thanks.

insight.askPermission(msg, function (unused, optIn) {
var EOL = require('os').EOL;
if (optIn) {
console.log(EOL + "Thanks for opting into telemetry to help us improve cordova.");

This comment has been minimized.

@nikhilkh

nikhilkh May 12, 2016

Contributor

Perhaps we should log opt-ins too. It will help us determine opt-in % easily.

@nikhilkh

nikhilkh May 12, 2016

Contributor

Perhaps we should log opt-ins too. It will help us determine opt-in % easily.

This comment has been minimized.

@omefire

omefire May 12, 2016

Contributor

We can derive this percentage, noo ?

@omefire

omefire May 12, 2016

Contributor

We can derive this percentage, noo ?

This comment has been minimized.

@omefire

omefire May 12, 2016

Contributor

Updated!

@omefire

omefire May 12, 2016

Contributor

Updated!

@omefire

This comment has been minimized.

Show comment
Hide comment
@omefire

omefire May 12, 2016

Contributor

I have one question, maybe I missed it in discussion why is this implemented in CLI and not LIB

I think it make more sense to implement in the top level of API entry points in LIB like create platform > plugin etc.

In LIB will be disable by default
CLI will call API with new parameter to enable telemetry
CLI telemetry will
Be enable by default and CLI will offer user a CLI flag and env to disable telemetry

I first wanted to go that route, but I then realized doing it in CLI minimizes polluting LIB for a functionality that's not intended to be used by downstream tools. It seems cleaner to handle it here, as mentioned by @purplecabbage

Contributor

omefire commented May 12, 2016

I have one question, maybe I missed it in discussion why is this implemented in CLI and not LIB

I think it make more sense to implement in the top level of API entry points in LIB like create platform > plugin etc.

In LIB will be disable by default
CLI will call API with new parameter to enable telemetry
CLI telemetry will
Be enable by default and CLI will offer user a CLI flag and env to disable telemetry

I first wanted to go that route, but I then realized doing it in CLI minimizes polluting LIB for a functionality that's not intended to be used by downstream tools. It seems cleaner to handle it here, as mentioned by @purplecabbage

@csantanapr

This comment has been minimized.

Show comment
Hide comment
@csantanapr

csantanapr May 12, 2016

Contributor

Sounds good to me to proceed then, it was a random idea

Contributor

csantanapr commented May 12, 2016

Sounds good to me to proceed then, it was a random idea

@nikhilkh

This comment has been minimized.

Show comment
Hide comment
@nikhilkh

nikhilkh May 12, 2016

Contributor

LGTM

Contributor

nikhilkh commented May 12, 2016

LGTM

@asfgit asfgit closed this in 94190b8 May 12, 2016

@purplecabbage

This comment has been minimized.

Show comment
Hide comment
@purplecabbage

purplecabbage May 14, 2016

Contributor

Was there ever a specific Jira issue for adding telemetry? I don't see it.
I think we need to revisit some of the output/prompt formatting, here is what I just saw:

dline2@1.0.1, run-async@0.1.0, lodash@3.10.1)
/usr/local/bin/cordova -> /usr/local/lib/node_modules/cordova/bin/cordova
? May Cordova anonymously report usage statistics to improve the tool over time? Yes
(Y/n) Yrdova anonymously report usage
Thanks for opting into telemetry to help us improve cordova.
6.2.1-dev (cordova-lib@6.2.1-dev)
jessem-osx:cordova-cli jessem$

Multiple overlapping lines, could be a bash issue as well.

Contributor

purplecabbage commented May 14, 2016

Was there ever a specific Jira issue for adding telemetry? I don't see it.
I think we need to revisit some of the output/prompt formatting, here is what I just saw:

dline2@1.0.1, run-async@0.1.0, lodash@3.10.1)
/usr/local/bin/cordova -> /usr/local/lib/node_modules/cordova/bin/cordova
? May Cordova anonymously report usage statistics to improve the tool over time? Yes
(Y/n) Yrdova anonymously report usage
Thanks for opting into telemetry to help us improve cordova.
6.2.1-dev (cordova-lib@6.2.1-dev)
jessem-osx:cordova-cli jessem$

Multiple overlapping lines, could be a bash issue as well.

@nikhilkh

This comment has been minimized.

Show comment
Hide comment
@nikhilkh

nikhilkh May 16, 2016

Contributor

@omefire Can you please take a look into this?

Contributor

nikhilkh commented May 16, 2016

@omefire Can you please take a look into this?

@omefire

This comment has been minimized.

Show comment
Hide comment
@omefire

omefire May 16, 2016

Contributor

@purplecabbage, I didn't create a JIRA issue to track the telemetry work, I should have. It was an oversight on my part. My bad.

I've tested this on MAC(El Capitan) and Windows10, but couldn't repro your issue.
What OS are you using ? I suspect this could be an issue with bash. I checked and couldn't find any such issue reported for inquirer, the underlying package that handles this.

Contributor

omefire commented May 16, 2016

@purplecabbage, I didn't create a JIRA issue to track the telemetry work, I should have. It was an oversight on my part. My bad.

I've tested this on MAC(El Capitan) and Windows10, but couldn't repro your issue.
What OS are you using ? I suspect this could be an issue with bash. I checked and couldn't find any such issue reported for inquirer, the underlying package that handles this.

@purplecabbage

This comment has been minimized.

Show comment
Hide comment
@purplecabbage

purplecabbage May 16, 2016

Contributor

I am using windows 10, but I typically use the git-bash shell which may be
why we aren't seeing the same things.

@purplecabbage
risingj.com

On Mon, May 16, 2016 at 10:52 AM, Omar Mefire notifications@github.com
wrote:

@purplecabbage https://github.com/purplecabbage, I didn't create a JIRA
issue to track the telemetry work, I should have. My bad.
I've tested this on MAC(El Capitan) and Windows10, but couldn't repro your
issue.
What OS are you using ? I suspect this could be an issue with bash. I
checked and couldn't find any such issue reported for inquirer, the
underlying package that handles this.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
#247 (comment)

Contributor

purplecabbage commented May 16, 2016

I am using windows 10, but I typically use the git-bash shell which may be
why we aren't seeing the same things.

@purplecabbage
risingj.com

On Mon, May 16, 2016 at 10:52 AM, Omar Mefire notifications@github.com
wrote:

@purplecabbage https://github.com/purplecabbage, I didn't create a JIRA
issue to track the telemetry work, I should have. My bad.
I've tested this on MAC(El Capitan) and Windows10, but couldn't repro your
issue.
What OS are you using ? I suspect this could be an issue with bash. I
checked and couldn't find any such issue reported for inquirer, the
underlying package that handles this.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
#247 (comment)

@omefire

This comment has been minimized.

Show comment
Hide comment
@omefire

omefire May 16, 2016

Contributor

@purplecabbage , I can't repro this with git-bash shell on Win10 because I'm running into another issue: nodejs/node#3006

The gist of my issue is that the process is not recognized to be running as TTY, which leads to insight ending the process and opting out:

Furthermore, commenting that code out, leads to yet another error: SBoudrias/Inquirer.js#290

Insight, which we depend on doesn't play well with git-bash/MinGW.

Contributor

omefire commented May 16, 2016

@purplecabbage , I can't repro this with git-bash shell on Win10 because I'm running into another issue: nodejs/node#3006

The gist of my issue is that the process is not recognized to be running as TTY, which leads to insight ending the process and opting out:

Furthermore, commenting that code out, leads to yet another error: SBoudrias/Inquirer.js#290

Insight, which we depend on doesn't play well with git-bash/MinGW.

@omefire

This comment has been minimized.

Show comment
Hide comment
@omefire

omefire May 16, 2016

Contributor

@purplecabbage , could you please file a JIRA issue for what you've encountered ?
I just did the same for the issues I just mentioned: https://issues.apache.org/jira/browse/CB-11276

Contributor

omefire commented May 16, 2016

@purplecabbage , could you please file a JIRA issue for what you've encountered ?
I just did the same for the issues I just mentioned: https://issues.apache.org/jira/browse/CB-11276

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment