Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion tests/browser/agent-activity.spec.mjs
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
import { test, expect } from "./fixture.mjs";
import { open } from "./timeline.mjs";
import { finalizeEvent, generateSecretKey, getPublicKey } from "nostr-tools";
test.use({ productionBroker: true, developmentReact: true });
test.use({
productionBroker: true,
developmentReact: true,
historyCounts: { alpha: 1, beta: 1 },
});

test("activity launcher consumes real encrypted telemetry, escapes raw text, selects agents, and releases on disable", async ({
page,
Expand Down
1 change: 1 addition & 0 deletions tests/browser/appearance.spec.mjs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { test, expect } from "./fixture.mjs";
import { open, anchor, expectAnchor } from "./timeline.mjs";

test.use({ historyCounts: { alpha: 20, beta: 1 } });
const key = "buzz-appearance.v1";
const button = (page, name) => page.getByRole("button", { name, exact: true });
async function settings(page) {
Expand Down
1 change: 1 addition & 0 deletions tests/browser/buzz-links.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ test.use({
readState: true,
threadUnread: true,
pluginFixtures: true,
historyCounts: { alpha: 640, beta: 1 },
});
const button = (page, name) => page.getByRole("button", { name, exact: true });
const state = (page) =>
Expand Down
6 changes: 5 additions & 1 deletion tests/browser/channel-opening.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@ import { readFile } from "node:fs/promises";
import { test, expect } from "./fixture.mjs";
import { open } from "./timeline.mjs";

test.use({ productionBroker: true, largeSidebar: true });
test.use({
productionBroker: true,
largeSidebar: true,
historyCounts: { alpha: 20, beta: 20 },
});
const heads = (app, channel) =>
app.report.queries.filter(
({ filter }) =>
Expand Down
1 change: 1 addition & 0 deletions tests/browser/completion-layout.spec.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { test, expect } from "./fixture.mjs";

test.use({ historyCounts: { alpha: 1, beta: 0 } });
test("completion menu stays reachable in the production channel layout", async ({
page,
app,
Expand Down
6 changes: 5 additions & 1 deletion tests/browser/dm-labels.spec.mjs
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
import { test, expect } from "./fixture.mjs";
import { open } from "./timeline.mjs";

test.use({ productionBroker: true, dmLabels: true });
test.use({
productionBroker: true,
dmLabels: true,
historyCounts: { alpha: 1, beta: 1 },
});

for (const cold of [false, true]) {
test(`DM names recover after ${cold ? "hidden channel deletion aborts a cold fetch" : "channel deletion purges loaded profiles"}`, async ({
Expand Down
1 change: 1 addition & 0 deletions tests/browser/external-links.spec.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { test, expect } from "./fixture.mjs";

test.use({ historyCounts: { alpha: 1, beta: 0 } });
const github = "https://github.com/block/buzz/pull/1";
const ordinary = "https://example.test/external-link";
const unsupported = "https://github.com/block/buzz/blob/main/README.md";
Expand Down
1 change: 1 addition & 0 deletions tests/browser/gifs.spec.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { test, expect } from "./fixture.mjs";

test.use({ historyCounts: { alpha: 1, beta: 0 } });
test("relay-backed GIF tab searches KLIPY and inserts URL-only media", async ({
page,
app,
Expand Down
5 changes: 4 additions & 1 deletion tests/browser/history-loading.spec.mjs
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
import { test, expect } from "./fixture.mjs";
import { open, settle } from "./timeline.mjs";

test.use({ productionBroker: true });
test.use({
productionBroker: true,
historyCounts: { alpha: 640, beta: 20 },
});
const history = (page) =>
page.getByRole("region", { name: "Channel message history" });

Expand Down
1 change: 1 addition & 0 deletions tests/browser/layout.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { test, expect } from "./fixture.mjs";
import { settle, upper, expectAnchor } from "./timeline.mjs";

// Resize tests must not enter the fixture’s deliberately held paging path.
test.use({ historyCounts: { alpha: 640, beta: 80 } });
const readingTest = test.extend({ tallMessages: true });
async function expectNonPaging(page, app) {
expect(
Expand Down
5 changes: 4 additions & 1 deletion tests/browser/live-status.spec.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
import { test, expect } from "./fixture.mjs";
test.use({ productionBroker: true });
test.use({
productionBroker: true,
historyCounts: { alpha: 1, beta: 1 },
});
test("clean pending setup stays in diagnostics and never flashes a warning during channel switches", async ({
page,
app,
Expand Down
5 changes: 4 additions & 1 deletion tests/browser/live.spec.mjs
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
import { test, expect } from "./fixture.mjs";
import { open, settle, upper, expectAnchor, end, anchor } from "./timeline.mjs";

test.use({ productionBroker: true });
test.use({
productionBroker: true,
historyCounts: { alpha: 640, beta: 20 },
});
const history = (page) =>
page.getByRole("region", { name: "Channel message history" });
const retry = (page) =>
Expand Down
6 changes: 5 additions & 1 deletion tests/browser/membership.spec.mjs
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
import { test, expect } from "./fixture.mjs";
import { anchor, expectAnchor, settle } from "./timeline.mjs";

test.use({ membershipActivity: true, productionBroker: true });
test.use({
membershipActivity: true,
productionBroker: true,
historyCounts: { alpha: 640, beta: 1 },
});

// Do not let the shared fixture's legacy WebKit exception mask timeline reflow
// errors. These journeys must preserve the reader without observer-loop errors.
Expand Down
1 change: 1 addition & 0 deletions tests/browser/navigation-groups.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ test.use({
savedSidebar: true,
largeSidebar: true,
developmentReact: true,
historyCounts: { alpha: 1, beta: 1 },
});
test("Home → Messages keeps saved groups and scroll on every visible frame without re-decoding", async ({
page,
Expand Down
1 change: 1 addition & 0 deletions tests/browser/navigation-join.spec.mjs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { test, expect } from "./fixture.mjs";
import { open } from "./timeline.mjs";

test.use({ historyCounts: { alpha: 640, beta: 1 } });
const button = (page, name) => page.getByRole("button", { name, exact: true });
const entry = (page) =>
page.evaluate(() => history.state.buzzNavigationV1.entry);
Expand Down
1 change: 1 addition & 0 deletions tests/browser/navigation-repairs.spec.mjs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { test, expect } from "./fixture.mjs";
import { open } from "./timeline.mjs";

test.use({ historyCounts: { alpha: 1, beta: 1 } });
// Regressions independently reproduced by Pinky against the first wiring handoff.
const button = (page, name) => page.getByRole("button", { name, exact: true });
const entry = (page) =>
Expand Down
7 changes: 6 additions & 1 deletion tests/browser/navigation-scroll-intent.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,12 @@ import { test, expect } from "./fixture.mjs";
import { open } from "./timeline.mjs";

const button = (page, name) => page.getByRole("button", { name, exact: true });
test.use({ largeSidebar: true, productionBroker: true, readState: true });
test.use({
largeSidebar: true,
productionBroker: true,
readState: true,
historyCounts: { alpha: 1, beta: 1 },
});

for (const action of [
"untouched",
Expand Down
5 changes: 4 additions & 1 deletion tests/browser/navigation-sidebar.spec.mjs
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
import { test, expect } from "./fixture.mjs";
import { open } from "./timeline.mjs";
const button = (page, name) => page.getByRole("button", { name, exact: true });
test.use({ largeSidebar: true });
test.use({
largeSidebar: true,
historyCounts: { alpha: 1, beta: 1 },
});

test("channel navigation preserves sidebar search, DOM, group state and scroll", async ({
page,
Expand Down
7 changes: 6 additions & 1 deletion tests/browser/navigation-thread-history.spec.mjs
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
import { test, expect } from "./fixture.mjs";
import { open } from "./timeline.mjs";

test.use({ productionBroker: true, readState: true, threadUnread: true });
test.use({
productionBroker: true,
readState: true,
threadUnread: true,
historyCounts: { alpha: 20, beta: 20 },
});

test("Back restores each thread visit before the previous channel", async ({
page,
Expand Down
1 change: 1 addition & 0 deletions tests/browser/plugin-import.spec.mjs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { readFile } from "node:fs/promises";
import { test, expect } from "./fixture.mjs";

test.use({ historyCounts: { alpha: 0, beta: 0 } });
const button = (page, name) => page.getByRole("button", { name, exact: true });
async function openPlugins(page, origin) {
await page.goto(origin);
Expand Down
1 change: 1 addition & 0 deletions tests/browser/profiles-appearance.spec.mjs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { test, expect } from "./fixture.mjs";
import { open } from "./timeline.mjs";

test.use({ historyCounts: { alpha: 20, beta: 0 } });
for (const mode of ["light", "dark"]) {
test(`Profiles uses shared styles and host keyboard focus in ${mode} mode`, async ({
page,
Expand Down
1 change: 1 addition & 0 deletions tests/browser/scroll.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import {
edge,
} from "./timeline.mjs";

test.use({ historyCounts: { alpha: 640, beta: 80 } });
// Keep non-paging reading gestures outside the unchanged near-top read zone,
// even with a 20-row head. The cursor journey below keeps ordinary-height rows.
const readingTest = test.extend({ tallMessages: true });
Expand Down
1 change: 1 addition & 0 deletions tests/browser/sidebar-unread.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ test.use({
readState: true,
largeSidebar: true,
sidebarUnread: true,
historyCounts: { alpha: 20, beta: 20 },
});
const sidebar = (page) =>
page.getByRole("complementary", { name: "Channel sidebar", exact: true });
Expand Down
1 change: 1 addition & 0 deletions tests/browser/terminal.spec.mjs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { test, expect } from "./fixture.mjs";
import { open } from "./timeline.mjs";
const button = (page, name) => page.getByRole("button", { name, exact: true });
test.use({ historyCounts: { alpha: 1, beta: 0 } });
test("web hides the unusable terminal and does not consume its shortcut, including re-enable", async ({
page,
app,
Expand Down
7 changes: 6 additions & 1 deletion tests/browser/thread-unread.spec.mjs
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
import { test, expect } from "./fixture.mjs";
import { open } from "./timeline.mjs";

test.use({ productionBroker: true, readState: true, threadUnread: true });
test.use({
productionBroker: true,
readState: true,
threadUnread: true,
historyCounts: { alpha: 20, beta: 1 },
});
test("thread buttons show observed unread independently, clear only after reading, and expose hover/focus affordance", async ({
page,
app,
Expand Down
5 changes: 4 additions & 1 deletion tests/browser/timeline-setup.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@ import { test, expect } from "./fixture.mjs";
import { open, upper, anchor, expectAnchor } from "./timeline.mjs";

// Reading setup must not accidentally exercise older-page loading.
test.use({ tallMessages: true });
test.use({
tallMessages: true,
historyCounts: { alpha: 640, beta: 1 },
});
const history = (page) =>
page.getByRole("region", { name: "Channel message history" });

Expand Down
7 changes: 6 additions & 1 deletion tests/browser/typing.spec.mjs
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
import { test, expect } from "./fixture.mjs";
import { open, end } from "./timeline.mjs";

test.use({ productionBroker: true, readState: true, threadUnread: true });
test.use({
productionBroker: true,
readState: true,
threadUnread: true,
historyCounts: { alpha: 20, beta: 1 },
});
test("Messages receives scoped typing through authenticated live traffic and expires it without publishing", async ({
page,
app,
Expand Down
6 changes: 5 additions & 1 deletion tests/browser/unread.spec.mjs
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
import { test, expect } from "./fixture.mjs";
import { open, settle } from "./timeline.mjs";

test.use({ productionBroker: true, readState: true });
test.use({
productionBroker: true,
readState: true,
historyCounts: { alpha: 640, beta: 20 },
});
const history = (page) =>
page.getByRole("region", { name: "Channel message history" });
const alpha = (page) => page.getByRole("button", { name: /^Alpha/ });
Expand Down
Loading