Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mastodon forgets "follow-activity" after some time #4605

Closed
1 of 2 tasks
imolein opened this issue Aug 15, 2017 · 18 comments
Closed
1 of 2 tasks

Mastodon forgets "follow-activity" after some time #4605

imolein opened this issue Aug 15, 2017 · 18 comments

Comments

@imolein
Copy link
Contributor

imolein commented Aug 15, 2017

Hi,

I'm the admin of the postActiv instance social.kokolor.es and since I set up my instance I notice the problem, that after a certain time period I don't get posts from contacts on mastodon instances. I have to do a re-follow, on this contacts and then the messages come in again for a few months and then the same happend again.
This problem doesn't affect only my instance, as you can read here: https://social.bitcast.info/notice/847969.

As lain explained (german) the following happend when someone follow someone: (translated by me)

  1. A Websub/PubSubHubBub-subscription is created (this is how the message flow beginns)
  2. A follow activity is sent to the followed contact, so the server raises the followcount and list the follower in the contacts profile.

The problem with Mastodon he described as followes:

According to the standard only the first point is required, the second is optional. But Mastodon requires the second one, otherwise it don't push messages. It seems like, Mastodon lost the follow activity from time to time and don't push messages anymore, even though a websub-subscribtion is existing.

It would be create if you can explain to me/us why this is happend and hopefully fix this, because it's really a pain.


  • I searched or browsed the repo’s other issues to ensure this is not a duplicate.
  • This bug happens on a tagged release and not on master (If you're a user, don't worry about this). - It happens since a long time.
@hikerus
Copy link

hikerus commented Aug 15, 2017

I am running a GnuSocial node and here I see same issue: When following a Mastodon account - after some (some days ?) time this seems to be forgotten on the Mastodon node and posts no longer arrive.

@vinzv
Copy link

vinzv commented Aug 15, 2017

I am the admin of gnusocial.de and have the same problem.
The only way to fix it is running a resub script which goes through all known subscriptions and - even worse - pulls in older posts. This messes up chronological order of posts and takes a very long time.

Please fix this as I don't want fix federation with Mastodon over and over again.

@imolein
Copy link
Contributor Author

imolein commented Aug 15, 2017

More posts about this: https://community.highlandarrow.com/notice/1502195

@lambadalambda
Copy link

The websub subscriptions are still valid and get renewed fine when this happens, by the way.

@Gargron
Copy link
Member

Gargron commented Aug 15, 2017

@lambadalambda Valid on whose end? How do you know this?

Mastodon at no point deletes "follow" relations automatically. Only if you get blocked, and then it's for a single user, not an entire domain. What lease_seconds does GNU social specify when subscribing? How often does it renew subscriptions?

The minimum subscription time is 1 day (aka when no lease_seconds value is provided), the maximum is 30 days.

@imolein
Copy link
Contributor Author

imolein commented Aug 15, 2017

According to a post from MMN https://social.bitcast.info/notice/848707:

Afaik 30 days should be the requested subscription time and if the hub thinks otherwise (in the verification reply) that time is set instead.

I don't know how @lambadalambda validates it. Personally I can tested it over my Mastodon account an social.tchncs.de. When the problem occurs, I can send a normal post from Mastodon, but no request is comming to my instance. Then I resubscribe, make a post on Mastodon and the request comes immediately.
I'm not sure on what I'll tell now, but the last time, I mean posts from all contacts I follow on one instance don't come in from one day to another. I can tell you exactly when it happens next time or @lambadalambda explain it in a more technical way, then I do. :)

@lambadalambda
Copy link

I look into the db and see that the websub subscription is still valid and refreshing fine. The user has never been unfollowed because Pleroma doesn't even have unfollows. Sending out a new 'follow' activity without refreshing the websub makes the posts flow again.

@hikerus
Copy link

hikerus commented Aug 15, 2017

The minimum subscription time is 1 day (aka when no lease_seconds value is provided), the maximum is 30 days.

But it looks like that Mastodon "forgets" the subscription before these default 30 days.

@hikerus
Copy link

hikerus commented Aug 15, 2017

Sending out a new 'follow' activity without refreshing the websub makes the posts flow again.

And who to send out this new "follow" ? If I re-follow all old posts from this account are re-sent again.

@imolein
Copy link
Contributor Author

imolein commented Aug 16, 2017

In pA the default expiry is two weeks and it renews immediately when it expires according to maiyannah: https://community.highlandarrow.com/notice/1504182

@imolein
Copy link
Contributor Author

imolein commented Aug 22, 2017

@Gargron Is there a status on this or can we help you on this with more informations or something like this?

@imolein
Copy link
Contributor Author

imolein commented Aug 22, 2017

@Gargron Currently running a mastodon test instance. It would be nice if you can tell me where I have to look at, for example in which container/log etc. Thanks

@Gargron
Copy link
Member

Gargron commented Aug 22, 2017

@imolein Under admin->WebSub you will find a list of outside subscribers to your instance, with callback URLs and expiration time.

@vinzv
Copy link

vinzv commented Aug 28, 2017

(Slightly off topic)
For anyone interested I use this script as workround ran via cronjob:
https://gitlab.com/snippets/1672940

@imolein
Copy link
Contributor Author

imolein commented Sep 3, 2017

@Gargron Just for your information, since 3 days I don't get any posts from your account. Maybe you can look if you can see something on your side.

@imolein
Copy link
Contributor Author

imolein commented Sep 4, 2017

@Gargron 20min after my last post I could see posts from you, but this was only for a short time period, cause now nothing is comming from your account again.

@imolein
Copy link
Contributor Author

imolein commented Nov 24, 2017

@Gargron After I don't get notices from mastodon accounts again, I asked Thomas from metalhead.club if he can search for my domain in admin->websub and send me a screenshot of this.
86b92286ffd683210e4af7422675083e4474cd763972eda671d4e671e1b8a362
What is the meaning of the column "Last Delivered" (Letzte Zustellung in German)? Last renewal of the subscription I guess? What can be the explanation for the expired subscription, because the renewal was delivered am I right?

Conversation: https://social.kokolor.es/conversation/561648

@Gargron
Copy link
Member

Gargron commented Nov 24, 2017

@imolein Last delivery is last successfuly delivery of a toot from metalhead.club to social.kokolor.es. No deliveries are made after the expiration point. It looks like the software you are using is not renewing PuSH subscriptions at the right interval, or alternatively is requesting a too short subscription period.

@Gargron Gargron closed this as completed Jul 14, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants