-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Automatically update the Expensify.cash desktop app when a new version is released on mac #1011
Comments
So for a bit more context: Right now we're utilizing an
And as a note, we're currently doing that when the app launches, then every hour after that. What we could do instead is create some custom logic like so:
|
Do we not have a Windows version of our electron app? |
If not, let's create an issue for someone to create a Windows desktop
client!
…On Thu, Dec 24, 2020 at 2:18 PM Puneet Lath ***@***.***> wrote:
This is applicable to Mac computers only
Do we not have a Windows version of our electron app?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#1011 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEMNUS6E45G6VZ6CMWS3TLSWO42PANCNFSM4VBH7IYQ>
.
|
Created an issue here |
@michaelhaxhiu just wanted to check in on this! |
Posted to Upwork last week. |
Going to assign to Nikhil from Upwork as soon as he responds and I add him to this GH. |
I've started to take a stab at this. Here are my thoughts/progress so far:
Next steps:
|
I'll review your solution proposal and get back to you on that shortly! @nbhargava can you please send me your email address so I can add you as a guest to our #expensify-contributors Slack channel? |
@nbhargava Not 100% certain if this will resolve your code signing issues you're running into, but you might try temporarily applying these changes in module.exports = {
appId: 'com.expensifyreactnative.chat',
productName: 'Expensify.cash',
extraMetadata: {
main: './desktop/main.js',
},
// Comment out notarizing
// afterSign: 'desktop/notarize.js',
mac: {
category: 'public.app-category.finance',
icon: './android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png',
hardenedRuntime: true,
entitlements: 'desktop/entitlements.mac.plist',
entitlementsInherit: 'desktop/entitlements.mac.plist',
type: 'distribution'
},
dmg: {
title: 'Expensify.cash',
artifactName: 'Expensify.cash.dmg',
internetEnabled: true
},
// Also comment out publishing step
// publish: [{
// provider: 's3',
// bucket: 'chat-test-expensify-com',
// channel: 'latest'
// }],
files: [
'./dist/**/*',
'./desktop/*.js',
'./src/libs/checkForUpdates.js',
],
}; It's worth a shot to see if it will help you test this. Just make sure you don't commit those changes or try to include them in your PR :) |
Unfortunately I tried that and it doesn't solve the issue for me. The problem seems to be that if the local version isn't signed the same way as the downloaded version, electron-updater rejects it (though I'm not 100% that this is the source of the problem). |
@nbhargava Your proposal looks good from a high level, but let's continue to have check-ins as you go to ensure the approach is working. Feel free to keep asking questions! You can get started on the PR and link it here. |
@nbhargava - I like the idea of investigating a way to test this using |
Quick update -- I have this mostly working. There are a couple of weird quirks I'm trying to work around before I post a PR. Namely, when the updated version downloads and boots, it creates a second instance of an Electron app (both of which are the correct version). I'm not exactly sure why this is happening, but once it's sorted I should be good to go. |
^ The above PR should include fixes for the mentioned issues. Let me know if there's anything else I need to do before it can be reviewed. |
The payment was sent today. Thanks for your contribution @nbhargava! |
If you haven’t already, check out our contributing guidelines for onboarding!
Platform - version:
Action Performed (reproducible steps):
Summary: the problem is that when an update is available for the desktop client, you have to manually close/reopen the desktop app for the update to take effect. This is true across all versions, and there are two potential methods to reproduce this:
Testing method - purposely install an older version of the Expensify.cash desktop app
To reproduce this method, you can purposely install an older version of the desktop app. That way, there will always be an update available when you launch the app. To purposely install an older version for this method:
npm run desktop-build
. That will run a local production build and save the packaged result todist/Chat.dmg
.dmg
file to install the desktop application.Expensify.cash
>About expensify.com
(Note: this can also be tested passively if you download the desktop app and wait a few hours, since we naturally release frequent version updates for the Expensify.cash)
Expected Result:
Automatically update the Expensify.cash desktop app when an update is released, without requiring refresh or close/reopen.
Actual Result:
When an update is released, the desktop app does not update automatically.
Notes/Photos/Videos:
N/A
Logs - JS/Android/iOS (if applicable):
N/A
The text was updated successfully, but these errors were encountered: