Commit graph

26 commits

Author SHA1 Message Date
Quorafind
88bcca4278 refactor(components): extract shared UI into src/components/ui/* with transitional re-exports (phase 1) 2025-08-28 11:01:17 +08:00
Quorafind
52573bfcd0 refactor(canvas): consolidate Canvas parsing into core CanvasParser
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.
2025-08-24 22:46:16 +08:00
Quorafind
dc364df963 feat(time-parsing): add enhanced time parsing with date inheritance and timeline improvements
- 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
2025-08-24 21:00:30 +08:00
Quorafind
86b64b0996 feat(time-parsing): add enhanced time parsing with range and component extraction
- 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
2025-08-24 10:26:54 +08:00
Quorafind
a175bf43b5 feat(uri): add enhanced deep-link support with path-based routing
- 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.
2025-08-24 10:24:12 +08:00
Quorafind
449348d4f6 docs: update architecture documentation and file specifications
- Update dataflow architecture documentation
- Refine file source specification
- Improve file type detector for better extension handling
- Minor style adjustments for UI consistency
2025-08-23 11:35:28 +08:00
Quorafind
d4d9d02ba5 fix(settings): make performSearch method public for external access
- Change performSearch visibility from private to public
- Allow setting.ts to trigger search when navigating from URI
2025-08-23 11:20:46 +08:00
Quorafind
a5884b332f refactor(dataflow): complete TaskManager to Dataflow migration with enhanced APIs
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.
2025-08-22 13:25:12 +08:00
quorafind
55fbc630ad refactor(dataflow): major architecture improvements and bug fixes
- 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.
2025-08-21 23:41:20 +08:00
Quorafind
172e5fc794 fix(dataflow): resolve data loss on restart and integrate FileSource
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.
2025-08-21 07:12:36 +08:00
Quorafind
738d7aa0c0 docs(filesource): add comprehensive specification and implementation docs
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.
2025-08-20 22:43:43 +08:00
Quorafind
deef893535 fix(dataflow): resolve blank TaskView and integrate ICS events
- Add IcsSource for calendar event integration into dataflow
- Fix infinite loop with sourceSeq tracking mechanism
- Resolve blank TaskView on quick startup with debounced events
- Add change detection to prevent unnecessary batch updates
- Implement render guards to prevent concurrent refreshes
- Update reindex commands to support dataflow architecture
- Persist ICS events separately in storage layer
- Update architecture documentation with current implementation

Fixes issues where:
- TaskView showed blank despite having loaded tasks
- Infinite "Batch update" loops occurred
- ICS calendar events disappeared when background sync disabled
- Rapid successive updates caused view resets before rendering
2025-08-20 10:34:02 +08:00
Quorafind
3c67a739be fix(dataflow): resolve data persistence and task parsing issues
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.
2025-08-20 06:59:45 +08:00
Quorafind
9831541958 docs: add editor-extensions refactoring plan documentation 2025-08-19 13:38:17 +08:00
Quorafind
1e49782272 refactor(repo)!: restructure directories for maintainability and update import paths
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
2025-08-19 10:37:07 +08:00
Quorafind
8c256a94c4 refactor(dataflow): reorganize workers and fix import paths
- 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.
2025-08-19 07:35:59 +08:00
Quorafind
ac682e5792 refactor(architecture): complete dataflow migration and file reorganization
Major architectural improvements:
- Created DataflowBridge for MCP integration with conditional switching
- Moved core parsers from utils/ to dataflow/core/ for better organization
- Consolidated workers under dataflow/workers/ directory
- Removed deprecated files (filterUtils, projectFilter, TaskManagerBridge)
- Deleted integration test files no longer needed

File organization changes:
- utils/parsing/* → dataflow/core/ (CoreTaskParser, CanvasParser)
- utils/workers/* → dataflow/core/ and dataflow/workers/
- Removed 11 deprecated/duplicate files
- Updated all import paths across the codebase

Architecture benefits:
- Clear separation between utils (tools) and dataflow (task processing)
- Unified worker management under dataflow architecture
- Conditional MCP bridge selection based on dataflowEnabled setting
- Cleaner module boundaries and dependencies

Documentation:
- Added comprehensive dataflow-architecture.md
- Documents new structure, migration status, and usage guidelines
- Provides rollback procedures and development guidelines
2025-08-19 07:27:37 +08:00
Quorafind
062379f295 refactor(dataflow): implement new task data architecture foundation
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.
2025-08-19 07:26:18 +08:00
quorafind
f5d4dca189 refactor: reorganize architecture and add dataflow foundation
- 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
2025-08-18 11:56:30 +08:00
quorafind
705d9bb0fb chore: update docs 2025-05-01 23:45:11 +08:00
Quorafind
75fc4aa512 docs: update readme 2025-04-14 16:55:51 +08:00
quorafind
de8b43e42f chore: bump version 2025-04-13 20:18:15 +08:00
quorafind
ccd71558ee chore: add i18n 2025-03-30 00:30:03 +08:00
quorafind
86f5977592 feat: make hover progressbar togglable 2025-03-13 10:12:32 +08:00
quorafind
9d7e0ce801 revert: remove unused files 2025-03-13 10:02:45 +08:00
quorafind
2d1fd25980 fix: should not show error when tasks plugin is not loaded 2025-03-13 10:00:26 +08:00