Skip to content

feat: webui: Sector page overhaul, SP day-2 ops goodies#893

Merged
LexLuthr merged 12 commits intomainfrom
feat/sector-page-improve
Feb 13, 2026
Merged

feat: webui: Sector page overhaul, SP day-2 ops goodies#893
LexLuthr merged 12 commits intomainfrom
feat/sector-page-improve

Conversation

@magik6k
Copy link
Collaborator

@magik6k magik6k commented Jan 16, 2026

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
2026-01-16-024607_871x333_scrot

There are now proper pages for Storage Paths
2026-01-16-023833_1285x1255_scrot
2026-01-16-023815_2384x1995_scrot

Partition page has buttons to run vanilla/task WindowPoSt tests
2026-01-16-021053_2047x1845_scrot

Sector page got a massive overhaul:

  • Messages using the message component so they are visible now
  • Deadline/Partition link to relevant pages
  • Display for on-chain Partition state
  • Button for individual WindowPoSt vanilla test
  • More usable piece list
  • Storage with links to storage path page
  • Buttons to scrub CommD AND CommR (completely new feature for CommR)
  • GC mark display
2026-01-16-020907_1523x1972_scrot 2026-01-16-025603_1671x1258_scrot

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_history table (including muted/system alerts) with a new alert_mutes mechanism to suppress external plugin delivery; NowCheck migrates legacy rows from alerts into history, and the alert interval is reduced to 30 minutes.

PoSt alert correctness: WindowPost alert 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; WinningPost handling treats included as nullable and only reports non-inclusion once sufficiently old.

New sector verification/ops tooling: Adds scrub_commr_check + ScrubCommRCheck task 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.

@magik6k magik6k requested a review from a team as a code owner January 16, 2026 01:59
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@magik6k magik6k force-pushed the feat/sector-page-improve branch from 6e26f8d to 6efbc73 Compare January 18, 2026 16:05
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@LexLuthr
Copy link
Contributor

@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.

@LexLuthr LexLuthr enabled auto-merge (squash) February 13, 2026 07:50
@LexLuthr LexLuthr merged commit caab5a1 into main Feb 13, 2026
20 of 21 checks passed
@LexLuthr LexLuthr deleted the feat/sector-page-improve branch February 13, 2026 08:05
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.

2 participants