feat(FN-3078): merge fusion/fn-3078
This merge lands four features: a `/clear` command for Chat and Quick Chat with session banner fixes (FN-3062), a todo view redesign with restructured rows and improved styling (FN-3063), deterministic peer exchange shutdown with dashboard improvements (FN-3040), and a summary Q&A disclosure feature Fusion-Task-Id: FN-3078
This commit is contained in:
@@ -311,12 +311,12 @@ describe("planning module", () => {
|
||||
|
||||
it("enforces rate limiting", async () => {
|
||||
const mockIp = getUniqueIp();
|
||||
// Create max sessions (5 per hour)
|
||||
for (let i = 0; i < 5; i++) {
|
||||
// Create max sessions (1000 per hour)
|
||||
for (let i = 0; i < 1000; i++) {
|
||||
await createSession(mockIp, `${initialPlan} ${i}`, undefined, TEST_ROOT_DIR);
|
||||
}
|
||||
|
||||
// 6th session should fail
|
||||
// 1001st session should fail
|
||||
await expect(createSession(mockIp, initialPlan, undefined, TEST_ROOT_DIR)).rejects.toThrow(RateLimitError);
|
||||
});
|
||||
|
||||
@@ -325,7 +325,7 @@ describe("planning module", () => {
|
||||
try {
|
||||
const mockIp = getUniqueIp();
|
||||
// Create max sessions
|
||||
for (let i = 0; i < 5; i++) {
|
||||
for (let i = 0; i < 1000; i++) {
|
||||
await createSession(mockIp, `${initialPlan} ${i}`, undefined, TEST_ROOT_DIR);
|
||||
}
|
||||
|
||||
|
||||
@@ -9987,9 +9987,9 @@ describe("Planning Mode Routes", () => {
|
||||
expect(res.body.sessionId).toBeDefined();
|
||||
});
|
||||
|
||||
it("enforces rate limiting (5 sessions per hour per IP)", async () => {
|
||||
// Create 5 sessions (should succeed)
|
||||
for (let i = 0; i < 5; i++) {
|
||||
it("enforces rate limiting (1000 sessions per hour per IP)", async () => {
|
||||
// Create 1000 sessions (should succeed)
|
||||
for (let i = 0; i < 1000; i++) {
|
||||
const res = await REQUEST(
|
||||
buildApp(),
|
||||
"POST",
|
||||
@@ -10000,12 +10000,12 @@ describe("Planning Mode Routes", () => {
|
||||
expect(res.status).toBe(201);
|
||||
}
|
||||
|
||||
// 6th session should be rate limited
|
||||
// 1001st session should be rate limited
|
||||
const res = await REQUEST(
|
||||
buildApp(),
|
||||
"POST",
|
||||
"/api/planning/start",
|
||||
JSON.stringify({ initialPlan: "Plan 6" }),
|
||||
JSON.stringify({ initialPlan: "Plan 1001" }),
|
||||
{ "Content-Type": "application/json" }
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user