[
https://issues.apache.org/jira/browse/CB-14198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16724862#comment-16724862
]
ASF subversion and git services commented on CB-14198:
------------------------------------------------------
Commit 7a9c60ff8531c6b3b553577e844020305e3ebdb0 in cordova-serve's branch
refs/heads/master from Yuri Skorokhodov
[ https://gitbox.apache.org/repos/asf?p=cordova-serve.git;h=7a9c60f ]
CB-14198: (all) Fix bug when running simulate --target= under non-US Windows 10
(#14)
* CB-14198: (all) Fix bug when running simulate --target= under non-US Windows
10
- change regex to parse stdout from reg.exe for browser recognition to be
language independent
- Add tests for regItemPattern check, enhanced regexp pattern to avoid
regression in the future
- Add "var" keyword to the "result" variable declaration
- Add test for non-latin registry key (Russian)
> Error when running simulate with --target parameter on non-US windows 10
> ------------------------------------------------------------------------
>
> Key: CB-14198
> URL: https://issues.apache.org/jira/browse/CB-14198
> Project: Apache Cordova
> Issue Type: Bug
> Components: cordova-serve
> Affects Versions: [email protected]
> Environment: * Windows 10 German Version 1703
> * [email protected]
> * [email protected]
> * [email protected]
> Reporter: Peter Kläs
> Priority: Major
> Labels: windows
> Time Spent: 10m
> Remaining Estimate: 0h
>
> When running cordova simulate with a specific browser, e.g.
> {code:java}
> simulate android --target=chrome
> {code}
> the simulation does not start but instead throws an error:
> {code:java}
> C:\Users\pk\AppData\Roaming\npm\node_modules\cordova-simulate\node_modules\cordova-serve\src\browser.js:224
> if (fs.existsSync(trimRegPath(result[2]))) {
> ^
> TypeError: Cannot read property '2' of null
> at
> C:\Users\pk\AppData\Roaming\npm\node_modules\cordova-simulate\node_modules\cordova-serve\src\browser.js:224:57
> at ChildProcess.exithandler (child_process.js:267:7)
> at emitTwo (events.js:126:13)
> at ChildProcess.emit (events.js:214:7)
> at maybeClose (internal/child_process.js:925:16)
> at Socket.stream.socket.on (internal/child_process.js:346:11)
> at emitOne (events.js:116:13)
> at Socket.emit (events.js:211:7)
> at Pipe._handle.close [as _onclose] (net.js:557:12)
> {code}
> Reason is a language-dependent result from reg.exe when querying the
> path/to/browser in the regex line 201 in browser.js.The output from reg.exe
> for chrome (parameter stdout) is in my configuration:
> {code:java}
> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App
> Paths\chrome.EXE
> (Standard) REG_SZ C:\Program Files
> (x86)\Google\Chrome\Application\chrome.exe
> {code}
> But the code expects (Note (Standard) vs. (Default)) :
> {code:java}
> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App
> Paths\chrome.EXE
> (Default) REG_SZ C:\Program Files
> (x86)\Google\Chrome\Application\chrome.exe
> {code}
> To fix, i would suggest changing the regex in
> [https://github.com/apache/cordova-serve/blob/1667227ce3706cc0a27c065a300bce083c3799ee/src/browser.js#L201]
> from
> {code:javascript}
> var regItemPattern = /\s*\(Default\)\s+(REG_SZ)\s+([^\s].*)\s*/;
> {code}
> to
> {code:javascript}
> var regItemPattern = /\s*\(.*\)\s+(REG_SZ)\s+([^\s].*)\s*/;
> {code}
> to match most translations.
> Regards
> Peter
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]