diff --git a/CHANGELOG.md b/CHANGELOG.md
index b84dc7a7197..35ca5753a70 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -18,6 +18,11 @@
- Fixed crash in `StreamMediaPlayer` when playing audio after re-login. [#5120](https://github.com/GetStream/stream-chat-android/pull/5120)
### ⬆️ Improved
+- Protected PN related requests from repeated usage. [#5130](https://github.com/GetStream/stream-chat-android/pull/5130)
+ * Prevented `ChatClient.getDevices` from duplicate requests.
+ * Prevented `ChatClient.addDevice` from duplicate requests.
+ * Prevented `ChatClient.deleteDevice` from duplicate requests.
+ * Added debouncing logic into `PushTokenUpdateHandler`
### ✅ Added
- Create new feature to mark a channel as unread. [#5103](https://github.com/GetStream/stream-chat-android/pull/5103)
diff --git a/stream-chat-android-client/detekt-baseline.xml b/stream-chat-android-client/detekt-baseline.xml
index 864c36fd5bc..159f29181cf 100644
--- a/stream-chat-android-client/detekt-baseline.xml
+++ b/stream-chat-android-client/detekt-baseline.xml
@@ -8,6 +8,7 @@
LongMethod:ChatClientDebuggerTest.kt$ChatClientDebuggerTest$@BeforeEach fun setUp()
LongMethod:ChatSocket.kt$ChatSocket$@Suppress("ComplexMethod") private fun observeSocketStateService(): Job
LongMethod:PinnedMessagesRequest.kt$PinnedMessagesRequest.Companion$fun create( limit: Int, sort: QuerySorter<Message>, pagination: PinnedMessagesPagination, ): PinnedMessagesRequest
+ MagicNumber:Identifiers.kt$31
MagicNumber:StreamDateFormatter.kt$StreamDateFormatter$100
MagicNumber:StreamDateFormatter.kt$StreamDateFormatter$10000
MagicNumber:StreamDateFormatter.kt$StreamDateFormatter$100f
@@ -29,9 +30,11 @@
MaxLineLength:StringExtensionsKtTest.kt$StringExtensionsKtTest.Companion$"https://us-east.stream-io-cdn.com/1/images/IMAGE_NAME.jpg?Key-Pair-Id=SODHGWNRLG&Policy=akIjUneI9Kmbds2&Signature=dsnIjJ8-gfdgihih8-GkhdfgfdGFG32--KHJDFj349sfsdf~SFDf2~Fsdfgrg3~kjnooi23Jig-Kjoih34iW~k7Jbe2~Jnk33j-Fsiniiz2~Sfj23iJihn-Jinfnsiw2kS"
MaxLineLength:StringExtensionsKtTest.kt$StringExtensionsKtTest.Companion$"https://us-east.stream-io-cdn.com/1/images/IMAGE_NAME.jpg?Key-Pair-Id=SODHGWNRLG&Policy=akIjUneI9Kmbds2&Signature=dsnIjJ8-gfdgihih8-GkhdfgfdGFG32--KHJDFj349sfsdf~SFDf2~Fsdfgrg3~kjnooi23Jig-Kjoih34iW~k7Jbe2~Jnk33j-Fsiniiz2~Sfj23iJihn-Jinfnsiw2kS&oh=$originalHeight&ow=$originalWidth"
MaxLineLength:WaveformExtractor.kt$WaveformExtractor$logger.v { "[handle16bit] this.totalSamples: $totalSamples, sampleRate: $sampleRate, duration: $durationInSeconds" }
+ ReturnCount:PushTokenUpdateHandler.kt$PushTokenUpdateHandler$private suspend fun removeStoredDeviceInternal(): Boolean
SwallowedException:WaveformExtractor.kt$WaveformExtractor$e: Exception
TooGenericExceptionCaught:StreamPayloadParser.kt$StreamPayloadParser$e: Throwable
TooGenericExceptionCaught:WaveformExtractor.kt$WaveformExtractor$e: Exception
+ TooManyFunctions:Identifiers.kt$io.getstream.chat.android.client.api.models.identifier.Identifiers.kt
TooManyFunctions:NativeMediaPlayer.kt$NativeMediaPlayer
UnusedPrivateMember:StreamAudioPlayer.kt$StreamMediaPlayer$private fun normalize(uri: String): String