On touch, a tap on a post opens its thread
On a phone the only way into a post's thread was a small Expand button (and now an entry in More), while a tap on the post pinned it to a globe that is usually hidden there, outlining the card. Where the pointer can't hover, a tap on a post that isn't on its links, controls or menus and doesn't end a text selection opens its thread through the card's own thread link (main.js, data-thread on the card); cards are pinned to the globe with a mouse only. The globe's corner stats have 12px text on touch. Phone flow: a tap in a post's margin opens its thread and pins nothing. 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
da8f4ffcab
commit
7b1bfa71c0
5 files changed
+39
-5
No files matched your search
@@ -262,6 +262,21 @@ namespace decePubClient.E2E.Mobile
|
||||
}
|
||||
}
|
||||
|
||||
// a tap on a post (in its margin, not on a link or a control) opens its thread
|
||||
[Fact]
|
||||
public async Task A_tap_on_a_post_opens_its_thread()
|
||||
{
|
||||
await using var session = await SignIn.As(browser, Persona(), Phone);
|
||||
await Flow(session, "thread", async page =>
|
||||
{
|
||||
var card = Card(page, "a[data-thread-link]");
|
||||
var box = (await card.BoundingBoxAsync())!;
|
||||
await card.TapAsync(new() { Position = new() { X = box.Width - 5, Y = box.Height * 0.35f } });
|
||||
await page.WaitForURLAsync(url => new Uri(url).AbsolutePath.StartsWith("/expand/"), new() { Timeout = 15000 });
|
||||
Assert.Empty(await page.Locator("[data-globe-pinned]").AllAsync());
|
||||
});
|
||||
}
|
||||
|
||||
static async Task<JsonNode> Latest(Pasture.Persona persona) =>
|
||||
(await PersonaApi.Call(persona, $"/api/v1/accounts/{persona.LocalId}/statuses?limit=1"))!.AsArray().FirstOrDefault();
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user