Quick tapping crashes MaterialSnackbar
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- android, csharp
- Área
- mobile-dev
Línea de trabajo
Busca el constructor de MaterialSnackbar y InputTaskCompletionSource y, a continuación, reproduce invocaciones rápidas de ActionButton.Command en Android bajo las condiciones descritas. Verifica que los toques repetidos completen la snackbar sin producir InvalidOperationException ni provocar un cierre inesperado; en la issue no se especifica ningún archivo ni prueba concretos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
🐛 Bug Report
If the UI thread is busy, or a weak device is used, then it becomes possible to call ActionButton.Command multiple times with quick clicks, as a result, after the second pressing InputTaskCompletionSource?.SetResult throws an exception
Is there any reason not to use TrySetResult ?
internal MaterialSnackbar(string message, string actionButtonText, int msDuration = DurationLong, MaterialSnackbarConfiguration configuration = null)
{
...
var primaryActionCommand = new Command(async () =>
{
_primaryActionRunning = true;
await DismissAsync();
InputTaskCompletionSource?.TrySetResult(true);
}, () => !_primaryActionRunning);
...
}
Stack trace
XF.Material.Forms.UI.Dialogs.MaterialSnackbar.<.ctor>b__6_0 () [0x0007a] in <3cfa98f1ecd344d8b7c2286276967650>:0;XF.Material.Forms.UI.Dialogs.MaterialSnackbar
TaskCompletionSource`1[TResult].SetResult (TResult result)
<.ctor>b__6_0 ()
AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state)
SyncContext+<>c__DisplayClass2_0.<Post>b__0 ()
Thread+RunnableImplementor.Run ()
IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this)
Reason
System.InvalidOperationException: System.InvalidOperationException
Expected behavior
The app should not crash
Reproduction steps
Configuration
Version: 1.x
Platform:
- 📱 iOS
- 🤖 Android
- 🏁 WPF
- 🌎 UWP
- 🍎 MacOS
- 📺 tvOS
- 🐒 Xamarin.Forms
- Lenguaje dominante
- C#
- Estrellas
- 631
- Forks
- 150
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Baseflow/XF-Material-Library
-
.Net Maui SupportAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
Baseflow/XF-Material-Library#458 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 50/100
Baseflow/XF-Material-Library#457 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
Baseflow/XF-Material-Library#456 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
Baseflow/XF-Material-Library#454 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 58/100
Baseflow/XF-Material-Library#453 ·
Todos los issues de Baseflow/XF-Material-Library
Issues similares
-
S: Untriaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
space-wizards/space-station-14#46357 ·
Los mantenedores suelen responder en 1 día
-
Versioning_oM: Remove unneeded depeendecy on Test_oMPosiblemente ocupada @IsakNaslundBh la tomó hoy. Abiertotype:bug type:compliance
Dificultad 2/5 Menos de una hora Aptitud para principiantes 85/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
MicrosoftLearning/PL-400_Microsoft-Power-Platform-Developer#231 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
joinrpg/joinrpg-net#5313 ·
Los mantenedores suelen responder en 1 día