signalapp / Signal-iOS

A private messenger for iOS.
https://signal.org
GNU Affero General Public License v3.0
10.74k stars 3k forks source link

Photo picker for stories cannot pick new photos #5478

Open WhyNotHugo opened 1 year ago

WhyNotHugo commented 1 year ago

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.

EvanHahn-Signal commented 1 year ago

Thanks for filing this. We'll figure out the right thing to do here.

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

WhyNotHugo commented 1 year ago

Still an issue

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

WhyNotHugo commented 1 year ago

Still an issue on 6.22.0.9

Miguel-Signal commented 1 year ago

Hi @WhyNotHugo

Just to confirm, have you enabled permissions for All Photos within your iOS Settings for Signal?

iPhone Settings > Signal > Photos > Allow Photos or All Photos iPhone Settings > Privacy > Photos > Allow Photos or All Photos iPhone Settings > General > Restrictions > Disable restrictions > then restart the phone and try again.

WhyNotHugo commented 1 year ago

I have not granted permission to all photos. This is intentional; I only want to share specific photos.

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

WhyNotHugo commented 1 year ago

Activity occurs

stale[bot] commented 10 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

WhyNotHugo commented 10 months ago

Still an issue. Still not possible to pick photos.

This could easily be solved by dropping the custom photo picker (which expects that I grant permissions to new photos via settings) and using the one provided by iOS.

stale[bot] commented 7 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

dabo248 commented 7 months ago

It's still an issue and bothering me every time I want to send a photo.

stale[bot] commented 4 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

dabo248 commented 4 months ago

bump

killalau commented 2 months ago

In my settings, there are only 2 options "None" and "Add Photos Only", there is no way for me to add a phone in-app in general. Do we need a "Full Access" on photos?

My spec:

ArthurHNL commented 2 months ago

The problem here is that Signal implemented its own photo picker instead of using the one provided by iOS. This requires Signal to have access to all photos of the user for the user to be able to pick a desired photo. A workaround is going into the settings to manually select photos that Signal is allowed access to and then selecting these photos again in Signal but this, to my opinion, not user friendly.

To properly fix this, in my opinion, Signal should migrate to using the system photos picker that does not require any permissions. Or at the very least provide a link to the settings app where access can be granted.

ArthurHNL commented 2 months ago

In my settings, there are only 2 options "None" and "Add Photos Only", there is no way for me to add a phone in-app in general. Do we need a "Full Access" on photos?

My spec:

  • Device: iPhone 15 Plus
  • iOS Version: 17.5.1
  • Signal Version: 7.17(171)

@killalau

It is possible to grant access to the full photo library (at least on my iPhone the option is there), though simply not desired in my opinion. Using the system photo picker also provides a unified experience for users across apps.

If you really do not have the option, maybe you are using a work/school managed device that has policies preventing this?

These are the options I have (pardon my Dutch, “beperkte toegang” means limited access and “volledige toegang” means full access).

IMG_0245

akwick commented 1 month ago

@WhyNotHugo My workaround for this is issue is to open Photos, select the image/video I want to share, click on sharing, and share it via Signal. In the case that I want to sent the same image/video to multiple people, I forward it via Signal. I found it "less" painful than changing the settings. 😊