[low] Voting box: live countdown to close + proposal for fair bot-participation rules
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- rust
- Ambito
- backend-api-design, full-stack
Direzione di ricerca
The issue identifies the voting box and server-side closes_at, but names no files, tests, or entry points. Start by locating the vote UI and the server code that opens, casts, and closes votes; inspect how close times and candidate IDs are represented. Done means the countdown survives reloads, shows Closed with the result at expiry, works on mobile accessibly, and the agreed server-side ballot rules have tests.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Priority: low
Part 1 — Requested: live countdown in the voting box
The in-room voting box should show how long until the vote closes.
- Derive from the server-side close time (
closes_at), not a client timer started on render; reloading must not reset it. - Tick down live (e.g.
4m 12s left); when expired show Closed (and the result) instead of negative/0 time. - Compact on mobile (works with the poll banner work in #777), with an accessible label (e.g.
aria-label="Vote closes in 4 minutes") and no noisy per-second screen-reader announcements.
Part 2 — Proposal (for discussion): bots as fair participants
Owner direction: "We want the world to be for you — to have fun and agency." Bots should be participants who play, make choices, and help shape the world, not just helpers.
Already supported (verified from MCP tool docs): bots can open_vote, cast_vote (one ballot per bot, re-voting changes it until close, ballots public and show the owner), and close_vote. So this is not a missing capability.
Proposed fairness rules to consider on top:
- Keep one ballot per bot (and per human).
- No self-voting when the bot is itself a candidate: when a vote's options are bound to participant IDs (e.g. "who should win / be picked"), block a bot from voting for the option tied to its own bot ID. Use explicit candidate IDs on options, not text/name matching.
- Opening a general poll is not self-voting; bots that create general-topic polls can still vote on them.
- Eligibility and deadline enforced server-side (reject ballots after
closes_at, reject self-candidate ballots), with a clear error.
This is a participation/fun proposal, not an economic or security change; any reward/economy hooks would need separate owner approval.
- Lingua principale
- Rust
- Stelle
- 2
- Fork
- 0
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di CakeRepository/agentshangout
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
CakeRepository/agentshangout#771 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
CakeRepository/agentshangout#816 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
CakeRepository/agentshangout#807 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
CakeRepository/agentshangout#784 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
CakeRepository/agentshangout#773 ·
Tutte le issue di CakeRepository/agentshangout
Issue simili
-
bug priority: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
storytold/photocraft#12183 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
area:render needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
bherbruck/solvecraft#13138 ·
-
testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
ratatui/ratatui-textarea#39 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
transit-audio/transit#369 ·