Commit graph

10 commits

Author SHA1 Message Date
Quorafind
f28ea8e9c0 refactor(v10): modularize entry + gantt year-view and project grouping fixes
Decompose the monolithic plugin entry into bootstrap modules and extracted
pure functions (src/bootstrap, src/modules), advance dataflow project
resolution, and reconcile the Phase 0 contract tests.

Fixes bundled in:
- gantt: fix year-zoom timeline so year/month labels render and a full year
  fits on screen. Major-label gate no longer keyed on single-day width; add
  a Year minor-label branch; formatMinorTick('Year') returns a real month
  name; lower MIN_DAY_WIDTH to 2; drop per-render logging; register the
  offscreen-indicator click handlers once to stop a listener leak.
- project: stop the Projects view fragmenting into one task per file.
  determineTgProject() gains an applyDefaultNaming option (default true,
  preserving the public API / File Source / unit tests); the dataflow cache
  and worker-sync paths pass false so they match ProjectData.worker.
- build: restore RegExpCursor in progress-bar-widget (the SearchCursor
  migration was incomplete -- SearchCursor cannot do regex search).

Pre-commit hook (npm run build) verified manually; hook could not spawn on
this Windows Git Bash setup. Tests: 1718 passing; production build green.
2026-06-28 16:09:40 +08:00
Quorafind
dd3fe89a9f test(dataflow): add integration test fixtures for orchestrator
Phase 0 W0 of the v10 refactor: introduce a buildOrchestrator()
helper that boots a real DataflowOrchestrator with mock App/Vault/
MetadataCache, plus an InMemoryStorage double and a localforage
jest mock so the cache layer can construct under jsdom.

This is the foundation that subsequent stability work (lifecycle
hazard fix, worker timeout, cache invariants, migration tombstones,
critical-path integration tests) depends on. Smoke tests verify
fixture construction, vault event plumbing, and clean dispose.

12/12 smoke tests pass; existing suite unchanged.
2026-04-07 09:19:08 +08:00
Quorafind
59a2d42f9f refactor(workflow): improve code quality and type safety
- Remove debug console.log statements from workflow handlers
- Add proper TypeScript type definitions (WorkflowInfo, ResolvedWorkflowInfo)
- Extract regex patterns and magic strings as constants
- Create helper functions for cleaner code (getIndentation, getEditorFromView)
- Improve error handling with bounds checking
- Enhance time parsing service with better fallback logic
- Add fallback property names for date fields in file task manager
- Fix test import paths for relocated modules
- Consolidate duplicate code in workflow stage transitions
- Improve indentation handling in parent task updater

Breaking changes: None
2025-10-12 14:25:20 +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
bd4623f409 refactor: rename DesktopIntegrationManager file to kebab-case and add multi-instance support
- Rename DesktopIntegrationManager.ts to desktop-integration-manager.ts for consistency
- Add app ID to tray singleton key to support multiple Obsidian instances
- Add @/ path alias to Jest configuration for cleaner imports
2025-08-31 10:22:39 +08:00
Quorafind
9477d963a0 chore: fix some test suite 2025-07-18 13:40:55 +08:00
Quorafind
3a0dd7f4ff revert: revert gantt component 2025-06-23 15:06:36 +08:00
Quorafind
f83052749b feat: support hide weekends in both forecast or events view 2025-06-16 15:11:29 +08:00
Quorafind
1e56d2b8ba chore: update basic test 2025-04-24 11:00:12 +08:00
quorafind
c68b622136 chore: support basic test 2025-04-23 21:07:55 +08:00