-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
[Feedback] Electron/Desktop App #1047
Comments
I am downloading Ubuntu, will spin it up in Hyper-V this evening and give this a shot Windows version is pretty tight, couldn't find any immediate issues other than the ones highlighted. |
I cant connect to my server via reverse proxy because the cert isn't known (my best guess). In a browser I just have to click the proceed button, but there isn't an option to do that in the ubuntu app. If I use an IP address it works fine if I use http. |
Goal templates seem to be working fine on the ubuntu version. |
Yeah I'm trying to see if I can get node to pop up some kind of 'accept certificate' message or something (fire some callback) but haven't cracked it as yet. Electron has a function for it but the issue is in the backend not electron. |
[bug report]
Repro:
What's weird is.. sometimes the app works. Other times it does not and it is just stuck. |
Unfortunately I don't have a Mac to test but one thing that comes to mind with this being intermittent is that perhaps the port it's choosing for the socket is not actually free (or reserved etc)? |
(I might be wrong) Could the problem be that multiple sockets get opened up? I am able to reliably reproduce if I open up the app and then do "cmd+r" (refresh). -- One more bug: it's not possible to connect it to a remote server. I think the child process does not have network access.
Update: this actually might be a fly-io exclusive issue. Debugging if there is a solution.. https://community.fly.io/t/error-connect-ehostunreach-when-sending-requests-to-my-fly-io-app/5686/30?page=2 |
Yep! The front/client end does reconnect on a Ctrl+R, and fails. The ws server keeps running so it should just close the client connection and open a new one on the same port. I think maybe i need to call close on the socket before it opens a new one, but I'll have to figure out where in react-land to place that call. |
Update on |
Do we need to implement something in-app to cope with this? i.e. fallback to ipv4 if 6 fails or something? |
This might just be with weird network configuration. So I would recommend NOT doing anything for now. And to wait and see if others run into the same problem. |
Thanks for working on this @Shazib. I much prefer to use the desktop app and really struggled to get it building in CI so glad to see it working again. |
Creating/Loading backups & Rules seem to be pretty solid, so i've gona ahead and marked them off on here. |
Ditto the above from my testing a couple of weeks back (at least for the Mac version). I went back to running Actual as a desktop app using Unite 4 (https://www.bzgapps.com/). But I cannot do exports from that either. |
Thanks @MatissJanis @Kidglove57, Unfortunately i dont have a Mac so can't work on any of the macOS specific bugs, but i will check all of these against the windows version and try to solve them there. |
Small improvement for exporting: #1468 Now if the export fails we will show a nice error message + will not crash the websockets. But this is still not really solving the export functionality (couldn't figure that out yet..) |
This PR might solve our issue though: WiseLibs/better-sqlite3#1036 I'll wait for it to be merged and released before continuing investigations. |
@MatissJanis Could the work i did in this PR be of use here? |
What do you mean? That PR is already merged and in |
Is the underlying problem a similar issue? That we can't call functions allocating memory outside the sandbox? |
AFAIK: yes. Both |
Could the solution be to re-use the |
Edit: I also tried changing |
I've been using the electron app on Windows for a couple months now and goal templates are working the same as the Web version. |
Is the build no longer being generated? Can't seem to find any electron related artifacts in the linked actions page. |
I can still see them for PR's |
Socket reconnection has been merged and should be available in With this: I think all the issues have been resolved. Next we need to figure out a release process, signing, publishing to marketplaces, etc. |
@MatissJanis amazing work! Regarding windows builds, I think if you deploy to the Microsoft store, you do not need an expensive codesigning certificate from a verified authority, you upload the build to the store, and then they (microsoft) sign it with thier own certificate. You need to create a certificate and sign the build you send to them, but this cert can be locally generated for free, as long as its linked with your developer account - so they can make sure you uploaded the build. Actual would need an 'organisation' app developer account which is a one-off lifetime fee of $99. Of course this means that the builds distributed on github are signed but not verified. (but maybe we accept that for now, as the cost is quite a lot). Apple I assume just requires a developer account? |
@youngcw FYI, on linux, I was able to connect to my instance behind a self-signed cert by setting the following environment variable:
|
Do we need a server before launching the app ? |
@lucastucious no - Actual can operate in local-only mode, later connecting to a server for features like sync/backup & bank account connections |
Sorry, i mean, i've installed the Electron app here, but all i have is a white screen The console error : Uncaught TypeError: Cannot assign to read only property 'setTheme' of object '#<Object>'
at l1 (main.4c9802a2.js:187:362293)
at main.4c9802a2.js:187:364803
at main.4c9802a2.js:187:365046
at main.4c9802a2.js:187:365050
VM10:1 Uncaught ReferenceError: __actionsForMenu is not defined
at <anonymous>:1:1 |
I suggest looking at the console to see the error, makes a bit more of a helpful screenshot than a blank screen. |
Can you try the latest stable build? |
Same issue with this one |
Certainly does look like the windows builds are broken right now |
@lucastucious give this one a go please #1926 |
We will start publishing the electron app more publicly starting v24.5.0. Eventually it might also end up in app-stores. Closing this off as the electron app has been quite stable the last couple of months + the feedback for it has stopped coming in. If there are further issues - please open individual bug report issues. |
Experimental builds of the Electron-based desktop app are now available with every change we make to Actual. Go to this GitHub Actions page, click on the top entry, make sure you’re logged into GitHub, and then click on the link for your platform under “Artifacts.” Make sure to read the below warnings before proceeding.
Known issues/warnings:
:edge
version of the server to ensure both clients are at the very bleeding edge. If you don’t do this, you may run into “out-of-sync migrations” errors on the web client.We hope to clean up all of these loose ends (along with any bugs you identify) before making a stable release of the Electron app. In the future, we will do our best to release Electron app updates at the same time as all other package updates.
[added by maintainers]
Opening this issue to record issues and to-do items for the electron app.
Issues
macOS Issues (Help Needed)
To Test
Electron Auto-Updater?Future Items
Investigate codesigning/deploying to Mac/Windows/Linux storesAdd releases to Github...The text was updated successfully, but these errors were encountered: