mirror of
https://github.com/discourse/discourse.git
synced 2026-08-14 13:58:53 +08:00
## Summary - Unifies the two parallel push notification delivery paths (web push via VAPID and hub/native app relay) into a single `DeliverPushNotification` job - Extracts hub push delivery into `HubPushNotificationPusher` service, symmetric with the existing `PushNotificationPusher` for web push - Adds `UserApiKey.push_clients_for(user)` to encapsulate hub client lookup previously inlined in PostAlerter - Simplifies `PostAlerter.push_notification()` from two parallel enqueue blocks to a single call - Converts old jobs (`SendPushNotification`, `PushNotification`) to thin delegators for Sidekiq backward compatibility with in-flight jobs ## Test plan - [ ] `bin/rspec spec/jobs/deliver_push_notification_spec.rb` — new unified job tests - [ ] `bin/rspec spec/services/hub_push_notification_pusher_spec.rb` — new hub pusher tests - [ ] `bin/rspec spec/jobs/send_push_notification_spec.rb spec/jobs/push_notification_spec.rb` — backward compat delegation - [ ] `bin/rspec spec/services/post_alerter_spec.rb` — PostAlerter integration - [ ] `bin/rspec spec/services/push_notification_pusher_spec.rb` — web push unchanged - [ ] `bin/rspec plugins/chat/spec/jobs/regular/chat/notify_watching_spec.rb plugins/chat/spec/jobs/regular/chat/notify_mentioned_spec.rb` — chat plugin callers |
||
|---|---|---|
| .. | ||
| admin_confirmation_email.rb | ||
| anonymize_user.rb | ||
| automatic_group_membership.rb | ||
| backfill_badge.rb | ||
| backfill_sidebar_site_settings.rb | ||
| backup_chunks_merger.rb | ||
| bulk_grant_trust_level.rb | ||
| bulk_invite.rb | ||
| bulk_user_title_update.rb | ||
| bump_topic.rb | ||
| change_display_name.rb | ||
| check_video_conversion_status.rb | ||
| clear_slow_mode.rb | ||
| close_topic.rb | ||
| confirm_sns_subscription.rb | ||
| convert_video.rb | ||
| crawl_topic_link.rb | ||
| create_avatar_thumbnails.rb | ||
| create_backup.rb | ||
| create_linked_topic.rb | ||
| create_user_reviewable.rb | ||
| critical_user_email.rb | ||
| delete_inaccessible_notifications.rb | ||
| delete_replies.rb | ||
| delete_topic.rb | ||
| delete_user_posts.rb | ||
| deliver_push_notification.rb | ||
| download_avatar_from_url.rb | ||
| download_backup_email.rb | ||
| download_profile_background_from_url.rb | ||
| emit_web_hook_event.rb | ||
| export_csv_file.rb | ||
| export_user_archive.rb | ||
| feature_topic_users.rb | ||
| generate_topic_thumbnails.rb | ||
| group_pm_alert.rb | ||
| group_pm_update_summary.rb | ||
| group_smtp_email.rb | ||
| index_category_for_search.rb | ||
| index_user_fields_for_search.rb | ||
| invite_email.rb | ||
| invite_password_instructions_email.rb | ||
| make_embedded_topic_visible.rb | ||
| mass_award_badge.rb | ||
| merge_user.rb | ||
| notify_category_change.rb | ||
| notify_mailing_list_subscribers.rb | ||
| notify_moved_posts.rb | ||
| notify_post_revision.rb | ||
| notify_reviewable.rb | ||
| notify_tag_change.rb | ||
| notify_users_added_to_group.rb | ||
| open_topic.rb | ||
| post_alert.rb | ||
| post_update_topic_tracking_state.rb | ||
| process_bulk_invite_emails.rb | ||
| process_email.rb | ||
| process_localized_cooked.rb | ||
| process_post.rb | ||
| process_sns_notification.rb | ||
| publish_group_membership_updates.rb | ||
| publish_topic_to_category.rb | ||
| pull_hotlinked_images.rb | ||
| pull_user_profile_hotlinked_images.rb | ||
| push_notification.rb | ||
| rebake_custom_emoji_posts.rb | ||
| rebake_posts_for_upload.rb | ||
| refresh_users_reviewable_counts.rb | ||
| remove_banner.rb | ||
| retrieve_topic.rb | ||
| run_heartbeat.rb | ||
| run_problem_check.rb | ||
| send_push_notification.rb | ||
| send_system_message.rb | ||
| site_setting_update_default_categories.rb | ||
| site_setting_update_default_tags.rb | ||
| suspicious_login.rb | ||
| sync_access_control_for_uploads.rb | ||
| sync_topic_user_bookmarked.rb | ||
| toggle_topic_closed.rb | ||
| topic_action_converter.rb | ||
| topic_timer_base.rb | ||
| truncate_user_flag_stats.rb | ||
| unpin_topic.rb | ||
| update_gravatar.rb | ||
| update_group_mentions.rb | ||
| update_hotlinked_raw.rb | ||
| update_post_uploads_secure_status.rb | ||
| update_top_redirection.rb | ||
| update_topic_upload_security.rb | ||
| update_username.rb | ||
| user_email.rb | ||