futo-org / circles-android

Secure social networking for Android
GNU Affero General Public License v3.0
19 stars 4 forks source link

Crash from Runtime Error When Notifications Enabled #2

Closed rothn closed 5 months ago

rothn commented 6 months ago

Steps to reproduce

  1. Open the app
  2. Sign into my matrix account
  3. Enable notifications
  4. Observe the crash

Additional info

type: crash
osVersion: google/raven/raven:14/UQ1A.231205.015/2023123100:user/release-keys
package: org.futo.circles:25
process: org.futo.circles
processUptime: 343 + 184 ms
installer: com.android.packageinstaller

java.lang.RuntimeException: Unable to start service org.futo.circles.notifications.GuardAndroidService@e4e5073 with Intent { cmp=org.futo.circles/.notifications.GuardAndroidService }: android.app.MissingForegroundServiceTypeException: Starting FGS without a type  callerApp=ProcessRecord{b09d2fb 23124:org.futo.circles/u0a168} targetSDK=34
    at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4885)
    at android.app.ActivityThread.-$$Nest$mhandleServiceArgs(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2301)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:205)
    at android.os.Looper.loop(Looper.java:294)
    at android.app.ActivityThread.main(ActivityThread.java:8225)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
    at com.android.internal.os.ExecInit.main(ExecInit.java:49)
    at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
    at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:359)
Caused by: android.app.MissingForegroundServiceTypeException: Starting FGS without a type  callerApp=ProcessRecord{b09d2fb 23124:org.futo.circles/u0a168} targetSDK=34
    at android.app.MissingForegroundServiceTypeException$1.createFromParcel(MissingForegroundServiceTypeException.java:53)
    at android.app.MissingForegroundServiceTypeException$1.createFromParcel(MissingForegroundServiceTypeException.java:49)
    at android.os.Parcel.readParcelableInternal(Parcel.java:4890)
    at android.os.Parcel.readParcelable(Parcel.java:4872)
    at android.os.Parcel.createExceptionOrNull(Parcel.java:3061)
    at android.os.Parcel.createException(Parcel.java:3050)
    at android.os.Parcel.readException(Parcel.java:3026)
    at android.os.Parcel.readException(Parcel.java:2968)
    at android.app.IActivityManager$Stub$Proxy.setServiceForeground(IActivityManager.java:6776)
    at android.app.Service.startForeground(Service.java:777)
    at org.futo.circles.notifications.GuardAndroidService.onStartCommand(SourceFile:14)
    at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4867)
    ... 11 more

Application version

1.0.16

App Store name

F-Droid

Phone model

Pixel 6 Pro

Operating system version

Android 14

Homeserver

nicholasroth.net

Contact info

@nicholasroth:nicholasroth.net

rothn commented 6 months ago

A quick search suggests this is probably the issue: https://developer.android.com/about/versions/14/changes/fgs-types-required

This also suggests that a quick fix may be to specify that this app targets an Android version < 14, while providing a forward-facing fix as well.

TarasSmakula commented 5 months ago

Fixed in 1.0.17