fix(notifications): dispatcher ignores a subscription's feeds and sends every feed.url_updated event
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
まず functions-python/tasks_executor/src/tasks/notifications/dispatch_notifications.py、特に apply_filter_params を確認し、dispatcher のテストを読んで、サブスクリプションのフィードとレガシーの filter_params がどのように表現されているかを把握してください。結合テーブルを使うフィード単位のサブスクリプションについて dispatcher のテストを追加し、そのフィードのイベントだけが送信される一方で、レガシーの行は引き続きフォールバックを使うことを確認してください。
索引モデルが issue の本文から書いたものです。
説明
Problem
Subscriptions store their feeds in notification_subscription_feed (#1778), but the dispatcher still filters on the old notification_subscription.filter_params.feed_ids (apply_filter_params in functions-python/tasks_executor/src/tasks/notifications/dispatch_notifications.py). Nothing writes filter_params any more, so it is NULL and every event passes the filter.
Impact: a user subscribed to one feed gets URL-update emails for every feed.
Steps to reproduce
- Subscribe a user to
feed.url_updatedfor feed A only - Change the URLs of feeds A and B
- Run the dispatcher: the user is emailed about both
Fix
- Filter events against the subscription's
notification_subscription_feeds - Keep reading
filter_paramsonly as a fallback for legacy rows - Add a dispatcher test with a feed-scoped subscription that uses the join table
Relates to MobilityData/product-tasks#196
- 主要言語
- Python
- スター
- 34
- フォーク
- 7
- 平均マージ
- 1日 22時間
- マージ済み PR(30日)
- 9
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
MobilityData/mobility-feed-api のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
MobilityData/mobility-feed-api#1846 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
MobilityData/mobility-feed-api#1755 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
MobilityData/mobility-feed-api#1647 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
MobilityData/mobility-feed-api#836 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
MobilityData/mobility-feed-api#692 ·
メンテナーはふだん 1 日以内に返信
MobilityData/mobility-feed-api の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
Graphify-Labs/graphify#4860 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
:bug: Bug
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
scikit-image/scikit-image#8377 ·
メンテナーはふだん 1 日以内に返信
-
Ingredient import validation accepts negative nutrient values and NaN対応中かも @LukeSekai が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
wger-project/wger#2564 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
apache/ponymail-foal#351 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 68/100
メンテナーはふだん 4 日以内に返信