First-setup pairing window is too short and stays open after the first bond
Los mantenedores suelen responder en 1 día
@Tichael ya está trabajando en esto.
Desde el 23/10/2026.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 55/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- rust
- Área
- authentication, embedded-iot
Línea de trabajo
Start by reading contracts/opencar/core/v1/transport.toml, core_interface::close_pairing_window(), and docs/ble.md; then trace where the first bond is stored and check whether the app setup wizard displays the timeout. Confirm how buttonless boards use the pairing timer and what can trigger a second bond. Done when first setup has a longer finite window, the button window remains 60 seconds, the window closes after the first bond, and any affected wizard guidance and BLE documentation are updated.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
- After #18 (PR #46), a board without a pairing button opens the pairing window at boot only while no phone is bonded (first setup). It uses the shared
pairing_window_seconds(60 s) fromcontracts/opencar/core/v1/transport.toml, the same value as the button window. - 60 s is tight for first setup: the owner has to plug the device in, open the app and get through the wizard before it runs out. On a WiCAN, a retry means unplugging it from the OBD port.
- The window also doesn't close when a phone bonds:
core_interface::close_pairing_window()has no callers, so the window runs its full timer even after the owner has paired, and a second phone can bond during that time.
Ideas
- Give the first-setup window its own, longer duration (around 5 min). That needs a new key in
transport.toml(append-only), next topairing_window_seconds. Keep the button window at 60 s. - Close the window as soon as the first bond is stored on a buttonless board. A stranger who bonds first then makes the owner's pairing fail visibly, instead of both phones ending up bonded.
- Don't make the first-setup window unlimited: a device whose setup was abandoned would stay open to any phone in range for as long as it's powered (pairing is Just Works).
- Check whether the app's setup wizard shows the timeout, and update it if so.
- Update
docs/ble.md.
Done when
First setup on a buttonless board has enough time to finish comfortably, and the window closes once the first phone is bonded.
- Lenguaje dominante
- Rust
- Estrellas
- 1
- Forks
- 0
- Merge medio
- 10 h 56 min
- PR fusionados (30 d)
- 15
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Sin 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 OpenCarControls/firmware
-
Clean up E-GMP leftoversPosiblemente ocupada @Tichael la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
OpenCarControls/firmware#34 ·
Los mantenedores suelen responder en 1 día
-
BLE: send the current state when the app subscribesPosiblemente ocupada @Tichael la tomó hoy. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
OpenCarControls/firmware#58 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
OpenCarControls/firmware#55 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
OpenCarControls/firmware#54 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
OpenCarControls/firmware#51 ·
Los mantenedores suelen responder en 1 día
Todos los issues de OpenCarControls/firmware
Issues similares
-
bug: workspace access hint suggests a --subject command that fails for hyphen-leading OIDC subjectsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
`last_error_thread_local_then_global` fails when it runs beside the `lumen_event_detail` testAbiertoA-FFI C-Testing D-Straightforward S-Ready
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
docs priority:P3 size:XS
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Appimage ConventionsAbiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día