- Add delete task option to right-click context menu in TaskView
- Support cascade deletion for tasks with subtasks
- Show confirmation dialog with options when deleting parent tasks
- Emit TASK_DELETED event for dataflow synchronization
- Update Repository and TaskIndexer to handle task removal
- Extend WriteAPI and CanvasTaskUpdater for child task deletion
- Add i18n translations for delete-related messages
Implements complete task deletion workflow with parent-child relationship
handling, allowing users to delete individual tasks or entire task trees.
Major refactoring to centralize Canvas parsing functionality and improve
timeline features:
- Consolidate Canvas parsing logic into CanvasParser class
- Remove separate CanvasEntry module (functionality moved to CanvasParser)
- Add static helper methods for Canvas JSON parsing and node operations
- Enhance timeline sidebar with duration badges for time ranges
- Fix timezone handling using local time instead of UTC for consistency
- Update Canvas task updater to use centralized parser
- Clean up settings UI removing obsolete indexing options
- Add comprehensive parser refactoring documentation
This improves code organization, reduces duplication, and enhances the
timeline view with better time range visualization including duration badges.
- Implement comprehensive time component extraction and parsing
- Add date inheritance system for parent-child task relationships
- Enhance timeline sidebar with interactive features and visual improvements
- Add DateInheritanceService for managing task date hierarchies
- Implement TaskMigrationService for data structure updates
- Add TaskMetadataUtils for enhanced metadata handling
- Include extensive test coverage for all new features
- Add debug utilities for parsing validation
- Update settings UI with new time parsing configuration options
- Improve ConfigurableTaskParser with time-aware parsing capabilities
- Fix all TypeScript type errors and ensure proper type definitions
BREAKING CHANGE: Task metadata structure enhanced with timeComponents and enhancedDates fields
- Implement TimeComponent extraction for precise time handling
- Add support for time ranges (12:00-13:00) with midnight crossing detection
- Support both 12-hour and 24-hour time formats with automatic conversion
- Extract and categorize time components (start, due, scheduled) based on context
- Add comprehensive tests for enhanced time parsing functionality
- Create dedicated time-parsing types for better type safety
Additional improvements:
- Enhance FileSource with improved task handling and notification support
- Update Repository with better error handling and cache management
- Add IframeModal component for embedded content display
- Refine dataflow architecture documentation and production readiness guide
- Update settings UI with improved search and configuration options
- Add comprehensive URI deep-link documentation for settings navigation
- Implement path-based URI routing (obsidian://task-genius/settings) alongside legacy format
- Support direct action handlers for settings, create-task, and open-view paths
- Document all supported tab IDs and action parameters for MCP integration
- Add docs-site to .gitignore for separate repository management
The new URI format provides cleaner, more intuitive deep links for accessing
plugin features directly from documentation or external applications.
BREAKING CHANGE: TaskManager has been removed in favor of the new Dataflow architecture
Major changes:
- Complete TaskManager removal and replacement with Dataflow APIs
- Add Canvas task support to WriteAPI with dedicated methods
- Enhance QueryAPI with convenience methods and caching
- Integrate OnCompletionManager for task completion automation
- Remove TaskManagerBridge in favor of DataflowBridge
Features added:
- Canvas task operations (update, delete, move, duplicate)
- QueryAPI convenience methods (getTasksForFile, getTasksDueToday, etc.)
- Synchronous cache methods for better performance
- OnCompletion event triggering for task automation
- Full backward compatibility through API adapters
Documentation:
- Add canvas-task-api-guide.md for Canvas task usage
- Add oncompletion-feature-guide.md for automation features
- Add taskmanager-writeapi-gap-analysis.md showing 100% coverage
This completes the architectural migration to the event-driven Dataflow
system, providing better performance, modularity, and extensibility.
- Fix missing onTaskUpdate callback propagation in task tree items
- Restructure DataflowOrchestrator for better initialization and event handling
- Improve ObsidianSource event processing and workspace integration
- Add comprehensive TaskManager to Dataflow migration documentation
- Add cursor priority utility functions for editor extensions
- Enhance ConfigurableTaskParser with better error handling
- Update plugin initialization sequence for better stability
- Minor CSS adjustment for visual consistency
This refactoring improves the overall stability and performance of the
dataflow architecture while maintaining backward compatibility.
Implemented smart persistence batching in Repository to fix data loss issue that occurred
when Obsidian restarted. The Repository.updateFile() method now schedules persistence
operations with intelligent debouncing (1s delay, max 10 files, max 5s interval).
- Added persistence queue management with schedulePersist() and executePersist() methods
- Integrated FileSource into DataflowOrchestrator with conditional initialization
- Added FILE_TASK_UPDATED and FILE_TASK_REMOVED events to event system
- Extended Repository to support three data sources (regular tasks, ICS events, file tasks)
- Ensured cleanup properly persists pending data before shutdown
- Updated dataflow architecture documentation with FileSource details
- Added comprehensive FileSource architecture review document
The persistence fix ensures all task updates are properly saved to storage while
balancing performance through batching. FileSource integration allows files to be
recognized as tasks based on configurable strategies.
Add detailed documentation for the FileSource feature including:
- Complete feature specification with architecture alignment
- Implementation tracking document with task breakdown
- Design principles and integration patterns
- Configuration examples and API documentation
- Performance considerations and testing strategies
These documents provide guidance for understanding, maintaining, and
extending the FileSource functionality within the dataflow architecture.
Connect ObsidianSource events to Orchestrator for proper file change detection.
Implement event-driven synchronization between WriteAPI and dataflow components.
Add proper event emissions in CanvasTaskUpdater to trigger data flow updates.
The system now correctly handles:
- UI-triggered updates through WriteAPI
- Direct file edits in Obsidian
- Canvas task modifications
- Batch file processing
This ensures task edits properly trigger UI updates and data persistence
through the complete event flow: WriteAPI → File → ObsidianSource →
Orchestrator → Repository → UI.
Split utils/ into managers/, services/, core/, parsers/, cache/, and utils subfolders (date/, file/, task/, ui/)
Standardize file naming to kebab-case and group executors/parsers more clearly
Move worker utilities to dataflow/workers to align with dataflow architecture
Improves separation of concerns, naming consistency, and code discovery
BREAKING CHANGE: Import paths across the project have changed; update downstream code and plugins accordingly
- Move worker managers from utils to dataflow/workers directory
- Fix all import paths to use correct relative references
- Add storage API fixes documentation
- Add TaskIndexer migration plan documentation
- Create bridge classes for MCP server integration
- Extract shared utilities to utils directory (filterUtils, projectFilter, etc.)
- Fix type issues in QueryAPI and Augmentor
- Ensure all worker imports use correct paths
- Improve separation between dataflow and legacy code
This completes the dataflow architecture reorganization to have
cleaner boundaries between the new dataflow system and legacy code.
Introduces comprehensive dataflow system to replace legacy TaskManager:
- Add Orchestrator for centralized event and data flow coordination
- Implement QueryAPI as unified query interface for all views
- Create Repository with indexing and persistence capabilities
- Add ObsidianSource for file system event monitoring
- Implement WorkerOrchestrator for background processing
- Enhance Augmentor with complete task enhancement pipeline
- Add Storage layer for unified persistence management
- Include integration tests and example usage
This lays the foundation for gradual migration from utils-based
task management to the new dataflow architecture, following the
phased approach outlined in docs/dataflow-merge-plan.md.
All existing functionality remains intact with feature flag control
for safe rollout and rollback capabilities.
- Move settings-metadata from src/data to src/common for better organization
- Add initial dataflow architecture with core modules:
- QueryAPI for unified task querying
- Repository for centralized data management
- Storage abstraction layer
- Event system foundation
- Parser interfaces for different entry types
- Project resolver and augmentor modules
- Improve SettingsIndexer with better performance logging
- Update and enhance SettingsSearch tests
- Add comprehensive refactor documentation and specification