-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Photo picker for stories cannot pick new photos #5921
Comments
Hey there! As a contributor to Signal iOS, I understand and share your frustration with the ongoing issue affecting users for over two and a half years. I'm eager to submit a pull request to resolve this problem finally. I aim to strike a balance between user privacy and ease of use. I prioritize user privacy, but I also recognize the importance of making the app user-friendly. Currently, when messaging someone, users can select a photo or video to send while maintaining control over their privacy settings. If they choose "Limited Access," they can handpick the photos they want to share with Signal. To add more photos, they can simply scroll to the side and select "manage." However, this experience is not currently available when creating stories. To address this, I propose the following solution. When adding photos or videos to stories, users with limited access to their photos set in Signal will be able to easily grant access to new content. Here's the proposed workflow:
I appreciate any feedback or thoughts you may have as I implement this new feature! :) |
As an end-user, I don't quite understand the value in having two layers of photo pickers. I have to select photos in iOS's photo picker, which then show up in Signal's photo picker, where I have to select them again. The following sounds more straightforward to me:
That said, your suggestion is still better than the status quo. |
The reasoning behind having these two layers of photo pickers is to have Signal have limited access to only the photos you select. If you're a privacy-focused person this would make sense; however, it's very cumbersome. I think that when you're presented with that limited image picker, you simply pick the image that you want Signal to have access to, then you're brought to a new screen where you are presented with the images that you just selected, and then you can decide which that you want and not have to swim in a sea of photos. Since I'm only a contributor and not a part of the team I'm limited in the scope of the changes that I'm allowed to do, so the current approach that I laid out in my first comment is the path that I think will have the highest likelihood of getting accepted. |
My proposal would also result in Signal having limited access, to only the photos that you select. When an application opens iOS's photo picker, the photo picker shows ALL photos on the device. The user then selects some photos, and the application receives a handle to only those photos. Your proposal is to grant Signal permanent access to the selected photos, so Signal can shows its own custom photo picker. What I don't see is any value in this custom photo picker; it's just an additional layer of confusing indirection. This custom photo picker adds no real value. My guess is that it was implemented by someone who didn't know that iOS have a native API to show a photo picker, and assumed that all users would always grant access to all photos. |
Yeah, I see what you are talking about now! Having to select the photo first in the limit images picker and then select it again in the custom picker is pretty annoying. Looking through all of the code related to this issue, there is a lot of code that deals with photos. I just looked at the system photo picker as linked in this comment. The system photo picker came out in iOS 15 and that's what the minimum required iOS version for Signal is. My best guess as to why they haven't migrated over yet is just that they haven't gotten around to it yet, it's a pretty big change in the codebase, and/or they wanted that layer of privacy for a reason. Since I'm just a contributor and not a part of the team I'm more limited in my abilities of what I'm allowed to do. For this issue, I only added new code and didn't rewrite anything, so QA would be faster/happier. If I were to start ripping some things out to implement just the photo picker (not the custom one), this PR would have a lot less chance of being accepted and merged. But that's no reason to give up hope of your feature getting into the app one day. But I agree with you that the overall flow of selecting the photos to use in a story needs to 100% be reworked in favor of the user, but until then I hope that my PR will be able to make things a little less annoying for you :) Simulator.Screen.Recording.-.iPhone.16.-.2025-01-23.at.18.44.40.mp4Here's the PR! :) |
Thanks for your work and explaining how one can select more photos from a message. I didn't know about this feature. 🙏 |
Oh wow, didn't knew that either. This is super hidden, especially when already having 300+ granted items in there. I think it would be much better to have the "manage" button as the first item in the selection and not the last one, so it's always visible. Let me know if I should create a new issue for that, as it differs a bit from what you worked on. |
Bug description
It seems Signal uses its own custom photo picker instead of the iOS one. The problem is that a custom photo picker can only enumerate photos for which I’ve granted Signal access. So, in my case, I only see a single one.
The only workaround is to go into iOS settings > Signals > Photos > Edit Selected Photos, pick the new photo I want to upload there (eg: grant Signal access to it), then jump back into Signal and redo the above steps, and the photo is pickable.
Clearly the workaround is a huge pain, and I suspect most iOS users don't even know how to dig into settings to fix this. The photo also has to be picked twice: once in settings and once again in signal.
Steps to reproduce
Many months ago, I used the "share photo" option on a conversation on Signal. At the time, I picked a single photo to share (the one I was about to send). This is relevant context; the first time you use Signal's photo picker it will work, but only the first time.
Actual result
I can only pick the photo to which Signal has already been granted access.
Expected result
I should be able to pick another, different, photo.
Device info
Device: iPhone 11 Pro
iOS version: 16.0
Signal version: 5.59.10
Possible solution
The obvious solution here is: simply use iOS image picker. The current approach won't work because it only lists photos to which Signal has been granted access (but Signal has no shortcut to change this without digging into settings).
I'm not entirely sure of the exact API (I'm an iOS user, not developer), but apps like Fastmail get this right: when I want to attach a photo to an email, it pops up iOS's photo picker, which allows me to pick any photo on my phone.
Alternatives considered
Instagram tries to work around this by showing a link on the photo picker to use the native iOS photo picker to select new photos. With this approach, one can easily grant access to new photos, but when uploading a new story, one has to pick the photo twice, first on the iOS photo picker, and then on Instagram's internal one. I don't know how they consider this good UX.
Additional context
This was originally reported as #5478. However, nobody filed the paperwork in time, and the original issue expired.
Please do keep in mind that this kind of stale bots are counterproductive; they just add more churn and don't really fix anything.
The text was updated successfully, but these errors were encountered: