I have a seen a strange behavior, On one pod a user “firstname.lastname@example.org” has 263 photos, the youngest one a year ago.
On another pod (diasp.org) the same user (after a search) is reported to have ~40 Photos. On my pod (v0.7.99)the same user has 175 Photos.
Can a fetch from the origin pod be triggered again to update the posts and photos?
The origin URL is: Franz
No, there isn’t a way to fetch all past posts of a user and it’s normal that different pods have different number of posts of a user, as it depends on how old the pods are (or more, how long, or if there is a connection between a user of the target pod with that profile). So it depends on if posts get federated to the pod or not, some pods maybe only get some posts because of reshares.
In my case, a user tests the migration and wonders why photos from friends on the new pod are missing. The post itself appears, but empty.
When a new remote user the first time appears in a new pod by a search, only a subset of the past data ist transferred, right?
We as developers should then be aware that the new migration might rise an unexpected experience for the migrant. Another pod looks different. And old friends do not have all photos available on other pods.
So, yes, it’s normal that profiles look different on different pods (some posts might be missing), that’s to be expected when moving to a different pod (but after the move the new pod should receive all the future posts of your contacts).
But as talked in private, the problem seems to be a bit different here, as some posts that should have photos are missing the photos. That’s something that shouldn’t happen, but also something not directly related to the migration. It’s the “feature” that tries to search the newest few posts from a person when somebody searches for a person the first time, and that code doesn’t include the photos (and also is missing some other stuff). The best solution would be to just only use the GUIDs from the stream that gets fetched, and then use the existing federation logic to fetch the posts by GUID (
DiasporaFederation::Federation::Fetcher.fetch_public(author_diaspora_id, type, guid)), that way we can use existing federation logic that fetches and creates the whole posts as if it would have been received normally. And we don’t need to keep two ways of fetching/creating posts up to date.