siyuan-note/siyuan · error
The Obsidian Vault import task can no longer be cancelled
Error message
The Obsidian Vault import task can no longer be cancelled
What it means
Error "The Obsidian Vault import task can no longer be cancelled" thrown in siyuan-note/siyuan.
Solutions
- The task is already in a terminal or non-cancellable state; wait for it to finish or check its current status before retrying
When it happens
Trigger: Thrown at kernel/model/import_obsidian.go:295 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of siyuan-note/siyuan@afa823b6b4 (2026-08-18).
Data as JSON: /api/errors/50b5a643760c1da4.
Report an issue: GitHub.
Appendix: source
Thrown at kernel/model/import_obsidian.go:295
defer obsidianTasksMu.Unlock()
task := obsidianTasks[taskID]
if task == nil {
return nil, errors.New(Conf.Language(330))
}
return snapshotObsidianTask(task), nil
}
func CancelObsidianVaultTask(taskID string) (*ObsidianVaultTask, error) {
obsidianTasksMu.Lock()
task := obsidianTasks[taskID]
if task == nil {
obsidianTasksMu.Unlock()
return nil, errors.New(Conf.Language(330))
}
if !isObsidianCancellableState(task.State) {
ret := snapshotObsidianTask(task)
obsidianTasksMu.Unlock()
return ret, errors.New(Conf.Language(331))
}
if task.Cancel != nil {
task.Cancel()
}
finishObsidianTaskLocked(task, ObsidianTaskStateCancelled, "Import cancelled", "")
ret := snapshotObsidianTask(task)
obsidianTasksMu.Unlock()
removeObsidianTemp(taskID)
return ret, nil
}
func StartObsidianVaultImport(taskID, notebookName string) (*ObsidianVaultTask, error) {
obsidianTasksMu.Lock()
task := obsidianTasks[taskID]
if task == nil || task.State != ObsidianTaskStateReady || task.Context == nil {
obsidianTasksMu.Unlock()
return nil, errors.New(Conf.Language(332))
}View on GitHub (pinned to afa823b6b4)