-
-
Notifications
You must be signed in to change notification settings - Fork 12
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
Documentation of current issues with 3.1.0 #24
Comments
Thank you for submitting this issue! We, the Members of Meteor Community Packages take every issue seriously. However, we contribute to these packages mostly in our free time. If you think this issue is trivial to solve, don't hesitate to submit Please also consider sponsoring the maintainers of the package. |
Thanks Doran, that's highly appreciated!
Further info, I'm using: electron-updater 5.0.5 How are you able to run Meteor 2.13.3 without Node 14.21.4?
I think we should downgrade. This error with version 3.1.0 is going on for many months and this will hopefully fix it. Thanks! |
Hi Andreas, thanks for the feedback!
I had
Noted. We should check that v10 doesn't hinder the tests (anymore than they are now) but I think it should be fine as 3.0.1 was using v8. If there's no other feedback from the team I'll create a PR for it. Additionally, I looked into the following issue from my original post:
This is due to Devtron not being compatible with Electron 11+. See e.g. electron-userland/devtron#211. Unfortunately the project has been unmaintained for 7 years now and a post about alternatives a year ago had no replies. So my opinion is that we should sadly drop support for Devtron in meteor-desktop. If there's no opposing view on this, I can create a PR to remove all usage of/references to the tool. Next I was thinking of looking into:
as I think this is the first failed test that is currently blocking CircleCI (#13 (comment)). @StorytellerCZ if you have a different opinion on priorities, feel free to let me know, thanks. |
I agree to drop support for Devtron. I too was seeing that post and unfortunately no alternative has come up. You should go ahead and create that PR to remove all usages of/references to Devtron. Thank you! |
@dd137 thank you for you analysis and very much appreciated that you are willing to move things forward. Best to move things one PR at a time. Let's start with merging #23 which I think is a nice start.
Yes, let's do that and get 3.x working first. Then we can start on v4 which will be with Meteor 3 and Node 18.
If you can prepare as much fixes/PRs towards #13 then I'm going to merge them this weekend and release a patch version of everything so that we can proceed further. |
Hi Jan,
In regards to next steps, as an active user of ElectronJS and Meteor-desktop I'd like if we could proceed in the following way:
This is obviously my personal view only, I hope others can add theirs to the direction and order we should take. |
Sounds good. I'll create the PRs against the #13 branch. I should be able to get a few done in the next couple of days. Regarding future steps (once things work well again), I'd also prefer focusing on Electron upgrades for Meteor 2 for now, unless it becomes much easier to do so for Meteor 3. We have a business-critical app that I don't think we'll be able to migrate quickly. But let's see. |
Unfortunately I get some weird problems (test apps open ~10 times and all crash) when running
I had a look into that issue and hopefully fixed the problem. I'll create a PR today. |
I fixed 3-4 additional issues from the original post, the PRs are ready (thanks @StorytellerCZ). I started looking into the second I will look more into this next week but I'm not sure what can be done. If someone has more experience with Electron / Spectron, that'd be great (I have none so far). On the upside, this is only relevant for testing, I don't think it affects meteor-desktop otherwise. |
Thanks a lot @dd137 for all your amazing work! |
Thanks @StorytellerCZ! To clarify:
|
With Spectron being deprecated since Feb 2022 (Source) why are we still spending time on it? Shouldn't that be enough reason to remove it completely? I don't know which integration tests are being run by the CI/CD and if they can be ported over to the alternatives listed here: https://www.electronjs.org/docs/latest/tutorial/automated-testing |
@StorytellerCZ and @dd137 - I've noticed that a lot of npm packages in the ".meteor/desktop-build" folder are outdated. When I updated them (eg "connect" and "lodash") and restart my ElectronJS app all seems to be fine. However, shortly afterwards the two packages are back to their original versions. Do you know if the "package.json" in this folder is set by the PS: I think these outdated packages should be added to this issue as a task |
Hey guys. Good news, I fixed the remaining integration tests. Please see #29. With that, I think v3.1 is finally working again. There are a couple of issues still open in OP, but they are low priority in my opinion. @a4xrbj1 If you could test your app locally on branch fix/integration-tests, I'm curious if everything works for you (I have only tested skeleton meteor projects so far).
It's needed for the integration tests. In principle I agree it'd be good to port the tests to a non-legacy library but that would probably require significantly more work. Meanwhile Spectron supports Electron versions up to 17. In the end, the Spectron issue was mostly due to Meteor 2 only running with Node 14. So we might run into the same problem with other testing libraries. (In general, the problem will be more and more present as we try to upgrade Electron and other packages versions).
I'm not sure. These deps seem to originate from |
That's great progress and indeed best news on this package so far. Thanks so much for all the hard work to get the tests going again!
Not sure I fully understand. You want me to upgrade to the latest RC and run my ElectronJS app locally to see if it works still? Sorry, I don't have much experience with npm packages but you can shoot me an email directly with my handle here (a4xrbj1) followed by gmail and explain in a bit more detail what you want me to test.
Ok, given this info I agree with your view (keep Spectron), it's indeed getting more and more difficult as npm packages have moved to Node 16 and we're left behind until Meteor 3.x comes out and is stable!
It was a weird behavior, need to try to replicate it. So if it's for the skeleton only, there should be no problem in updating them. Will follow your suggestion to create a new issue. |
You're on a roll @dd137 Where've you been this entire time?! Thank you for your contributions! |
I have a bit of time in the next few weeks and intend to spend some of it on meteor-desktop. My main goal would be to help make it compatible with newer Electron versions.
As I don't have preexisting knowledge of meteor-desktop nor Electron, I started with trying to set up a working dev environment for MD (trickier than I thought it would be...) and listing issues I found so far. It would be helpful if someone more experienced could give their input below. See also #13.
Unless otherwise stated, I'm running the latest official releases, i.e. meteor-desktop 3.1.0 or rather f6f824a (Electron 11.5.0), Meteor 2.3.13, Node 14.21.3, macOS Ventura.
Issues with devEnvSetup and its tests
npm run desktop -- build -b
in meteor-desktop-test-app/, doesn't work.ERROR meteorApp: build was terminated by meteor-desktop as some errors were reported to stderr
. The errors in questions are things like(node:40872) Warning: Accessing non-existent property 'cat' of module exports inside circular dependency
npm run desktop -- init-tests-support
. I.e. if that step is skipped,npm run desktop -- build -b
runs finenpm start
andnpm run desktop -- build
(no-b
) separately works fine (with the warnings). Also, I thinknpm run desktop -- init-tests-support
is only needed for the last test (below), not this build test.npm run test-desktop
in meteor-desktop-test-app/ doesn't work either✘ Based on your configuration, 1 test file was found, but did not match the CLI arguments: * .desktop/**/*.test.js
npm run desktop -- build -b
, which prevents running meteor againpkill mongod
to temporarily fix the issuenpm run test-integration
inmeteor-desktop
) failInstalling meteor-desktop
meteor npm i meteor-desktop
can't automatically add the desktop script anymore (already with 3.0.1 I think)[meteor-desktop] failed to add meteor-desktop to your package.json scripts, please add it manually as 'desktop': 'meteor-desktop’
npm i
inside meteor-desktop itself causes the following error on my machine:Running meteor-desktop
Electron main process errors
Electron renderer process errors
Cannot read property 'BrowserWindow' of undefined
at Object.exports.install (/.../devrton/api.js:6)
at WebFrame.e.startsWith.e.startsWith.WebFrame.<computed> [as _executeJavaScript] (electron/js2c/renderer_init.js: 87)
(node:21799) UnhandledPromiseRejectionWarning: Error: Script failed to execute, this normally means an error was thrown. Check the renderer console for the error.
at WebFrame.e.startsWith.e.startsWith.WebFrame.<computed> [as _executeJavaScript] (electron/js2c/renderer_init.js:87:1577)
--exclude-archs web.browser.legacy
:Uncaught TypeError: Cannot read property 'versionHmr' of undefined
at module (hot-module-replacement.js?hash=...:149)
DevTools failed to load SourceMap: Could not parse content for meteor://desktop/__cordova/app/....map: Unexpected end of JSON input
The text was updated successfully, but these errors were encountered: