left_sidebar: Skip invisible rows in keyboard navigation.

Collapsed sections and inactive channel lists are not visible and so
should be ignored in keyboard naviation.
This commit is contained in:
Evy Kassirer
2025-07-18 11:58:24 -07:00
committed by Tim Abbott
parent f984b44ab9
commit 18463b45a2
6 changed files with 184 additions and 98 deletions

View File

@@ -304,7 +304,7 @@ async function test_search_venice(page: Page): Promise<void> {
await common.clear_and_type(page, ".stream-list-filter", "vEnI"); // Must be case insensitive.
await page.waitForSelector(await get_stream_li(page, "Denmark"), {hidden: true});
await page.waitForSelector(await get_stream_li(page, "Verona"), {hidden: true});
await page.waitForSelector((await get_stream_li(page, "Venice")) + ".highlighted_stream", {
await page.waitForSelector((await get_stream_li(page, "Venice")) + ".highlighted_row", {
visible: true,
});
@@ -328,25 +328,25 @@ async function test_stream_search_filters_stream_list(page: Page): Promise<void>
// Enter the search box and test highlighted suggestion
await page.click(".stream-list-filter");
await page.waitForSelector("#stream_filters .highlighted_stream", {visible: true});
await page.waitForSelector("#stream_filters .highlighted_row", {visible: true});
// First stream in list gets highlighted on clicking search.
await page.waitForSelector((await get_stream_li(page, "core team")) + ".highlighted_stream", {
await page.waitForSelector((await get_stream_li(page, "core team")) + ".highlighted_row", {
visible: true,
});
await page.waitForSelector((await get_stream_li(page, "Denmark")) + ".highlighted_stream", {
await page.waitForSelector((await get_stream_li(page, "Denmark")) + ".highlighted_row", {
hidden: true,
});
await page.waitForSelector((await get_stream_li(page, "sandbox")) + ".highlighted_stream", {
await page.waitForSelector((await get_stream_li(page, "sandbox")) + ".highlighted_row", {
hidden: true,
});
await page.waitForSelector((await get_stream_li(page, "Venice")) + ".highlighted_stream", {
await page.waitForSelector((await get_stream_li(page, "Venice")) + ".highlighted_row", {
hidden: true,
});
await page.waitForSelector((await get_stream_li(page, "Verona")) + ".highlighted_stream", {
await page.waitForSelector((await get_stream_li(page, "Verona")) + ".highlighted_row", {
hidden: true,
});
await page.waitForSelector((await get_stream_li(page, "Zulip")) + ".highlighted_stream", {
await page.waitForSelector((await get_stream_li(page, "Zulip")) + ".highlighted_row", {
hidden: true,
});
@@ -361,20 +361,20 @@ async function test_stream_search_filters_stream_list(page: Page): Promise<void>
await arrow(page, "Down"); // sandbox-> Venice
await arrow(page, "Down"); // Venice -> Verona
await page.waitForSelector((await get_stream_li(page, "Verona")) + ".highlighted_stream", {
await page.waitForSelector((await get_stream_li(page, "Verona")) + ".highlighted_row", {
visible: true,
});
await page.waitForSelector((await get_stream_li(page, "core team")) + ".highlighted_stream", {
await page.waitForSelector((await get_stream_li(page, "core team")) + ".highlighted_row", {
hidden: true,
});
await page.waitForSelector((await get_stream_li(page, "Denmark")) + ".highlighted_stream", {
await page.waitForSelector((await get_stream_li(page, "Denmark")) + ".highlighted_row", {
hidden: true,
});
await page.waitForSelector((await get_stream_li(page, "Venice")) + ".highlighted_stream", {
await page.waitForSelector((await get_stream_li(page, "Venice")) + ".highlighted_row", {
hidden: true,
});
await page.waitForSelector((await get_stream_li(page, "Zulip")) + ".highlighted_stream", {
await page.waitForSelector((await get_stream_li(page, "Zulip")) + ".highlighted_row", {
hidden: true,
});
await test_search_venice(page);