Commit Graph

18 Commits

Author SHA1 Message Date
5cfde2f2e7 feat: progress notes UI, search/filter, chat backend relay (HQ-21)
- Add progress note input to TaskDetailPanel (textarea + Cmd+Enter submit)
- Add addProgressNote API function
- Add search bar and priority filter to Queue page
- Include chat backend: WebSocket relay (gateway-relay.ts), chat routes (chat.ts)
- Chat frontend updated to connect via backend relay (/api/chat/ws)
2026-01-29 06:05:03 +00:00
b0559cdbc8 feat: projects with context - schema, API, frontend page, task assignment (HQ-17, HQ-21) 2026-01-29 05:05:20 +00:00
8685548206 Mobile-responsive: task cards, detail panel, sticky header
- TaskCard: hide action buttons on mobile (tap to open detail panel), smaller text/badges, word-break titles
- TaskDetailPanel: full-screen on mobile with Back button, responsive padding, stacked timeline, hidden UUID on small screens
- QueuePage: sticky header offset for mobile nav bar (top-14)
- Priority/source grid stacks vertically on mobile
2026-01-29 04:32:46 +00:00
69623da5d6 feat: mobile-friendly responsive layout (HQ-21)
- Collapsible hamburger sidebar on mobile
- Mobile header bar with menu toggle
- Thread list as overlay on mobile, sidebar on desktop
- Responsive padding and font sizes
- Task queue header responsive adjustments
2026-01-29 03:47:50 +00:00
41e7fe6b54 fix: build errors - TS unused var and useEffect return type 2026-01-29 03:40:23 +00:00
a765bf74b1 fix: use hammer.donovankelly.xyz for all gateway access (HQ-21)
- Single domain for hooks + WebSocket (path-based routing)
- No need for ws.hammer or hooks.hammer subdomains
- Caddy proxies everything to gateway on this VPS
2026-01-29 02:55:36 +00:00
ddaeb0c282 feat: chat interface with gateway WebSocket integration (HQ-21)
- GatewayClient class: WS connection, auto-reconnect, request/response, events
- ChatPage with thread list sidebar + message area
- Real-time streaming responses via chat events
- Thread management with localStorage persistence
- Message bubbles with user/assistant/system styles
- Build args for VITE_WS_URL and VITE_WS_TOKEN
- SPA routing already supported by nginx config
2026-01-29 02:19:55 +00:00
91bc69e178 feat: Hammer Dashboard with sidebar navigation (HQ-21)
- Add React Router with sidebar layout (DashboardLayout)
- Queue is now a routed page at /queue
- Chat placeholder page at /chat
- Admin page accessible from sidebar
- Dark sidebar with amber accent for active nav
- Updated CORS and auth to support dash.donovankelly.xyz
- Renamed to Hammer Dashboard
2026-01-29 02:14:25 +00:00
f1a314c60d feat: save/cancel buttons for task editing (HQ-19)
- EditableText now updates draft state instead of saving immediately
- Panel tracks dirty state across title, description, priority, source
- Save/Cancel bar slides up when any field is modified
- Cancel reverts all changes, Save commits them in one API call
- Slide-up animation for the save/cancel bar
2026-01-29 01:49:31 +00:00
93746f0f71 feat: session-based auth, admin roles, user management
- All logged-in users can create/edit/manage tasks (no bearer token needed)
- Added user role system (user/admin)
- Donovan's account auto-promoted to admin on startup
- Admin page: view users, change roles, delete users
- /api/me endpoint returns current user info + role
- /api/admin/* routes (admin-only)
- Removed bearer token UI from frontend
- Bearer token still works for API/bot access
2026-01-29 01:33:18 +00:00
210fba6027 feat: editable task fields in detail panel
- Click-to-edit title and description (inline editing)
- Clickable priority selector (toggle between critical/high/medium/low)
- Clickable source selector (toggle between all sources)
- Saving indicator
- EditableText component with Escape to cancel, Enter/blur to save
- Pass token and onTaskUpdated props from App
2026-01-29 00:59:21 +00:00
321ba2cadc fix: remove unused useState import in TaskCard (TS build error) 2026-01-29 00:48:30 +00:00
8131dda10d feat: sequential task IDs (HQ-1, HQ-2, etc.)
- Add serial task_number column to tasks table
- Display HQ-{number} on cards and detail panel
- API resolveTask() supports UUID, number, or HQ-N prefix
- GET /api/tasks/:id endpoint for single task lookup
- All PATCH/POST/DELETE endpoints resolve by number or UUID
2026-01-29 00:07:04 +00:00
186a565bee feat: copyable task IDs on cards and detail panel 2026-01-28 23:46:57 +00:00
aea54516c9 feat: task detail panel with progress notes 2026-01-28 23:46:07 +00:00
9a99b612ba feat: webhook to Clawdbot when task activated + session auth for all mutations 2026-01-28 23:36:40 +00:00
96d81520b9 feat: add BetterAuth authentication
- Add better-auth to backend and frontend
- Create auth tables (users, sessions, accounts, verifications)
- Mount BetterAuth handler on /api/auth/*
- Protect GET /api/tasks with session auth
- Add login page with email/password
- Add invite route for creating users
- Add logout button to header
- Cross-subdomain cookies for .donovankelly.xyz
- Fix page title to 'Hammer Queue'
- Keep bearer token for admin mutations (separate from session auth)
- Update docker-compose with BETTER_AUTH_SECRET and COOKIE_DOMAIN
2026-01-28 23:19:57 +00:00
0a8d5486bb Initial scaffold: Hammer Queue task dashboard
- Backend: Elysia + Bun + Drizzle ORM + PostgreSQL
- Frontend: React + Vite + TypeScript + Tailwind CSS
- Task CRUD API with bearer token auth for writes
- Public read-only dashboard with auto-refresh
- Task states: active, queued, blocked, completed, cancelled
- Reorder support for queue management
- Progress notes per task
- Docker Compose for local dev and Dokploy deployment
2026-01-28 22:55:16 +00:00