Follow requests asked again, and followed accounts found by name
A server can take a Follow with 202 and drop it afterwards, as Pleroma does while it cannot fetch our actor; the request then stayed pending for good. Following again now sends an unanswered request once more, the same activity, at most once an hour (a delivery's `again` key). accounts/search takes following=true: only accounts the persona follows, by the start of their name, display name or server, never resolved; a client fills a list with it. "already take" becomes "already taken". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
This commit is contained in:
1 parent
02a05d7a9a
commit
ce473f2741
12 files changed
+80
-12
No files matched your search
@@ -142,6 +142,21 @@ namespace PrivaPub.Tests.Http
|
||||
Assert.Contains(fromBob, (await alice.Client.Get("/api/v1/timelines/home")).Ok().Ids);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Account_search_with_following_finds_only_followed_accounts()
|
||||
{
|
||||
var alice = await _host.Mastodon("alice");
|
||||
var prefix = $"ls{Guid.NewGuid():N}"[..10];
|
||||
var followed = await _host.Mastodon(prefix + "a");
|
||||
var stranger = await _host.Mastodon(prefix + "b");
|
||||
await Follow(alice, followed);
|
||||
|
||||
var found = (await alice.Client.Get($"/api/v1/accounts/search?q={prefix}&following=true")).Ok().Ids.ToList();
|
||||
Assert.Equal(new[] { followed.Id }, found);
|
||||
Assert.Contains(stranger.Id, (await alice.Client.Get($"/api/v1/accounts/search?q={prefix}")).Ok().Ids);
|
||||
Assert.Empty((await stranger.Client.Get($"/api/v1/accounts/search?q={prefix}&following=true")).Ok().Array);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task An_unfollowed_account_leaves_the_personas_lists_and_does_not_come_back_with_a_new_follow()
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user