bug(ingest): telemetry without a time field is rejected with 400

Đã đóng
#478 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Một pull request liên quan đã được merge.

  • #483 của @pskillen — đã merge

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
68/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python
Lĩnh vực
api, backend

Hướng nghiên cứu

Start by tracing the ingest serializer that requires telemetry.time and the telemetry models that determine whether the reading time can be null. Check how rx_time or the observation time is handled for other telemetry fields. Done means packets without time are stored using an allowed fallback or null, and the endpoint no longer rejects them with HTTP 400.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

bug

Problem

The ingest endpoint rejects some telemetry packets with HTTP 400 {"decoded":{"telemetry":{"time":["This field is required."]}}}. Feeders hit this about once an hour. In pre-prod on 2026-11-04, PDYt and PDYb both got it on the same packet at 08:35:06, and there were 12 earlier occurrences the same day. The packet is dropped, so the telemetry is lost.

Meshtastic doesn't guarantee telemetry.time: a node without a valid clock sends 0 or omits it. The serializer makes it required.

Expected

A telemetry packet without time is stored. Use the packet's rx_time (or the observation's) as the reading time, or leave it null, whichever the telemetry models allow. It must not be rejected.

Notes

  • Seen on main before the Meshtastic 2.8 work. It's not a regression.
  • The bot logs it as StorageAPI.store_raw_packet - HTTP error storing packet.
  • Related: #436 (ingest correctness review).
Ngôn ngữ chính
Python
Star
1
Fork
0
Merge trung bình
19 giờ 37 phút
Pull request đã merge (30 ngày)
18

Chuẩn bị môi trường

  • Có Dockerfile hoặc tệp Docker Compose
  • Có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của pskillen/meshflow-api

Tất cả issue của pskillen/meshflow-api

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.