NW.js v0.13.0-alpha7 is available with Chromium 47

2,525 views
Skip to first unread message

Roger

unread,
Dec 8, 2015, 8:24:06 AM12/8/15
to nwjs-g...@googlegroups.com
(NOTE: This version is a snapshot of the next major version 0.13 which
is under active development. For now it’s not compatible with some of
the APIs in 0.12, as we are refactoring them with a new technology
from upstream. In the final release of 0.13, it will be compatible
with all features in 0.12. It’s recommended for you to try this
release and give your valuable feedback.)

Hello,

We are pleased to announce NW.js 0.13.0-alpha7. In this version most
features are ported from 0.12 and Chromium is updated to 47.0.2526.73.

In this version we evaluate a builtin shim script at window context
creation to provide API compatibility with 0.12. It simulates the API
provided by 'require('nw.gui')'.

APIs and features ported from 0.12 are:
* nw.Screen; nw.Shortcut (Thanks to Liu Cong)
* more nw.Window methods (Thanks to Chase Willden)
* more nw.App methods (Thanks to Jefry)
* devtools jail support

Now we're using a chart to track the status in real time. It would be
helpful for you to decide whether nw13 could run with your
application:
https://docs.google.com/spreadsheets/d/1fy0-BBZaslqsEhgC0pFZmAloqRUSw3yO0taucskSCj8/edit?usp=sharing

The chart also lists changes in the APIs.

Starting from 0.13.0-alpha0 we've been supporting Chrome Apps and many
chrome.* APIs. For more information about it, see the previous
announcement: https://groups.google.com/d/msg/nwjs-general/IqfH1RXNGlw/2PgeRGHO-B4J

Changes (features ported from nw12)
=============================
* use desktop icudtl.dat in normal build; fix chrome.i18n API
* add shim for compatibility with nw12
* port workspaces API for Window and isTransparent
* port Window.isKioskMode
* port kiosk APIs
* nw.App.manifest and closeAllWindows
* support 'force' argument in Window.close()
* port closeDevtools
* port devtools jail; add callback to replace devtools-open event
* Fixed nw.Clipboard API
* port nw.Window.close event
* port Window.setResizable
* ported nw.Window.setAlwaysOnTop
* port nw.Window.moveTo, moveBy, resizeBy
* ported nw.Window.resizeTo
* port nw.Window.isFullScreen
* port nw.Window events
* Ported nw.Shortcut API
* port zoomLevel
* port nw.Window.cookies
* port document-start and document-end
* port nw.Window.reload and nw.Window.reloadIgnoringCache
* port nw.Window.title
* port Window.width and height
* Ported nw.Screen API

Download
========
http://dl.nwjs.io/v0.13.0-alpha7/nwjs-v0.13.0-alpha7-win-x64.zip
http://dl.nwjs.io/v0.13.0-alpha7/nwjs-v0.13.0-alpha7-osx-x64.zip
http://dl.nwjs.io/v0.13.0-alpha7/nwjs-v0.13.0-alpha7-linux-x64.tar.gz

SDK build:
http://dl.nwjs.io/v0.13.0-alpha7/nwjs-sdk-v0.13.0-alpha7-win-x64.zip
http://dl.nwjs.io/v0.13.0-alpha7/nwjs-sdk-v0.13.0-alpha7-osx-x64.zip
http://dl.nwjs.io/v0.13.0-alpha7/nwjs-sdk-v0.13.0-alpha7-linux-x64.tar.gz

NaCl build and other platforms: http://dl.nwjs.io/v0.13.0-alpha7/

There are 3 builds for each platform - normal build, sdk build and
Nacl build. Normal build doesn't have devtools, only SDK build does.
lt can be opened by pressing F12 (Cmd-Alt-I on OSX). SDK package will
also have more development tools to be exposed in the following
releases, as well as the NaCl support.

Our build infrastructure enables live binary build from git tip so you
can access to the latest binary for this branch from
http://dl.nwjs.io/live-build/

Known issues
==========
- [WIN] menubar not shown when DWN is disabled

litet...@gmail.com

unread,
Dec 8, 2015, 1:38:48 PM12/8/15
to nw.js


Pada Selasa, 08 Desember 2015 20.24.06 UTC+7, Roger Wang menulis:
(NOTE: This version is a snapshot of the next major version 0.13 which
is under active development. For now it’s not compatible with some of
the APIs in 0.12, as we are refactoring them with a new technology
from upstream. In the final release of 0.13, it will be compatible
with all features in 0.12. It’s recommended for you to try this
release and give your valuable feedback.)

Hello,

We are pleased to announce NW.js 0.13.0-alpha7. In this version most
features are ported from 0.12 and Chromium is updated to 47.0.2526.73.

In this version we evaluate a builtin shim script at window context
creation to provide API compatibility with 0.12. It simulates the API
provided by 'require('nw.gui')'.

APIs and features ported from 0.12 are:
Auto Generated Inline Image 1

VoidVolker

unread,
Dec 9, 2015, 4:31:27 AM12/9/15
to nw.js
Roger, nw13 sending some requests to google. This feature is unwanted. Can you remove this, please?

Roger

unread,
Dec 9, 2015, 5:48:58 AM12/9/15
to VoidVolker, nw.js
Sure this should be fixed. Could you please provide some details like
URL, if available?

Roger

On Wed, Dec 9, 2015 at 5:31 PM, VoidVolker <voidv...@gmail.com> wrote:
> Roger, nw13 sending some requests to google. This feature is unwanted. Can
> you remove this, please?
>
> --
> You received this message because you are subscribed to the Google Groups
> "nw.js" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to nwjs-general...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

VoidVolker

unread,
Dec 9, 2015, 11:01:46 AM12/9/15
to nw.js, voidv...@gmail.com
Https - 443:
173.194.32.130
173.194.32.159
173.194.32.161
173.194.32.163
173.194.32.166
173.194.32.168
173.194.32.174
173.194.32.183
173.194.32.184
173.194.32.191

And for this IP I don't remember the ports (in my FW logs I blocked ALL ports for this IPs):
173.194.32.151
173.194.32.159
173.194.32.160
173.194.32.164
173.194.32.167
173.194.32.175
173.194.32.178

VoidVolker

unread,
Dec 9, 2015, 5:21:23 PM12/9/15
to nw.js
`exec` run cmd with visible window (it run visible and the hiding):

nw.require
('child_process').exec
('ping localhost');



Also, datalist not works:

<input type="text" value="" list="fruits">
<datalist id="fruits">
  <option value="Apple"></option>
  <option value="Orange"></option>
  <option value="Peach"></option>
</datalist>


VoidVolker

unread,
Dec 9, 2015, 5:23:57 PM12/9/15
to nw.js
Roger, is nw13 will support unpacking application to memory? Not to disk. It is very useful feature.

lza...@gmail.com

unread,
Dec 9, 2015, 5:33:49 PM12/9/15
to VoidVolker, nw.js
Hi,

On Dec 9, 2015, at 14:23, VoidVolker <voidv...@gmail.com> wrote:

Roger, is nw13 will support unpacking application to memory? Not to disk. It is very useful feature.

Very cool idea. I am actually interested to see how it's done. Do you have another project that uses this technique?
I would love to poke around to see how they do it. 

Thank you. 

Laszlo

Roger

unread,
Dec 9, 2015, 5:36:08 PM12/9/15
to VoidVolker, nw.js
Yeah. We'll add that after 0.13.0 final release. Currently we are focused on porting all 0.12 features.

Roger

On Thu, Dec 10, 2015 at 6:24 AM VoidVolker <voidv...@gmail.com> wrote:
Roger, is nw13 will support unpacking application to memory? Not to disk. It is very useful feature.

--

VoidVolker

unread,
Dec 9, 2015, 5:38:51 PM12/9/15
to nw.js, voidv...@gmail.com
Emm.... Very simple: 
  1. Load file to memory
  2. Unzip it to tree structure
  3. When browser requesting file - give him the file buffer from tree.

Roger

unread,
Dec 9, 2015, 5:44:57 PM12/9/15
to VoidVolker, nw.js
Yeah. But it's not that simple in implementation -- there is no direct cross-platform in-memory filesystem support. The plan is to support this in the resource loader of the web engine.

--

VoidVolker

unread,
Dec 9, 2015, 5:57:11 PM12/9/15
to nw.js, voidv...@gmail.com
I ported my nw12 app and have crash after closing application:

var nwWin = nw.Window.get()
   
, nwApp = nw.App
;
nwWin
.close()
nwApp
.quit()

And in debug.log have next msg:
[1210/011716:INFO:nw_package.cc(175)] "path\to\nw\nwjs-v0.13.0-alpha7-win-x64\nw.exe"

When I close app via Alt+F4 - all is works good.

lza...@gmail.com

unread,
Dec 9, 2015, 6:06:29 PM12/9/15
to VoidVolker, nw.js
Hi,
For a trivial app/software yes it's simple since you read in from memory where you store the unzip results. 
However with NW it can request files and resources from diff places as well as supporting nodejs modules. 

I thought there was another project similar to nw where they implemented it. That's why I asked for it :)

VoidVolker

unread,
Dec 9, 2015, 6:19:18 PM12/9/15
to nw.js, voidv...@gmail.com

For a trivial app/software yes it's simple since you read in from memory where you store the unzip results. 
However with NW it can request files and resources from diff places as well as supporting nodejs modules. 

I thought there was another project similar to nw where they implemented it. That's why I asked for it :)

 
Electron (atom shell in past).

VoidVolker

unread,
Dec 9, 2015, 6:51:05 PM12/9/15
to nw.js
Have few errors in windows 8:

[1210/024435:ERROR:image_metadata_extractor.cc(112)] Couldn't load libexif. 126
[1210/024505:ERROR:image_metadata_extractor.cc(112)] Couldn'
t load libexif. 126

In windows 7 app works good, but in windows 8 - it runs in one case from 7-10.

Roger

unread,
Dec 9, 2015, 9:02:08 PM12/9/15
to VoidVolker, nw.js
I can confirm the request sent to Google shortly after NW.js start is for the GCM feature:
https://developer.chrome.com/apps/gcm

"For Chrome apps and extensions, GCM enables Chrome instances to send and receive message data from servers. The chrome.gcm API allows the Chrome apps or extensions to access the GCM service. The service works even if an app or extension isn't currently running. For example, calendar updates could be pushed to users even when their calendar app isn't open."

I'll see adding some switch for it.

Roger

Anatoly Pashin

unread,
Dec 10, 2015, 12:21:53 AM12/10/15
to nw.js
Today I gave a try for nw13. Got crashes as VoidVolker
[1210/144924:INFO:nw_package.cc(175)] "C:\Users\Anatoly\Desktop\nwjs-sdk-v0.13.0-alpha7-win-ia32\nw.exe"
[1210/144955:ERROR:image_metadata_extractor.cc(112)] Couldn't load libexif. 126
[1210/145025:ERROR:image_metadata_extractor.cc(112)] Couldn't load libexif. 126
[1210/145659:INFO:nw_package.cc(175)] "C:\Users\Anatoly\Desktop\nwjs-sdk-v0.13.0-alpha7-win-ia32\nw.exe"
[1210/145827:INFO:nw_package.cc(175)] "C:\Users\Anatoly\Desktop\nwjs-sdk-v0.13.0-alpha7-win-ia32\nw.exe"
[1210/145900:INFO:nw_package.cc(175)] "nwjs\nw.exe" --remote-debugging-port=0 --disable-gpu .
[1210/145946:INFO:nw_package.cc(175)] "nwjs\nw.exe" --remote-debugging-port=0 --disable-gpu .
[1210/150017:INFO:nw_package.cc(175)] "nwjs\nw.exe" --remote-debugging-port=0 --disable-gpu .
[1210/150117:ERROR:image_metadata_extractor.cc(112)] Couldn't load libexif. 126
[1210/150350:INFO:nw_package.cc(175)] "nwjs\nw.exe" --remote-debugging-port=0 --disable-gpu .


And got some API mismatches
Встроенное изображение 1

First error — AppWindow — is some chrome legacy bug? It's unrelated to my code.

Next bug — removeAllListeners — is related to me. nw12 Window was EventEmitter and has many events. Here is my code:
          mainWindow = require('nw.gui').Window.get();
          mainWindow.removeAllListeners('hide');
          mainWindow.removeAllListeners('show');
          mainWindow.removeAllListeners('minimize');
          mainWindow.removeAllListeners('restore');
          mainWindow.removeAllListeners('blur');
          mainWindow.removeAllListeners('focus');
          mainWindow.on('hide', windowBlurCallback);
          mainWindow.on('show', windowFocusCallback);
          mainWindow.on('blur', windowBlurCallback);
          mainWindow.on('focus', windowFocusCallback);
          mainWindow.on('minimize', windowBlurCallback);
          mainWindow.on('restore', windowFocusCallback);
 .on is working, but removeAllListeners is not.

Next bug — window.focus — is very strange. require('nw.gui').Window.get() is possible to return nullish window in some cases — example is in last statement in console. And error is produced same — no .focus in nullish window. But that call must focus app window.

Next bug — win.removeAllListeners — described above.

Next — requestAttention(boolean) — I used this version as it has platform compability. Ok, will replace to requestAttention(integer) version.

I'm pretty sure that's not all errors in my app, but I can't go deeper because of this. Will report new errors if get any.

--

Anatoly Pashin

unread,
Dec 10, 2015, 12:51:18 AM12/10/15
to nw.js
Some other things:
— files drag and drop to window stopped working
— can't launch another instance (before was able with `single-instance: false`)
— <input type="file"> security returned? Can't get path from file
— ERR_ICANN_NAME_COLLISION error (I use remote host with fqdn = http://oleg.dev/ that's resolved correctly with my dns)

VoidVolker

unread,
Dec 10, 2015, 1:58:23 AM12/10/15
to nw.js
I found dmp files in temp: there is error code 0xC0000005 - permission denied when process read data in memory. Looks like it was in nw.dll

Anatoly Pashin

unread,
Dec 10, 2015, 2:00:24 AM12/10/15
to VoidVolker, nw.js
Here is my dumps.

2015-12-10 16:58 GMT+10:00 VoidVolker <voidv...@gmail.com>:
I found dmp files in temp: there is error code 0xC0000005 - permission denied when process read data in memory. Looks like it was in nw.dll

--
1b43e08b-dcf7-4f3a-b033-25c4ee14fd0c.dmp
93b4788d-cf2e-4608-9c91-b9707d9716b1.dmp
732e55f1-7b55-4f9e-955a-a89b5108d995.dmp
b26338b4-72f7-4b52-bdcf-ad35d7734355.dmp
cbf0ad02-e716-4854-a484-e760788a0124.dmp

Anatoly Pashin

unread,
Dec 10, 2015, 2:02:18 AM12/10/15
to VoidVolker, nw.js
One of this dumps is from v12. And error is same.

VoidVolker

unread,
Dec 10, 2015, 2:13:15 AM12/10/15
to nw.js, voidv...@gmail.com
Yes, looks like there are access attempt to next addresses:
0x00000004 (nw.dll)
0x00000010 (ntdll.dll)

And for nw 12:
0x0000000000000018 (ntdll.dll)


lithi...@gmail.com

unread,
Dec 13, 2015, 9:00:26 AM12/13/15
to nw.js
How can I prevent Chromium to add injected stylesheet ? It is breaking my styling and I couldn't find a way to stop it.

Roger Wang

unread,
Dec 15, 2015, 12:09:28 AM12/15/15
to nw.js, lithi...@gmail.com
On Sunday, December 13, 2015 at 10:00:26 PM UTC+8, lithi...@gmail.com wrote:
How can I prevent Chromium to add injected stylesheet ? It is breaking my styling and I couldn't find a way to stop it.

this is now fixed in git.

lithi...@gmail.com

unread,
Dec 16, 2015, 12:23:32 AM12/16/15
to nw.js, lithi...@gmail.com
Thank you! :)

karl.rw...@gmail.com

unread,
Dec 23, 2015, 1:54:03 PM12/23/15
to nw.js
(posted previously to the wrong thread)

Hi Roger,

I'm having an issue where async functions in require()'d modules don't log stack traces when there's an error. I've created a GitHub project to demonstrate what I'm talking about: https://github.com/karlrwjohnson/nwjs_0.13alpha7_bug_demo

Similarly, I've noticed that NodeJS modules don't get the same copy of the global objects as scripts running in the NW context -- they get their own console, String, etc. Since console is missing, I've set up a workaround where a <script> tag passes a reference to its console to a NodeJS module, which overwrites the NodeJS console object with NW's. I suspect the two are connected. As for the rest of the globals, the fact that there's multiple instances of String etc. breaks the instanceof operator, causing issues with the Jasmine unit test framework for example.

Roger

unread,
Dec 24, 2015, 12:39:54 AM12/24/15
to karl.rw...@gmail.com, nw.js
Does the latest nightly build work for you? I tried your demo with latest git code and it acts different as you described in the README.

--

karl.rw...@gmail.com

unread,
Dec 24, 2015, 11:36:21 AM12/24/15
to nw.js, karl.rw...@gmail.com
No, I downloaded the build from Dec. 24, and the console output is still the same. I even cloned the Github project into a fresh folder.

(The screenshot below is supposed to have a second Uncaught ReferenceError right after "bad.js: About to call callback")

This couldn't be a platform issue, could it? I'm using Linux x86_64.


vivek....@inscripts.in

unread,
Dec 29, 2015, 7:09:17 AM12/29/15
to nw.js
I have downloaded nwjs-v0.13.0-beta1-win-ia32 and tried to open simple test.nw using it. It gets stuck to task bar and never opens .  I also tried to open the testApp by right click open but its still not opening.
          Steps which i followed:

 

vivek....@inscripts.in

unread,
Dec 29, 2015, 7:14:19 AM12/29/15
to nw.js
I have downloaded nwjs-v0.13.0-beta1-win-ia32 and tried to open simple test.nw using it. It gets stuck to task bar and never opens .  I also tried to open the testApp by right click open but its still not opening.
          Steps which i followed:
 1. Downloaded nwjs-v0.13.0-beta1-win-ia32.zip and unzip it.
 2. Created a simple test.nw file and copy paste it in  nwjs-v0.13.0-beta1-win-ia32 directory.
 3. Then click on test.nw file and dragged it and drop it on nw.exe.
4. TestApp then sticks to task bar and never opens.
Can you please help me with the same. 
Reply all
Reply to author
Forward
0 new messages