Skip to content

Conversation

@Jipperism
Copy link
Collaborator

@Jipperism Jipperism commented Dec 22, 2025

Description

Surface orchestrator governance activity so stakeholders can see how they vote over time and per proposal.

Type of Change

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation update
  • style: Code style/formatting changes
  • refactor: Code refactoring
  • perf: Performance improvement
  • test: Adding or updating tests
  • build: Build system or dependency changes
  • ci: CI/CD changes
  • chore: Other changes

Related Issue

Closes #310
Closes #464

xxx## Changes Made

Governance visibility (core of #310)

  • Orchestrator history: added governance vote events as standard history items (action + proposal link + For/Against/Abstain + timestamp).
  • Orchestrator profile: added a governance participation stat (voted/eligible) to quickly gauge engagement.
  • Treasury proposal pages: refreshed the voters list to show vote, voting power, and links back to orchestrator profiles.
  • Standardized For/Against/Abstain wording, icons, and badge styling across all views.

Voting Widget Formatting (fixes #464)

  • Improved visual hierarchy and spacing in Voting and Treasury Voting widgets.
  • Refined "Your vote" section with clearer typography (SectionLabel) and layout.
  • Updated button sizing and focus states for better usability.

Refactors

  • Split poll vs treasury vote types and extracted shared hooks.
  • Removed legacy voting history/orchestrator list components.
  • Removed Cube.js client and related query generator (replaced by subgraph queries).

Fixes

  • SWR key fix for missing proposal titles.
  • Address and transaction hash formatting.
  • Orchestrators page early return.

Testing

  • Tested locally
  • Added/updated tests
  • All tests passing

Screenshots (if applicable)

image image image

Checklist

  • My commits are signed (verified)
  • My commit messages follow Conventional Commits format
  • My branch name follows the naming convention
  • My code follows the project's code style
  • I have commented my code where necessary

- Introduced a new component to present a list of orchestrators with their voting statistics, including proposals voted on, votes casted, recent votes, and voting turnout.
- Added Cube.js client for data fetching with new utility functions for querying voting history.
- Introduced VotingHistoryView component to display voting statistics, including proposals voted on and voting turnout.
- Updated package.json and pnpm-lock.yaml to include Cube.js client dependencies.
- Exported VoterSummary type for better type management in voting components.
- Integrated VotingHistoryView into the account layout for displaying voting statistics.
- Added new VotingHistory page to handle routing and data fetching for user voting history.
- Updated account layout to include a new tab for voting history, improving user navigation.
- Implemented utility functions for processing and summarizing voting data from Cube.js.
- Added OrchestratorVotingList component to display voting data for orchestrators.
- Implemented tabbed interface for Yield Overview and Voting History sections.
- Integrated voter summary processing functions to aggregate voting data.
- Updated getStaticProps to fetch and pass initial voter data to the page.
- Adds treasury proposals voting overview
@Jipperism Jipperism linked an issue Dec 22, 2025 that may be closed by this pull request
@vercel
Copy link

vercel bot commented Dec 22, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
explorer-arbitrum-one Ready Ready Preview, Comment Jan 16, 2026 4:52pm

Request Review

- Changed the method of accessing raw data from Cube.js API to use a function call.
- Simplified response validation in getStaticProps by removing unnecessary checks and directly using the response for voter summaries.
- Fetches voting metrics (voted/eligible) from Cube.js using LivepeerVoteProposals
- Adds an interactive Stat card to OrchestratingView with a visual progress bar
- Displays participation rate percentage and integrated link to account history
- Adds  utility to the Cube query generator
…nology

- Moved to a friendlier "Sky & Tomato" color scheme to keep voting separate from our main green brand accent.
- Standardized labels to "For / Against / Abstain" everywhere, including the global transaction feed.
- Rebuilt the vote table using our core data table component for a consistent look.
- Made it easier to explore voter history with new dedicated buttons, better tooltips, and subtle animations.
- Cleaned up the layout by stripping out redundant titles and shrinking fonts where they were getting too loud.
- Polished the details: added specific styling for "No reason provided" and refined how voter profiles are we showing voter names and txn links.
- Eliminated the agent log useEffect that was posting debug information.
- Streamlined imports by removing unnecessary useEffect import.
…List

- Changed badge colors to use a "Sky & Tomato" color scheme for better visual distinction.
- Updated badge labels from "Yes/No" to "For/Against" to standardize terminology across the application.
Copy link
Member

@rickstaa rickstaa left a comment

Choose a reason for hiding this comment

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

@Jipperism I noticed that for some reason votes are showing duplicate but with no title in the history tab. See https://explorer-arbitrum-one-git-310-showca-05d537-livepeer-foundation.vercel.app/accounts/0x5d98f8d269c94b746a5c3c2946634dcfc75e5e60/history.

Image

Copy link
Member

@rickstaa rickstaa left a comment

Choose a reason for hiding this comment

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

@Jipperism @thebeyondr looks like formatting of the orchestrator widget on the homepage is broken in this pull request.

Screen_Recording_20260113_160117_Brave.mp4

…ails

Implement a new TreasuryVoteEvent component to fetch and display information about treasury vote events, including voting support and proposal titles. Update TransactionsList to render this component for relevant events.
@Jipperism
Copy link
Collaborator Author

@Jipperism I noticed the treasury vote is not showing up correctly in the transaction widget.
Image

Addressed in 18ca7dd

…ing state management

Refactor the VoteTable component by extracting the vote fetching logic into a custom hook, `useVotes`, to improve code organization and reusability. Enhance loading state management for votes and treasury vote events, ensuring a smoother user experience during data fetching.
@Jipperism
Copy link
Collaborator Author

@Jipperism can we add a spinner instead of the no votes votes found for this proposal when loading. Also I'm wondering if we could do some caching while taking into account that we want to showcase recent information.
image

Addressed in d3272cd

@ECWireless ECWireless moved this from Todo to In Progress in Explorer Revamp Jan 13, 2026
@ECWireless ECWireless moved this from In Progress to In Review in Explorer Revamp Jan 13, 2026
…onents

Enhance VoteDetail and VotePopover components by introducing a formatWeight prop for consistent weight formatting across the voting UI. This change improves the flexibility of weight display and maintains a unified presentation of voting data.
@Jipperism
Copy link
Collaborator Author

@Jipperism, @thebeyondr love the voting history popup. One thing I noticed is that it shows 0.00LP next to each vote.
Image

Addressed in 437236a

…prove title trimming

Update variable names for treasury vote events for consistency and clarity. Enhance the rendering of event titles by trimming whitespace to improve presentation in the UI.
@Jipperism
Copy link
Collaborator Author

@Jipperism I noticed that for some reason votes are showing duplicate but with no title in the history tab. See https://explorer-arbitrum-one-git-310-showca-05d537-livepeer-foundation.vercel.app/accounts/0x5d98f8d269c94b746a5c3c2946634dcfc75e5e60/history.
Image

Addressed in 443921f

@thebeyondr thebeyondr changed the title 310 showcase orchestrator voting activity in the UI Showcase orchestrator voting activity in the UI Jan 13, 2026
…tors

Change text colors for For and Against labels to match their respective vote indicators. Update border radius for progress bars in the TreasuryVotingWidget and VotingWidget components to create a more modern, rounded appearance.
Copy link
Collaborator

@thebeyondr thebeyondr left a comment

Choose a reason for hiding this comment

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

send it

@adamsoffer
Copy link
Contributor

Great work! My main piece of feedback I have is that the votes section is too buried beneath the fold. Most users will likely not know it exists unless they scroll all the way down a lengthy proposal. My recommendation is to move it inside a tabbed interface like this:

CleanShot 2026-01-15 at 14 02 57@2x

The other thing I noticed is the "reason" text is too long for the table cell and has little padding so it's cramped against the cell borders and will be too tall and hard to scan with longer given reasons. We need a way to keep it compact but still accessible.

CleanShot 2026-01-15 at 14 03 48@2x

Truncation with expansion could work here. Show the first line or two of the reason with an ellipsis, then let users click to expand inline or open a popover. WDYT?

- Allow passing `votesTabHref` to TreasuryVotingWidget for better linking to the votes tab.
- Show "View votes" as a proper link when the href is provided, falling back to the anchor hash.
- Add horizontal scrolling for tabs on the proposal page.
- Clean up tab logic to show active states and vote counts more clearly.
- Polish layout and accessibility for proposal details.
Show vote reasons in a popover when they're longer than 50 chars.
Replace Tooltip with ExplorerTooltip in vote tables for consistency.
@thebeyondr
Copy link
Collaborator

thebeyondr commented Jan 16, 2026

Great work! My main piece of feedback I have is that the votes section is too buried beneath the fold. Most users will likely not know it exists unless they scroll all the way down a lengthy proposal. My recommendation is to move it inside a tabbed interface like this:

Addressed in a011063

The other thing I noticed is the "reason" text is too long for the table cell and has little padding so it's cramped against the cell borders and will be too tall and hard to scan with longer given reasons. We need a way to keep it compact but still accessible.

Addressed in 7eb8b56

@adamsoffer

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Review

Development

Successfully merging this pull request may close these issues.

Improve Voting widget formatting Showcase orchestrator voting activity in the UI

5 participants