feat: webui: Sector page overhaul, SP day-2 ops goodies#893
Conversation
There was a problem hiding this comment.
Pull request overview
This PR introduces comprehensive improvements for storage provider day-2 operations including persistent alerting with acknowledgment tracking, CommR scrubbing for sealed sectors, enhanced Web UI components, and extensive new APIs for storage path management and sector verification.
Changes:
- Persistent alert history with muting, acknowledgments, and comments
- GPU-enabled CommR verification using supraseal TreeR for sealed/update sectors
- New storage path and sector detail pages with comprehensive statistics
- Enhanced deadline visualization with timing, PoSt status, and blinking indicators
- WindowPoSt vanilla and task testing endpoints for partitions and sectors
Reviewed changes
Copilot reviewed 37 out of 37 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| web/static/ux/message.mjs | Enhanced message component with loading/not-found states and better tooltips |
| web/static/ux/main.css | Removed table overflow and transform transitions for better UX |
| web/static/ux/curio-ux.mjs | Added alert indicator to sidebar with live count updates |
| web/static/actor-summary.mjs | Enhanced deadline boxes with hover tooltips, timing info, and blinking cursor |
| web/static/pages/alerts/ | New alerts management page with history, muting, and comments |
| web/static/pages/storage_paths/ | New storage path list and detail pages |
| web/static/pages/partition/ | Added vanilla and WdPost task testing buttons |
| web/static/pages/sector/ | Major overhaul with partition state, storage links, and scrub buttons |
| web/api/webrpc/alerts.go | Alert management API endpoints |
| web/api/webrpc/wdpost_proving.go | WindowPoSt vanilla testing API |
| web/api/webrpc/unsealed_check.go | CommD verification API |
| web/api/webrpc/commr_check.go | CommR verification API |
| web/api/webrpc/storage_path.go | Storage path list/detail/sectors API |
| web/api/webrpc/storage_stats.go | Added GC unapprove endpoint |
| web/api/webrpc/sector.go | Added partition state fetching |
| web/api/webrpc/actor_summary.go | Enhanced deadline info with PoSt status and timing |
| tasks/scrub/task_scrub_commr.go | New CommR verification task using supraseal |
| tasks/scrub/task_scrub_commd.go | Reduced scheduling interval to 10s |
| lib/ffi/scrub_commr.go | CommR verification implementation with file streaming |
| lib/supraffi/seal.go | Added GetCommRLastFromTree and GetCommRLast functions |
| alertmanager/task_alert.go | Alert muting, history recording, and improved WindowPoSt checking |
| harmony/harmonydb/sql/*.sql | Database migrations for alerts and scrub checks |
Comments suppressed due to low confidence (2)
web/static/pages/storage_path/storage-path-info.mjs:1
- Repeated substring logic for storage IDs. Consider creating a helper method similar to formatCid() for consistent storage ID formatting.
import { LitElement, html, css } from 'https://cdn.jsdelivr.net/gh/lit/dist@3/all/lit-all.min.js';
web/static/pages/storage_path/storage-path-info.mjs:1
- Repeated substring logic for storage IDs. Consider creating a helper method similar to formatCid() for consistent storage ID formatting.
import { LitElement, html, css } from 'https://cdn.jsdelivr.net/gh/lit/dist@3/all/lit-all.min.js';
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
6e26f8d to
6efbc73
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
This PR is being reviewed by Cursor Bugbot
Details
You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
|
@magik6k This requires lint and then make-gen. Can you please run those and add a commit. This should really go out in the RC. |
Deadlines now have a much more useful hover tooltip that now also tells time, the box with the cursor is finally not slightly smaller, and the cursor will blink on a currently-posting deadline. It will also blink in a more angry if a PoSt wasn't submitted 15 mins into a deadline

There are now proper pages for Storage Paths


Partition page has buttons to run vanilla/task WindowPoSt tests

Sector page got a massive overhaul:
Note
Medium Risk
Introduces new DB tables and changes alert dispatch/persistence semantics, plus a new GPU/FFI-based CommR verification task that reads sector files and can be resource-intensive. Also adds multiple new WebRPC endpoints/UI flows, increasing surface area for regressions in ops tooling.
Overview
Alerting overhaul: Alerts are now recorded to a new
alert_historytable (including muted/system alerts) with a newalert_mutesmechanism to suppress external plugin delivery;NowCheckmigrates legacy rows fromalertsinto history, and the alert interval is reduced to 30 minutes.PoSt alert correctness:
WindowPostalert logic now tracks deadline close epochs, avoids false positives for open/unknown deadlines, improves skipped-sector messaging, and adds checks for newly faulty sectors in recently closed deadlines;WinningPosthandling treatsincludedas nullable and only reports non-inclusion once sufficiently old.New sector verification/ops tooling: Adds
scrub_commr_check+ScrubCommRChecktask and new FFI helpers to recompute CommR via supraseal TreeR (including remote streaming of sector/cache data when needed), and registers the task only on capable GPU nodes.Web UI/RPC expansions: Adds WebRPC APIs and UI for alert history/mutes management, CommR and unsealed data checks, WdPost vanilla/task tests, richer actor deadline timing/PoSt status, detailed sector partition state, and new/enhanced storage-path detail pages and task-status rendering.
Written by Cursor Bugbot for commit 5f3d563. This will update automatically on new commits. Configure here.