Closed m-natarajan closed 5 months ago
Triggered auto assignment to @Christinadobrzyn (NewFeature
), see https://stackoverflowteams.com/c/expensify/questions/14418#:~:text=BugZero%20process%20steps%20for%20feature%20requests for more details.
:warning: It looks like this issue is labelled as a New Feature but not tied to any GitHub Project. Keep in mind that all new features should be tied to GitHub Projects in order to properly track external CAP software time :warning:
Feature Request: Desktop app: Clicking on update button shouldn't lead to re download it
Currently we only open desktop app download link:
We should replace the above by:
We already handle the update event in electron:
https://github.com/Expensify/App/blob/d22957d292661ef10ea539f49725c388b3237dc9/desktop/main.ts#L211
By this, the app would restart to install the update automatically.
We also need to update the prompt text accordingly.
NA
I think this can be external
Job added to Upwork: https://www.upwork.com/jobs/~01c264c5555e17f971
Triggered auto assignment to Contributor-plus team member for initial proposal review - @DylanDylann (External
)
π£ @ordinall! π£ Hey, it seems we donβt have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork. Please follow these steps:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>
Contributor details Your Expensify account email: abdullah4abidansari@gmail.com Upwork Profile Link: https://www.upwork.com/freelancers/~01e2212b454027f46b
β Contributor details stored successfully. Thank you for contributing to Expensify!
@gijoe0295 Your proposal looks promising, but how you can verify that it works well? When testing your proposal, I see that quitAndInstallWithUpdate
callback isn't triggered when we click Update
button
Feature Request: Desktop app: Clicking on update button shouldn't lead to re download it
Currently we only open desktop app download link:
electron-updater
's autoUpdater
works like this:
autoUpdater.checkForUpdates()
checks if there's any update available and download it here.UPDATE_DOWNLOADED
(an electron-updater
built-in event) is fired which triggers the callback here:
START_UPDATE
event to call quitAndInstallUpdate
here.We need to create a custom event for this and handle it appropriately following the instruction:
contextBridge
, for example MANUALLY_CHECK_FOR_UPDATE
.updateApp/index.desktop.ts
:window.electron.send(ELECTRON_EVENTS.MANUALLY_CHECK_FOR_UPDATE);
manuallyCheckForUpdates
a bit because it was initially used as a callback for toolbar's menu item. We can handle this in the PR. Then bind it to the MANUALLY_CHECK_FOR_UPDATE
event in desktop/main.ts
:https://github.com/Expensify/App/blob/d22957d292661ef10ea539f49725c388b3237dc9/desktop/main.ts#L131
ipcMain.on(ELECTRON_EVENTS.MANUALLY_CHECK_FOR_UPDATE, () => {
manuallyCheckForUpdates(undefined, browserWindow);
});
UPDATE_DOWNLOADED
event handler had a logic to notify user when downloading is done here, that requires user interaction to actually install the update, but I don't think we need it in this case because user already pressed Update
in the modal.
isSilentUpdate
and set it to true
in MANUALLY_CHECK_FOR_UPDATE
handler.UPDATE_DOWNLOADED
event handler to call quitAndInstallWithUpdate
immediately if isSilentUpdate
.By this, when user press Update
in the modal, we check if there's available update and show a dialog to user, then download and install the update silently.
We also need to update the prompt text accordingly.
NA
@DylanDylann I updated my proposal. We can follow this instruction to test this functionality locally but that's quite complicated and we could do it in implementation phase. For now we can hard-code some places to make it work.
@gijoe0295 After testing I see that ipcMain.on(ELECTRON_EVENTS.MANUALLY_CHECK_FOR_UPDATE, ....) isn't triggered after we call window.electron.send(ELECTRON_EVENTS.MANUALLY_CHECK_FOR_UPDATE);
@DylanDylann Note that console.log
does not work in Electron runtime. You can use dialog.showMessageBox
instead.
https://github.com/Expensify/App/blob/468ee2f66b84dad74d6ab2cc6ec71ad2d9bd629d/desktop/main.ts#L148
@gijoe0295 Ohh, cool. It works for me.
@gijoe0295's proposal looks good to me
π π π C+ reviewed
Triggered auto assignment to @Beamanator, see https://stackoverflow.com/c/expensify/questions/7972 for more details.
π£ @DylanDylann π An offer has been automatically sent to your Upwork account for the Reviewer role π Thanks for contributing to the Expensify app!
π£ @gijoe0295 π An offer has been automatically sent to your Upwork account for the Contributor role π Thanks for contributing to the Expensify app!
Offer link Upwork job Please accept the offer and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review π§βπ» Keep in mind: Code of Conduct | Contributing π
@gijoe0295 Any update here?
@gijoe0295 Please prioritize this PR instead of proposing new issues
@DylanDylann I do not propose any new π I'm actively working on it as you could see in PR commit history. The code change and testing are good on my side but I'm looking for a way for you and QA team to test easily. I need to purchase a paid Apple Developer account for that.
You proposed 2 hours ago https://github.com/Expensify/App/issues/40316#issuecomment-2059982364
Hi @DylanDylann could you provide an updated when you have a moment! Thank you!
Waiting for reviewing from @Beamanator
sorry for the delay, just merged!
monitoring PR - https://github.com/Expensify/App/pull/40253
getting ready for payment...
Payouts due:
Upwork job is here.
Do we need a regression test for this?
@DylanDylann Could you check ^?
Regression Test Proposal
Precondition: The desktop app's outdated version and there is new update version
Do we agree π or π
Created regression test - https://github.com/Expensify/Expensify/issues/396639
Paid out based on this payment summary - https://github.com/Expensify/App/issues/39526#issuecomment-2109656088
I think we're good to close!
@Christinadobrzyn Apology for catching up late here, this issue was created from April 3 (prior to the base price change), as such according to this announcement, it should remain as $500. So this payment summary needs adjustment.
Could you help to handle it (maybe as a bonus to the existing job), thanks!
HI @DylanDylann so sorry I didn't see this comment.
Thanks, @gijoe0295, for reaching out! I just added a $250 bonus to each of the Upwork job payments to account for the $500 price. Let me know if there's anything else!
@Christinadobrzyn No problem at all. Thanks for stepping in!
If you havenβt already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Problem:
on the Mac Desktop app, have this "update" button update the current app directly, instead of leading you to re-download it.
Solution:
User should be able to update without downloading again
Context/Examples/Screenshots/Notes:
Logs: https://stackoverflow.com/c/expensify/questions/4856 Expensify/Expensify Issue URL: Issue reported by: @puneetlath Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1712096487518269
Upwork Automation - Do Not Edit