Commit Graph

15 Commits

Author SHA1 Message Date
Claude
8000a464c9 Release v0.1.4: Auto-complete parents and done task strikethrough
New Features:
1. Auto-Complete Parent Tasks
   - When all child tasks are marked as "done", parent automatically becomes "done"
   - Works recursively up the task hierarchy
   - Implemented in backend crud.py with check_and_update_parent_status()
   - Prevents manual status management for completed branches

2. Strikethrough for Done Tasks
   - Time estimates crossed out when task status is "done"
   - Visual indicator that work is completed
   - Applied in both TreeView and KanbanView

3. Updated Version
   - Bumped to v0.1.4 in App.jsx header

4. Documentation
   - Added comprehensive CHANGELOG.md
   - Updated README.md with v0.1.4 features
   - Documented all versions from v0.1.0 to v0.1.4
   - Added usage examples, architecture diagrams, troubleshooting

Technical Changes:
- backend/app/crud.py: Added check_and_update_parent_status() recursive function
- frontend/src/components/TreeView.jsx: Added line-through styling for done tasks
- frontend/src/components/KanbanView.jsx: Added line-through styling for done tasks
- frontend/src/App.jsx: Version updated to v0.1.4

This release completes the intelligent time tracking and auto-completion features,
making TESSERACT a fully-featured hierarchical task management system.
2025-11-20 16:13:00 +00:00
Claude
718e5acbe2 Exclude 'done' tasks from parent time estimates
When a leaf task is marked as 'done', it no longer contributes to its parent's
time estimate. This shows remaining work rather than total estimated work.

Example:
- Parent with 2 subtasks (30m each) shows 1h
- Mark one subtask as done → parent now shows 30m
- Mark both done → parent shows 0m (or own estimate if set)

This provides accurate tracking of remaining time across the task hierarchy.
2025-11-20 09:46:17 +00:00
Claude
c9555737d8 Add enhanced task creation forms and leaf-based time calculation
Features:

1. Enhanced Task Creation Forms:
   - New TaskForm component with all metadata fields
   - Title, tags (comma-separated), time estimate (hours + minutes), flag color
   - Used in TreeView (root tasks and subtasks) and KanbanView (all columns)
   - Replace simple title-only inputs with full metadata forms

2. Time Format Changes:
   - Display: "1h 30m" instead of "1.5h"
   - Input: Separate hours and minutes fields
   - Storage: Still integer minutes in backend
   - Updated formatTime() utility
   - Updated TaskMenu time editor with hours/minutes inputs

3. Leaf-Based Time Calculation:
   - Leaf tasks (no subtasks): Show user-entered estimate
   - Parent tasks (has subtasks): Show sum of all descendant LEAF tasks
   - Exception: Parent with no leaf estimates shows own estimate as fallback
   - New functions: calculateLeafTime(), calculateLeafTimeFlat()
   - Replaces old aggregation that summed all tasks including parents

This allows accurate project planning where parent estimates are calculated from leaf tasks,
preventing double-counting when both parent and children have estimates.
2025-11-20 09:37:16 +00:00
Claude
3f309163b6 Add status change dropdown and aggregated time estimates
Features:
- Add "Change Status" option to TaskMenu dropdown
  - Allows changing task status (backlog/in progress/blocked/done) from tree view
  - Shows current status with checkmark
  - No longer need to switch to Kanban view to change status

- Implement recursive time aggregation for subtasks
  - Tasks now show total time including all descendant subtasks
  - Display format varies based on estimates:
    - "1.5h" - only task's own estimate
    - "(2h from subtasks)" - only subtask estimates
    - "1h (3h total)" - both own and subtask estimates
  - Works in both TreeView (hierarchical) and KanbanView (flat list)
  - New utility functions: calculateTotalTime, calculateTotalTimeFlat, formatTimeWithTotal

This allows better project planning by showing total time investment for tasks with subtasks.
2025-11-20 09:01:45 +00:00
Claude
444f2744b3 Fix missing Clock icon import causing crash with time estimates 2025-11-20 08:45:21 +00:00
Claude
b395ee8103 Add v0.1.3 UI features: metadata display, task menu, and search
- Display time estimates, tags, and flag colors in TreeView and KanbanView
- Add TaskMenu component with three-dot dropdown for editing metadata
  - Edit time estimates (stored as minutes)
  - Edit tags (comma-separated input)
  - Set flag colors (red, orange, yellow, green, blue, purple, pink)
- Add SearchBar component in header
  - Real-time search with 300ms debounce
  - Optional project filtering
  - Click results to navigate to project
- Integrate TaskMenu into both TreeView and KanbanView
- Format time display: "30m" for <60 min, "1.5h" for >=60 min
2025-11-20 08:23:07 +00:00
Claude
70b64d276f Merge branch 'main' of http://127.0.0.1:56401/git/serversdwn/tesseract 2025-11-20 07:12:05 +00:00
serversdwn
be9c4adeb6 Merge branch 'claude/nested-todo-app-mvp-014vUjLpD8wNjkMhLMXS6Kd5'
Unifying the codebase with current dev version 0.1.3
2025-11-20 06:45:16 +00:00
Claude
fc43241833 Merge branch 'mvp2' 2025-11-20 05:53:18 +00:00
Claude
5d43dc6fd1 Add v0.1.3 backend features: metadata fields and search
Backend Changes:
- Add estimated_minutes field to tasks (stored as integer minutes)
- Add tags field (JSON array) for categorizing tasks
- Add flag_color field for visual priority indicators
- Add search endpoint (/api/search) with project filtering
- Update JSON import to handle new metadata fields

Frontend Changes:
- Display version v0.1.3 in header
- Add search API client function
- Add format utility for time display (30m, 1.5h, etc.)

Example Data:
- Update example-import.json with time estimates, tags, and flags
- Demonstrate nested metadata inheritance

Note: Frontend UI for displaying/editing these fields in progress
2025-11-20 04:54:01 +00:00
Claude
f3fc87e715 Fix tree view indentation and kanban subtask handling
Tree View:
- Fix nested task indentation to scale properly with depth (1.5rem per level)
- Sub-subtasks now indent correctly relative to their parents

Kanban View:
- Show ALL tasks as draggable cards (not just root tasks)
- Subtasks display parent task name for context
- Each subtask can be independently dragged to different status columns
- Remove nested subtask expansion since all tasks are now individual cards
2025-11-20 01:50:23 +00:00
serversdwn
0ca496ae2d Merge pull request #1 from serversdwn/claude/nested-todo-app-mvp-014vUjLpD8wNjkMhLMXS6Kd5
Fix backend import error and update proxy for local dev
2025-11-19 18:17:16 -05:00
Claude
855b91ba78 Fix backend import error and update proxy for local dev
- Add missing Optional import in backend/app/main.py
- Update Vite proxy to use localhost:8000 for local development
- Add package-lock.json from npm install
2025-11-19 23:13:20 +00:00
Claude
441f62023e Implement complete nested todo tree web app MVP
This commit implements a fully functional self-hosted task decomposition engine with:

Backend (FastAPI + SQLite):
- RESTful API with full CRUD operations for projects and tasks
- Arbitrary-depth hierarchical task structure using self-referencing parent_task_id
- JSON import endpoint for seeding projects from LLM-generated breakdowns
- SQLAlchemy models with proper relationships and cascade deletes
- Status tracking (backlog, in_progress, blocked, done)
- Auto-generated OpenAPI documentation

Frontend (React + Vite + Tailwind):
- Dark cyberpunk theme with orange accents
- Project list page with create/import/delete functionality
- Dual view modes:
  * Tree View: Collapsible hierarchical display with inline editing
  * Kanban Board: Drag-and-drop status management
- Real-time CRUD operations for tasks and subtasks
- JSON import modal with validation
- Responsive design optimized for desktop

Infrastructure:
- Docker setup with multi-stage builds
- docker-compose for orchestration
- Nginx reverse proxy for production frontend
- Named volume for SQLite persistence
- CORS configuration for local development

Documentation:
- Comprehensive README with setup instructions
- Example JSON import file demonstrating nested structure
- API endpoint documentation
- Data model diagrams
2025-11-19 22:51:42 +00:00
serversdwn
bac534ce94 initial commit 2025-11-19 17:23:32 -05:00