From 66a137cffe8adee63a80a6670f8f69c78e9bf1f2 Mon Sep 17 00:00:00 2001 From: ScreenTinker Date: Tue, 28 Apr 2026 15:45:18 -0500 Subject: [PATCH] Android: bump to 1.7.8 + fix safeOn return type Released APK 1.7.8 includes the OOM/crash-loop fix, WebSocket crash hardening, and the http(s)-only ImageLoader scheme guard. Bumped versionCode 10 -> 11 and versionName 1.7.7 -> 1.7.8 so existing 1.7.7 installs auto-update on the next UpdateChecker poll. Also fixed the safeOn extension function: Socket.on() returns Emitter, not Socket, so the original `return on(...)` failed compile with a type mismatch. Switched to `on(...); return this` for proper chaining. Co-Authored-By: Claude Opus 4.7 (1M context) --- android/app/build.gradle.kts | 4 ++-- .../java/com/remotedisplay/player/service/WebSocketService.kt | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index 264a55a..5ee742e 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -11,8 +11,8 @@ android { applicationId = "com.remotedisplay.player" minSdk = 26 targetSdk = 34 - versionCode = 10 - versionName = "1.7.7" + versionCode = 11 + versionName = "1.7.8" } signingConfigs { diff --git a/android/app/src/main/java/com/remotedisplay/player/service/WebSocketService.kt b/android/app/src/main/java/com/remotedisplay/player/service/WebSocketService.kt index b1ee42d..c0c3fbf 100644 --- a/android/app/src/main/java/com/remotedisplay/player/service/WebSocketService.kt +++ b/android/app/src/main/java/com/remotedisplay/player/service/WebSocketService.kt @@ -69,7 +69,7 @@ class WebSocketService : Service() { // (or a transient state error during disconnect) used to surface as an unhandled // exception on the Socket.IO IO thread and crash the whole app. private fun Socket.safeOn(event: String, handler: (Array) -> Unit): Socket { - return on(event) { args -> + on(event) { args -> try { @Suppress("UNCHECKED_CAST") handler(args as Array) @@ -77,6 +77,7 @@ class WebSocketService : Service() { Log.e("WebSocketService", "Listener for '$event' failed: ${e.message}", e) } } + return this } fun connect(serverUrl: String? = null) {