Stellarium / stellarium

Stellarium is a free GPL software which renders realistic skies in real time with OpenGL. It is available for Linux/Unix, Windows and macOS. With Stellarium, you really see what you can see with your eyes, binoculars or a small telescope.
https://stellarium.org
GNU General Public License v2.0
7.71k stars 821 forks source link

download does not ignore unchecked sources [sat plugin] #3617

Closed axd1967 closed 4 months ago

axd1967 commented 8 months ago

Expected Behaviour

Unchecked sources should not trigger error messages

Actual Behaviour

Steps to reproduce

  1. add following (but obsoleted) source: https://celestrak.org/NORAD/elements/supplemental/starlink.txt
  2. make sure it is checked
  3. run a manual update (Update now)
  4. observe error message (as expected)
  5. uncheck that source
  6. re-run manual update
  7. BUG: stellarium ignores the unchecked item, tries to download from that source and reports an error.

image

Also: the error message is overwritten shortly after, which is not ideal and could easily be overlooked.

System

Logfile

If possible, attach the logfile log.txt from your user data directory. Look into the Guide for its location.

Correct error message in the log file:

[Satellites] starting Internet update...
[Satellites] FAILED to download "https://celestrak.org/NORAD/elements/supplemental/starlink.txt" Error: "Error transferring https://celestrak.org/NORAD/elements/supplemental/starlink.txt - server replied: Not Found"
[Satellites] update finished. 0 / 6589 updated, 0 added, 0 missing or removed. 10252 source entries parsed.
alex-w commented 8 months ago
  1. This is not a bug, this is a feature. Please read the suggestion what doing chekbox in this tab.
axd1967 commented 8 months ago

hmm... ok, but not very intuitive. I don't see a use case for this checkbox as currently implemented...

alex-w commented 8 months ago

hmm... ok, but not very intuitive.

Huh? The tab has suggestion: Satellites in the marked source lists will be automatically added on the next update if they are not already in the collection. What is not very intuitive here?

I don't see a use case for this checkbox as currently implemented...

What???

github-actions[bot] commented 8 months ago

Hello @axd1967!

We really need your feedback.

axd1967 commented 8 months ago

Sorry, but

  1. the UI is not intuitive
  2. the text fails to clearly explain the function of the checkbox

The UX that a user would expect - without having to read that text, which is unusual - would be

When unchecked, the source is not taken into account.

I wonder what the use case was that the original developer had in mind, but it's not clear to me. And I have developed UI for decades, in case anyone wonders.

github-actions[bot] commented 6 months ago

Hello @axd1967!

Thank you for your feedback.

alex-w commented 6 months ago

The checkbox in this UI always was using for mark the lists for automatically adding satellites from itself list. This behavior and this suggestion was not changed since series 0.10 of planetarium.

github-actions[bot] commented 6 months ago

This is not a bug! This is a feature...

gzotti commented 6 months ago

Following this report, I added the (invalid) source, but did not activate it. I agree, it is strange that there is still an attempt to download the file, and an error is reported in the GUI. Why even attempt to download the (unselected) file when it is then (correctly) not processed? Other satellites are then downloaded and updated as is should be.

It appears useful to me to not even attempt downloading unselected entries, and give warnings only for selected lists where download fails. I would still not show a MessageBox (with manual confirmation) when such update error/warning can go unnoticed, a log entry should be enough. (Think about automatic screens not under user control, auto-updating.)

alex-w commented 6 months ago

Following this report, I added the (invalid) source, but did not activate it. I agree, it is strange that there is still an attempt to download the file, and an error is reported in the GUI.

Why? It's works as defined since series 0.10

Why even attempt to download the (unselected) file when it is then (correctly) not processed?

How you can check correctness of format for TLE without downloading file? If some user put wrong URL, the Stellarium shouldn't be guessing the correct URL.

It appears useful to me to not even attempt downloading unselected entries,

Huh? Standard use case: user added one satellite from the list (for example "earth.txt") and he did not marked list (he does not want automatic adding satellites from the list) - if Stellarium will not attempt downloading unselected entries then user not be getting an updating for TLE for his satellite. Do you really think that always outdated TLE is a good idea?

and give warnings only for selected lists where download fails. I would still not show a MessageBox (with manual confirmation) when such update error/warning can go unnoticed, a log entry should be enough. (Think about automatic screens not under user control, auto-updating.)

The log already contains info for fails...

gzotti commented 6 months ago

I think nobody asked for guessing wrong URLs. If the source file is NOT ACTIVE (not selected), there is no expectation from user's side or obvious need to even download it in the first place. The instructive description says: "Satellites in the marked source lists will be automatically added on the next update if they are not already in the collection." (my emphasis) This seems to indicate that non-marked source lists will be ignored, but remain available for activation next week (or when user is interested). My (maybe non-standard) use-case expection would be to be interested for one evening in the starlink pest, I activate the file, update, and no longer see any fixed stars. Then, I disable the file, click update, ad they are gone, at least from my screen.

However, as regular non-user of the plugin I am confused about your "standard" use case. Can I (and how can I) select a single satellite from a multi-element file, then disable the selection of the group (TLE source file) the satellite is a member of, and expect that the elements of the single satellite will be updated? This use case has not occurred to me in any description since version 0.10. If this hand picking and deleting of single satellites (yes, possible on the Satellites tab) is really a "standard" use case, probably add a second line for clarity:

"Unmarked entries will also be fetched to update only previously included satellites."

Outdated TLS should of course be removed after a while. (2-3 weeks without update? Or depending on perigee height?)

alex-w commented 6 months ago

If the source file is NOT ACTIVE (not selected), there is no expectation from user's side or obvious need to even download it in the first place.

The behaviour of checkbox is clearly described - why someone expected some other behaviour?

The instructive description says: "Satellites in the marked source lists will be automatically added on the next update if they are not already in the collection." (my emphasis) This seems to indicate that non-marked source lists will be ignored, but remain available for activation next week (or when user is interested).

So, you didn't read the block "About" :( I don't understand why you expect ignoring for TLE where checkbox is clearly related to automatic adding all satellites from the list?

My (maybe non-standard) use-case expection would be to be interested for one evening in the starlink pest, I activate the file, update, and no longer see any fixed stars. Then, I disable the file, click update, ad they are gone, at least from my screen.

So, you want to replace the all tools from tabs "Satellites" and "Sources" by someone new tab. Why? Many users expect (and used Stellarium/Satellites for) following a few specific satellites, and your new behaviour is fully broke these tasks. Or users should generate the own lists of satellites.

However, as regular non-user of the plugin I am confused about your "standard" use case. Can I (and how can I) select a single satellite from a multi-element file, then disable the selection of the group (TLE source file) the satellite is a member of, and expect that the elements of the single satellite will be updated?

This is a standard behaviour of this plugin. The ability to automatically adding all satellites from selected lists was coming since version 0.10.6, previously users added satellites from various lists manually (though GUI of course). Adding new satellites are available via button "+" (tooltip: "Add more satellites") in Satellites tab (see About/"Adding new satellites" also).

This use case has not occurred to me in any description since version 0.10. If this hand picking and deleting of single satellites (yes, possible on the Satellites tab) is really a "standard" use case, probably add a second line for clarity: "Unmarked entries will also be fetched to update only previously included satellites."

OK, I'll add this note, but who will read it?

github-actions[bot] commented 6 months ago

Oops... Sorry for mistake @axd1967

10110111 commented 6 months ago

I agree that this behavior is counter-intuitive, since the checkbox being unchecked is naturally associated with being disabled, not with some "will not add satellites but will fetch data regardless".

Moreover, the text just states that the satellites will be added if they are checked. This doesn't tell what will happen if they are not checked: a normal expectation for a user would be that the corresponding satellites won't be added, and thus there's no need to download anything from such a source.

It's absolutely not obvious that there's some list of unadded satellites, from which one can choose something to add, and which thus requires the plugin to download from the "disabled" sources. So maybe the text should be clearer on this, or the GUI should be reworked for better UX. Particularly, there should be a clear way to disable a source completely, without removing it from the list. These checkboxes mislead the user into assuming their function.

One way to improve on this is to have two checkboxes: Enable Add satellites automatically URL
  • [ ]
  • [x]
https://foo.bar/xyz
  • [x]
  • [x]
https://baz.gar/blabla
gzotti commented 6 months ago

OK, indeed I did not read the About, expected to find that info in the SUG. (Usually "About" info is a subset of SUG info, not the reverse! Another expectation, at least...) Maybe this functionality has not changed in 10 years, just that some users unfamiliar with what has been available since 0.10 are now surprised by hidden actions that can just be clarified with tiny added descriptions at the right place. I think it's solved with the better description already now, @10110111 's proposal would visually even be clearer, sure.