Skip to content

Dashboard Job Submission, Workers Modal, and SLEAP-CONNECT#65

Merged
alicup29 merged 16 commits intomainfrom
amick/job-submission-ux
Mar 16, 2026
Merged

Dashboard Job Submission, Workers Modal, and SLEAP-CONNECT#65
alicup29 merged 16 commits intomainfrom
amick/job-submission-ux

Conversation

@alicup29
Copy link
Copy Markdown
Collaborator

Summary

Major UX overhaul of the SLEAP-RTC dashboard focused on improving the job submission workflow, worker management, and visual consistency.

Motivation

The dashboard's job submission and worker management UX had several pain points:

  • Room cards lacked clear action affordances — users couldn't easily discover how to submit jobs, browse files, or view workers
  • Worker information was crammed into room cards with no way to search, filter, or inspect individual workers
  • Training progress used a vertical layout that wasted horizontal space and had broken progress indicators
  • File browser used plain text emojis that looked inconsistent with the rest of the icon-driven UI
  • Branding still referenced "SLEAP-RTC" when the project identity is shifting to "SLEAP-CONNECT"

Key Changes

Room Card Redesign (PR #65 squashed)

  • Added action bar with Submit Job, Browse Files, and Room Secret buttons
  • Moved workers out of room cards into a dedicated modal

Workers Modal

  • Full-width modal (80%) with search and filter chips (All / Idle / Busy)
  • Two-row worker cards: specs row (GPU, platform, SLEAP version) + auth row (peer ID, account key badge)
  • Empty state with connection instructions

Training Progress Redesign

  • Side-by-side layout: left panel for config/hyperparams, right panel for live training metrics
  • Fixed spinner animation and step indicator centering
  • Added model type display and job queue status messages

File Browser Polish

  • Replaced emoji icons (📁📄) with SVG icons matching the fs_viewer component style

Worker CLI Improvements

  • Added colorized "ready" banner after mesh initialization showing worker name and peer ID
  • Proper ANSI color handling for bold/green formatting

Rebrand to SLEAP-CONNECT

  • Updated all user-facing display text from "SLEAP-RTC" to "SLEAP-CONNECT"
  • Simplified sidebar logo to just "Dashboard"
  • Removed redundant "Welcome to SLEAP-RTC" heading from login page
  • Widened sidebar and adjusted font sizes

Small UX Fixes

  • Room ID is now clickable to copy to clipboard
  • Fixed hyperparam label/value spacing CSS class mismatch

Test plan

  • Verify room cards display action bar with Submit Job, Browse Files, Room Secret buttons
  • Open workers modal from a room card — verify search and filter chips work
  • Submit a training job and verify the redesigned progress view renders correctly
  • Check file browser uses SVG icons instead of emojis
  • Verify all "SLEAP-RTC" references are replaced with "SLEAP-CONNECT" in the UI
  • Start a worker via CLI and verify the green ready banner displays correctly
  • Click a room ID and verify it copies to clipboard

🤖 Generated with Claude Code

alicup29 and others added 16 commits March 13, 2026 14:51
Split room cards into 2-row layout: info row (meta, badges, secret, delete)
and action bar (Submit Job with purple accent, View Workers, Invite).
Replace inline nested workers with a dedicated 640px workers modal featuring
search, filter chips (All/Idle/Busy), GPU specs, peer ID, and account key.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
.modal-content (max-width: 480px) was overriding .modal-workers because
it appeared later in the file. Use .modal-content.modal-workers for
higher specificity.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move peer ID and account key badges to a dedicated second row below the
worker name/GPU specs, separated by a subtle border. Font size matches
the specs line (12px) for visual consistency.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Prints a clear green SUCCESS banner via loguru after all startup tasks
complete, showing worker name (bold white), room ID, peer ID, GPU specs,
and sleap-nn version. Uses thin-line separators to visually distinguish
from the auth/session block above.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
After the ANSI reset following the worker name, re-emit green (\033[32m)
so the rest of the banner stays in loguru SUCCESS green.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Loguru only colors the prefix, not the message body. Add \033[32m at
the start of the message and \033[0m at the end so the full banner
renders in green.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace CSS ::before emoji pseudo-elements (📁📎🎬) with inline SVG
icons from the sleap-rtc test browse fs_viewer: yellow filled folder,
purple .slp file with circle, blue video with play triangle, and gray
default file icon.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace the centered spinner + status text layout with a two-panel
split: left panel (35%) shows live progress metrics (epoch counter,
progress bar, train/val loss, learning rate, WandB link) and right
panel (65%) shows worker logs with a labeled terminal. Widen the
submit-job modal to 75% screen width for all steps. Replace the
empty circle with an animated spinner that transitions to a green
checkmark on completion or red X on failure.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…in steps

- Remove epoch progress bar from left panel (keep epoch counter only)
- Fix spinner animation freezing by targeting both i and svg elements
  (lucide.createIcons() replaces <i> with <svg>, losing animation)
- Constrain step indicator to max-width 560px so steps don't spread
  across the wider 75% modal

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The JS was rendering with class 'sj-hyperparam-row' but the CSS
defined styles on 'sj-hyperparam-item' (flex-column + gap), causing
labels and values to render inline with no spacing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…cator

- Change "Accepted — starting" to "Worker accepted! Starting training job..."
- Show model type in training status (e.g., "Training centroid — Epoch 2")
  extracted from head_configs in the YAML config
- Add job queue tracker badge (e.g., "Job 1 / 1") in progress panel
- Center the step indicator within the wider 75% modal

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update all user-visible branding (titles, headings, logos, about text)
across the login page, callback page, and main dashboard. CLI command
references, config file paths, env vars, and localStorage keys are
left as sleap-rtc since those are still the actual binary names.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Change sidebar logo text from "SLEAP-CONNECT" to "Dashboard" to
  fit the 220px sidebar width cleanly
- Remove redundant "Welcome to SLEAP-CONNECT" heading from login page

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Widen sidebar from 220px to 250px
- Reduce logo font from 18px to 15px with white-space: nowrap
- Restore "SLEAP-CONNECT" text in sidebar header

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@alicup29 alicup29 changed the title Dashboard UX Overhaul: Job Submission, Workers Modal, and Rebrand Dashboard Job Submission, Workers Modal, and SLEAP-CONNECT Mar 16, 2026
@alicup29 alicup29 merged commit 3ac739b into main Mar 16, 2026
11 checks passed
@alicup29 alicup29 deleted the amick/job-submission-ux branch March 16, 2026 19:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant