Bluetooth reconnect timer not stopped after connection, causing unnecessary reconnect cycle
Maintainer thường phản hồi trong vòng 2 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 88/100
Hướng nghiên cứu
Bắt đầu trong bluetoothpositionprovider.cpp và đọc socketStateChanged(), đặc biệt là nhánh ConnectedState, cùng với phần xử lý bộ hẹn giờ hiện có trong reconnect() và closeProvider(). Xác minh rằng bộ hẹn giờ được dừng khi socket kết nối, sau đó kiểm tra các tiêu chí chấp nhận: một receiver đã kết nối không nên kích hoạt thêm lần reconnect nào, trong khi kết nối bị mất vẫn phải reconnect.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Ngôn ngữ chính
- C++
- Star
- 390
- Fork
- 89
- Merge trung bình
- 5 ngày 59 phút
- Pull request đã merge (30 ngày)
- 13
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của MerginMaps/mobile
-
bug ui/ux
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
MerginMaps/mobile#4669 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
bug Good first issue ui/ux
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
MerginMaps/mobile#4665 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
bug ui/ux
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
MerginMaps/mobile#4647 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
MerginMaps/mobile#4761 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
bug forms
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
MerginMaps/mobile#4758 ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của MerginMaps/mobile
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 9 ngày
-
自定义颜色添加为常用颜色Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
mg-chao/snow-apps#2227 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug introduced: 5.0 cycle P3 XS
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
open-astro/AlpacaBridge#1722 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
returnoftheshadow/RotS_Live#521 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
crash lld:COFF
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
llvm/llvm-project#235970 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày