--injecting multiple js files mangles them in nativefied app #458
Comments
@jplot merci du retour 👍. Before I give a try at reproducing the issue, one wording nit: when you say "deteriorated", are you saying Nativefier regressed? (Said differently, did it use to work? If yes, when and any idea when it started mangling data?) Thanks. |
@ronjouch No it does not work, from the second file inject it corrupts inject.js |
@jplot I get that, but my question is: has it already worked in an earlier version of Nativefier? |
@ronjouch Yes, 7.4.0 and 7.4.1 |
Still not clear, please make a complete sentence. |
does not work on Nativefier v7.4.0 and v7.4.1 |
I believe the problem as reported is that the user is trying to inject two script files and that just isn't supported. The As to why it's got the strange content rather than just being one file or the other, under the covers it looks like the injection handling functions uses the ncp library to perform file copies and that library uses stream copying, so it's probably overwriting only portions of the file. Scenario, those two files end with newline characters ( |
It looks like the behavior now is that one js file is randomly picked. It would be nice to be able to pick. |
It seams like this is still an issue. For me, the last |
I can fix this in the next PR as I'll be making one about injection. I already have a solution. |
@vviikk Can you split the fix for this into a separate pr so it can be merged sooner without the gist url injection part having to be completed? |
* Add ability to inject multiple css/js files * API doc: Move misplaced macOS shortcuts doc (PR #1158) When I added this documentation originally, I guess I placed it in the wrong location. * README: use quotes in example, to divert users from shell globbing pitfalls Follow-up of #1159 (comment) * Support opening URLs passed as arg to Nativefied application (fix #405) (PR #1154) Co-authored-by: Ronan Jouchet <ronan@jouchet.fr> * macOS: Fix crash when using --tray (fix #527), and invisible icon (fix #942, fix #668) (#1156) This fixes: 1. A startup crash on macOS when using the `--tray` option; see #527. ![image](https://user-images.githubusercontent.com/22625791/115987741-99544600-a5b6-11eb-866a-dadb5640eecb.png) 2. Invisible tray icon on macOS; see #942 and #668. ![image](https://user-images.githubusercontent.com/22625791/115988276-24364000-a5b9-11eb-80c3-561a8a646754.png) Co-authored-by: Ronan Jouchet <ronan@jouchet.fr> * API.md / --widevine: document signing apps to make some sites like HBO Max & Udemy work (fix #1147) * Prompt to confirm when page is attempting to prevent unload (#1163) Should alleviate part of the issue in #1151 * Add an option to upgrade an existing app (fix #1131) (PR #1138) This adds a `--upgrade` option to upgrade-in-place an old app, re-using its options it can. Should help fix #1131 Co-authored-by: Ronan Jouchet <ronan@jouchet.fr> * Bump to Electron 12.0.5 with Chrome 89.0.4389.128 * Add newly discovered Google internal login page (#1167) * Fix Widevine by properly listening to widevine-... events, and update docs (fix #1153) (PR #1164) As documented in #1153, for Widevine support to work properly, we need to listen for the Widevine ready event, and as well for certain sites the app must be signed. This PR adds the events, and as well adds better documentation on the signing limitation. This may also help resolve #1147 * Improve suffix creation + tests * API: clarif in existing doc by the way * Typo Co-authored-by: Ronan Jouchet <ronan@jouchet.fr> Co-authored-by: Ben Curtis <github@nosolutions.com> Co-authored-by: Fabian Wolf <22625791+fabiwlf@users.noreply.github.com>
…1162) * Add ability to inject multiple css/js files * API doc: Move misplaced macOS shortcuts doc (PR nativefier#1158) When I added this documentation originally, I guess I placed it in the wrong location. * README: use quotes in example, to divert users from shell globbing pitfalls Follow-up of nativefier#1159 (comment) * Support opening URLs passed as arg to Nativefied application (fix nativefier#405) (PR nativefier#1154) Co-authored-by: Ronan Jouchet <ronan@jouchet.fr> * macOS: Fix crash when using --tray (fix nativefier#527), and invisible icon (fix nativefier#942, fix nativefier#668) (nativefier#1156) This fixes: 1. A startup crash on macOS when using the `--tray` option; see nativefier#527. ![image](https://user-images.githubusercontent.com/22625791/115987741-99544600-a5b6-11eb-866a-dadb5640eecb.png) 2. Invisible tray icon on macOS; see nativefier#942 and nativefier#668. ![image](https://user-images.githubusercontent.com/22625791/115988276-24364000-a5b9-11eb-80c3-561a8a646754.png) Co-authored-by: Ronan Jouchet <ronan@jouchet.fr> * API.md / --widevine: document signing apps to make some sites like HBO Max & Udemy work (fix nativefier#1147) * Prompt to confirm when page is attempting to prevent unload (nativefier#1163) Should alleviate part of the issue in nativefier#1151 * Add an option to upgrade an existing app (fix nativefier#1131) (PR nativefier#1138) This adds a `--upgrade` option to upgrade-in-place an old app, re-using its options it can. Should help fix nativefier#1131 Co-authored-by: Ronan Jouchet <ronan@jouchet.fr> * Bump to Electron 12.0.5 with Chrome 89.0.4389.128 * Add newly discovered Google internal login page (nativefier#1167) * Fix Widevine by properly listening to widevine-... events, and update docs (fix nativefier#1153) (PR nativefier#1164) As documented in nativefier#1153, for Widevine support to work properly, we need to listen for the Widevine ready event, and as well for certain sites the app must be signed. This PR adds the events, and as well adds better documentation on the signing limitation. This may also help resolve nativefier#1147 * Improve suffix creation + tests * API: clarif in existing doc by the way * Typo Co-authored-by: Ronan Jouchet <ronan@jouchet.fr> Co-authored-by: Ben Curtis <github@nosolutions.com> Co-authored-by: Fabian Wolf <22625791+fabiwlf@users.noreply.github.com>
Description
When injecting multiple files, the final rendering of the inject.js file is corrupted
Steps to reproduce issue
test1.js
test2.js
Run
Github.app/Contents/Resources/app/inject/inject.js
Specifications
Version of Nativefier (run
nativefier --version
):v7.4.1
Version of Node.js (run
node --version
):v8.5.0
OS:
macOS High Sierra 10.13.1
The text was updated successfully, but these errors were encountered: