feat(FN-2166): persist dev server script configuration across sessions
- Extend dev server store with config defaults, normalization, and JSON persistence alongside runtime state. - Add GET/PUT /api/dev-server/config endpoints with strict request validation for nullable fields and preview URLs. - Add dashboard API helpers plus a useDevServerConfig hook to load and update selected script, source, command, and preview override. - Update DevServerView and styles to support saved script selection, change/clear actions, and synchronized command/preview inputs. - Expand dev server store/routes/component tests and document the config endpoint in architecture docs.
This commit is contained in:
@@ -2869,12 +2869,11 @@ describe("TaskStore", () => {
|
||||
|
||||
it("includeArchived=false excludes archived tasks; default includes them", async () => {
|
||||
const keep = await store.createTask({ description: "Stays visible" });
|
||||
const toArchive = await store.createTask({ description: "Will be archived" });
|
||||
await store.moveTask(toArchive.id, "todo");
|
||||
await store.moveTask(toArchive.id, "in-progress");
|
||||
await store.moveTask(toArchive.id, "in-review");
|
||||
await store.moveTask(toArchive.id, "done");
|
||||
await store.archiveTask(toArchive.id);
|
||||
const toArchive = await store.createTask({ description: "Will be archived", column: "done" });
|
||||
|
||||
// This assertion is about list filtering, not branch cleanup.
|
||||
// Use non-cleanup archiving to avoid invoking git commands in test environments.
|
||||
await store.archiveTask(toArchive.id, false);
|
||||
|
||||
const withArchived = await store.listTasks();
|
||||
const withoutArchived = await store.listTasks({ includeArchived: false });
|
||||
|
||||
Reference in New Issue
Block a user