{"record":{"id":"b9a6c3cf3d700be6","repo":"siyuan-note/siyuan","slug":"conf-language-77-msg-endpoint-s-is-parent-of-workspace","errorCode":null,"errorMessage":"Conf.Language(77), msg: endpoint [%s] is parent of workspace","messagePattern":"Conf\\.Language\\(77\\), msg: endpoint \\[(.+?)\\] is parent of workspace","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"kernel/model/sync.go","lineNumber":719,"sourceCode":"\t\treturn\n\t}\n\tif !gulu.File.IsExist(absPath) {\n\t\tmsg := fmt.Sprintf(\"endpoint [%s] not exist\", local.Endpoint)\n\t\tlogging.LogError(msg)\n\t\terr = fmt.Errorf(Conf.Language(77), msg)\n\t\treturn\n\t}\n\tif util.IsAbsPathInWorkspace(absPath) || filepath.Clean(absPath) == filepath.Clean(util.WorkspaceDir) {\n\t\tmsg := fmt.Sprintf(\"endpoint [%s] is in workspace\", local.Endpoint)\n\t\tlogging.LogError(msg)\n\t\terr = fmt.Errorf(Conf.Language(77), msg)\n\t\treturn\n\t}\n\n\tif gulu.File.IsSubPath(absPath, util.WorkspaceDir) {\n\t\tmsg := fmt.Sprintf(\"endpoint [%s] is parent of workspace\", local.Endpoint)\n\t\tlogging.LogError(msg)\n\t\terr = fmt.Errorf(Conf.Language(77), msg)\n\t\treturn\n\t}\n\n\tlocal.Timeout = util.NormalizeTimeout(local.Timeout)\n\tlocal.ConcurrentReqs = util.NormalizeConcurrentReqs(local.ConcurrentReqs, conf.ProviderLocal)\n\tif Conf.Sync.Provider == conf.ProviderLocal && (Conf.Sync.Local == nil ||\n\t\tfilepath.Clean(Conf.Sync.Local.Endpoint) != filepath.Clean(local.Endpoint)) {\n\t\tif err = requireCompleteAssetDownloads(); err != nil {\n\t\t\treturn\n\t\t}\n\t}\n\n\tConf.Sync.Local = local\n\tConf.Save()\n\trefreshLANSyncManager()\n\treturn\n}\n","sourceCodeStart":701,"sourceCodeEnd":737,"githubUrl":"https://github.com/siyuan-note/siyuan/blob/9f775e8a12daef8255556097396f9b2739078892/kernel/model/sync.go#L701-L737","documentation":"Error from SetSyncProviderLocal: the endpoint is a parent directory of the workspace, so syncing into it would sweep the workspace into the synced data; rejected and reported through the localized template Conf.Language(77).","triggerScenarios":"Thrown at kernel/model/sync.go:719 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pick an endpoint that is not an ancestor of the workspace","Move sync data out of the workspace's parent chain","Reconfigure the local sync provider with a safe path"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9f775e8a12daef8255556097396f9b2739078892","analyzedAt":"2026-09-19T03:17:15.984Z","contentChangedAt":"2026-09-19T03:17:15.984Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}