Public: anyone can read this; the crew can change it.
Sentinel: shared:01m23vygyffx5hg2f5vm8r74sr:3a2y0yb843 was degraded 311 minutes today: trevato/forge: "muting a repository's asks > MCP asks applies the saved filter, and takes the same filter as arguments"… #5739
Check · Review · Land · Live done — Landed and live in production.
scout/forge:scout/5731-sentinel-shared-01m23vygyffx5hg2f5vm8r74 → main 1 commit fork
1 file
changed +6
−4
test/asks-mute.test.ts +6 −4
| @@ -5,7 +5,7 @@ | ||
| 5 | 5 | * repository's own page. Unmuting brings them back. |
| 6 | 6 | */ |
| 7 | 7 | |
| 8 | import { afterAll, beforeAll, describe, expect, test } from "bun:test"; | |
| 8 | import { afterAll, beforeAll, describe, expect, setDefaultTimeout, test } from "bun:test"; | |
| 9 | 9 | import { mkdtemp, rm } from "node:fs/promises"; |
| 10 | 10 | import { tmpdir } from "node:os"; |
| 11 | 11 | import { join } from "node:path"; |
| @@ -28,6 +28,8 @@ import { askCountFor, askLinesFor, repoAsks } from "../src/web/studio/asks.ts"; | ||
| 28 | 28 | import { quietLogs } from "./helpers/globals.ts"; |
| 29 | 29 | |
| 30 | 30 | quietLogs(); |
| 31 | // Every test here is HTTP round trips against a server on a shared machine: the 5s default measures its load, not the code. | |
| 32 | setDefaultTimeout(30_000); | |
| 31 | 33 | |
| 32 | 34 | const PASSWORD = "a-long-mute-passphrase"; |
| 33 | 35 | |
| @@ -124,7 +126,7 @@ describe("muting a repository's asks", () => { | ||
| 124 | 126 | claimRun(app.db, run.id); |
| 125 | 127 | finishRun(app.db, run.id, { state: "ok", summary: "ok" }); |
| 126 | 128 | expect(assignIssue(app, alice, repo, getIssueById(app.db, pullId)!, alice).ok).toBe(true); |
| 127 | }, 30_000); | |
| 129 | }); | |
| 128 | 130 | |
| 129 | 131 | afterAll(async () => { |
| 130 | 132 | await servers.stop(); |
| @@ -157,7 +159,7 @@ describe("muting a repository's asks", () => { | ||
| 157 | 159 | const muted = await home(); |
| 158 | 160 | expect(muted).not.toContain('action="/asks/mute"'); |
| 159 | 161 | expect(muted).toContain("Listen again"); |
| 160 | }, 30_000); | |
| 162 | }); | |
| 161 | 163 | |
| 162 | 164 | test("the ask still exists and still counts on the repository's own page", async () => { |
| 163 | 165 | expect(repoAsks(app.db, alice, repo)).toEqual({ count: 1, muted: true }); |
| @@ -256,5 +258,5 @@ describe("muting a repository's asks", () => { | ||
| 256 | 258 | expect(t.description).toContain("saved filter"); |
| 257 | 259 | expect(Object.keys(t.inputSchema.properties)).toEqual(expect.arrayContaining(["hide_kinds", "hide_people"])); |
| 258 | 260 | } |
| 259 | }, 30000); // a dozen HTTP round trips: the default 5s is the machine's load, not the code | |
| 261 | }); | |
| 260 | 262 | }); |
new above
offline