Expand onboarding wizard with new interactive steps to guide users
through UI architecture selection:
- Add animated typing intro component with AI-style streaming effect
- Add UI mode selection step (Fluent vs Legacy interface styles)
- Add Fluent placement configuration (Sideleaves vs Inline layout)
- Refactor onboarding flow from 5 to 7 steps with conditional branching
- Apply selected architecture preferences to plugin settings
- Add visual mode classes and enhanced styling support
The new flow allows users to customize their Task Genius experience
during initial setup while maintaining backward compatibility with
existing configurations.
- Introduce BaseQuickCaptureModal as foundation for modal variants
- Add mode switching between checkbox and file creation strategies
- Implement MinimalQuickCaptureModalWithSwitch and QuickCaptureModalWithSwitch
- Add FileNameInput component for custom file naming
- Enhance settings with mode persistence and file creation options
- Add configuration for keeping modal open after capture
- Support file name templates and default folder locations
- Update UI with improved styling and mode toggle controls
BREAKING CHANGE: Modal instantiation API has changed to support new mode parameter
- Fix cancelled date insertion to appear after task content
- Improve content boundary detection for dates and metadata
- Handle wiki links and special characters in task content correctly
- Ensure dates are positioned before tags and dataview fields
- Fix date interpolation in workspace settings translation
- Add tooltip for disabled delete button on default workspace
- Align v2 nav button items properly with center alignment
- Implement mobile drawer with overlay and swipe gestures
- Add touch gesture support for drawer open/close
- Refactor sidebar rail mode for better collapsed state
- Add responsive breakpoints for mobile devices
- Optimize search and navigation UI for small screens
- Add mobile-specific CSS classes and styling
- Improve task details panel layout on mobile
- Add initialization flag to prevent multiple renders during startup
- Implement scheduled update system to batch multiple update requests
- Only hide currently visible component instead of all components
- Apply filters once during initialization instead of multiple times
- Defer initial data load in ReviewComponent to avoid duplicate calls
- Add requestAnimationFrame for smoother scheduled updates
- Track visible component separately from active component
- Reduce redundant switchView calls with smarter update logic
This significantly improves startup performance and eliminates render flashing
- Add hierarchical tree view for projects with expand/collapse functionality
- Implement per-view mode configuration (list, tree, kanban, calendar)
- Add tree/list toggle button to sidebar project header
- Remove FluentFilterPanel component (consolidated elsewhere)
- Store tree expansion state and view preference in local storage
- Enhance ProjectList with tree node structure and level-based rendering
- Update styles for tree view indentation and expand indicators
- Configure available view modes per view type
- Improve FileSourceSettings with better organization
BREAKING CHANGE: FluentFilterPanel component removed - filter functionality moved to view header
- Add CustomProject interface for project persistence
- Implement ProjectPopover (desktop) and ProjectModal (mobile) for project creation
- Add color picker with 15 predefined colors for visual organization
- Replace add button with sort menu in sidebar
- Implement 6 sort options (name, tasks, created date) with localStorage persistence
- Use Intl.Collator for locale-sensitive string comparison
- Extend Obsidian Component class for proper lifecycle management
- Add comprehensive CSS styling for popover and modal interfaces
- Add ExperimentalSettings interface with Fluent configuration options
- Implement FluentIntegration class for managing experimental features
- Add Fluent toggle and ribbon icon settings in Beta Test settings tab
- Create experimental folder structure for Fluent components
- Add settings migration for experimental features
- Register Fluent integration on plugin load
- Add darker color on hover using brightness filter (75%)
- Remove background color on hover with media query
- Add smooth transition animation for hover state
- Fix TypeScript variable initialization in HabitChartModal
- Add project configuration support to Augmentor and WorkerOrchestrator
- Implement enhanced metadata inheritance with project configs
- Add TgProject support for config-based project definitions
- Improve project metadata resolution and caching
- Add CSS styles for project info popover display
- Refactor ConfigurableTaskParser for better project handling
- Add clickable-icon class to action buttons for better UX
- Replace full view refresh with targeted sidebar updates
- Implement granular view-config-changed event handling
- Preserve current view content when toggling visibility
- Only refresh view content when necessary (e.g., view type changes)
- Improve performance by avoiding unnecessary task re-filtering
- Replaced custom createSpinnerSVG method with Obsidian's setIcon('loader-2')
- Updated CSS animations to work with Obsidian's icon
- Fixed import to use existing quadrant.css instead of creating duplicate file
- Added missing CSS classes for load-more indicator visibility
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Created dedicated quadrant-column.css with all styles
- Replaced innerHTML with proper DOM manipulation for SVG creation
- Removed inline style.display usage in favor of CSS classes
- Cleaned up unused variables (descriptionEl, showLoadingIndicator)
- Properly imported CSS file into the component
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Move view settings inline styles to view-setting-tab.css
- Import new CSS file in main styles.css
- Clean up unused onCompletion.css styles
- Improve code maintainability with separated concerns
- Update ConfigurableTaskParser to properly map custom dataview fields using configured prefixes
- Fix specialTagPrefixes generation to avoid default fallbacks that conflict with custom settings
- Ensure case-insensitive matching for both tags and dataview metadata fields
- Pass tag prefix settings consistently through worker chains and orchestrator
- Add debug logging for dataview metadata extraction with configured prefixes
Fixes#422 where custom project prefixes and dataview properties were ignored
- Use template images on macOS for automatic theme adaptation
- Apply neutral gray color for Windows/Linux tray icons for better visibility
- Add window focus functionality when opening tasks from tray menu
- Fix task opening to jump to correct line position
- Improve code formatting consistency (spaces to tabs)
- Fix indentation issues in DataflowOrchestrator
- Pass complete settings to TaskWorkerManager during initialization
- Add safety check to prevent overwriting tasks with empty preloaded data
- Include compiled CSS for list config modal styles
These changes improve code formatting consistency and ensure proper
settings propagation to worker managers.
- Format DesktopIntegrationManager with consistent indentation
- Update setting.ts with proper line breaks
- Apply CSS formatting in setting-v2.css and styles.css
- Add nativeThemeHandler property for theme management
- Add NotificationManager for scheduling task reminders
- Implement tray/status bar icon with due task count
- Add settings UI for notification preferences
- Support daily summary and per-task reminders
- Integrate with existing task cache system
- Desktop-only feature with graceful fallback
Adds a button in the IframeModal title bar that allows users to open
the iframe content in their default external browser. The button uses
Obsidian's built-in external-link icon and includes proper hover
effects matching the native UI design.
- Move Base View settings from Beta Features to new Bases Support tab
- Create dedicated TaskTimerSettingTab component for task timer settings
- Reorganize settings tabs to separate integration features from experimental ones
- Add API version check (1.9.10) for Bases Support tab visibility
- Comment out Beta Features and Experimental tabs temporarily
- Clean up BetaTestSettingsTab by removing migrated Base View settings
- Update to use native requireApiVersion from Obsidian API
- Handle new Bases data format with direct entry arrays
- Implement intelligent content update routing based on user preferences
- Support multiple content sources (title, filename, H1, custom field)
- Add dual property updates for date fields compatibility
- Improve entry-to-task conversion with better data extraction
- Add comprehensive logging for debugging Bases interactions
- Fix CSS vendor prefixes for better browser compatibility
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.
- Remove temporary debug files (debug-actual-parsing.js, debug-task-parsing.js, debug-time-parsing.js)
- Move time parsing type definitions from task.d.ts to dedicated time-parsing.ts
- Update all tests and services to import from new type location
- Simplify BaseTask interface by extracting time-related properties
- Minor CSS adjustments for timeline sidebar and main styles
- 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
- Replace static text inputs with dynamic list components for metadata fields, tags, and paths
- Add individual add/edit/delete controls for each configuration item
- Rename "FileSource" to user-friendly "File Task" throughout UI
- Consolidate duplicate configuration sections in IndexSettingsTab
- Move dynamic component styles to setting-v2.css to prevent override
- Fix TypeScript error in ics-manager.ts (optional plugin parameter)
- Improve user experience with auto-focus on new inputs and instant save
The configuration now matches the pattern used for custom date formats,
providing a more intuitive and flexible interface for managing File Task
recognition strategies.
- 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.
Add comprehensive FileSource feature that enables files to serve as tasks
based on metadata properties, tags, templates, and path patterns. This
creates a unified task management experience where files can represent
both projects and actionable items.
Key features:
- Multiple recognition strategies (metadata, tags, templates, paths)
- Flexible task property extraction from file metadata
- Dual project-task file capabilities
- Settings UI with live preview and validation
- Integration with existing dataflow architecture
- Configurable task content sources (filename, title, custom fields)
- Support for custom status characters and priority levels
The implementation follows established patterns from ObsidianSource and
IcsSource, ensuring consistency with the existing codebase architecture.
- Replace complex regex-based date parsing with date-fns library
- Add support for configurable custom date formats in settings
- Implement safe error handling to prevent parsing failures from throwing
- Support additional formats including timestamps (yyyyMMddHHmmss)
- Maintain backward compatibility with existing date parsing behavior
- Add UI for managing custom date formats in View Settings tab
The migration to date-fns simplifies the codebase by removing manual regex
patterns while providing more robust and standardized date parsing. Custom
formats can now be configured per-vault through the settings interface.
Implements Model Context Protocol (MCP) server to enable external AI tools
(Claude Desktop, Cursor, etc.) to interact with Task Genius tasks. The
server provides a standards-compliant HTTP transport with comprehensive
task management capabilities.
Key features:
- HTTP server with session management and authentication
- Full MCP 2025-06-18 protocol compliance with proper headers
- Origin validation for DNS rebinding protection
- Bearer token authentication with app ID validation
- Comprehensive task operations (CRUD, batch updates, queries)
- Settings UI with client configuration examples
- Support for both local and external network access
The implementation includes 20+ MCP tools for task operations including
create, update, delete, query, batch operations, and metadata management.
All tools are exposed through a secure HTTP endpoint with proper CORS
and authentication mechanisms.
Breaking changes: None - MCP integration is opt-in and disabled by default
- Port QuickCaptureSuggest from MinimalQuickCaptureSuggest for consistency
- Add inline metadata editing with triggers (~, !, #, *, @) in editor panel
- Enhance editor quick capture with action buttons for date, priority, and tags
- Support auto-adding task prefix with configurable format
- Enable direct target file editing and location suggestions
- Add keyboard shortcuts (Alt+D, Alt+P, Alt+T) for quick actions