logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git
commit: a291a6b8c0c6e27ba6f9a03d9a1183184fc2ef1d
parent 603a57576638c9732fe873db3c2b8d56d0a413a5
Author: Mark Felder <feld@feld.me>
Date:   Tue, 11 Jun 2024 18:14:48 -0400

Ensure the webpush notification for e.g., mentions start with the nickname of the actor it originates from

Diffstat:

Achangelog.d/web_push_actor_regression.skip0
Mtest/pleroma/web/push/impl_test.exs19+++++++++++++++++++
2 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/changelog.d/web_push_actor_regression.skip b/changelog.d/web_push_actor_regression.skip diff --git a/test/pleroma/web/push/impl_test.exs b/test/pleroma/web/push/impl_test.exs @@ -417,4 +417,23 @@ defmodule Pleroma.Web.Push.ImplTest do } end end + + test "build/1 notification payload body starts with nickname of actor the notification originated from" do + user = insert(:user, nickname: "Bob") + user2 = insert(:user, nickname: "Tom") + insert(:push_subscription, user: user2, data: %{alerts: %{"mention" => true}}) + + {:ok, activity} = + CommonAPI.post(user, %{ + status: "@Tom Hey are you okay?" + }) + + {:ok, [notification]} = Notification.create_notifications(activity) + + [push] = Impl.build(notification) + + {:ok, payload} = Jason.decode(push.payload) + + assert String.starts_with?(payload["body"], "@Bob:") + end end