Commit Graph

1100 Commits

Author SHA1 Message Date
Ronan Jouchet dab770f719 app pkgjson too 2021-12-06 16:12:40 -05:00
Ronan Jouchet f720f66eb8 Bump default Electron to 13.6.3 with fixes & security fixes
https://github.com/electron/electron/releases/tag/v13.6.3
2021-12-06 16:12:03 -05:00
Ronan Jouchet 58e504de32 document contextIsolation stuff 2021-12-06 16:05:41 -05:00
Ronan Jouchet ec77741494 re-relock and fix script failing to do app if cli failed 2021-12-06 16:00:17 -05:00
Ronan Jouchet df4ca5d079 relock dependencies 2021-12-06 15:56:02 -05:00
Adam Weeden 5f02f14626
Use userAgentFallback for userAgent injection (PR #1316)
Per the suggestion of @fireflinchdev , this seems to alleviate our issues with things like nuking service workers for WhatsApp. The core reason being those service workers were getting the original userAgent, and not the override (if specified). This PR should fix that.

So it should resolve #1312 #719 and hopefully a few future issues as this seems to come up frequently.
2021-11-29 16:53:12 -05:00
Adam Weeden b9c5e2b464
Fix upgrade not working (#1286)
* Attempt to get upgrade working right; in progress

* Got it fixed in Mac

* Fix some linting errors

* Finish fixing upgrade + tests

* Integration testing for global shortcuts

* Regenerate shrinkwrap

* Get rid of deprecated rmdirSync

* Remove instead of rm for 12.x support

* Make dereferencing platform dependent

* Fix folder copy funkiness

* Whoops

* Whoops 2: Extra Whoops

* Update Electron to 13.5.1; Fix auth manual tests

* Rework relock

* Add a request for help.

* Update @types/node to 14
2021-11-29 12:01:20 -05:00
Ronan Jouchet adcf7c4c0c Update changelog for `v45.0.6` 2021-11-22 16:24:24 -05:00
Ronan Jouchet 4405b5d28b Fix icon conversion scripts broken on recent macOS (fix #1277) 2021-11-22 16:18:02 -05:00
Ronan Jouchet 702ff1e4b6 Bump default Electron to 13.6.2
https://github.com/electron/electron/releases/tag/v13.6.2
2021-11-22 16:05:20 -05:00
Ronan Jouchet 601968dfef Relock dependencies 2021-11-22 16:03:07 -05:00
Alexander Weps ca7d25f432
Fix notifications broken since Nativefier 43 / Electron 12 defaulting to contextIsolation:true (PR #1308)
Copy-pastaing details from [Electron 12 breaking changes](https://www.electronjs.org/docs/latest/breaking-changes#planned-breaking-api-changes-120):

> ### Default Changed: `contextIsolation` defaults to `true`[​](https://www.electronjs.org/docs/latest/breaking-changes#default-changed-contextisolation-defaults-to-true "Direct link to heading")
> 
> In Electron 12, `contextIsolation` will be enabled by default. To restore the previous behavior, `contextIsolation: false` must be specified in WebPreferences.
> 
> We [recommend having contextIsolation enabled](https://www.electronjs.org/docs/latest/tutorial/security#3-enable-context-isolation-for-remote-content) for the security of your application.
> 
> Another implication is that `require()` cannot be used in the renderer process unless `nodeIntegration` is `true` and `contextIsolation` is `false`.
> 
> For more details see: [https://github.com/electron/electron/issues/23506](https://github.com/electron/electron/issues/23506)

I find the security drop acceptable, as reverting the new Electron 12 isolation brings us to the previous level of security, and I don't have the time/will to keep the isolation and migrate to the newer better safer thing that Electron >= 12 wants.

Co-authored-by: Radomír Polách <rp@t4d.cz>
2021-11-22 16:00:13 -05:00
Ronan Jouchet 431f531065 CI: bump top Node.js version to 17, which is now stable 2021-11-10 18:41:38 -05:00
Ronan Jouchet e63a275ec9 Update changelog for `v45.0.5` 2021-11-01 15:59:22 -04:00
Ronan Jouchet 916055d05a generate-changelog: don't break if npm out returns 1, which it normally does on outdated deps, which is all the time 2021-11-01 15:57:33 -04:00
Ronan Jouchet d68078f686 Bump axios to 0.24.0
https://github.com/axios/axios/blob/master/CHANGELOG.md
2021-11-01 15:54:03 -04:00
Ronan Jouchet 7cab31f974 Bump to eslint 8
https://eslint.org/docs/8.0.0/user-guide/migrating-to-8.0.0
2021-11-01 15:47:46 -04:00
Ronan Jouchet 94e6c6cf54 Bump default Electron to 13.6.1, with security fixes
- 13.5.2: https://github.com/electron/electron/releases/tag/v13.5.2
- 13.6.0: https://github.com/electron/electron/releases/tag/v13.6.0
- 13.6.1: https://github.com/electron/electron/releases/tag/v13.6.1
2021-11-01 15:37:33 -04:00
Ronan Jouchet 05e2439c56 HACKING.md: Document one more place to look when major-upgrading Electron 2021-10-04 09:32:52 -04:00
Adam Weeden 0d99ce4916
Update Electron to 13.5.1; Fix auth manual tests (#1287) 2021-10-02 22:17:06 -04:00
Ronan Jouchet fadcb73de7 Update changelog for `v45.0.4` 2021-09-24 23:03:48 -04:00
Ronan Jouchet 0570a20c99 Work around "npm shrinkwrap" failing to include some packages in lockfile 2021-09-24 23:01:15 -04:00
Ronan Jouchet 561beda96e Actually actually (TM) include lockfile in npm artifacts
Previous attempt failed by design of `npm pack` / `npm publish`,
as documented at https://docs.npmjs.com/cli/v6/configuring-npm/package-lock-json :

> One key detail about package-lock.json is that it cannot be published,
> and it will be ignored if found in any place other than the toplevel
> package. It shares a format with npm-shrinkwrap.json, which is
> essentially the same file, but allows publication.
>
> This is not recommended unless deploying a CLI tool or otherwise using
> the publication process for producing production packages.

, and we are a CLI tool. Switching to shrinkwrap.
2021-09-24 22:44:07 -04:00
Ronan Jouchet 8fdceee4dc Update changelog for `v45.0.3` 2021-09-24 22:21:33 -04:00
Ronan Jouchet 904f7d0a57 Actually include package-lock.json in npm artifacts, duh 2021-09-24 22:21:09 -04:00
Ronan Jouchet 94142955f1 Update changelog for `v45.0.2` 2021-09-24 22:16:59 -04:00
Adam Weeden 24115bb3bd
Fix regressions in opening windows/tabs, update browser versions (#1284)
* Update electron to 13.4.0 + update browser versions

* Fix injectCSS preventing new windows from opening

* Fix some window/tab opening weirdness/bugs

* Fix unit tests

* Switch to using onResponseStarted to avoid the issues with callbacks in the future

* Clear up comments on onResponseStarted
2021-09-24 22:03:03 -04:00
Adam Weeden d759695e5a
Workaround yargs coerce issue (#1283) 2021-09-22 09:26:49 -04:00
Adam Weeden 46424f9795
Make macOS "bundle identifier" mention Nativefier (fix #866) (#1259)
* Make macos bundle identifier mention nativefier

* Fix @types/debug here too

Co-authored-by: Ronan Jouchet <ronan@jouchet.fr>
2021-09-21 17:32:55 -04:00
Ronan Jouchet 0d78978d9e Update changelog for `v45.0.1` 2021-09-20 11:45:36 -04:00
Ronan Jouchet e222e99b56 Bump default Electron to 13.4.0 2021-09-20 11:38:15 -04:00
Ronan Jouchet 7ab2c14f4f Deps bumps: @types/jest, eslint-plugin-prettier 2021-09-20 11:32:47 -04:00
Ronan Jouchet 0fbe7d39cb Build: re-introduce a package-lock.json file
They were used a long time ago, then I scrapped them for simplicity to
new contributors. I'm re-considering this and re-introducing one, for
two (maybe three) reasons:

1. Reading on supply chain attacks
2. Build broken because of a dep change (see previous commit broken
   because of a change in yargs @ 17.1.0)
(3.) Performance
2021-09-20 11:25:43 -04:00
Ronan Jouchet fcc3906f52 build:watch script: make it watch project folders 2021-09-20 10:32:32 -04:00
Ronan Jouchet 1a54d286d8 Internal login pages: add (id|auth).atlassian.com (fix #1265) 2021-07-28 23:22:02 -04:00
Ronan Jouchet 33f293120d API.md: document need to use CSS "!important" keyword (fix #1264) 2021-07-28 08:10:31 -04:00
Ronan Jouchet 167f1e3be8 Update changelog for `v45.0.0` 2021-07-19 13:36:19 -04:00
Adam Weeden bf4be860cf
Upgrade to Electron 13 (#1230)
* Catch promise errors better

* Move subFunctions to bottom of createNewWindow

* Use parents when creating child BrowserWindow instances

* Some about:blank pages have an anchor (for some reason)

* Inject browserWindowOptions better

* Interim refactor to MainWindow object

* Split up the window functions/helpers/events some

* Further separate out window functions + tests

* Add a mock for unit testing functions that access electron

* Add unit tests for onWillPreventUnload

* Improve windowEvents tests

* Add the first test for windowHelpers

* Move WebRequest event handling to node

* insertCSS completely under test

* clearAppData completely under test

* Fix contextMenu require bug

* More tests + fixes

* Fix + add to createNewTab tests

* Convert createMainWindow back to func + work out gremlins

* Move setupWindow away from main since its shared

* Make sure contextMenu is handling promises

* v13.1.2

* v13.1.4

* Update Webkit version for Safari

* 13.1.6 -> NO CRASH!

* Fix types/debug build error on Ubuntu

* 13 -> 13.1.7

* Bump default Firefox version

Co-authored-by: Ronan Jouchet <ronan@jouchet.fr>
2021-07-19 13:03:46 -04:00
Ronan Jouchet 5d9cb91739 Fix 'npm install'-time warning about outdated companion DT types
```
npm WARN deprecated @types/loglevel@1.6.3: This is a stub types definition. loglevel provides its own type definitions, so you do not need this installed.
npm WARN deprecated @types/electron-packager@15.0.1: This is a stub types definition. electron-packager provides its own type definitions, so you do not need this installed.
```

Also, add `@types/debug` necessary to fix build, as already done by
@TheCleric in https://github.com/nativefier/nativefier/pull/1230/files

Also, for all deps, bump minimum version to current version
2021-07-16 18:55:10 -04:00
Ronan Jouchet c4327e97a7 Update changelog for `v44.0.7` 2021-07-10 16:06:47 -04:00
Ronan Jouchet 97b33b369f Bump default Electron from 12.0.12 to 12.0.14
- https://github.com/electron/electron/releases/tag/v12.0.13
- https://github.com/electron/electron/releases/tag/v12.0.14
2021-07-10 15:59:38 -04:00
Omoeba 95e2ff9a3f
App context menu: Add electron-context-menu image entries - Save, Copy, Copy Address (PR #1256) 2021-07-10 10:55:00 -04:00
Sam Potts 5e526fb000
Fix badge/counter icon not being removed correctly (fixes #1251) (PR #1252)
The current check for `count` means the value to reset/remove the badge (`''`) is treated as `false` and therefore the badge does not get removed. This PR changes the check for `undefined` instead which resolves the issue. 

Related issue: 
https://github.com/nativefier/nativefier/issues/1251

Testing performed:
- I ran `npm t` as per the docs. All tests passed. 
- I created a new app build for Twitter (`https://twitter.com`) and Messenger (`https://messenger.com`) to verify the correct behaviour. Both were showed the issue as resolved. 

Co-authored-by: Ronan Jouchet <ronan@jouchet.fr>
2021-07-05 18:35:50 -04:00
Ronan Jouchet 629369d885 API.md: help users not be confused by platform vs. architecture (fix #1254) 2021-07-05 17:22:44 -04:00
Ronan Jouchet a9bab01858
HACKING.md: document a few maintainer deps things (#1248) 2021-06-29 00:57:58 -04:00
Ronan Jouchet 9943d7f3cc HACKING.md: formatting & nits 2021-06-28 23:04:49 -04:00
Ronan Jouchet d0849ce794 generate-changelog: integrate running "npm out" for a reminder of outdated dependencies 2021-06-28 22:56:53 -04:00
Ronan Jouchet af80acf7e9 Update changelog for `v44.0.6` 2021-06-26 10:55:11 -04:00
Adam Weeden b74c0bf959
Make app strict TypeScript + linting (and add a shared project) (#1231)
* Convert app to strict typing + shared library

* Fix new code post-merge

* Remove extraneous lint ignores

* Apply suggestions from code review

Co-authored-by: Ronan Jouchet <ronan@jouchet.fr>

* Fix prettier complaint

* Dedupe eslint files

* Fix some refs after merge

* Fix clean:full command

Co-authored-by: Ronan Jouchet <ronan@jouchet.fr>
2021-06-26 09:59:28 -04:00
Ronan Jouchet f8f48d2f09 Update changelog for `v44.0.5` 2021-06-25 16:17:59 -04:00