[web] Toggle person visibility actually changes hidden state #6000

Open
opened 2026-02-20 04:07:14 -05:00 by deekerman · 7 comments
Owner

Originally created by @cratoo on GitHub (Jul 16, 2025).

I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.

  • Yes

The bug

On the /people page the is a button for hiding and showing people. After accidently clicking on the eye icon and confirming instead of esc-ing out of the dialogue I realized that the actual state of the visibility of people changed. I'm sure i did not click on the reset-all button, as the result also only somehow inverted the view.

The code in 'immich/web/src/lib/components/faces-page
/manage-people-visibility.svelte' suggests that the actual state of visibility for the faces is changed. I could also confirm that the isHidden flag for a person was changed in the DB.

From my point of view this is completely the opposite of what a user expects of changing the view between visibilities and instead actually changes the state of persons.

Please only change what is displayed, when switching the option and don't actually change the state of persons visibility.

Additionally the usability of this button is horrible, as you always only see what a click on the button will do, but not, what currently is selected. Radio buttons for each state would be the better solution, imho. Also it should be: Show all, show named, show named an unnamed, show unnamed, show hidden.

The OS that Immich Server is running on

Official docker image

Version of Immich Server

v1.135.3

Version of Immich Mobile App

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

official

Your .env content

official

Reproduction steps

  1. Click on people
  2. Cycle through visiblity
  3. Confirm
  4. isHidden state is updated in DB
    ...

Relevant log output


Additional information

No response

Originally created by @cratoo on GitHub (Jul 16, 2025). ### I have searched the existing issues, both open and closed, to make sure this is not a duplicate report. - [x] Yes ### The bug On the /people page the is a button for hiding and showing people. After accidently clicking on the eye icon and confirming instead of esc-ing out of the dialogue I realized that the actual state of the visibility of people changed. I'm sure i did not click on the reset-all button, as the result also only somehow inverted the view. The code in 'immich/web/src/lib/components/faces-page /manage-people-visibility.svelte' suggests that the actual state of visibility for the faces is changed. I could also confirm that the isHidden flag for a person was changed in the DB. From my point of view this is completely the opposite of what a user expects of changing the *view* between visibilities and instead actually changes the *state* of persons. Please only change what is displayed, when switching the option and don't actually change the state of persons visibility. Additionally the usability of this button is horrible, as you always only see what a click on the button will do, but not, what currently is selected. Radio buttons for each state would be the better solution, imho. Also it should be: Show all, show named, show named an unnamed, show unnamed, show hidden. ### The OS that Immich Server is running on Official docker image ### Version of Immich Server v1.135.3 ### Version of Immich Mobile App - ### Platform with the issue - [x] Server - [x] Web - [ ] Mobile ### Your docker-compose.yml content ```YAML official ``` ### Your .env content ```Shell official ``` ### Reproduction steps 1. Click on people 2. Cycle through visiblity 3. Confirm 4. isHidden state is updated in DB ... ### Relevant log output ```shell ``` ### Additional information _No response_
Author
Owner

@cratoo commented on GitHub (Sep 15, 2025):

Still holds true for v1.141.1.

@cratoo commented on GitHub (Sep 15, 2025): Still holds true for v1.141.1.
Author
Owner

@shyamsundared commented on GitHub (Sep 16, 2025):

hi. can I work on this?

@shyamsundared commented on GitHub (Sep 16, 2025): hi. can I work on this?
Author
Owner

@oxyyyyy commented on GitHub (Nov 15, 2025):

I'm not sure if it's still a bug.
I've gone through the reproduction steps on demo.immich.app environment

My reproduction attempt:
go to /people -> go to "Show & hide people" -> clicked (cycled) through "eye" icon button to initial "show all" state -> clicked "Done" -> observe that number of visible people hasn't changed "People (446)"
So the number of visible photos hasn't changed after "eye" icon button clicking.

Please tell me if I'm wrong in understanding the issue

@oxyyyyy commented on GitHub (Nov 15, 2025): I'm not sure if it's still a bug. I've gone through the reproduction steps on `demo.immich.app` environment _My reproduction attempt:_ go to `/people` -> go to "Show & hide people" -> clicked (cycled) through "eye" icon button to initial "show all" state -> clicked "Done" -> observe that number of visible people hasn't changed "People (446)" So **the number of visible photos hasn't changed** after "eye" icon button clicking. Please tell me if I'm wrong in understanding the issue
Author
Owner

@cratoo commented on GitHub (Nov 15, 2025):

I just did what you described and now there are only 355 persons on the peoples page and the persons marked as "hide" are not available on the "show & hide people" page anymore. And this is exactly what I described above:
You don't only switch between which persons you see, but you actually change the state of the persons. Either the name of the page is wrong or the functionality needs to be changed. My description of the behavior also matches my interpretion of the code, so I think the bug is still there.

@cratoo commented on GitHub (Nov 15, 2025): I just did what you described and now there are only 355 persons on the peoples page and the persons marked as "hide" are not available on the "show & hide people" page anymore. And this is exactly what I described above: You don't only switch between which persons you see, but you actually change the state of the persons. Either the name of the page is wrong or the functionality needs to be changed. My description of the behavior also matches my interpretion of the code, so I think the bug is still there.
Author
Owner

@oxyyyyy commented on GitHub (Nov 18, 2025):

@cratoo
Could you please record a video?
I'm really sorry, but I can't understand the issue
A video should be a perfect hint

@oxyyyyy commented on GitHub (Nov 18, 2025): @cratoo Could you please record a video? I'm really sorry, but I can't understand the issue A video should be a perfect hint
Author
Owner

@cratoo commented on GitHub (Nov 18, 2025):

What is the best way to do this, like where should it be hosted etc?

@cratoo commented on GitHub (Nov 18, 2025): What is the best way to do this, like where should it be hosted etc?
Author
Owner

@oxyyyyy commented on GitHub (Nov 18, 2025):

What is the best way to do this, like where should it be hosted etc?

any service
YouTube, Imgur, Vimeo

@oxyyyyy commented on GitHub (Nov 18, 2025): > What is the best way to do this, like where should it be hosted etc? any service YouTube, Imgur, Vimeo
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/immich#6000
No description provided.