Alarm windows that cross midnight never fire
まだ誰も着手していません。
評価
調査の方向性
crates/podd-core/src/sensor/manager.rsの402行目付近と651〜658行目を読み、アラームとprimeウィンドウのチェックで民間時刻の比較がどのように使われているかを追ってください。午前0時をまたぐウィンドウの動作を確認してください。issueでは、オフセット20分のwake 00:10が例として示されています。両方のチェックが午前0時をまたぐ一致時刻を正しく認識し、関連するテストで折り返しケースがカバーされれば完了です。
索引モデルが issue の本文から書いたものです。
説明
in_alarm_window computes alarm_start = wake - offset and alarm_end = alarm_start + duration, then returns *now > alarm_start && *now < alarm_end (crates/podd-core/src/sensor/manager.rs:651-658). jiff civil-Time arithmetic wraps around 24h, so for an early wake (e.g. wake 00:10 with a 20-minute offset) alarm_start becomes 23:50 and alarm_end 00:10, making alarm_start > alarm_end. The single-interval AND-comparison can then never be true, so the alarm silently never arms. The wrap case needs an OR test (now > start || now < end). The same civil-time wrap assumption affects the prime-window check at manager.rs:402.
Filed from a repo-wide code audit (working tree at bcad746).
- 主要言語
- Rust
- スター
- 0
- フォーク
- 0
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
GoogleBot42/podd のほかの issue
-
documentation
難易度 1/5 1時間未満 初心者へのやさしさ 84/100
GoogleBot42/podd#63 ·
-
documentation
難易度 1/5 1〜3時間 初心者へのやさしさ 78/100
GoogleBot42/podd#62 ·
-
documentation good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 69/100
GoogleBot42/podd#60 ·
-
documentation
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
GoogleBot42/podd#61 ·
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
GoogleBot42/podd#58 ·
GoogleBot42/podd の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
rubys/roundhouse#1917 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 2 日以内に返信
-
good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
pop-os/cosmic-applets#1619 ·
メンテナーはふだん 3 日以内に返信
-
binding:python bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信