Feeder icon indicating copy to clipboard operation
Feeder copied to clipboard

App crashes when trying to add feeds with "null" in their title

Open Redawt opened this issue 10 months ago • 1 comments

Checklist

  • [x] I have used the search function for OPEN issues to see if someone else has already submitted the same bug report.
  • [x] I have also used the search function for CLOSED issues to see if the problem is already solved and just waiting to be released.
  • [x] I will describe the problem with as much detail as possible.
  • [x] If the bug only to occurs with a certain feed, I will include the URL of that feed.

App version

2.9.0

Where did you get the app from

F-Droid

Are you using the "Parse full article" feature?

No

Android version

Graphene OS / Android 15

Device model

Google Pixel 6a

First occurred

Tuesday 18 February 2025

Steps to reproduce

  1. Open menu to add feed
  2. Enter https://blog.filen.io/rss/ into the URL field
  3. Select "search"
  4. Select the feed that shows up

Expected behaviour

I am trying to add the RSS feed of the Filen blog (Blog, RSS Feed). The blog uses Ghost, which also automatically provides the RSS feature for the blog.

Current behaviour

The app displays a preview containing "null" two times, instead of a Feed title etc after selecting "search".

Selecting the feed causes the app to close and Android shows the home screen.

It appears to be an issue with the RSS feed (as it shouldn't use "null" in their title...), but it might be beneficial to add a check for this issue. Other feeds from Ghost might also be affected due to similar issues.

Image

I've tried contacting Filen, and are currently waiting for a response. Either Filen configured their RSS feed incorrectly, or its an issue with Ghost, as titles should not be "null".

EDIT: Filen fixed their RSS feed, it is not returning feeds with "null" in the title.

Logs

type: crash
osVersion: google/bluejay/bluejay:15/AP4A.250105.002/2025020300:user/release-keys
package: com.nononsenseapps.feeder:326, targetSdk 35
process: com.nononsenseapps.feeder
processUptime: 10248 + 197 ms
installer: org.fdroid.fdroid

java.lang.IllegalArgumentException: Wrong argument type for 'feedTitle' in argument bundle. string expected.
	at androidx.navigation.NavDestination.addInDefaultArgs(SourceFile:167)
	at androidx.navigation.NavController.navigate(SourceFile:102)
	at com.nononsenseapps.feeder.ui.compose.navigation.AddFeedDestination.navigate(SourceFile:69)
	at com.nononsenseapps.feeder.ui.compose.navigation.SearchFeedDestination.RegisterScreen$lambda$6$lambda$5(SourceFile:20)
	at com.nononsenseapps.feeder.ui.compose.navigation.SearchFeedDestination.$r8$lambda$TdcUeNgoX6wgfmf4KSDzCVi6n88(SourceFile:1)
	at com.nononsenseapps.feeder.ui.compose.navigation.FeedDestination$$ExternalSyntheticLambda1.invoke(SourceFile:1)
	at com.nononsenseapps.feeder.ui.compose.searchfeed.SearchFeedScreenKt.rightContent$lambda$58$lambda$57(SourceFile:1)
	at com.nononsenseapps.feeder.ui.compose.searchfeed.SearchFeedScreenKt.$r8$lambda$LWhRQvP786FX22jiLVVm-Yk0DYM(SourceFile:1)
	at io.ktor.http.Url$$ExternalSyntheticLambda1.invoke(SourceFile:314)
	at androidx.collection.ObjectList$toString$1.invoke(SourceFile:1201)
	at androidx.compose.foundation.gestures.TapGestureDetectorKt$detectTapAndPress$2$1.invokeSuspend(SourceFile:131)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(SourceFile:9)
	at kotlinx.coroutines.JobKt.resume(SourceFile:81)
	at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(SourceFile:101)
	at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$kotlinx_coroutines_core(SourceFile:33)
	at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(SourceFile:17)
	at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.dispatchPointerEvent(SourceFile:51)
	at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.onPointerEvent-H0pRuoY(SourceFile:32)
	at androidx.compose.foundation.AbstractClickableNode.onPointerEvent-H0pRuoY(SourceFile:111)
	at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(SourceFile:157)
	at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(SourceFile:136)
	at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(SourceFile:136)
	at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(SourceFile:136)
	at com.caverock.androidsvg.SVG.dispatchChanges(SourceFile:36)
	at okhttp3.Cache$RealCacheRequest.process-BIzXfog(SourceFile:141)
	at androidx.compose.ui.platform.AndroidComposeView.sendMotionEvent-8iAsVTc(SourceFile:81)
	at androidx.compose.ui.platform.AndroidComposeView.handleMotionEvent-8iAsVTc(SourceFile:381)
	at androidx.compose.ui.platform.AndroidComposeView.dispatchTouchEvent(SourceFile:76)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3132)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2817)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3132)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2817)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3132)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2817)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3132)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2817)
	at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:467)
	at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1981)
	at android.app.Activity.dispatchTouchEvent(Activity.java:4547)
	at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:425)
	at android.view.View.dispatchPointerEvent(View.java:16743)
	at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:8031)
	at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:7791)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7180)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:7237)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:7203)
	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:7369)
	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:7211)
	at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:7426)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7184)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:7237)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:7203)
	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:7211)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7184)
	at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:10319)
	at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:10270)
	at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:10238)
	at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:10461)
	at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:295)
	at android.os.MessageQueue.nativePollOnce(Native Method)
	at android.os.MessageQueue.next(MessageQueue.java:358)
	at android.os.Looper.loopOnce(Looper.java:189)
	at android.os.Looper.loop(Looper.java:317)
	at android.app.ActivityThread.main(ActivityThread.java:8826)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:591)
	at com.android.internal.os.ExecInit.main(ExecInit.java:50)
	at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
	at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:369)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.ui.platform.MotionDurationScaleImpl@3305a1d, androidx.compose.runtime.BroadcastFrameClock@6796492, StandaloneCoroutine{Cancelling}@9407e63, AndroidUiDispatcher@a8a2a60]

Redawt avatar Feb 18 '25 12:02 Redawt

The feed is definitely wrong but Feeder still shouldn't crash.

Thanks for the info

spacecowboy avatar Feb 18 '25 18:02 spacecowboy