Add a developer option button for marking every single room as read (#5582)

This will use an underlying SDK method and send a private read receipt plus a fully read marker in every single room the user is part of. It will most likely be a long operation that will get rate limited so the task is set to run detached for as long as it takes.
This commit is contained in:
Stefan Ceriu
2026-05-13 19:46:52 +03:00
committed by GitHub
parent 6aec4f210a
commit f70182d09a
6 changed files with 105 additions and 0 deletions
@@ -10,6 +10,7 @@ import SwiftUI
struct DeveloperOptionsScreen: View {
@Environment(\.dismiss) private var dismiss
@State private var showMarkAllRoomsAsReadAlert = false
@Bindable var context: DeveloperOptionsScreenViewModel.Context
@@ -130,6 +131,26 @@ struct DeveloperOptionsScreen: View {
}
}
Section {
Button {
showMarkAllRoomsAsReadAlert = true
} label: {
Text("Mark all rooms as read")
}.alert("Are you sure you want to mark all the rooms as read?", isPresented: $showMarkAllRoomsAsReadAlert) {
Button("Cancel", role: .cancel) { }
Button("Yes") {
context.send(viewAction: .markAllRoomsAsRead)
}
}
} footer: {
Text("""
This will send a private read receipt and a read marker in every room you are part of. \
It's a long running operation that might get rate limited. \
It will run in the background but the app must be alive for it to finish.
""")
}
Section {
Button {
showConfetti = true