{"record":{"id":"919c72d4197897db","repo":"usebruno/bruno","slug":"mock-server-id-is-required","errorCode":null,"errorMessage":"Mock server id is required.","messagePattern":"Mock server id is required\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/bruno-electron/src/app/mock-server/mock-response-store.js","lineNumber":302,"sourceCode":"\n  const legacyResponses = readLegacyPerServerStore(location);\n  if (!legacyResponses.length) {\n    return [];\n  }\n\n  store.mockServers[mockServerUid] = {\n    ...existingBlock,\n    legacyMigrated: true,\n    responses: legacyResponses\n  };\n  writeWorkspaceStore(workspacePath, store);\n\n  return legacyResponses;\n};\n\nconst getMockServerResponses = (location) => {\n  if (!location?.mockServerUid) {\n    throw new Error('Mock server id is required.');\n  }\n\n  if (!location?.workspacePath) {\n    throw new Error('Workspace path is required.');\n  }\n\n  const store = readWorkspaceStore(location.workspacePath);\n  const responses = store.mockServers?.[location.mockServerUid]?.responses;\n\n  if (Array.isArray(responses) && responses.length > 0) {\n    return responses;\n  }\n\n  return migrateLegacyResponses(location);\n};\n\nconst setMockServerResponses = (location, responses) => {\n  const store = readWorkspaceStore(location.workspacePath);","sourceCodeStart":284,"sourceCodeEnd":320,"githubUrl":"https://github.com/usebruno/bruno/blob/9bdd81c7bdc57006e5f5ebffb79321a8d979f712/packages/bruno-electron/src/app/mock-server/mock-response-store.js#L284-L320","documentation":"Thrown by getMockServerResponses when the `location` argument has no truthy `mockServerUid`. The function reads mock-server responses from the workspace store keyed by mockServerUid, so without an id it cannot locate the responses block. This is the first of two guards in getMockServerResponses (mockServerUid checked before workspacePath).","triggerScenarios":"Calling getMockServerResponses({}) , getMockServerResponses(null), or getMockServerResponses({ workspacePath }) with the uid omitted/empty; a caller passing a partial location object built from an incomplete IPC payload.","commonSituations":"Frontend IPC handler forwarding a user action before the mock server was created/saved; a deleted mock server whose id reference was cleared; passing the workspaceUid in place of mockServerUid by mistake.","solutions":["Ensure the mock server exists (create/save it first via saveMockServer) and pass its uid in location.mockServerUid.","Validate the location object shape before calling: require both mockServerUid and workspacePath.","If the uid came from a route param, confirm the param name maps to mockServerUid."],"exampleFix":"// before\ngetMockServerResponses({ workspacePath: '/ws' }); // missing mockServerUid\n\n// after\nif (!mockServer?.uid) throw new Error('Create the mock server first');\ngetMockServerResponses({ workspacePath: '/ws', mockServerUid: mockServer.uid });","handlingStrategy":"validation","validationCode":"if (!location?.mockServerUid) {\n  throw new Error('Create or select a mock server before reading responses.');\n}","typeGuard":"const hasMockServerLocation = (l) => !!l && typeof l.mockServerUid === 'string' && !!l.mockServerUid;","tryCatchPattern":null,"preventionTips":["Always pass a non-empty mockServerUid in the location object.","Create/save the mock server (via saveMockServer) before reading its responses.","Distinguish mockServerUid from workspaceUid at the IPC boundary."],"tags":["mock-server","validation","bruno-electron","ipc","input-validation"],"backgroundTag":null,"analyzedSha":"9bdd81c7bdc57006e5f5ebffb79321a8d979f712","analyzedAt":"2026-08-13T04:09:25.751Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}