felixrieseberg / electron-windows-interactive-notifications Goto Github PK
View Code? Open in Web Editor NEW:zap: Respond to interactive notifications on Windows, from Electron
License: MIT License
:zap: Respond to interactive notifications on Windows, from Electron
License: MIT License
Hello,
I have electron-windows-interactive-notifications
as my dependency. When I use clean npm install
and after that electron-rebuild
I get:
App threw an error during load
Error: The specified module could not be found.
\\?\C:\Users\moro\projects\tw-en-ty\node_modules\electron-windows-interactive-notifications\build\Release\notifications_bindings.node
at Error (native)
at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:173:20)
at Object.Module._extensions..node (module.js:583:18)
at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:173:20)
at Module.load (module.js:473:32)
at tryModuleLoad (module.js:432:12)
at Function.Module._load (module.js:424:3)
at Module.require (module.js:483:17)
at require (internal/module.js:20:19)
at bindings (C:\Users\moro\projects\tw-en-ty\node_modules\bindings\bindings.js:76:44)
According to a NodeJS issue it seems to be a native dependency problem. When I examine notifications_bindings.node
by dependencywalker I see following missing direct DLLs (among many missing nested):
Please, is it a problem with electron-windows-interactive-notifications
or something else?
Also I found myself very confused resolving electron-windows-interactive-notifications
issues as it is crossover of native and JS technologies which highly depends on the way an environment was set. Is there any OOTB-working sample for electron-windows-interactive-notifications
that I could use as a reference?
Thank you!
Question was also asked here
EDITED
Hello,
today I wanted to try your library but couldn't manage to include it as a dependency:
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
Build started 11. 2. 2017 12:42:19.
Project "C:\Users\moro\projects\tw-en-ty\node_modules\.staging\electron-windows-interactive-notifications-c7f3dfff\InteractiveNotifications.sln" on node 1 (default targets).
ValidateSolutionConfiguration:
Building solution configuration "Release|x64".
ValidateProjects:
The project "InteractiveManagedTest" is not selected for building in solution configuration "Release|x64".
Project "C:\Users\moro\projects\tw-en-ty\node_modules\.staging\electron-windows-interactive-notifications-c7f3dfff\InteractiveNotifications.sln" (1) is building "C:\Users\moro\projects\tw-en-ty\node_modules\.s taging\electron-windows-interactive-notifications-c7f3dfff\InteractiveNotifications\InteractiveNotifications.vcxproj" (2) on node 1 (default targets).
C:\Users\moro\projects\tw-en-ty\node_modules\.staging\electron-windows-interactive-notifications-c7f3dfff\InteractiveNotifications\InteractiveNotifications.vcxproj(27,3): error MSB4019: The imported project "C :\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
Done Building Project "C:\Users\moro\projects\tw-en-ty\node_modules\.staging\electron-windows-interactive-notifications-c7f3dfff\InteractiveNotifications\InteractiveNotifications.vcxproj" (default targets) --
FAILED.
It seems that the library is dependent on a specific MSBuild version (110), however I have only version 140. Is there any way to make it work with it?
Thank you!
after some initial Problems with the setup I think I got it correctly so far but somehow the Activate Method never gets called.
in my main.js I am calling
registerAppForNotificationSupport(shortcut, appId);
registerActivator();
and then at some point I create a Notification, which shows up and there is an input filed and a reply button but still the Activate Method never gets called. Any Clues ?
I've done the following things
registerComServer()
and registerActivator()
during startup.Computer\HKEY_CURRENT_USER\Software\Classes\CLSID\{d52b1d2e-f9cd-56b2-bd84-21a832557d71}
- LocalServer32 has a default value of C:\Users\me\AppData\Local\MyApp\app-1.0.0\MyApp.exe
ToastNotification
, using the exact template from the readme, and sent after the registration. The notification shows just fine.But nothing happens when I hit the button. It hasn't worked in any other combination, like with a standalone button either. It doesn't seem to work at all when I specify activationType="foreground"
so I've left it at activationType="background"
.
I dug into the code and can see that the Activate
method in InteractiveNotifications.cpp is set up to handle the notification activation and launch the protocol URI with ShellExecuteW
. I put some code at the top of the function to write a log message to a file, but the file is never written. So I don't think it's making it inside that method at all.
What else can I check here? Are there any debug logs for notification activations? Have I missed something?
Hi,
I'm just getting started with this module, but I can't get it to install on my system. I've made sure that I'm running the VS Code Developer Command Prompt as admin, that my system can recognize the msbuild
command, and other npm install
(s) work fine.
Here's my error log:
1022 verbose stack Error: [email protected] preinstall: `node ./scripts/preinstall.js && npm run build`
1022 verbose stack Exit status 1
1022 verbose stack at EventEmitter.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\index.js:285:16)
1022 verbose stack at emitTwo (events.js:126:13)
1022 verbose stack at EventEmitter.emit (events.js:214:7)
1022 verbose stack at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
1022 verbose stack at emitTwo (events.js:126:13)
1022 verbose stack at ChildProcess.emit (events.js:214:7)
1022 verbose stack at maybeClose (internal/child_process.js:925:16)
1022 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
1023 verbose pkgid [email protected]
1024 verbose cwd <myDirectory>
1025 verbose Windows_NT 10.0.14393
1026 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "--save" "electron-windows-interactive-notifications"
1027 verbose node v8.11.3
1028 verbose npm v5.6.0
1029 error code ELIFECYCLE
1030 error errno 1
1031 error [email protected] preinstall: `node ./scripts/preinstall.js && npm run build`
1031 error Exit status 1
1032 error Failed at the [email protected] preinstall script.
1032 error This is probably not a problem with npm. There is likely additional logging output above.
1033 verbose exit [ 1, true ]
I installed the Windows 10 SDK 10.0.10586 and the MSVC v140 - VS 2015 C++ Build Tools from the Visual Studio installer. However, installing the package still gives this compilation error:
C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\lib\notifications_bindings.cc(29,50): error C2665: 'v8::String::Value::Value': none of the 2 overloads could convert all the argument types [C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\build\notifications_bindings.vcxproj]
C:\Users\david\AppData\Local\node-gyp\Cache\18.12.1\include\node\v8-primitive.h(540,5): message : could be 'v8::String::Value::Value(const v8::String::Value &)' [C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\build\notifications_bindings.vcxproj]
C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\lib\notifications_bindings.cc(29,35): message : 'v8::String::Value::Value(const v8::String::Value &)': cannot convert argument 1 from 'v8::Localv8::String' to 'const v8::String::Value &' [C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\build\notifications_bindings.vcxproj]
C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\lib\notifications_bindings.cc(29,50): message : Reason: cannot convert from 'v8::Localv8::String' to 'const v8::String::Value' [C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\build\notifications_bindings.vcxproj]
C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\lib\notifications_bindings.cc(29,36): message : No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called [C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\build\notifications_bindings.vcxproj]
C:\Users\david\AppData\Local\node-gyp\Cache\18.12.1\include\node\v8-primitive.h(540,5): message : see declaration of 'v8::String::Value::Value' [C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\build\notifications_bindings.vcxproj]
C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\lib\notifications_bindings.cc(29,50): message : while trying to match the argument list '(v8::Localv8::String)' [C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\build\notifications_bindings.vcxproj]
C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\lib\notifications_bindings.cc(30,44): error C2665: 'v8::String::Value::Value': none of the 2 overloads could convert all the argument types [C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\build\notifications_bindings.vcxproj]
C:\Users\david\AppData\Local\node-gyp\Cache\18.12.1\include\node\v8-primitive.h(540,5): message : could be 'v8::String::Value::Value(const v8::String::Value &)' [C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\build\notifications_bindings.vcxproj]
C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\lib\notifications_bindings.cc(30,32): message : 'v8::String::Value::Value(const v8::String::Value &)': cannot convert argument 1 from 'v8::Localv8::String' to 'const v8::String::Value &' [C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\build\notifications_bindings.vcxproj]
C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\lib\notifications_bindings.cc(30,44): message : Reason: cannot convert from 'v8::Localv8::String' to 'const v8::String::Value' [C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\build\notifications_bindings.vcxproj]
C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\lib\notifications_bindings.cc(30,33): message : No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called [C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\build\notifications_bindings.vcxproj]
C:\Users\david\AppData\Local\node-gyp\Cache\18.12.1\include\node\v8-primitive.h(540,5): message : see declaration of 'v8::String::Value::Value' [C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\build\notifications_bindings.vcxproj]
C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\lib\notifications_bindings.cc(30,44): message : while trying to match the argument list '(v8::Localv8::String)' [C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\build\notifications_bindings.vcxproj]
C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\lib\notifications_bindings.cc(36,27): error C2660: 'v8::String::Concat': function does not take 2 arguments [C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\build\notifications_bindings.vcxproj]
C:\Users\david\AppData\Local\node-gyp\Cache\18.12.1\include\node\v8-primitive.h(444,24): message : see declaration of 'v8::String::Concat' [C:\git\Focalist\electron\node_modules\electron-windows-interactive-notifications\build\notifications_bindings.vcxproj]
Hoe can I read the input text from a notification in my code?
Hi, I'm running npm-install and seeing the following error...
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(94,27): error MSB4086: A numeric comparison was
attempted on "$(TargetPlatformVersion)" that evaluates to "10.0.10586.0" instead of a number, in condition "'$(UseOSWin
MdReferences)' == '' and ('$(TargetPlatformWinMDLocation)' == '' and '$(TargetPlatformIdentifier)' == 'Windows' and $(
TargetPlatformVersion)' > '7.0')". [C:\Users\Tom\Dev\app\node_modules\.staging\electron-
windows-interactive-notification-906feb04'InteractiveNotifications\InteractiveNotifications.vcxproj]
I was wondering if you could point me in the right direction. I have VSCode 2015 installed and build tools 2015. I've also set my VisualStudioVersion
environment variable to 14.0
as was mentioned in #3 just in case this has any impact on what's happening.
Thanks!
Hi @felixrieseberg ,
I created a nsis installer with electron-builder and when using it, a shortcut is created in the start menu.
will calling registerAppForNotificationSupport method add the System.AppUserModel.ToastActivatorCLSID and System.AppUserModel.Id to the existing shortcut or will it remove the old shortcut and create a new one with these additional properties ?
either way i am not able to receive text reply from interactive notification input.
Any pointers on how to set System.AppUserModel.ToastActivatorCLSID and System.AppUserModel.Id property to the shortcut when using squirrel or nsis installer ( if that is causing the issue ) will help greatly.
Also how to verify whether the ids have been set properly to the start menu shortcut ?
As stated in the Readme to install this package I have to specify a CLSID and a protocol. Specifying it in the package.json however results in this installation output:
ToastActivitorCLSID
DLLs will be compiled with the following ToastActivitorCLSID:
7d125530-fa07-4584-9fe7-dc1e7a589a7c
###########################################################No protocol defined, please consult windows-interactive-notifications readme!
ToastActivator Protocol
DLLs will be compiled with the following launch protocol:
/myapp:///gi
###########################################################
package.json:
{
...
"interactive-notifications": {
"toast-activator-clsid": "F2633CBF-FAD4-4326-9FC5-11D7F118335B",
"protocol": "jukebox://"
},
...
}
Did I specify it incorrectly or is the installation not reading the package.json ?
It should be noted if I specify an Environment variable the installation uses the correct values.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.