go-htmx-gsd #1
2 changed files with 43 additions and 1 deletions
|
|
@ -108,7 +108,7 @@ Plans:
|
|||
- [x] 04-01-PLAN.md — Wave 0: migration 0004_tasks + sqlc queries + handlers_tasks_test.go RED scaffold + soft-danger button CSS + Sortable.js bootstrap
|
||||
- [x] 04-02-PLAN.md — Vertical slice 1: kanban board render + task create + task delete (TASK-01, TASK-02, TASK-06)
|
||||
- [x] 04-03-PLAN.md — Vertical slice 2: task inline edit + Sortable.js drag reorder/move (TASK-03, TASK-04, TASK-05, TASK-07)
|
||||
- [ ] 04-04-PLAN.md — Human-verify checkpoint: full kanban board browser verification
|
||||
- [x] 04-04-PLAN.md — Human-verify checkpoint: full kanban board browser verification
|
||||
|
||||
### Phase 5: Files
|
||||
**Goal:** A user can attach files to a tablo, list them, download them via signed URLs, and delete them — backed by S3-compatible storage.
|
||||
|
|
|
|||
42
.planning/phases/04-tasks-kanban/04-04-SUMMARY.md
Normal file
42
.planning/phases/04-tasks-kanban/04-04-SUMMARY.md
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
---
|
||||
plan: 04-04
|
||||
phase: 04-tasks-kanban
|
||||
status: complete
|
||||
type: checkpoint
|
||||
completed: 2026-05-15
|
||||
---
|
||||
|
||||
## Summary
|
||||
|
||||
Human verification checkpoint for Phase 4 kanban board. Automated suite gate passed (5 packages, all ok). Two bugs surfaced during browser testing and fixed before approval.
|
||||
|
||||
## What was verified
|
||||
|
||||
All 7 TASK requirements confirmed working in a live browser session:
|
||||
- TASK-01: 4 kanban columns render with correct labels and count badges
|
||||
- TASK-02: Task creation via inline form (no page reload), card appears in correct column
|
||||
- TASK-03: Inline task editing — click card, edit form pre-filled, save updates title
|
||||
- TASK-04: Cross-column drag-and-drop via ⠿ handle, persists after reload
|
||||
- TASK-05: Within-column reorder via drag, persists after reload
|
||||
- TASK-06: Delete with confirmation step, card removed on confirm
|
||||
- TASK-07: Order survives full page reload (covered by TASK-04/05 reload checks)
|
||||
|
||||
## Bugs found and fixed
|
||||
|
||||
### Bug 1 — Badge count not updating on task create/delete
|
||||
Badge count was rendered server-side at page load only. Added `id="task-count-badge-{status}"` wrapper to each column header badge and a `updateBadges()` function triggered on `htmx:afterSettle` to recount `.task-card` elements. Commit: `68f2ccd`.
|
||||
|
||||
### Bug 2 — Drag-and-drop not working
|
||||
`draggable: ".task-card"` was incorrect — `.task-card` is a grandchild of `.sortable-column` (nested inside `.task-card-zone`), so Sortable was detaching the inner card from its wrapper during drag, breaking HTMX OOB swap targets. Changed to `draggable: ".task-card-zone"` so Sortable moves the full wrapper. Also replaced `htmx.onLoad()` (requires htmx defined at parse time) with native `document.addEventListener('DOMContentLoaded')` + `htmx:afterSettle`. Commits: `68f2ccd`, `131c9fd`.
|
||||
|
||||
## Automated gate
|
||||
|
||||
```
|
||||
ok backend/internal/auth 0.400s
|
||||
ok backend/internal/db 0.459s
|
||||
ok backend/internal/web 0.699s
|
||||
ok backend/internal/web/ui 0.690s
|
||||
ok backend/templates 0.856s
|
||||
```
|
||||
|
||||
## Self-Check: PASSED
|
||||
Loading…
Reference in a new issue