diff --git a/tests/test_web.py b/tests/test_web.py index ca7afae..06f831f 100644 --- a/tests/test_web.py +++ b/tests/test_web.py @@ -516,6 +516,8 @@ class WebTest(TestCase): def test_get_or_create_subscribes_superfeedr(self, mock_get, mock_post): self.user.obj.mf2 = ACTOR_MF2_REL_FEED_URL self.user.obj.put() + self.user.has_redirects = False + self.user.put() user = Web.get_or_create('user.com') self.assertEqual('user.com', user.key.id()) @@ -1863,6 +1865,8 @@ class WebTest(TestCase): self.assertIsNone(self.user.superfeedr_subscribed) self.user.obj.mf2 = ACTOR_MF2_REL_FEED_URL + self.user.has_redirects = False + # https://documentation.superfeedr.com/schema.html#entries mock_post.return_value = requests_response(f"""\ diff --git a/web.py b/web.py index fd3400a..298f131 100644 --- a/web.py +++ b/web.py @@ -609,8 +609,8 @@ def maybe_superfeedr_subscribe(user): if user.superfeedr_subscribed: logger.info(f'User {user.key.id()} already subscribed via Superfeedr') return - elif user.last_webmention_in: - logger.info(f'User {user.key.id()} publishes via webmention, not subscribing via Superfeedr') + elif user.has_redirects or user.last_webmention_in: + logger.info(f'User {user.key.id()} has Webfinger redirects or publishes via webmention, not subscribing via Superfeedr') return elif not user.obj or not user.obj.mf2: logger.info(f"User {user.key.id()} has no mf2, can't subscribe via Superfeedr")