Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UX: Governance Setting UI (Threshold & Vote Duration) #86

Open
9 tasks done
ori-near opened this issue Oct 16, 2024 · 5 comments
Open
9 tasks done

UX: Governance Setting UI (Threshold & Vote Duration) #86

ori-near opened this issue Oct 16, 2024 · 5 comments
Assignees
Labels
UX Enabler A UX task that will result in a development task

Comments

@ori-near
Copy link

ori-near commented Oct 16, 2024

Background

SputnikDAO utilizes the following governance logic for votes:

  1. Quorum: The minimum number of participants required for a vote to be valid (e.g. 3 votes needed to vote on payments).
  2. Threshold: The percentage of votes that required in favor of a proposal to get accepted.
  • Option 1: Weight (e.g. 1 person is sufficient for passing )
  • Option 2: Ratio (percentage) (50% or 10% of total members in treasury is required)
  1. Vote Duration: The number of days a vote is active. A decision expires if voting is not completed within this period.

Currently, while our Treasury App inherits these mechanisms, we do not display this logic, leading to unexpected issues for users.

Problem

Admins lack visibility and control over the governance logic. They cannot view or configure these settings, potentially leading to a loss of permissions or other unexpected consequences.

Solution

Create a dedicated "Governance Settings" section within the Treasury App to allow Amins to view and manage Threshold and Vote Duration settings.

Note: For MVP, we'll remove the Quorum setting to simplify the user experience and focus on the Threshold settings. The default setting will be "Weight" with one vote required to pass.

Acceptance Criteria

  • Identify all possible edge cases for crucial governance settings that could lead to unexpected consequences (add them to this ticket)
  • Design an updated flow/solution with the following requirements
    • A dedicated "Governance Settings" section
    • Fields to display and edit current values and settings for Threshold and Vote Duration
    • Tooltips or warnings to explain each setting and its implications
    • A tab to display pending/history of setting requests and allow approval/rejection, similar to other sections of our app
  • Confirm flow solution with the dev team (Megha/Vlad)
  • Create a follow-up development task for threshold (with Ori): Dev: Governance Setting Threshold #90
  • Create a follow-up development task for vote duration (with Ori): Dev: Governance Setting – Vote Duration #116

Edge Cases

(Add to this list any identified edge cases. Assume for each item we are starting with a weight of 1 and no quorum.)

  • Admin changes the voting threshold to a percentage (e.g. 50%) and adds two more admins with voting permissions. This change would cause the initial admin to lose their single-vote power and require two votes to pass. Should display an orange warning in this scenario.
  • What happens if an admin changes the vote threshold or duration while a vote is in progress?
@ori-near ori-near added the Has UX Dependency A development task that has a UX/design dependency. label Oct 18, 2024
@ori-near ori-near transferred this issue from NEAR-DevHub/neardevhub-bos Oct 22, 2024
@ori-near ori-near changed the title UX: Quorum Setting UI UX: Governance Setting UI (Threshold & Vote Duration) Oct 22, 2024
@ori-near ori-near added UX Enabler A UX task that will result in a development task and removed Has UX Dependency A development task that has a UX/design dependency. labels Oct 22, 2024
@Megha-Dev-19
Copy link
Collaborator

Created this doc for the edge cases that I tested recently. Open for feedback.

@FREZZZBE
Copy link
Collaborator

As a user admin user
I want to have the ability to change the treasury threshold
So then it will fit my needs
Figma


As a user who has power of one
I want to have additional confirmation with warning that I will lose this power if I do
So then I don't make a mistake accidentally
Figma


As a user who has power of one
I want to have additional confirmation with warning that I will lose this power when i add an additional permitions to some member
So then I don't make a mistake accidentally
Figma

@FREZZZBE
Copy link
Collaborator

FREZZZBE commented Oct 29, 2024

@ori-near @Megha-Dev-19

I see a problem: User don't understand what was changed when he need to vote for somthing
Just to keep it simple I added "Details" Button. By clicking user can see transaction details.

  1. What do you think?
  2. Do we want to add this to all requests tables? (I think it useful for some users)
Transaction.Details.mp4

@FREZZZBE FREZZZBE moved this from 🏗 In progress to ❌ Blocked in 🚀 DevHub Products Oct 30, 2024
@ori-near
Copy link
Author

ori-near commented Nov 6, 2024

Hi @FREZZZBE – That's a good idea. Yes, I think we should add it. @Megha-Dev-19 – agreed?

@Megha-Dev-19
Copy link
Collaborator

I don’t think we need it for “payment requests”, “asset exchange”, “stake delegation”, since we show all the inputs in the main row itself, it might confuse the user since some of the data is encoded.
But yes for policy/members change, its good.

@ori-near ori-near moved this from ❌ Blocked to ✅ Done in 🚀 DevHub Products Nov 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
UX Enabler A UX task that will result in a development task
Projects
Status: Done
Development

No branches or pull requests

3 participants