Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

First-setup pairing window is too short and stays open after the first bond

Abierto
#53 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@Tichael ya está trabajando en esto.

Desde el 23/10/2026.

  • #66 de @Tichael — abierto
  • #67 de @Tichael — abierto

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

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

enhancement

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) from contracts/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 to pairing_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

Abrir en Codespaces

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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de OpenCarControls/firmware

Todos los issues de OpenCarControls/firmware

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.