Commit graph

1164 commits

Author SHA1 Message Date
Quorafind
846d3bbeb6 refactor(fluent): streamline filter panel integration and fix view mode initialization
- Remove standalone filter panel in favor of Obsidian view header integration
- Fix view mode initialization to default to list view for content-based views
- Add setIsTreeView method for external view mode control
- Improve component initialization logging for better debugging
- Remove unused patches documentation file
- Fix TypeScript type issues with filter options
2025-09-21 08:28:03 +08:00
Quorafind
6b779f84a5 feat(experimental): add Fluent interface foundation with settings infrastructure
- 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
2025-09-20 22:06:59 +08:00
Quorafind
e1ab75d420 chore(release): bump version to 9.8.14 2025-09-19 11:42:26 +08:00
Quorafind
c8dfe578fa refactor: remove unused plus token regex pattern
Remove TOKEN_PLUS_REGEX and its references from regex definitions and WriteAPI. This token pattern was no longer being used in the codebase and was adding unnecessary complexity to the regex matching logic.
2025-09-19 11:39:57 +08:00
Quorafind
ede2379365 refactor: extract token regexes to centralized location
Moved context (@) and plus (+) token regex patterns from inline usage
in WriteAPI to centralized regex-define module for consistency and
reusability. Now uses Unicode flag for better international character
support.
2025-09-19 11:15:09 +08:00
Quorafind
58a22af4e6 style(icons): enhance checkbox hover effects
- 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
2025-09-19 10:49:33 +08:00
Quorafind
33629685fc fix(write): sanitize spaces in project and context tags for Tasks format
Replace spaces with hyphens in project and context tags when using Tasks
format to ensure proper tag parsing. Dataview format preserves original
spaces as intended.
2025-09-19 09:52:31 +08:00
Quorafind
f770126e33 fix(write): preserve spaces in project and context tags when updating tasks
Allow spaces within project tags (#project/...) and context tags (@context...)
when stripping trailing metadata during task updates. This prevents breaking
multi-word project and context values.
2025-09-18 23:07:40 +08:00
Quorafind
c93406cbe7 chore(release): bump version to 9.8.13 2025-09-17 22:52:52 +08:00
Quorafind
01613e5d7d fix(write): preserve unknown dataview fields when updating task metadata
- Refactored metadata detection to only match recognized dataview keys
- Fixed content preservation when inserting start/cancelled dates
- Added strict trailing metadata pattern matching to avoid false positives
- Preserved user-defined fields like [projt::new] during metadata updates
- Added comprehensive tests for dataview and emoji format preservation
2025-09-17 22:51:56 +08:00
Quorafind
a787cee793 fix(write): preserve wiki links and inline code when updating task metadata
- Improved metadata detection to avoid matching content inside wiki links [[...]], markdown links [text](url), and inline code blocks
- Fixed issue where links in task content could be incorrectly treated as metadata markers
- Added comprehensive test to verify links and code blocks are preserved during metadata updates
- Ensures task content remains intact when only metadata is being modified
2025-09-17 21:09:40 +08:00
Quorafind
968e5dcc41 chore(release): bump version to 9.8.12 2025-09-16 16:49:10 +08:00
Quorafind
2d5c117d5f fix(view): prevent rendering when container not visible
- Add visibility checks before task list rendering to avoid DOM errors
- Implement retry mechanism with timeout for deferred rendering
- Queue refresh requests instead of skipping when render in progress
- Fix cache ready event to properly trigger view refresh
- Prevent concurrent renders while allowing force refresh override
2025-09-16 16:32:44 +08:00
Quorafind
cf51bdb758 refactor: improve task parsing, date management, and tag handling
- Enhanced task parser to preserve trailing spaces for empty-content tasks
- Refactored WriteAPI for cleaner date insertion logic with proper formatting
- Improved status cycler to prevent conflicts with normal typing
- Fixed escaped hash tag handling to align with Obsidian behavior
- Optimized tag extraction with recursive unprotected hash detection
- Added CodeMirror state mock for better test coverage
- Improved quadrant card component structure and rendering
2025-09-16 15:29:56 +08:00
Quorafind
c75f207a2d fix(write): unify status→date pipeline; correct date insert positions; prevent clearing content; improve recurring due-date calc (weekly/monthly) and new task generation; ensure single write events; safer delete/batch ops; refs #444 #446 #431 #415 2025-09-16 09:32:59 +08:00
Quorafind
4a15c61432 fix(tags): ignore escaped \#tag to align with Obsidian behavior; refs #438 2025-09-16 09:32:52 +08:00
Quorafind
a94d20db22 fix(view): ensure single-instance activation for main view and timeline sidebar; dedupe duplicate leaves; refs #428 2025-09-16 09:32:45 +08:00
Quorafind
25b2349402 fix(status-cycler): prevent status cycling on normal typing in empty checkbox; avoids conflicts with Easy Typing capitalization; refs #409 2025-09-16 09:32:40 +08:00
Quorafind
cb7b037995 chore(release): bump version to 9.8.11 2025-09-15 17:33:25 +08:00
Quorafind
ab5b945ae2 feat(dataflow): enhance project configuration and metadata handling
- 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
2025-09-15 17:27:32 +08:00
Quorafind
fd6df16b39 feat(settings): add reset all settings functionality
- Add button to reset all settings to default values
- Include confirmation modal to prevent accidental resets
- Show success notification after settings reset
- Refresh settings display after reset
2025-09-15 17:26:28 +08:00
Quorafind
574fbc8dcf refactor(projects): optimize popover creation with Obsidian APIs
- Use Obsidian's createEl and createDiv methods for DOM creation
- Register events with this.registerDomEvent for proper cleanup
- Simplify teardown logic as events are auto-cleaned by Component
- Improve code consistency with Obsidian plugin conventions
2025-09-15 17:25:30 +08:00
Quorafind
46197dbb98 fix(tasks): improve task completion handling and metadata updates
- Add support for multiple due date emojis (📅, 🗓️, 📆) in regex patterns
- Fix recurrence regex to properly handle boundaries with bracket notation
- Optimize completion date updates to preserve existing metadata
- Use consistent task ID fallback pattern (file-line) when ID is missing
- Centralize completion status checking with isCompletedMark() method
- Handle multi-symbol completion statuses from settings configuration
- Ensure proper status updates when toggling task completion state
2025-09-14 10:32:24 +08:00
Quorafind
d83b2db28c chore(release): bump version to 9.8.10 2025-09-13 22:26:43 +08:00
Quorafind
0da0bd8e5b refactor(dataflow): improve ObsidianSource lifecycle management
- Extend Component class for better lifecycle control
- Use registerEvent for automatic cleanup instead of manual event refs
- Replace initialize() with onload() following Obsidian patterns
- Wrap create event listener in onLayoutReady for proper initialization
- Simplify cleanup by leveraging Component's unload() method
2025-09-13 22:20:39 +08:00
Quorafind
e3a9f69344 fix(tasks): restore recurring task creation on completion
- Fix recurring task creation logic to properly generate next occurrence
- Add completion metadata handling for recurring tasks
- Ensure completion date is added when marking tasks complete
- Fix status update logic to handle both boolean and string status values
- Integrate WriteAPI calls in completion monitor for better consistency

The recurring task functionality was broken due to missing logic that creates
the next occurrence when a recurring task is completed. This fix ensures that
completing a recurring task properly creates the next instance with the correct
date and preserves all metadata.
2025-09-13 09:24:31 +08:00
Quorafind
12a15fe1f5 chore(release): bump version to 9.8.9 2025-09-11 22:42:00 +08:00
Quorafind
9a92ba684a fix(date-picker): improve robustness when document changes
- Add resolveCurrentRange() to re-resolve date position dynamically
- Prevent replacing multi-line ranges for safety
- Add regex escaping for special characters in date markers
- Fix dataview regex to prevent matching across line breaks
- Handle edge cases when document is modified after widget creation
2025-09-11 22:38:46 +08:00
Quorafind
4ba8b97599 fix(tasks): restore recurring task creation on completion
- Re-implemented automatic creation of new recurring tasks when completed
- Added calculateNextDueDate method supporting rrule and simple formats
- Ensured next occurrence is always in the future to handle edge cases
- Used UTC noon timestamps for consistent date storage across timezones
- Fixed issue where completing tomorrow's task today would create duplicate dates
2025-09-11 22:37:08 +08:00
Quorafind
dd611363c3 chore(release): bump version to 9.8.8 2025-09-11 16:26:09 +08:00
Quorafind
895444ce32 fix(file-filter): correct folder rule matching for nested paths
- Fix path matching logic in PathTrie to check all possible starting positions
- Add proper cache key scoping to prevent cross-scope cache pollution
- Apply inline file filter early in worker processing path
- Improve code formatting consistency across files
2025-09-11 16:17:28 +08:00
Quorafind
8f9966efd6 chore(release): bump version to 9.8.7 2025-09-09 17:51:19 +08:00
Quorafind
81f7775e8a fix(task-view): allow task selection when inline editor is disabled
Previously, clicking on task content would always prevent event bubbling,
blocking task selection even when the inline editor feature was disabled.
This fix ensures stopPropagation() is only called when:
- Opening task in file with Cmd/Ctrl+click
- Showing the inline editor (when enabled)

This allows clicks to properly bubble up for task selection when the
inline editor is disabled, restoring expected behavior.
2025-09-09 17:50:02 +08:00
Quorafind
36ca266eb3 refactor(debounce): use Obsidian's built-in debounce utility and reduce log spam
- Replace setTimeout/clearTimeout with Obsidian's debounce function for better compatibility
- Reduce TaskIndexer log spam by sampling false filter results at 10% rate
- Improve memory management by using function references instead of timeout IDs
- Simplify flush and cleanup logic in ObsidianSource
2025-09-09 16:40:07 +08:00
Quorafind
6c51119b36 fix(metadata): add reindexing prompts for inheritance settings and improve augmentor sync
- Add confirmation dialogs when file metadata inheritance settings change
- Sync inheritance settings to Augmentor on initialization and updates
- Fix formatting consistency across multiple modules
- Ensure immediate task index rebuild when inheritance behavior changes
2025-09-08 22:48:37 +08:00
Quorafind
ff2d304157 chore(conflict): fix conflict between beta and also latest version 2025-09-08 11:55:56 +08:00
Quorafind
d9d846a332 chore(release): bump version to 9.8.6 2025-09-07 22:52:21 +08:00
Quorafind
42d67c630d fix(project): restore project config settings synchronization
Fixes project configuration not being applied from settings by:
- Restoring project options update in DataflowOrchestrator settings handler
- Passing full project config options when initializing ProjectConfigManager
- Ensuring detection methods and all config flags are properly propagated
2025-09-07 22:51:07 +08:00
Quorafind
39bd038dd3 chore(release): bump version to 9.8.5 2025-09-07 13:38:53 +08:00
Quorafind
9c5b27cbe9 fix(kanban): improve status mark resolution and task selection
- Add flexible status mark resolution that handles both configured names and raw marks
- Select moved task after drag-and-drop to update details panel
- Fix status update to prefer explicit status mark over completed boolean
- Improve handling of case-insensitive status names and single-character marks
2025-09-07 13:31:47 +08:00
Quorafind
883b29f0a5 chore(release): bump version to 9.8.4 2025-09-06 20:23:49 +08:00
Quorafind
f868c16305 fix(habit): improve count habit display and prevent dataflow loops
- Show actual count value with unit for count habits instead of active/inactive
- Always render heatmap for count habits, with fill based on goal or any value
- Fix tooltip text for count habits to work at any size
- Add dataflow event emissions to prevent event loops during habit updates
- Only show progress bar when a goal (max) is configured
2025-09-06 20:22:59 +08:00
Quorafind
2e7c269263 chore(release): bump version to 9.8.3 2025-09-06 20:21:52 +08:00
Quorafind
b0f89126ad style(habit): add container for habit create button
Add flexbox container styling for the habit create button to ensure proper
alignment in the habit view interface.
2025-09-06 12:01:09 +08:00
Quorafind
dad5480d71 feat(habit): add quick create habit button in habit view
- Add ExtraButtonComponent with plus icon at bottom left of habit list
- Enable direct habit creation without navigating to settings
- Handle file deletion events to sync habit completions
- Fix boolean value handling for daily habit completions
- Add immediate UI refresh after habit state updates
2025-09-06 11:59:24 +08:00
Quorafind
37ef1a8dba fix(sidebar): open habit settings tab directly instead of modal
When right-clicking on the Habit view in the sidebar and selecting
"Open settings", now opens the Habit settings tab directly rather
than showing the ViewConfigModal. This provides a more intuitive
and consistent experience for habit configuration.
2025-09-06 10:45:08 +08:00
Quorafind
5550cb0f38 fix(habit): use boolean values for daily habit completion tracking
- Change daily habit completion from numeric (0/1) to boolean (true/false) for simple habits
- Keep numeric value (1) only for habits with completionText to indicate match
- Update type definitions to support boolean | string | number | null
- Fix completion checking to use strict equality (=== true) instead of truthy values
2025-09-06 10:34:06 +08:00
Quorafind
6e06d6105f chore(release): bump version to 9.8.2 2025-09-05 22:12:10 +08:00
Quorafind
8700e54b72 feat(task-view): add modifier key navigation to open tasks in source file
Enable Cmd/Ctrl+click on task content to directly open and navigate to the task's location in its source file. This provides quick access to edit tasks in their original context while preserving inline editing as the default behavior.

- Add Keymap import for modifier key detection
- Implement openTaskInFile() method using eState for precise line navigation
- Update click handlers to check for modifier keys before showing inline editor
- Works in both list and tree view components
2025-09-05 22:10:11 +08:00
Quorafind
937d7b7723 refactor(dataflow): improve file filtering and task indexing performance
- Add lightweight bookkeeping for filter-based task pruning/restoration
- Implement debounced restore handler for better performance
- Early initialization of FileFilterManager for proper inline filtering
- Add comprehensive logging for debugging filter operations
- Improve storage formatting and code consistency
- Optimize Repository indexer with better filter integration
- Clean up unused imports and redundant code
2025-09-05 21:44:21 +08:00