Adam Weeden
adcf21a3df
macOS: Prompt for accessibility permissions if needed by Global Shortcuts using Media Keys ( Fix #1120 ) (PR #1121 )
...
When setting a media key (play, pause, next/previous track) as global shortcut in Mac OS 10.14+, accessibility permissions must be given to the app for it to work (see https://www.electronjs.org/docs/api/global-shortcut?q=MediaPlayPause#globalshortcutregisteraccelerator-callback ).
This PR will accomplish the following on generated app launch:
- Check if global shortcuts are being setup
- Check if the host OS is Mac OS
- Check if the global shortcuts were one of the media keys
- If the above are true, check if the app has accessibility permissions
- If the app does not have the accessibility permissions it will ask the user if they would like to be prompted for these permissions, and then ask Mac OS to prompt for accessibility permissions.
~~As well, a new command line flag is added (`--no-accessibility-prompt`) to preventatively suppress these prompts if desired.~~
Screenshots of the new behavior:
![Screen Shot 2021-02-26 at 2 41 21 PM](https://user-images.githubusercontent.com/547567/109356260-76bfde00-784e-11eb-8c36-3a51b911b780.png )
![Screen Shot 2021-02-26 at 2 41 28 PM](https://user-images.githubusercontent.com/547567/109356266-79223800-784e-11eb-94eb-66437c05fd10.png )
![Screen Shot 2021-02-26 at 2 41 50 PM](https://user-images.githubusercontent.com/547567/109356270-7aebfb80-784e-11eb-9e90-e09bb49752c6.png )
Co-authored-by: Ronan Jouchet <ronan@jouchet.fr>
2021-02-28 10:24:14 -05:00
Ronan Jouchet
75aa10382b
Move some tooling config (eslintignore, prettierrc) to package.json
...
To limit amount of dotfiles at repo root
2021-02-27 22:31:59 -05:00
Ronan Jouchet
5129dbafe1
Deps: bump gitcloud to 0.2 and page-icon to 0.4
2021-02-27 01:15:26 -05:00
Ronan Jouchet
519e65e7da
TSConfig: bump to target/lib es2018, since we require node10
2021-02-26 22:50:59 -05:00
Ronan Jouchet
d90d9f3d7f
Scripts: get rid of dev-up
and dev-up-win
scripts
...
They used to be necessary when we did OS-specific stuff in here, but
we're no longer, and `foo && bar` is supported by both *nixes and Windows
2021-02-26 22:41:00 -05:00
Ronan Jouchet
292ac39328
CI: avoid npm funding messages
2021-02-26 22:19:45 -05:00
Ronan Jouchet
e03e07e4bd
Speed up CI by avoiding repeated npm install & build already done with "prepare" hook
2021-02-26 22:15:56 -05:00
Ronan Jouchet
0aa8276922
Update changelog for v42.3.0
2021-02-25 19:49:22 -05:00
Ronan Jouchet
17231d707f
Bump eslint-config-prettier from ^7.2.0 to ^8.1.0
2021-02-25 19:10:11 -05:00
Ronan Jouchet
1a5d79ecf8
Bump commander from ^4.1.1 to ^7.1.0
...
Looked at https://github.com/tj/commander.js/blob/master/CHANGELOG.md
and tested a bit, seems like no change is needed
2021-02-25 19:08:37 -05:00
Ronan Jouchet
6b266b7815
(Attempt to) get rid of deprecated app dep wurl
...
This one may be problematic, as it used to do TLD stuff:
https://github.com/websanova/node-url/blob/7982a613bc/wurl.js#L4
So, the new WHATWG-URL-based implementation will consider
`asana.com` to be "external" to `app.asana.com`, contrarily to before.
Given the nature of Nativefier, I think it's actually what to expect,
that in this case your "out of the app", and in e.g. asana landing's page,
which you'd expect to see in your browser.
Let's see if users disagree with that.
2021-02-25 18:55:28 -05:00
Ronan Jouchet
fe79fd622d
Doc extra electron update stuff
2021-02-25 18:46:27 -05:00
Ronan Jouchet
f4a0479a11
Bump default Electron to 11.3.0 with the icon fix (with Chromium 87.0.4280.141)
2021-02-25 18:28:29 -05:00
Ronan Jouchet
5ea4638aea
Fix lint
2021-02-25 18:19:30 -05:00
Ronan Jouchet
9b52f210db
Get rid of dependency "shelljs"
...
We don't need a fancy _"portable (Windows/Linux/macOS) implementation
of Unix shell commands on top of the Node.js API"_, we just want to run
a simple script. Replacing with using stdlib `child_process.spawnSync`.
2021-02-25 18:15:24 -05:00
Ronan Jouchet
4bf0226da0
Deps: come back to semver ^a.b.c syntax
...
Thinking about it again, the user-friendlier `a.x` syntax has one disadvantage
over `^a.b.c`: it doesn't force deps upgrades when they upgrade Nativefier.
`a.x` is fine on initial install, but a user with an insecure dep
(e.g. axios 0.19.0) will _not_ get fixed axios 0.21.1 on upgrading Nativefier.
-> Come back to `a.x` everywhere.
Still not introducing package locks, they're too confusing to new devs.
See https://github.com/nativefier/nativefier/pull/1099#issuecomment-761250232
2021-02-25 08:15:39 -05:00
Ronan Jouchet
b99b2f9632
Deps: bump axios from 0.x to ^0.21.1, to reassure dependabot
2021-02-24 23:12:21 -05:00
Arseny
380c98b23d
API.md: fix typo in option "-v" ( #1114 )
2021-02-16 08:02:21 -05:00
Jia Hao
7a3730e5a9
Update changelog for v42.2.1
2021-01-30 05:04:51 +00:00
Jia Hao
6316d23762
Move to nativefier organization
2021-01-30 04:49:52 +00:00
Jia Hao
66ff02584e
Temporarily increase timeout for network call in test
2021-01-30 04:49:36 +00:00
Milo
9c784dcfaf
Move TS @types from dependencies to devDependencies (PR #1102 )
...
Co-authored-by: Ronan Jouchet <ronan@jouchet.fr>
2021-01-24 20:36:06 -05:00
Ronan Jouchet
dcefe0074d
Update changelog for v42.2.0
2021-01-18 09:24:28 -05:00
Ronan Jouchet
10f7fed290
Revert default Electron back to 11.1.1 (Chrome 87.0.4280.88) ( fix #1101 )
...
Not doing anything more complicated (adding macOS-specific code
or adding code always passing an icon), let's instead wait for
Electron to fix the issue.
2021-01-18 09:18:43 -05:00
Ronan Jouchet
f4a7266783
README: more tweaking
2021-01-16 10:19:29 -05:00
Ronan Jouchet
ef43bb6984
README: wording, fix broken links
2021-01-16 10:18:17 -05:00
Ronan Jouchet
fc35b00f88
Make maintenance status (in /releases until now) more visible by putting it at the top of our README
2021-01-16 10:15:51 -05:00
Ronan Jouchet
422f72aa3b
Update changelog for v42.1.0
2021-01-16 08:47:17 -05:00
Ronan Jouchet
dc353bebaf
More filename & appname sanitization
2021-01-16 08:40:04 -05:00
Ronan Jouchet
3b28dc46cc
Bump default Electron to 11.2.0 (with Chromium 87.0.4280.141)
2021-01-16 08:18:33 -05:00
Ronan Jouchet
b0a953eb2d
Get rid of cheerio
...
Not sure this one will stick, maybe my regex is too naive.
Works for common websites. Let's see
2021-01-15 22:15:48 -05:00
Ronan Jouchet
35d926b959
Fix inferIcon error surfacing in full since recent axios
2021-01-15 21:57:19 -05:00
Ronan Jouchet
17f688de63
Get rid of lodash
2021-01-15 21:50:07 -05:00
Ronan Jouchet
0eaf72ced8
Publish TS types, for them to show up in npm
...
See https://github.blog/changelog/2020-12-16-npm-displays-packages-with-bundled-typescript-declarations/
2020-12-17 20:59:04 -05:00
Ronan Jouchet
cf11a71a7c
Update changelog for v42.0.2
2020-12-07 16:51:49 -05:00
Ronan Jouchet
7fd0c748ba
Fix arg validation regression in #1080 with --{x,y} ( fix #1084 )
2020-12-07 16:50:59 -05:00
Ronan Jouchet
412b724292
Update changelog for v42.0.1
2020-12-06 23:20:07 -05:00
Ronan Jouchet
f4af78018f
Fix arg validation regression in #1080 ( fix #1083 )
2020-12-06 23:19:02 -05:00
Ronan Jouchet
46bc71cb63
release.md: fix pushing tags by using annotated tags, document new CI build based on creating release
2020-12-06 14:29:42 -05:00
Ronan Jouchet
9dc0bed95c
Update changelog for v42.0.0
2020-12-06 14:08:18 -05:00
Ronan Jouchet
7c5b2bb68f
Bump default Electron to 11.0.3, bump dep eslint-config-prettier to 7.x, bump version to something far away from current Electron version
...
Rationale for nonsensical major version bump: around Nativefier 8.x,
versions of Nativefier and Electron aligned, by release schedule coincidence.
Since Nativefier has little breaking changes, it was great: as Electron
releases are breaking, Nativefier had no breaking changes, I bumped our
major version on new major Electron, and everything was good.
Except *now*, as I have a breaking change, that would bump Nativefier to
12.x, which would be confusing since we'd still default to Electron 11 :-/ .
-> To keep respecting semver and reduce confusion, bumping Nativefier
version to something far ahead. No it doesn't matter, version
number are meaningless anyway (well, outside of semver, whose
respect is precisely the point here).
2020-12-06 13:57:51 -05:00
erythros
27ecfcbeca
Check for improperly-formatted arguments ( fix #885 ) (PR #1080 )
...
Verifies short arguments do not contain an extra dash ( right: `-h`, error: `--h` )
Verifies long arguments contain at least two dashes ( right: `--help`, error: `-help` )
2020-12-06 12:34:32 -05:00
erythros
9b608d4d24
Correctly start in tray when both --maximize and --tray start-in-tray are passed ( fix #1015 ) (PR #1079 )
...
Co-authored-by: erythros <erythros.com>
2020-12-01 19:14:06 -05:00
Matthew Ruzzi
e8d3530b43
Warn on old Electron/Chrome ( fix #556 ) (PR #1076 )
...
Co-authored-by: Ronan Jouchet <ronan@jouchet.fr>
2020-11-30 21:45:35 -05:00
erythros
3e0011a29c
Fix icon path error when passing asar (--conceal) flag ( fix #975 ) (PR #1074 )
...
By moving icon copy before packaging by `electron-packager` occurs.
2020-11-30 14:51:19 -05:00
Jia Hao
f2c816795a
Actually fix the badge in the README
...
According to https://docs.github.com/en/free-pro-team@latest/actions/managing-workflow-runs/adding-a-workflow-status-badge , we must reference the workflow by name if it contains the `name` keyword.
2020-11-22 02:35:30 +00:00
Jia Hao
125a3894d2
Fix badge in README
2020-11-22 02:30:53 +00:00
Jia Hao
59accaba8d
Migrate from Travis CI to GitHub Actions
2020-11-22 02:28:14 +00:00
Ronan Jouchet
b821ade761
Update changelog for v11.0.2
2020-11-21 14:52:08 -05:00
Ronan Jouchet
292416b83f
Bump default Electron to 11.0.2
2020-11-21 11:28:00 -05:00