riok/Kreya

Error: Cannot create directories outside of project directory

bejabengdd opened this issue · 3 comments

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Project tab and click on importers
  2. import proto directory path: cd ~/Projects/services-protobuf/protos/common
  3. verify proto file path looks like ../../services-protobuf/protos/common/**/*.proto
  4. Click save in the bottom left corner.

Expected behavior

Screenshots
Screenshot 2024-07-23 at 11 28 22 AM

Environment (if possible, copy the information from the error dialog or the About menu):

  • OS: Mac 14.5 (23F79)
  • Kreya Version most updated version

additional information:
{
"kreyaVersion": "1.15.0",
"releaseChannel": "stable",
"osDescription": "Darwin 23.5.0 Darwin Kernel Version 23.5.0: Wed May 1 20:17:33 PDT 2024; root:xnu-10063.121.3~5/RELEASE_ARM64_T6031",
"osVersion": "Unix 14.5.0",
"osArch": "Arm64",
"processArch": "Arm64",
"runtimeIdentifier": "osx-arm64",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)"
}

System.InvalidOperationException: cannot create directories outside the project directory
at Kreya.Data.OperationDirectoryStorage.CreateMissingDirectories(IProject project, String directoryPath)
at Kreya.Core.Operations.OperationDirectoryService.CreateMissingOperationDirectories(String path)
at Kreya.Core.Importer.ImporterService.CreateMissingOperations(ImportStream importStream, IImporterAdapter importer, IReadOnlyDictionary2 operationsByInvoker) at Kreya.Core.Importer.ImporterService.RunSingleImporter(IImporterAdapter importer, ImportStream importStream, Boolean allowCache, IReadOnlyDictionary2 operationsByInvoker)
at Kreya.Core.Importer.ImporterService.RunImporter(Guid id, Boolean allowCache)
at SpiderEye.Bridge.ApiMethod.InvokeAsync(Object instance, Object parameter)
at SpiderEye.Bridge.WebviewBridge.InvokeWithDependencyInjection(IDependencyInjectionApiMethod apiMethod, Object parameters)
at SpiderEye.Bridge.WebviewBridge.InvokeWithDependencyInjection(IDependencyInjectionApiMethod apiMethod, Object parameters)
at SpiderEye.Bridge.WebviewBridge.ResolveCall(String id, String parameters)

We are looking into this