feat: add job detail and listing pages with real-time status#27
Merged
Conversation
- Replace placeholder job detail page with functional implementation that fetches from job_queue and job_events tables via Supabase - Show status badge, repo URL, task, cost, branch, timestamps, and error details - Display job events as a visual timeline with icons per event type - Auto-refresh every 5 seconds while job is in progress (queued/ claimed/running) - Add jobs listing page at /jobs with recent jobs table (limit 20) - Add "Jobs" link to landing page and detail page nav bars - Error state when job not found Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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
/jobs/[id]): Replaces the "Coming Soon" placeholder with a functional page that fetches fromjob_queueandjob_eventstables via the existing Supabase browser client. Shows status badge, repo link, branch, cost/budget, task description, error details, metadata (test runner, package manager, loops, attempts, worker), and a visual event timeline with per-type icons. Auto-refreshes every 5 seconds while the job is in progress (queued/claimed/running). Links to the PR when the job succeeds./jobs): New page showing the 20 most recent jobs in a table with status badges, repo name, truncated task, cost, relative timestamps, and links to detail pages.Technical notes
createBrowserClient()from@/lib/supabase(anon key, read-only)@wright/sharedtypes (Job,JobEvent) and constants (TABLES,JOB_STATUS)setIntervalpolling for MVP (no WebSocket/Realtime subscription)tsc --noEmitpasses)Test plan
/jobs— verify the listing page renders (empty state if no jobs, table if jobs exist)/new, follow the "View job status" link — verify the detail page loadspr_url/jobs/nonexistent)🤖 Generated with Claude Code