TaskNotes 4.3.15 (Fork)
This release is from the cybersader/tasknotes fork.
Added
- New "zettel-title" filename format: Combines sortable date ID with readable title
- Format:
260202abc-My Task Title.md(zettel ID + dash + title) - Short, sortable, readable, and collision-proof
- Available in Settings → Task Properties → Title → Filename format
- Format:
- Filename collision behavior setting: Control how duplicate filenames are handled
- "Auto-resolve silently" - append -2, -3, etc. without notification (default)
- "Auto-resolve and notify" - append suffix and show a notice
- "Always ask me" - show recovery modal to choose action
- Located in Settings → Task Properties → Title → Filename settings
- Retry suffix format setting: Configure what suffix to append when retrying
- Timestamp (m5abc123) - base36 timestamp (default)
- Random (k3f) - 3-character random suffix
- Zettel ID (260202abc) - full zettel identifier
- Filename collision recovery modal: User-friendly recovery when file creation fails
- TaskNotes branding in modal header
- Clear sections: "Change format for all future tasks" vs "One-time fix"
- All 5 format options available: zettel-title (recommended), zettel, timestamp, title, custom
- Preview of exact filename when using "Retry once"
- Quick access to settings
- New custom template variables: For collision-proof filenames
{{millisecondsPadded}}: Zero-padded milliseconds (000-999) for proper sorting{{random}}: 2-character base36 suffix (00-zz){{randomLong}}: 3-character base36 suffix (000-zzz)- Recommended collision-proof template:
{{year}}{{month}}{{day}}{{hour}}{{minute}}{{second}}{{millisecondsPadded}}{{random}}
- Note UUID system: Persistent unique identifiers for notes that survive renames/moves
NoteUuidServicegenerates and manages UUIDs in frontmatter (tnIdby default)- Configurable property name in Settings → Task Properties → Metadata Properties
- Auto-generates on task creation (TaskService, BulkTaskEngine, BulkConvertEngine)
- Foundation for future state tracking (snooze, view-entry timestamps, duplicate detection)
- Groups system: Group notes (
type: group) with nested group resolutionGroupRegistrydiscovers groups and resolves members recursively- Cycle detection prevents infinite loops (max depth: 10)
- Settings UI section for group notes folder and tag filter
- Person preferences:
PersonNoteServicereads reminder preferences from person note frontmatter- Configurable
reminderTime,reminderLeadTimes,notificationEnabled
- Configurable
- Bulk operation types: Unified
BulkOperationResultinterface for consistent result handling- Helper functions:
createEmptyResult,mergeResults,formatResultNotice - Conversion functions:
fromCreationResult,fromConvertResult
- Helper functions:
- Device identity integration: Creator field auto-populated in bulk task creation and conversion
Fixed
- Case-insensitive filename collision on Windows:
generateUniqueFilename()now uses case-insensitive comparison to prevent "File already exists" errors when filenames differ only by case (e.g., "Test" vs "test") - Folder autocomplete drill-down: Selecting a folder with subfolders now keeps the dropdown open to show subfolders, instead of requiring manual re-entry