Skip to content

feat: sync indented Markdown tasks as subtasks - #35

Open
kairan0 wants to merge 1 commit into
CYZice:mainfrom
kairan0:feature/markdown-subtasks
Open

kairan0 wants to merge 1 commit into
CYZice:mainfrom
kairan0:feature/markdown-subtasks

Conversation

@kairan0

@kairan0 kairan0 commented Sep 15, 2026

Copy link
Copy Markdown

Fixes #34

Summary

  • Resolve the nearest preceding checkbox with less indentation when creating a native Markdown task.
  • Send the linked parent's remote ID as parentId, inherit its project, and persist the server-confirmed placement locally.
  • Stop creation when the parent is not linked or when the child explicitly names a different project.
  • Handle spaces, tabs, and nested checkboxes inside blockquotes without changing root-task creation.

Safety boundary

This only affects the explicit Insert/create Dida task action for an unlinked Markdown checkbox. Editing the indentation of an already linked task does not reparent or unparent the remote task, because the same task can be referenced from multiple notes.

Testing

  • npm test
  • npm run build
  • git diff --check

The repository-wide npx tsc --noEmit command still reports pre-existing Electron, Obsidian, and test typing errors; none point to the new production code.

Resolve the nearest shallower checkbox during native task creation, inherit its project, and preserve the remote parent relationship locally. Reject unsynced parents and conflicting project markers, with coverage for spaces, tabs, blockquotes, and API responses.
@kairan0
kairan0 marked this pull request as ready for review September 15, 2026 15:10
@CYZice

CYZice commented Sep 17, 2026

Copy link
Copy Markdown
Owner

tomorrow I will review the PR and merge

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Sync indented Markdown checkboxes as subtasks

2 participants