Commit Graph

83 Commits

Author SHA1 Message Date
Adam Weeden 64157c3c5d
Update to Electron 25 (#1559)
This is intended to get Electron updated to 25. There are no known bugs
in this release.

As well this includes a fix for an existing bug I noticed where child
windows in Windows received a menu bar when they should not have.
2023-08-25 09:10:05 -04:00
Adam Weeden 051622d58e
Update Electron to 21 + Node to 16 (#1550) 2023-08-03 13:35:19 -04:00
Matthew Ruzzi fae8edd183
Update link to Development Guide (#1544) 2023-07-20 12:33:49 -04:00
Adam Weeden cef8e42251 Fix directory and add clarification for new smoke test 4 2023-03-24 16:48:16 -04:00
Johan von Forstner 79009e87cd
Add getDisplayMedia and PipeWire support (#1477)
I'm picking up @RickStanley's abandoned PR #1321 again to add
screensharing support (fixes #927), with the following additional
changes:

- In newer Electron versions, `desktopCapturer.getSources` must be
called from the main process, so I solved this with an IPC call.
- Importing from `./helpers/helpers` in 'preload.ts' does not work, as
was mentioned by @DimICE in
https://github.com/nativefier/nativefier/pull/1321#issuecomment-1001518035.
I'm not very familiar with TypeScript or Electron, so not sure why that
is and how it could be solved - for now I just copied the referenced
`isWayland` function to `preload.ts`.
- Add a screensharing test to the manual test script, as requested by
@ronjouch in
https://github.com/nativefier/nativefier/pull/1321#issuecomment-1006725818

As far as I understood from the discussion in #1321, the last point was
basically the only thing that was missing to get this merged, correct?

---------

Co-authored-by: Rick Stanley <rick-stanley@outlook.com>
Co-authored-by: Rick Stanley <rick.stanley@lambda3.com.br>
Co-authored-by: Ronan Jouchet <ronan@jouchet.fr>
2023-03-23 11:50:19 -04:00
Ronan Jouchet 1fd046798d CI: test on 12 and **19**, now that 19 is out 2022-11-07 17:34:20 -05:00
Ronan Jouchet 1f67a9f9a7
Bump jest to 28 (#1437)
https://jestjs.io/blog/2022/04/25/jest-28
https://jestjs.io/docs/upgrading-to-jest28
https://github.com/facebook/jest/blob/main/CHANGELOG.md#2800

Co-authored-by: Adam Weeden <adamweeden@gmail.com>
2022-07-24 11:24:59 -04:00
Ronan Jouchet d499b5f1c3 bug.yml & feature.yml & question.yml: more 2022-07-23 18:31:24 -04:00
Ronan Jouchet 14c61af12c bug.yml & feature.yml & question.yml: more 2022-07-23 18:30:03 -04:00
Ronan Jouchet 79ff80ca53 bug.yml & feature.yml & question.yml: more 2022-07-23 18:28:22 -04:00
Ronan Jouchet eebdf90bc7 bug.yml & feature.yml: more 2022-07-23 18:23:58 -04:00
Ronan Jouchet 7fdc4b8515 bug.yml & feature.yml: more 2022-07-23 18:21:33 -04:00
Ronan Jouchet a042812dca bug.yml & feature.yml: more 2022-07-23 18:19:39 -04:00
Ronan Jouchet 7ab50a0e2d bug.yml: more 2022-07-23 18:05:25 -04:00
Ronan Jouchet 8e6363a634 bug.yml: more 2022-07-23 18:04:37 -04:00
Ronan Jouchet dae20c62e1 bug.yml: more 2022-07-23 17:59:45 -04:00
Ronan Jouchet 6c48f5b013 bug.yml: more 2022-07-23 17:58:41 -04:00
Ronan Jouchet 9c099ce6bc bug.yml: more 2022-07-23 17:57:05 -04:00
Ronan Jouchet 4967e47aee bug.yml: more 2022-07-23 17:55:28 -04:00
Ronan Jouchet 4f38119682 bug.yml: first edits 2022-07-23 17:54:23 -04:00
Matthew Ruzzi 9ed379024d
Switch issues from GitHub "issue templates" to new/beta "issue forms" (fix #1258) (#1425) 2022-07-23 17:43:48 -04:00
Ronan Jouchet 334cbe28a5 Publish: fix Docker build failing because of Playwright, and make a convenience npm task for it 2022-05-02 00:27:58 -04:00
Ronan Jouchet 8bbc7cacbd CI: restore needing successful playwright build to publish 2022-05-02 00:19:18 -04:00
Ronan Jouchet 27979cfd42 Fix publish.yml running on ubuntu and thus not able to run playwright tests 2022-05-02 00:13:09 -04:00
Ronan Jouchet eb81f0c3b2 CI: re-order tasks, for friendlier display in GH's popup limited to 6 lines
This should let us see without scrolling: lint, playwright, and latest-node*
2022-05-01 23:58:37 -04:00
Ronan Jouchet 1e1c720aa9 CI: you cannot win 2022-05-01 23:10:11 -04:00
Ronan Jouchet eacbaf737f CI: yes yes 2022-05-01 23:06:56 -04:00
Ronan Jouchet 458c7ec178 CI: okay GHA, no variables 2022-05-01 23:06:25 -04:00
Ronan Jouchet 6af4e774e2 CI: fumbling around 2022-05-01 23:02:05 -04:00
Ronan Jouchet 430a129c39 CI: (attempt to) separate/parallelize Playwright tests, for speed 2022-05-01 22:59:39 -04:00
Ronan Jouchet 887347adbb Playwright tests: only run on windows, because mac keeps failing or being too slow 2022-04-26 19:55:30 -04:00
Adam Weeden ce04b3337c
Add some debugging to the playwright script + add a timeout for the playwright ci (#1400) 2022-04-22 10:51:00 -04:00
Ronan Jouchet 60035a8e74 Bump max tested version of Node for CI/Publish from 17 to 18
Released yesterday: https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V18.md#18.0.0
2022-04-20 22:06:46 -04:00
Adam Weeden e664bc6af8
Add playwright integration testing to the app (PR #1397)
This PR allows us to code playwright integration tests that can potentially replace some of our manual tests and allow us automated testing of the app itself.

Current technical limitations:
* No app level keyboard simulation support (e.g, zoom in, zoom out, etc.)
* No code coverage support, so even though we are testing the app, the code coverage does not reflect this fact
2022-04-20 22:03:49 -04:00
Ronan Jouchet 5ce6c24a3f Fix lint not running in CI 2022-02-06 17:55:20 -05:00
Ronan Jouchet ae4a0f05b8 CI: (Attempt to) push tag, not unreadable SHA
Might have to retry this one as I'm not sure it's this one or GITHUB_REF,
https://docs.github.com/en/actions/learn-github-actions/environment-variables
2022-01-06 10:50:00 -05:00
Ronan Jouchet 97cce9196d CI: (Attempt to) push image to our org, not my personal account 2022-01-06 10:32:48 -05:00
Pranav Shikarpur 7b4d172248
CI: Fix Docker Hub image build & push (#1100)
We tried using the auto Docker Hub thingie, but it's flaky.
Reverting to manually pushing as part of release CI.
2022-01-06 10:14:31 -05:00
Ronan Jouchet 6f4ae587c4 build/ci workflow: pass the node version number with the format expected by GHA/setup-node
and avoid warning "Not found in manifest.  Falling back to download directly from Node"
2021-12-25 16:53:06 -05:00
Ronan Jouchet 797922afb6 build/ci workflow: try to use setup-node-v2 cache to speed up build 2021-12-25 16:42:48 -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 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
Adam Weeden 0d99ce4916
Update Electron to 13.5.1; Fix auth manual tests (#1287) 2021-10-02 22:17:06 -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
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 d0849ce794 generate-changelog: integrate running "npm out" for a reminder of outdated dependencies 2021-06-28 22:56:53 -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
Adam Weeden a491e34966
Fix `--tray start-in-tray` (fix #1225) (#1235) 2021-06-22 01:22:46 -04:00
Adam Weeden 113d8448c1
Fix CSS injection (#1227)
This fixes https://github.com/nativefier/nativefier/pull/1222#issuecomment-860913698 , where:

1. When it works (e.g. initial page load), CSS is slower to inject (you can see pages without injected CSS)
2. CSS isn't injected when navigating to a page

On both Windows & Linux, a `git revert 9a6c6f870d && npm run build` fixes the issue.

--

I'm still not 100% sure what went wrong, but I suspect that the new version of Electron may not be firing onHeadersReceived for the actual navigation events, and only its child requests. To counteract it, I'm now injecting at the navigation event as well. I was able to reproduce the issue and this does seem to fix it. Please let me know if it does for you as well..

Also I noticed some funkiness in your logs where we're trying to inject on font files. So I realized the method is probably not nearly as important as the content-type, so I've switched blacklist methods to blacklist content-types.
2021-06-15 09:02:57 -04:00
Ronan Jouchet 4badf3dc70 manual-test: fix shellcheck nits, make tests structure more distinct 2021-06-07 17:27:23 -04:00