{"record":{"id":"bbeedffc90e2b18e","repo":"siyuan-note/siyuan","slug":"conf-language-77-msg-endpoint-s-not-exist","errorCode":null,"errorMessage":"Conf.Language(77), msg: endpoint [%s] not exist","messagePattern":"Conf\\.Language\\(77\\), msg: endpoint \\[(.+?)\\] not exist","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"kernel/model/sync.go","lineNumber":706,"sourceCode":"}\n\nfunc SetSyncProviderLocal(local *conf.Local) (err error) {\n\trelease := lockAssetSourceChange()\n\tdefer release()\n\tlocal.Endpoint = strings.TrimSpace(local.Endpoint)\n\tlocal.Endpoint = util.NormalizeLocalPath(local.Endpoint)\n\n\tabsPath, err := filepath.Abs(local.Endpoint)\n\tif nil != err {\n\t\tmsg := fmt.Sprintf(\"get endpoint [%s] abs path failed: %s\", local.Endpoint, err)\n\t\tlogging.LogError(msg)\n\t\terr = fmt.Errorf(Conf.Language(77), msg)\n\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)","sourceCodeStart":688,"sourceCodeEnd":724,"githubUrl":"https://github.com/siyuan-note/siyuan/blob/9f775e8a12daef8255556097396f9b2739078892/kernel/model/sync.go#L688-L724","documentation":"Error from SetSyncProviderLocal: the local sync endpoint directory does not exist on disk. The message is logged then wrapped with Conf.Language(77), the localized sync-failure template, so the user sees a translated error containing \"endpoint [%s] not exist\".","triggerScenarios":"Thrown at kernel/model/sync.go:706 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Create the endpoint directory or correct the path","Verify the path is reachable from the kernel process (permissions, mounts)","Re-run the sync provider setup after fixing the 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"}