F5 resets setting "show only persons with unconfirmed faces"

Started by janb83, January 01, 2024, 09:20:29 PM

Previous topic - Next topic

janb83

As the title says, using F5 with the active setting "show only persons with unconfirmed faces" in the People window disables the setting. This makes it very annoying to work through a long list of persons with unconfirmed faces as you cannot "clean up" the list by F5. This is basically due to another issue which might be considered a bug: Taking care of all unconfirmed faces (via F4 dialog) does not remove the person from the list, even though the setting is active.

Mario

<F5> is a last resort keyboard shortcut to forcefully reload an app. No settings can be saved, the app is terminated and reloaded by the browser running in the panel. What else would you expect?

I'm not sure what you with what you mean by <F4> dialog (the Face Manager?) and why this should remove persons (?). Please provide more details so I can follow.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

janb83

Quote from: Mario on January 01, 2024, 10:24:58 PM<F5> is a last resort keyboard shortcut to forcefully reload an app. No settings can be saved, the app is terminated and reloaded by the browser running in the panel. What else would you expect?

I would expect it to behave like F5 behaves in any other software: refresh the current view, not reset(!). How else am I supposed to refresh it then? In the File Window the command shown in the Command Pallette is even called "Refresh View". I can't check its name for the People "App" because the Command Pallette does not work there.

QuoteI'm not sure what you with what you mean by <F4> dialog (the Face Manager?) and why this should remove persons (?). Please provide more details so I can follow.

Yes, the Face Manager. I didn't say it should remove(!) persons, I said it should remove them from the list. If the setting "show only persons with unconfirmed faces" is active, and the state regarding this changes for a person (because all unconfirmed faces have been confirmed BY USING the Face Manager), the filter does not update the Person list. So, let's say you confirm all faces for 10 out of 100 persons with unconfirmed faces by using the Face Manager. Afterward, even with the setting active, the person list will still show 100 persons out of which 10 will say "No unconfirmed faces". Because of this, I'm trying to refresh to only see the 90 remaining, but this resets the setting. The only way to get to 90 is by disabling the setting and then enabling it again, which is quite slow.

Mario

QuoteI would expect it to behave like F5 behaves in any other software: refresh the current view, not reset(!).
Your expectation is wrong. The Face Manager, Person assignment, People View, People Filter, Event View, Dashboard etc. are all apps - running in Chromium web browsers hosted by IMatch. Pressing <F5> will reload the app. Not refresh the filter.


I'll try to understand what you are doing and what the problem is.
I think I understand that you are using the People Filter in the Filter Panel and you have enabled the option to show Files with unconfirmed faces in that filter, correct?

And when you confirm faces of the files shown when this filter is active, the Filter Panel does not reload the File Window to remove these files?

Any detail, every step you make, will be important in order to diagnose this.

Which IMatch version are you using?
Are other filters active?
In which View do you work in IMatch?

I've just tried this with a folder containing 50 files.
I set the People Filter in the Filter Panel to show only files with unconfirmed faces. No other filter is active.
I now see 19 files in the File Window.
I double-click on the first file and assign a person to the face. Move to the next file and assign a person to the face.
Close the Viewer.
The File Window now shows 17 files (2 files less than before). Correct.
I select two files with the correctly suggested (but not confirmed) person and press <Ctrl>+<M>,<C> to confirm them.
After maybe 0.2 seconds, the two files vanish from the File Window. Correct.

At least here, this seems to work just fine. There are no other reports about a similar issue.
Can you explain in detail (like I did above) what you do and in which order?
As I said, any detail will matter with an issue like this.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

janb83

QuoteI'll try to understand what you are doing and what the problem is.
I think I understand that you are using the People Filter in the Filter Panel and you have enabled the option to show Files with unconfirmed faces in that filter, correct?

No. Not correct. I am using the setting "Show only persons with unconfirmed faces.", which exists precisely once in IMatch. That's why I didn't elaborate on it because I thought there could be no confusion as I explicitly mentioned this unique name. I'm not doing anything special, and from almost 15 years of C++ development experience, I am 99% sure you can reproduce this if you just use the setting instead of the filter (which is not what I described). To avoid any further confusion about which setting I am referring to, here is a screenshot:

Screenshot 2024-01-02 123036.png

Quote from: Mario on January 02, 2024, 10:38:30 AM
QuoteI would expect it to behave like F5 behaves in any other software: refresh the current view, not reset(!).
Your expectation is wrong. The Face Manager, Person assignment, People View, People Filter, Event View, Dashboard etc. are all apps - running in Chromium web browsers hosted by IMatch. Pressing <F5> will reload the app. Not refresh the filter.

A user expectation, by definition, cannot be wrong, it can just be different from reality. You are explaining why F5 does not do what it does in other windows of the same software (and any software really) by giving implementation details. This is irrelevant when discussing user experience. As a user, I should not need to know which windows in your software are implemented in which way technically just to know how a button press is expected to work. This is just like API or class design. The caller expects results based on the external signature, without knowledge of internals.

Aside from that, even your technical explanation does not make sense. In Chromium, F5 is also NOT reset, it's refresh(!). That's why e.g. Chrome has a shortcut CTRL+F5 which actually does a full "reset" instead of a reload of the content. Of course, in neither case will this reset SETTINGS regarding the website you reload like allowed extension access or cookie settings. So the comparison is off.

Mario

QuoteNo. Not correct. I am using the setting "Show only persons with unconfirmed faces.", which exists precisely once in IMatch. That's why I didn't elaborate on it because I thought
IMatch is a huge application and I cannot keep everything in my mind. I apologize.

This is why it's custom here in the community, and I'm grateful for that, that users tell me in detail what they do when they experience a problem. Users often use different names and descriptions than IMatch or the help system uses. So showing is better than telling in this case. All that <F5> talk confused me.

QuoteI'm not doing anything special, and from almost 15 years of C++ development experience, I am 99% sure you can reproduce this if you just use the setting instead
If I have figured out what we're talking about, sure. 15 years of C++. You're probably so much better than I at remembering things. Awesome. Are you from Germany, by the way?

QuoteIn Chromium, F5 is also NOT reset, it's refresh(!). That's why e.g. Chrome has a shortcut CTRL+F5 which actually does a full "reset" instead of a reload of the content. Of course, in neither case will this reset SETTINGS regarding the website you reload like allowed extension access or cookie settings. So the comparison is off.
IMatch handles the F5 itself for apps, not using the built-in Chromium functionality.

All that stuff aside, now for the important bit: your error description is actually:

"When I set the People View to show only persons with unconfirmed faces, it does not update when I confirm all faces for a particular person. The person remains visible."

Is this correct? That's something I can try to reproduce and fix it when it is a bug. I had actually forgotten about that option because I did not work on the People View for a long time.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Mario

I could reproduce the problem and fix it.

The People View will now be somewhat slower if this option is enabled, since it has to recalculate the face count for all persons after every (un-)assignment to see if this may have caused a person to have no unconfirmed faces and thus it must be removed from the view.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

janb83

Thanks, Mario. I knew this would be easy to reproduce once the confusion was gone :) After fixing thousands of bugs in large desktop applications (3-10 Mio. LOC), you develop a feeling for this. Sorry if the initial bug report was ambiguous to you.

As for your fix: Not sure how big the speed issue is, but if it is a real issue you could possibly improve speed if you keep track of the persons for whom the assignment actually changed? So, the one currently being edited via the Face Manager and every person to which a face was assigned or removed from within it. That list should be much smaller than the full person list, and only those need a recount.