Sprint management, task archiving, search, and UX improvements#24
Open
clawdina wants to merge 9 commits intoKeeeeeeeks:mainfrom
Open
Sprint management, task archiving, search, and UX improvements#24clawdina wants to merge 9 commits intoKeeeeeeeks:mainfrom
clawdina wants to merge 9 commits intoKeeeeeeeks:mainfrom
Conversation
…ent dropdowns, delete - Add clickable status badge on TaskCard with dropdown to change status without opening modal - Add Sprint, Project, and Agent dropdowns to TaskDetailModal - Add sprint_id column to tasks table with migration - Update API schema and update handler to support sprint_id - Thread onStatusChange through TaskBoard → TaskColumn → TaskCard - Fetch sprints/agents data in v2 page and pass to modal
- Add duration preset buttons (1w/2w/3w/4w/custom) to CreateSprintModal - Auto-compute end date from start date + selected duration - End date field locked unless custom duration is selected - Fix SprintHeader to use actual sprint end_date instead of hardcoded 14 days
- DB migration adds archived_at column to todos table - getAllTodos excludes archived by default, opt-in via include_archived param - Archive/unarchive actions on KanbanCard and TaskDetailModal - Show archived toggle in Kanban toolbar - Polling hook respects showArchived state
- DB: add reviewed_at column to sprints, getUnreviewedEndedSprints() method - API: new /api/sprints/needs-review endpoint, PATCH accepts reviewed_at - Banner: non-dismissible SprintReviewBanner on landing page for ended sprints - Analytics: review mode auto-selects sprint, marks as reviewed + completed - Review CTA links to /analytics?sprint_id=X&review=true
…agent, or project
- Add rotateSprintIfNeeded() to DB: when no active sprint exists and the latest sprint has ended, auto-creates a successor with the same duration, incremented name, and status 'active' - Call rotation from GET /api/sprints so it triggers on every poll cycle - Add auto-assign to batch PUT /api/todos for newly created tasks (was already done for single POST, now consistent)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
archived_attimestamp. Archive/unarchive actions on cards and detail modal. "Show archived" toggle in Kanban toolbar. API excludes archived by defaultChanges
DB / Backend
ux_auditstable migration (archived_aton todos,reviewed_aton sprints)rotateSprintIfNeeded()— idempotent sprint succession on pollgetUnreviewedEndedSprints()for review banner detectionarchiveTodo()/unarchiveTodo()operationsGET /api/sprints/needs-reviewendpointFrontend
SprintReviewBannercomponent (amber, non-dismissible)CreateSprintModalduration presetsKanbanBoardsearch input +filteredTodosmemo