Skip to content

Fix Screen Lock authentication while device is locked - #6326

Open
JustAlex0000 wants to merge 1 commit into
signalapp:mainfrom
JustAlex0000:fix/screen-lock-face-id-on-lock-screen
Open

Fix Screen Lock authentication while device is locked#6326
JustAlex0000 wants to merge 1 commit into
signalapp:mainfrom
JustAlex0000:fix/screen-lock-face-id-on-lock-screen

Conversation

@JustAlex0000

@JustAlex0000 JustAlex0000 commented Aug 13, 2026

Copy link
Copy Markdown

Contributor checklist

Administrative:

Commits and testing:

  • My commits are rebased on the latest main branch.
  • My commits are well-structured for review.
  • My change has been thoroughly tested, and I am not aware of any regressions to existing features or behaviors.
  • I have tested my contribution on these devices:
  • iPhone 15 Pro, iOS 27.0 (Public Beta 3)

Description

When Signal is open on an iPhone with Always-On Display enabled, locking the phone causes Signal's Face ID prompt to appear on the Lock Screen. After unlocking the phone, Signal asks for Face ID again.

This change prevents Signal from starting Screen Lock authentication while the device is locked. Once the device is unlocked, Signal checks the Screen Lock state again and presents authentication normally.

Testing

  • Tested with Screen Lock set to immediately and Always-On Display enabled. The Signal prompt no longer appeared while the phone was locked, and appeared once after unlocking.
  • Repeated the test with Low Power Mode enabled.
  • Verified that backgrounding and reopening Signal still requires authentication.
  • Built the Signal scheme with code signing disabled.
  • Ran SwiftFormat on the changed file.

@sashaweiss-signal

Copy link
Copy Markdown
Contributor

Hi, thanks for your interest in contributing. I'm not able to reproduce the issue you're describing; when I lock the device (with Always-On Display enabled) with Signal foregrounded and Signal Screen Lock enabled, I simply see the device lock. Pressing the power button to then wake the device causes it to use FaceID to unlock (as normal), and when I then swipe the Lock Screen away and Signal is again foregrounded it goes through the Signal Screen Lock (as normal).

Could I ask you for a screen recording of the issue you're experiencing, so I can make sure we're talking about the same things?

@JustAlex0000

Copy link
Copy Markdown
Author

Thanks for replying to me, let me try to clarify the issue a bit more.
I cannot really screen record since the issue involves locking the screen and it turns off my screen record.

The issue for me is when i turn off the phone with Signal opened it waits about 3 seconds and then the iphone displays the face id widget to authenticate (see the attached picture) even though the phone was turned off, and in that state i can either look at my phone so it unlocks, then it unlocks the screen and then it unlocks the Signal app again or i can decline the face id in the lock screen and the phone dims the screen normally.

Here are all potentially relevant settings for signal and iOS for reproducing this issue:
Signal:
Screen Lock Enabled
Screen Lock Timeout: Instant
iOS:
Always On Display Enabled
Raise to Wake Enabled
Auto-Lock 2 minutes
Low Power Mode Off (it turns off Always On display and that way "fixes" the issue)
Focus mode cannot be set to Sleep (it turns off Always On display and that way "fixes" the issue)

I tested with these exact settings on 2 phones:
iPhone 17 Pro with iOS 26.6
iPhone 15 Pro with iOS 27 Public Beta 3
(latest Signal App Store version)
Both phones had the same issue (see photo) with these settings

The version with my code fixes the issue completly.
I hope this clears up any confusion about my PR.

Screenshot shows my screen about 3 seconds after locking my phone with Signal opened and unlocked, happens 100% of the time after locking the phone.
image

5 seconds after locking the phone:
699EC54F-E9D1-4271-B074-6F456BE3AD12

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants