siyuan-note/siyuan · error
The Obsidian Vault import task was not found or has expired
Error message
The Obsidian Vault import task was not found or has expired
What it means
Error "The Obsidian Vault import task was not found or has expired" thrown in siyuan-note/siyuan.
Solutions
- Restart the analysis/import flow from the beginning; task state is kept only in memory and expires
- Do not restart SiYuan between analysis and import; complete the import in one session
When it happens
Trigger: Thrown at kernel/model/import_obsidian.go:280 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/82c2092732c30dea.
Report an issue: GitHub.
Appendix: source
Thrown at kernel/model/import_obsidian.go:280
task := &obsidianTask{TaskID: taskID, State: ObsidianTaskStateQueued, Message: "Waiting to analyze", Cancel: cancel}
obsidianTasks[taskID] = task
obsidianActive = taskID
ret := snapshotObsidianTask(task)
obsidianTasksMu.Unlock()
if replacedTaskID != "" {
removeObsidianTemp(replacedTaskID)
}
go analyzeObsidianVaultTask(ctx, taskID, localPath)
return ret, nil
}
func GetObsidianVaultTask(taskID string) (*ObsidianVaultTask, error) {
obsidianTasksMu.Lock()
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()View on GitHub (pinned to afa823b6b4)