Bluetooth reconnect timer not stopped after connection, causing unnecessary reconnect cycle
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 88/100
Línea de trabajo
Empieza en bluetoothpositionprovider.cpp y lee socketStateChanged(), especialmente su rama ConnectedState, junto con el manejo existente del temporizador en reconnect() y closeProvider(). Verifica que el temporizador se detenga cuando el socket se conecta y, a continuación, comprueba los criterios de aceptación: un receptor conectado no debería provocar otra reconexión, mientras que una conexión perdida debería seguir provocando una reconexión.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Context
When the app resumes and reconnects to an external Bluetooth GNSS receiver, mReconnectTimer keeps running after the socket reaches ConnectedState. When the timer fires, reconnect() closes the healthy socket and starts over, adding a 10–15 s delay before position data is available again.
The timer is stopped in reconnect() and closeProvider(), but not in the ConnectedState branch of socketStateChanged() in bluetoothpositionprovider.cpp.
Log pattern from the user: Connected → "Reconnecting" ~4 s later → Connected again ~13 s after that.
Support ticket: https://support.merginmaps.com/odoo/all-tickets/17049
Related: #2259, #3893, #4588
Solution
Stop mReconnectTimer when the socket reaches ConnectedState.
Acceptance Criteria
- Once the Bluetooth receiver is connected, no further reconnect attempts are triggered
- After resuming the app, the receiver connects once and stays connected
- Reconnection still works when the connection is actually lost
- Lenguaje dominante
- C++
- Estrellas
- 389
- Forks
- 88
- Merge medio
- 1 d 11 h
- PR fusionados (30 d)
- 21
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin 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 MerginMaps/mobile
-
bug iOS 🍎 ui/ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
MerginMaps/mobile#4744 ·
Los mantenedores suelen responder en 1 día
-
bug ui/ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
MerginMaps/mobile#4669 ·
Los mantenedores suelen responder en 1 día
-
bug Good first issue ui/ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
MerginMaps/mobile#4665 ·
Los mantenedores suelen responder en 1 día
-
bug ui/ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
MerginMaps/mobile#4647 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
android 🤖 bug ui/ux
Dificultad 3/5 Medio día Aptitud para principiantes 64/100
MerginMaps/mobile#4743 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de MerginMaps/mobile
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
EsotericSoftware/spine-runtimes#3186 ·
-
An empty line splits a signature where an ordinary comment is right above an argument's HaddockAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
mrkkrp/tilia#213 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Round video messages start gray and blocky with libx264: encoder is configured for 1,000,000 fpsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
telegramdesktop/tdesktop#31422 ·
Los mantenedores suelen responder en 9 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
duckdb/duckdb-quack#299 ·
Los mantenedores suelen responder en 1 día