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

Properly inform the user about software proposal problems #414

Merged
merged 22 commits into from Feb 9, 2023

Conversation

imobachgs
Copy link
Member

@imobachgs imobachgs commented Jan 26, 2023

Problem

Recently, we added a Software section that informs the user about missing packages and the installation size. However, it has a few problems:

  • When the network is not available (at this time, D-Installer uses online repos), it just reports that there are missing packages.
  • While reading the repositories, the user has no feedback about the progress.

Solution

  • Display progress information while reading the repositories.
  • Inform the user about problems reading the repositories.
  • Add a mechanism to force refreshing the repositories.
  • Reread the repositories if the network becomes available again.

Screenshots

Progress information

Captura desde 2023-02-09 09-47-36

Report errors about unreachable repositories

Captura desde 2023-02-09 09-50-26

Do not inform about missing packages/patterns where there are no reachable repositories

Captura desde 2023-02-09 09-59-48

To do

  • Move most of the proposal logic to a separate class (DInstaller::Software::Manager contains a lot of logic).
  • Inform the user when a repository is not accessible.
  • Do not try to make a proposal if there are no repositories.
  • Display some progress in the corresponding section or, at least, explain what is happening.
  • Add a mechanism to allow refreshing the repositories (Handle failed software probe #388)
  • Refresh the repositories metadata when the network is available again

Testing

  • Added a new unit test
  • Tested manually

@imobachgs imobachgs changed the title [service] Extract the software proposal logic to a separate class Properly inform the user about software proposal problems Jan 26, 2023
@coveralls
Copy link

coveralls commented Jan 26, 2023

Coverage Status

Coverage: 77.916%. Remained the same when pulling c4a2e33 on software-errors-handling into 143dbc0 on master.

@imobachgs imobachgs force-pushed the software-errors-handling branch 5 times, most recently from 5fd5720 to 1170111 Compare January 27, 2023 13:10
@imobachgs imobachgs force-pushed the software-errors-handling branch 4 times, most recently from b6a8188 to 63cd92d Compare February 7, 2023 20:56
@imobachgs imobachgs marked this pull request as ready for review February 8, 2023 07:56
Copy link
Contributor

@dgdavid dgdavid left a comment

Choose a reason for hiding this comment

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

Actually it looks good, just a few comments.

service/lib/dinstaller/software/proposal.rb Show resolved Hide resolved
service/test/dinstaller/software/proposal_test.rb Outdated Show resolved Hide resolved
service/test/dinstaller/software/proposal_test.rb Outdated Show resolved Hide resolved
service/test/dinstaller/software/proposal_test.rb Outdated Show resolved Hide resolved
service/test/dinstaller/software/proposal_test.rb Outdated Show resolved Hide resolved
web/src/components/core/FileViewer.test.jsx Show resolved Hide resolved
web/src/components/core/FileViewer.jsx Show resolved Hide resolved
web/src/components/core/ProgressText.jsx Outdated Show resolved Hide resolved
Copy link
Contributor

@dgdavid dgdavid left a comment

Choose a reason for hiding this comment

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

LGTM 👍 , thank you!

Copy link
Contributor

@dgdavid dgdavid left a comment

Choose a reason for hiding this comment

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

LGTM

@imobachgs imobachgs merged commit 4b7d439 into master Feb 9, 2023
@imobachgs imobachgs deleted the software-errors-handling branch February 9, 2023 14:11
This was referenced Feb 10, 2023
bmwiedemann pushed a commit to bmwiedemann/openSUSE that referenced this pull request Feb 16, 2023
https://build.opensuse.org/request/show/1066104
by user IGonzalezSosa + dimstar_suse
- Version 0.7
- Update the list of patterns to install for Leap Micro 5.3
  (gh#openSUSE/agama#427).

- Better handling of software repositories
  (gh#openSUSE/agama#414):
  * Report issues when reading the software repositories.
  * Inform the user about the software proposal progress.
  * Do not try to calculate a proposal if there are no
    repositories.

- Use the upstream version of D-Bus ObjectManager
  (gh#openSUSE/agama#245)

- Save logs and provide the path to the file
  (gh#openSUSE/agama#379)

- Implement validation of software proposal
  (gh#openSUSE/agama#381)

- Check for installed packages in the target system, instead of the
  installation medium (gh#openSUSE/agama#393).

- Simplify the network configuration to just copying the
  NetworkManager connections and e
bmwiedemann pushed a commit to bmwiedemann/openSUSE that referenced this pull request Feb 16, 2023
https://build.opensuse.org/request/show/1066106
by user IGonzalezSosa + dimstar_suse
- Version 0.7
- Do not use a proxy to get the errors lists
  (gh#openSUSE/agama#424).

- Add live reloading feature for easing the front-end development
  process (gh#openSUSE/agama#419).

- Fix storage section crashing when proposal is not ready
  (gh#openSUSE/agama#418).

- Better handling of software repositories
  (gh#openSUSE/agama#414):
  * Report issues when reading the software repositories.
  * Inform the user about the software proposal progress.
  * Add a button to reload the repositories
    (gh#openSUSE/agama#388).

- Added a button for displaying the YaST logs
  (related to gh#openSUSE/agama#379)

- UI fixes (gh#openSUSE/agama#401):
  * Add a fallback height for the layout
  * Fix some miss-alignments
  * Add missing icon
  * Ensure tooling serving and loading fo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants