-
-
Notifications
You must be signed in to change notification settings - Fork 204
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
Nwjs upgrade #275
Merged
Merged
Nwjs upgrade #275
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Conflicts: # package.json # src/app/initializers/nwjs.js # src/app/services/NotificationService.js # src/templates/Settings.hbs
# Conflicts: # src/app/initializers/nwjs.js # src/templates/settings/SettingsNotifications.hbs
Should have been removed in the merge here: d61f16c
This was referenced Aug 7, 2016
13 tasks
# Conflicts: # package.json
Dev tools are still there, despite the `--disable-devtools` chromium arg
# Conflicts: # src/app/app.js # src/app/initializers/nwjs.js # src/app/initializers/window.js # src/app/nwjs/nwWindow.js # src/app/nwjs/setup/tray.js # src/app/services/NotificationService.js
Don't set custom properties on the NW.js Window object. - Refactor and rename nwjs/nwWindow to nwjs/Window - Export public methods instead of adding those to the Window object - Remove setShowInTray method - Refactor and rename nwjs/tray to nwjs/Tray - Export public methods instead of exporting an Ember class Also - Refactor nwjs/openBrowser to nwjs/Shell - Rename nwjs/menu to nwjs/Menu and nwjs/clipboard to nwjs/Clipboard - Move nwjs/setup/* to initializers/nwjs - Use logic of nwjs/setup/integrations directly in initializers/nwjs - Fix imports in various modules
by implementing a custom shortcut creation logic. The AppID is missing from the shortcut though, and can't be added without using another 3rd party executable. <3 Windows /s This all will be removed again once node-notifier releases a new version with a different toaster executable which will automatically create shortcuts with AppIDs included. The PR for that has not been merged yet.
(cherry picked from commit b5941c5)
bastimeyer
force-pushed
the
nwjs-upgrade
branch
from
August 28, 2016 10:10
7600d2a
to
11ae569
Compare
Chromium doesn't support ::before and ::after pseudo elements on input[type="number"]::-webkit-inner-spin-button ShadowDOM elements anymore. A custom implementation is needed. Also add ES2015 shim modules for PhantomJS
# Conflicts: # src/app/components/modal/ModalLivestreamerComponent.js # src/app/nwjs/tray.js # src/app/services/LivestreamerService.js # src/app/services/NotificationService.js
This was referenced Oct 12, 2016
- Add node-notifier as a dependency - Add notify_provider property to settings - Implement notification selection in the settings menu - Implement various NotificationProvider classes - Refactor NotificationService - Add CFBundleIdentifier to Info.plist of OSX builds - Add platform.isMountainLion - Refactor resolvePath module TODO: - Cache NotificationProvider.test - Exclude node-notifier binaries from unrelated platform builds
Force a redraw on each animation frame of the svg element
Update chrome-remote-interface to latest version and rename everything to "chrome debugging protocol". Use es6 promises instead of callbacks and make sure that everything is correctly executed asynchronously.
# Conflicts: # src/config/main.json
- Rewrite NotificationProvider and all its inheriting classes - Remove NotificationProviderNotificationCenter - Rename NotificationProviderToast to NotificationProviderSnoreToast - Implement NotificationProviderNative - Refactor NotificationService - Remove node-notifier dependency - Add growly and snoretoast dependencies - Add babel es6 classes/arrow-func devDependencies (bc of uglifyJS) - Add support for arch-specific builds on Windows
NWjs has dropped osx32 support since v0.13.0
Fixes isDirty check of ObjectBuffer'd settings The NumberFieldComponent treats all values as numbers. This was not true for the old value binding of the <input type=number> element and the string type was needed for the ObjectBuffer to work correctly (strict).
We're running tests in NW.js now and don't need polyfills anymore
This was referenced Nov 22, 2016
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This is an upgrade to the new and rewritten NW.js.
Previously, this was blocked by the nw-builder, which didn't support these new builds. The notification system and the whole build system needed to be rewritten in order to enable a smooth transition without any regressions.
Requires
#295 Transition from RequireJS to Webpack
Fixes
#207 Memory leaks related to the broken garbage collector of legacy NW.js (
<=0.12.3
)#227 Rendering issues on Windows in a maximized window
#234 High CPU usage on MacOS
#277 HiDPI awareness on Linux
#282 Number input fields being broken on MacOS
Enables
#226 Periodical route refreshes (was blocked by memory leaks)
Checklist
0.18.7
This enables support for native notifications on MacOS under a chromium-flag. (see below)
Support downloading/building new NW.js releases
Don't publish NW.js SDK-flavor builds.
osx32
buildsNot supported by NW.js anymore
Merge Switch from RequireJS to Webpack #295 for npm dependency support.
In preparation of required code refactorings or other needed implementations. fb60c22
Native desktop notifications have been removed from the new NW.js. This means that all notifications will appear as Chromium's "Rich notifications". There were plans by the NW.js devs to implement a Node.js addon for bringing this feature back, but the idea seems to have been abandoned. They are now waiting for the Chromium devs to implement native notifications for OSX instead, which is kind of a let down for users of other platforms.
Implement node-notifierMerge nwjs-upgrade...node-notifierRefactor NotificationServiceNotification preferencesImplement settings for choosing between different kind of notifications: native (node-notifier), growl (node-notifier), rich notifications (chromium) and automatic (default).Notification center (OSX)Find a way to resolve icon issues on OSX (terminal-notifier).Toast notifications (Win 8+)The application-shortcut API has been silently removed from NW.js. This prevents us from creating a startmenu shortcut with the requiredAppUserModelId
property, which is required by Windows for showing proper toast notifications. Those shortcuts can't be set without using another 3rd party binary helper (c6a579a).A PR on the node-notifier repo might solve this issue by replacing the Toaster dependency with SnoreToast, which automatically creates shortcuts with the needed property. Waiting for the PR to be merged and a new version to be released.0.16.0
) and Chromium's native notificationsMerge nwjs-upgrade...nwjs-upgrade-latest
node-notifier
branchDon't use the node-notifier dependency!
The SnoreToast PR on the node-notifier repo didn't receive any updates in months...
Rewrite the previously implemented system which was basically a node-notifier wrapper:
This enables toast notifications and resolves the start menu shortcut issue (see above).
LGPL
license being used -> include source code (doesn't need to be included in the final app code).SnoreToast now does this.
This removes the
terminal-notifier
dependency (less bloat) and fixes the icon issue.lib-notify
on LinuxNothing special here...
notify-send
is already being used by node-notifier.Already a dependency of node-notifier... Use it instead.
Re-organize builds, so that 3rd party binaries for other platforms/archs are not included in every build.
There were some issues with the data migration of legacy NW.js versions when using one of the new ones. Those have been resolved.
New Chromium version is causing some issues.
Number input fields are missing their arrows. Related to settings -> livestreamer -> hls live edge (and other number boxes) broken on os x #282...
http://docs.nwjs.io/en/latest/For%20Users/Migration/From%200.12%20to%200.13/