Skip to content

fix(upload): prevent crash from duplicate stable IDs in local file list - #17378

Open
alperozturk96 wants to merge 2 commits into
masterfrom
fix/local-file-list-stable-id-collision
Open

fix(upload): prevent crash from duplicate stable IDs in local file list#17378
alperozturk96 wants to merge 2 commits into
masterfrom
fix/local-file-list-stable-id-collision

Conversation

@alperozturk96

@alperozturk96 alperozturk96 commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

Issue

Exception in thread "main" java.lang.IllegalStateException: Two different ViewHolders have the same stable ID. Stable IDs in your adapter MUST BE unique and SHOULD NOT change. ViewHolder
1:LocalFileListFooterViewHolder(9ed48d1 position=7 id=-1, oldPos=-1, pLpos:-1 not recyclable(1)} View Holder 2:LocalFileListItemViewHolder{406ed79 position=6 id=-1, oldPos=-1, pLpos:-1}
com.owncloud.android.ui. Empty RecyclerView{1d40cfe VFED...........ID 0,0-1080,1514 #7f0a038e app:id/ list_root), adapter:com.owncloud.android.ui.adapter
.LocalFileListAdapter@f8679e, layout:androidx.recyclerview .widget.LinearLayoutManager@4ac7d91, context:com .owncloud.android.ui.activity.Upload FilesActivity@a06421
at androidx.recyclerview.widget.RecyclerView.handleMissi
ngPreInfoForChangeError(RecyclerView.java:4778)
at androidx.recyclerview.widget.RecyclerView.dispatchLay
outStep3(RecyclerView.java:4702)
at androidx.recyclerview.widget.RecyclerView.dispatchLay
out(RecyclerView.java:4367)
at androidx.recyclerview.widget.RecyclerView.consumePe ndingUpdateOperations (RecyclerView.java:2095)
at androidx.recyclerview.widget.RecyclerView$1.run(Recy clerView.java:468)
at android.view. Choreographer$CallbackRecord.run(Chore ographer.java:1406)
at android.view.Choreographer$CallbackRecord.run(Chore
ographer.java:1415)
at android.view.Choreographer.doCallbacks (Choreograph er.java:1015)
at android.view.Choreographer.doFrame (Choreographer.ja va:941)
at android.view.Choreographer$Frame DisplayEventReceiv er.run(Choreographer.java:1389)
at android.os.Handler.handleCallback(Handler.java:959) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loopOnce (Looper.java:232) at android.os.Looper.loop(Looper.java:317)
at
android.app.ActivityThread.main(ActivityThread.java:8705) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsC
aller.run(RuntimeInit.java:580)
at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:886)

🤖 AI (if applicable)

  • The content of this PR was partly or fully generated using AI

Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
@github-actions

Copy link
Copy Markdown

blue-Light-Screenshot test failed, but no output was generated. Maybe a preliminary stage failed.

@github-actions

Copy link
Copy Markdown

Codacy

SpotBugs

CategoryBaseNew
Bad practice3232
Correctness6666
Dodgy code208208
Experimental11
Malicious code vulnerability22
Multithreaded correctness2525
Performance4141
Security1919
Total394394

@github-actions

Copy link
Copy Markdown

APK file: https://github.com/nextcloud/android/actions/runs/30251367212/artifacts/8647350931
To test this change/fix you can simply download above APK file and install and test it in parallel to your existing Nextcloud app.
qrcode (please click on link to get QR code displayed)

@alperozturk96 alperozturk96 added this to the Nextcloud App 34.1.1 milestone Jul 27, 2026
@github-actions

Copy link
Copy Markdown

@alperozturk96

Copy link
Copy Markdown
Collaborator Author

/backport to stable-34.1.x

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant