AppState emits `active` after locking iPhone with "Always On Screen"
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- ios, react-native
- Ambito
- mobile
Direzione di ricerca
Inizia dal comportamento di AppState.addEventListener('change') nel riproduttore Snack obbligatorio, utilizzando un iPhone o un Simulator con Always On Display. Traccia gli eventi del ciclo di vita di iOS prodotti quando il dispositivo viene bloccato e identifica perché active segue inactive. Il lavoro è completato quando il blocco del dispositivo non emette più l’evento active spurio, mentre le normali transizioni dello stato dell’app continuano a funzionare.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
On iPhones that support "Always On Display" (see supported models) and have this setting on (it is on by default!), locking your phone whilst a React Native application is open causes AppState.addEventListener to emit the event: active.
This has several unwanted consequences: for popular applications who rely on the active event to fetch new data, this bug causes 1000s of unwanted API calls that automatically fail, as the runtime is immediately paused after the app is paused (which as a result causes HTTP calls to be dropped).
Steps to reproduce
- Ensure you're running this on an iPhone (or Simulator) that support the "Always On Display" feature.
- In a blank react native application, add the following code to a screen:
useEffect(() => {
const eventListener = AppState.addEventListener('change', (state) => {
console.log('🚨 AppState changed to: ', state)
})
return () => {
eventListener.remove()
}
}, [])
- Lock the phone.
- You should see a
inactiveevent, immediately followed by anactiveevent.
React Native Version
0.81.4
Affected Platforms
Runtime - iOS
Output of npx @react-native-community/cli info
System:
OS: macOS 26.1
CPU: (14) arm64 Apple M4 Pro
Memory: 1.92 GB / 48.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 22.16.0
path: ~/.nvm/versions/node/v22.16.0/bin/node
Yarn:
version: 1.22.22
path: ~/Documents/amber/amber-mobile/node_modules/.bin/yarn
npm:
version: 10.9.2
path: ~/.nvm/versions/node/v22.16.0/bin/npm
Watchman:
version: 2025.03.03.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.16.2
path: /Users/rudy/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 25.1
- iOS 26.1
- macOS 26.1
- tvOS 26.1
- visionOS 26.1
- watchOS 26.1
Android SDK: Not Found
IDEs:
Android Studio: 2025.2 AI-252.25557.131.2521.14432022
Xcode:
version: 26.1.1/17B100
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.10
path: /usr/bin/javac
Ruby:
version: 3.1.2
path: /Users/rudy/.rbenv/shims/ruby
npmPackages:
"@react-native-community/cli":
installed: 20.0.0
wanted: ^20.0.0
react:
installed: 19.1.0
wanted: 19.1.0
react-native:
installed: 0.81.4
wanted: 0.81.4
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: true
newArchEnabled: true
Stacktrace or Logs
Not relevant.
MANDATORY Reproducer
https://snack.expo.dev/@amber-pli/fascinated-violet-popcorn
Screenshots and Videos
- Lingua principale
- C++
- Stelle
- 127k
- Fork
- 25.3k
- Merge medio
- 1g 23h
- PR unite (30g)
- 4
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di react/react-native
-
Needs: Triage :mag:
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
react/react-native#58565 · 1 commento · 2 reazioni ·
-
Needs: Author Feedback Needs: Repro
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
react/react-native#58555 · 4 commenti · 1 reazione ·
-
Needs: Attention Needs: Repro
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
react/react-native#58526 · 2 commenti ·
-
Needs: Author Feedback Needs: Repro
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
react/react-native#58448 · 1 commento ·
-
Needs: Attention Needs: Repro
Difficoltà 2/5 Mezza giornata Idoneità per principianti 82/100
react/react-native#58441 · 2 commenti ·
Tutte le issue di react/react-native
Issue simili
-
Website Doc Typo Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 92/100
autowarefoundation/autoware_universe#13413 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
automated-analysis bug memory-safety
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100