siyuan-note/siyuan · error
Conf.Language(77), msg: endpoint
Error message
Conf.Language(77), msg: endpoint [%s] not exist
What it means
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".
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
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at kernel/model/sync.go:706 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of siyuan-note/siyuan@9f775e8a12 (2026-09-19).
Data as JSON: /api/errors/bbeedffc90e2b18e.
Report an issue: GitHub.
Appendix: source
Thrown at kernel/model/sync.go:706
}
func SetSyncProviderLocal(local *conf.Local) (err error) {
release := lockAssetSourceChange()
defer release()
local.Endpoint = strings.TrimSpace(local.Endpoint)
local.Endpoint = util.NormalizeLocalPath(local.Endpoint)
absPath, err := filepath.Abs(local.Endpoint)
if nil != err {
msg := fmt.Sprintf("get endpoint [%s] abs path failed: %s", local.Endpoint, err)
logging.LogError(msg)
err = fmt.Errorf(Conf.Language(77), msg)
return
}
if !gulu.File.IsExist(absPath) {
msg := fmt.Sprintf("endpoint [%s] not exist", local.Endpoint)
logging.LogError(msg)
err = fmt.Errorf(Conf.Language(77), msg)
return
}
if util.IsAbsPathInWorkspace(absPath) || filepath.Clean(absPath) == filepath.Clean(util.WorkspaceDir) {
msg := fmt.Sprintf("endpoint [%s] is in workspace", local.Endpoint)
logging.LogError(msg)
err = fmt.Errorf(Conf.Language(77), msg)
return
}
if gulu.File.IsSubPath(absPath, util.WorkspaceDir) {
msg := fmt.Sprintf("endpoint [%s] is parent of workspace", local.Endpoint)
logging.LogError(msg)
err = fmt.Errorf(Conf.Language(77), msg)
return
}
local.Timeout = util.NormalizeTimeout(local.Timeout)
local.ConcurrentReqs = util.NormalizeConcurrentReqs(local.ConcurrentReqs, conf.ProviderLocal)View on GitHub (pinned to 9f775e8a12)