Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

BLE bond deleted after 2 reboots without connectivity to central

オープン
#2,093 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
30/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
cpp

調査の方向性

central で Bluetooth を無効にし、PineTime を 2 回再起動した状態で動作を再現する。既存の bonding の動作と、それが削除された理由を理解するために、issue #796 と commit 51f62ad096024d45c0274267a90d6adfe58c7c6d を確認する。bond を保持するか、設計上の判断を明確に文書化することで、意図した動作が確立され、検証されれば完了とする。

索引モデルが issue の本文から書いたものです。

説明

bug
Verification
  • I searched for similar bug reports (including closed issues) and found none was relevant.
What happened?

After 2 reboots bond was deleted

What should happen instead?

Bond is preserved after any number of reboots

Reproduction steps
  1. Turn off bluetooth on the central (phone etc.)
  2. Reboot PineTime
  3. Reboot PineTime
  4. Bond now is deleted on the watch
More details?

This behavior is counter-intuitive and likely most InfiniTime users are not aware of this behavior.
Likely this might also have negative impact on security - at least some companion apps (e.g. Gadgetbridge 0.79) will continue to function as before after the bond is deleted on the watch (whether any encrypted pairing is done in this case or all data is transferred unencrypted is an open question).

This is by design (see #796 and 51f62ad096024d45c0274267a90d6adfe58c7c6d ), but why the bond is removed after 2 reboots?
Does existence of the bond have any negative effects? Maybe this could/should be converted into a button under Bluetooth settings (or something like that)?
@evergreen22 Thanks for the BLE bonding functionality! Maybe you know answers to the questions above?

Version

1.14.0

Companion app

Gadgetbrigle, but this will also apply to others

主要言語
C
スター
3.4k
フォーク
1.1k
平均マージ
23時間 18分
マージ済み PR(30日)
1

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

InfiniTimeOrg/InfiniTime のほかの issue

InfiniTimeOrg/InfiniTime の issue をすべて見る

似ている issue

C の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。