{"record":{"id":"8fa4aa22c6d71236","repo":"paperclipai/paperclip","slug":"no-project-selected","errorCode":null,"errorMessage":"No project selected.","messagePattern":"No project selected\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"ui/src/pages/skills/ImportSkillsFromProjectDialog.tsx","lineNumber":353,"sourceCode":"    const token = ++scanTokenRef.current;\n    companySkillsApi\n      .scanProjects(companyId, { projectIds: [project.id], mode: \"preview\" })\n      .then((result) => {\n        if (token !== scanTokenRef.current) return;\n        setScanResult(result);\n        setSelection(defaultSelection(result.candidates));\n        setStep(\"select\");\n      })\n      .catch((error) => {\n        if (token !== scanTokenRef.current) return;\n        setScanError(error);\n        setStep(\"select\");\n      });\n  }\n\n  const importMutation = useMutation({\n    mutationFn: () => {\n      if (!selectedProject) throw new Error(\"No project selected.\");\n      const selectionInput = Array.from(selection.values());\n      return companySkillsApi.scanProjects(companyId, {\n        projectIds: [selectedProject.id],\n        mode: \"import\",\n        selection: selectionInput,\n      });\n    },\n    onSuccess: async (result) => {\n      setImportResult(result);\n      setStep(\"result\");\n      await queryClient.invalidateQueries({\n        queryKey: queryKeys.companySkills.list(companyId),\n      });\n      const importedCount = result.imported.length;\n      toast.pushToast({\n        tone: importedCount > 0 ? \"success\" : \"warn\",\n        title: importedCount > 0 ? \"Skills imported\" : \"Nothing imported\",\n        body:","sourceCodeStart":335,"sourceCodeEnd":371,"githubUrl":"https://github.com/paperclipai/paperclip/blob/120ae5428fa29bee300bcf806491cd4d965fbb7c/ui/src/pages/skills/ImportSkillsFromProjectDialog.tsx#L335-L371","documentation":"Error \"No project selected.\" thrown in paperclipai/paperclip.","triggerScenarios":"Thrown at ui/src/pages/skills/ImportSkillsFromProjectDialog.tsx:353 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Select a project before importing skills from it."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"120ae5428fa29bee300bcf806491cd4d965fbb7c","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}