Skip to content
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

[DDW-269] Automatic Daedalus updates #2056

Merged
merged 153 commits into from
Sep 24, 2020

Conversation

thedanheller
Copy link
Contributor

@thedanheller thedanheller commented Jul 6, 2020

This PR implements Daedalus app automatic update.

Todos

  • Newsfeed format
  • Edge cases:
    • Update from the Newsfeed item is not valid
    • Download fails
    • Download success / corrupted file
    • Download success / File is deleted
  • Copy/translation
  • Storybook stories
  • QA testing scenarios
  • E2E Tests (it will be handled by DDW-353)

Testing Checklist

QA Testing

Testing sheet

Build 14478:

As expected:
1 - The notification bell is visible
2 - The item is displayed on the Newsfeed first. It doesn't share the scrollbar with the rest of the items.
3 - The "Update available" overlay is displayed
4 - The "postpone" link works as expected. It is disabled/hidden when the “Close and update” button is clicked
5 - Update is successful on all platforms
6 - The Information to update manually is displayed
7 - A progress bar is displayed on Linux while the update is performed.

Fixed
1 - The progress bar is displayed on Linux.

Pending
1 - The logging is still visible on Linux.

Screenshots

bell-1-loading
bell-2-home
en-1-newsfeed
en-2-overlay-progress
en-3-overlay-install
en-4-overlay-install-manual-link
en-5-error
jp-1-newsfeed
jp-2-overlay-progress
jp-3-overlay-install
jp-4-overlay-install-manual-link
jp-5-error


Review Checklist

Basics

  • PR has been assigned and has appropriate labels (feature/bug/chore, release-x.x.x)
  • PR is updated to the most recent version of the target branch (and there are no conflicts)
  • PR has a good description that summarizes all changes
  • PR has default-sized Daedalus window screenshots or animated GIFs of important UI changes:
    • In English
    • In Japanese
  • CHANGELOG entry has been added to the top of the appropriate section (Features, Fixes, Chores) and is linked to the correct PR on GitHub
  • Automated tests: All acceptance and unit tests are passing (yarn test)
  • Manual tests (minimum tests should cover newly added feature/fix): App works correctly in development build (yarn dev)
  • Manual tests (minimum tests should cover newly added feature/fix): App works correctly in production build (yarn package / CI builds)
  • There are no flow errors or warnings (yarn flow:test)
  • There are no lint errors or warnings (yarn lint)
  • There are no prettier errors or warnings (yarn prettier:check)
  • There are no missing translations (running yarn manage:translations produces no changes)
  • Text changes are proofread and approved (Jane Wild / Amy Reeve)
  • Japanese text changes are proofread and approved (Junko Oda)
  • UI changes look good in all themes (Alexander Rukin)
  • Storybook works and no stories are broken (yarn storybook)
  • In case of dependency changes yarn.lock file is updated

Code Quality

  • Important parts of the code are properly commented and documented
  • Code is properly typed with flow
  • React components are split-up enough to avoid unnecessary re-renderings
  • Any code that only works in main process is neatly separated from components

Testing

  • New feature/change is covered by acceptance tests
  • New feature/change is manually tested and approved by QA team
  • All existing acceptance tests are still up-to-date
  • New feature/change is covered by Daedalus Testing scenario
  • All existing Daedalus Testing scenarios are still up-to-date

After Review

  • Merge the PR
  • Delete the source branch
  • Move the ticket to done column on the YouTrack board
  • Update Slack QA thread by marking it with a green checkmark

@thedanheller thedanheller self-assigned this Jul 6, 2020
@thedanheller thedanheller changed the title Handle App automatic update [DDW-269] Handle App automatic update Jul 8, 2020
@gabriela-ponce
Copy link

gabriela-ponce commented Sep 22, 2020

@daniloprates Great work! The update is now working on Linux. Here are a few unexpected behaviors I found on 14452:

1 - The update in Linux is working, but there are a lot of console errors. Here are a screenshot and the details for the errors I managed to capture.
Edit note: @cleverca22 mentioned these are not errors but progress logs. I think it would be nice to have them hidden.

2 - If the .crdownload file on "Downloads" is deleted and Daedalus reopen, the download resumes and completes, but a new .crdownload is visible on the folder instead of the pkg, exe or bin.

3 - As a continuation of the previous issue, if you click "update and restart" on Linux, Daedalus updates, even if the corresponding bin file is not present in "Downloads".

I'll wait until @mioriohk and @ManusMcCole test this to update the summary.

@gabriela-ponce
Copy link

@daniloprates @cleverca22 The testing summary is updated on the description of this PR.

@gabriela-ponce
Copy link

@daniloprates For 14467, there are a couple of issues with the download file:

1 - The progress bar is displayed even if the file is already downloaded.

2 - The update file is downloaded everytime Daedalus is open.

3 - The "Update available" screen is never displayed after the bar reaches 100%. Also a console error is visible.

These are partial results on Mac. I'll test on Win and Lin and update this if I found further issues.

@gabriela-ponce
Copy link

@daniloprates @cleverca22
On build 14473:

1 - The issues with the update file are fixed.
2 - The logging is still visible on Lin.
3 - There is a progress bar for the installation on Linux, but it does not show progress. I'm not sure if this is still in progress.

@ManusMcCole
Copy link

ManusMcCole commented Sep 24, 2020

Hi @Danilo and @cleverca22

Here is a summary of our findings for build 14475

1.The progress bar is working as expected.

2.The update is working correctly on all OS

3.Logging messages are still appearing in the console on Linux as expected

Copy link
Contributor

@alexander-rukin alexander-rukin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Copy link

@ManusMcCole ManusMcCole left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job @daniloprates 👍

Copy link

@gabriela-ponce gabriela-ponce left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job @daniloprates and @cleverca22 🎉

Copy link

@miorsufianiohk miorsufianiohk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me 👍

Copy link
Contributor

@nikolaglumac nikolaglumac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing work @daniloprates 🎉
Proud of you 😄 💯

@nikolaglumac nikolaglumac merged commit 79d1854 into develop Sep 24, 2020
@iohk-bors iohk-bors bot deleted the feature/ddw-269-handle-app-automatic-update branch September 24, 2020 14:27
@nikolaglumac nikolaglumac added release-2.3.0-FC1 Daedalus Flight and removed ⏳release-vNext labels Oct 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants