TaskNotes

TaskNotes 4.3.16 (Fork)

This release is from the cybersader/tasknotes fork.

Added

  • Zettel date fallback chain: Configure which date to use for zettel YYMMDD portion
    • New setting zettelDateChain with ordered fallback: Due → Scheduled → Creation
    • Visual chain selector UI with clickable [Due] → [Scheduled] → [Creation] buttons
    • Live preview showing 3 scenarios with example zettel IDs and human-readable dates
    • Automatic migration from legacy zettelDateSource setting
  • Comprehensive filename preview: Title property card now shows live preview at top
    • Frontmatter preview with user-configured property names
    • ← zettel date indicator shows which property is used based on fallback chain
    • Normal filename + collision filename with highlighted suffix
    • Collision behavior description
    • Contextual tip for collision-proof naming
  • Custom template variables expansion: Preview now supports all variables
    • {{title}}, {{zettel}}, {{timestamp}}
    • {{dueDate}} / {{due}}, {{scheduledDate}} / {{scheduled}}, {{createdDate}} / {{created}}
    • {{random}}, {{randomLong}}, {{milliseconds}} / {{millisecondsPadded}}
    • Preview updates on blur for instant feedback
  • Template variables documentation: Expandable section in settings with full variable reference
    • Table showing all variables with descriptions and examples
    • Aliases note for shorthand syntax
    • Link to comprehensive docs page (docs/filename-templates.md)
  • Settings connection UX: Visual indicators linking related settings
    • "Retry suffix format" shows "Uses date fallback chain below ↓" when zettel selected
    • Chain description shows "Also used by retry suffix above ↑" when relevant
    • Changing either setting updates both indicators
  • Context-aware "rich" date format for Upcoming View
    • Smart year display: Skips year if same as current year
    • Today/Tomorrow labels: "Feb 3 • Today • Monday"
    • Clean format: "Feb 5 • Wednesday"

Fixed

  • Configure view toggle not working: Bases API returns toggle values as strings ("true"/"false"), not booleans. Fixed type checking in getDateSettings() to handle both
  • Section header duplication: "Feb 2 • Today • Monday • Today • Monday" bug fixed by using simple date format in section headers
  • Zettel collision uniqueness: Changed from seconds to milliseconds for sub-second collision prevention
  • FilenameCollisionModal missing context: Now receives due date, scheduled date, and zettel settings for accurate preview
  • "Edit task" action in collision modal: Returns to task creation screen instead of cancelling