Releases: TheCommandCat/mtes
V0.8.1
π MTES v0.8.1 - Refined Thresholds & Clearer Results! π
I'm excited to release MTES v0.8.1, a focused hotfix that further refines the election threshold logic and clarifies its display, ensuring more precise and understandable results for all election scenarios.
β¨ What's New in v0.8.1:
- π― Precisely Tuned Election Thresholds:
- Single Contestant Rule: The election threshold logic has been updated for rounds with only one contestant. In this specific case, a 66% threshold of voted members is now required for a win.
- Multiple Contestant Rule: For rounds with two or more contestants, the threshold remains at 50% + 1 of voted members, providing a clear majority rule.
- These adjustments ensure that even in niche scenarios, the winning conditions are fair and accurately calculated based on actual participation.
- π£οΈ Crystal-Clear Threshold Explanations:
- The explanation for how the election threshold is determined (e.g., 66% for one contestant vs. 50%+1 for two or more) is now explicitly displayed in both the live results view and the PDF export. This eliminates ambiguity and provides immediate context for how winners are decided.
- π PDF Export Consistency:
- The updated threshold logic and its explanation are seamlessly integrated into the PDF results export, ensuring that all official documentation reflects the most accurate winning criteria.
This hotfix provides crucial clarity and accuracy to the election outcome determination, making MTES even more reliable for transparent and fair elections.
π£οΈ Versioning
This is v0.8.1, a hotfix building directly on the v0.8.0 release to provide enhanced accuracy and clarity in election result calculations.
π Feedback Welcome!
Your feedback is invaluable! Please observe these refined thresholds in action and report any further observations.
What's Changed
- Refined election threshold calculation and display by @TheCommandCat
Full Changelog: V0.8.0...V0.8.1
Made with β€οΈ by @TheCommandCat
V0.8.0
π MTES v0.8.0 - Dynamic Percentages & Database Flexibility! π
I'm excited to announce MTES v0.8.0, a focused update that brings more accurate data representation in voting results and introduces greater flexibility for database configurations.
β¨ What's New in v0.8.0:
- π Dynamic Percentage Calculation:
- Accurate Participation Rates: Voting percentages displayed in the round results are now dynamically calculated based on the number of members who actually voted in the round, rather than the total number of present members. This provides a more accurate and meaningful representation of voter engagement within that specific round.
- βοΈ Configurable Database Name:
- Enhanced Deployment Flexibility: The backend now supports specifying the MongoDB database name via the
MONGODB_DB_NAMEenvironment variable. This allows for greater flexibility in deployment scenarios, especially for multi-tenant setups or custom environments.
- Enhanced Deployment Flexibility: The backend now supports specifying the MongoDB database name via the
- π οΈ Improved UI Responsiveness:
- Minor adjustments to the voting stand UI to ensure better responsiveness and a smoother experience across different screen sizes.
These updates aim to provide more precise voting analytics and make MTES more adaptable to various deployment needs.
π£οΈ Versioning
This is v0.8.0, a feature release building on the robust capabilities introduced in v0.7.0.
π Feedback Welcome!
Your feedback is invaluable as we continue to evolve MTES. Please explore these new features and let us know your thoughts!
What's Changed
- Update voting percentage calculation by @TheCommandCat
- Add MONGODB_DB_NAME env variable by @TheCommandCat
- Minor UI adjustments for voting stand by @TheCommandCat
Full Changelog: V0.7.0...V0.8.0
Made with β€οΈ by @TheCommandCat
V0.7.0
π MTES v0.7.0 - Duplication, Powerful PDF Reports, and Robust Round Management! π
I'm excited to release MTES v0.7.0, a significant update that empowers administrators with powerful new tools for managing election rounds, including seamless duplication and essential PDF export capabilities for results and audited voter data. This version builds on previous stability improvements to offer a more comprehensive and efficient election management experience.
β¨ What's New in v0.7.0:
- π―ββοΈ Round Duplication Functionality:
- Effortless Duplication: You can now easily duplicate existing election rounds! This is incredibly useful for creating similar rounds quickly or setting up new elections based on previous configurations. The duplicated round will have a clear "Copy" indicator in its name.
- Smart Contestant Handling: When duplicating, the system intelligently handles contestants, filtering out internal "white ballot" entries and ensuring a clean copy of your roles.
- π NEW: Comprehensive PDF Export for Voting Results & Audit Trails!
- Professional Reports: Generate clean, print-ready PDF reports of your voting results! This feature provides a clear, organized summary of each role's outcome, including contestant votes, percentages, and their status (winner, failed threshold, white ballot).
- Detailed Voter Signatures: The PDF export also includes a dedicated section with a list of all members who voted in the round, complete with their captured signatures, offering a verifiable and auditable record of participation.
- Threshold Clarity: The PDF clearly indicates the dynamic threshold calculation (e.g., 50%+1 or 66%) for each role, providing full transparency on winning conditions.
- Centralized Overview: Get a complete, static snapshot of your round's performance and voter participation for easy sharing and archival.
- βοΈ Enhanced Round Update Reliability:
- Robust Data Processing: The backend now performs more thorough processing and validation when updating round details, ensuring that all linked data (like members in roles) is correctly referenced and updated.
- Improved Error Handling: More specific error messages are provided if there are issues during round updates, making troubleshooting easier.
- π Optimized Network Requests:
- Smarter API Fetching: Frontend API calls now intelligently select between public and internal API URLs, optimizing network performance, especially in containerized environments (e.g., Docker).
These updates provide greater flexibility for setting up elections and crucial reporting capabilities, making MTES an even more indispensable tool for managing your voting sessions.
π£οΈ Versioning
This is v0.7.0, marking a new major feature release following the v0.6.1 hotfix.
π Feedback Welcome!
Your feedback is invaluable as we continue to evolve MTES. Please explore these powerful new features and let us know your thoughts!
What's Changed
- Add duplicate functionality and enhance round updates by @TheCommandCat in #60
- Add PDF export functionality for voting results by @TheCommandCat in #61
Full Changelog: V0.6.1...V0.7.0
Made with β€οΈ by @TheCommandCat
V0.6.1 - Problematic
π MTES v0.6.1 - Hotfix: Round Editing & Automatic Start Time! π
I'm releasing MTES v0.6.1, a hotfix to address critical issues related to round editing and to introduce more precise round management. This update ensures a more robust and flexible system for administering your election rounds.
β¨ What's New in v0.6.1:
- π Enhanced Round Editing Logic:
- Prevent Editing Started/Locked Rounds: You can no longer edit a round once it has started or been locked. This prevents inconsistencies and ensures the integrity of ongoing or completed voting processes.
- Prevent Editing Rounds with Votes: If a round has already received votes, it can no longer be edited, safeguarding against changes that could invalidate existing ballots.
- Visibility for Editable Rounds: The "Edit" button for rounds in the election manager is now only visible for rounds that have not yet started, are not locked, and have no votes, providing clear visual cues for what can be modified.
- β±οΈ Automatic Round Start Time:
- When an administrator loads an "active round" for the first time via the
loadRoundaction, thestartTimeof that round is now automatically recorded. This provides accurate timestamps for when voting officially commenced for a given round.
- When an administrator loads an "active round" for the first time via the
- π Minor Bug Fixes & Stability:
- Addressed a few minor bugs to improve overall system stability and performance.
This hotfix provides crucial features for managing election rounds with greater precision and control, especially in dynamic election environments.
π£οΈ Versioning
This is v0.6.1, a focused hotfix building directly on the v0.6.0 release to address immediate operational needs and enhance administrative flexibility.
π Feedback Welcome!
Your feedback is invaluable! Please utilize these new features and report any further observations.
Made with β€οΈ by @TheCommandCat
Full Changelog: V0.6.0...V0.6.1
V0.6.0
π MTES v0.6.0 - Advanced Voting & Real-time Insights! π
I'm excited to announce MTES v0.6.0, a major release bringing advanced voting features, enhanced real-time insights, and significant system refinements! This update empowers administrators with more control and provides a smoother experience for both voters and observers.
β¨ What's New in v0.6.0:
- π³οΈ Advanced Voting Booth Configuration:
- "Only One Vote" Enforcement: Control whether a voting booth can cast only a single vote per round, perfect for preventing duplicate votes from shared devices.
- Signature Display on Booth: Configure voting booths to display voter signatures, adding an extra layer of visual verification for officials.
- π Real-time Election Threshold Updates:
- The election manager now displays a dynamic, real-time update of the required threshold (e.g., 50% + 1 or 66%) directly in the UI. This provides immediate clarity on what's needed for a candidate to win.
- π Enhanced Result Calculations & Displays:
- Improved result calculations to clearly indicate if a white ballot (abstain) has won or if a runoff is required, ensuring transparency in various election scenarios.
- Refined result displays with better visual cues for winners, candidates meeting thresholds, and those who didn't.
- π‘ Robust WebSocket Stability:
- Significant improvements to WebSocket stability and reconnection logic, ensuring more reliable real-time updates across all connected clients (manager, voting booths, and audience displays).
- π‘οΈ Stronger Security Measures:
- Enhanced server-side validation and sanitization for all incoming data, minimizing potential vulnerabilities.
- Improved protection against common web exploits, making the system more secure.
- π Performance Optimizations:
- Backend query optimizations and frontend rendering improvements lead to a snappier and more responsive user experience, especially during peak usage.
- π Bug Fixes & UI Polish:
- Addressed various minor bugs and applied UI/UX refinements across the platform for a more intuitive and polished feel.
These updates aim to make MTES an even more powerful, reliable, and transparent platform for managing your elections.
π£οΈ Versioning
This release is labeled v0.6.0, representing a substantial leap in functionality and stability since the previous versions.
π Feedback Welcome!
Your feedback is invaluable as we continue to evolve MTES. Please explore these new features and let us know your thoughts!
Made with β€οΈ by @TheCommandCat
Full Changelog: V0.5.3...V0.6.0
V0.5.3
V0.5.3
Implmented member display at audience display for speeches and results parts.
What's Changed
- Added member display to audience display by @TheCommandCat in #59
Full Changelog: V0.5.2...V0.5.3
V0.5.2
π MTES v0.5.2 Hotfix β Audience Display & City UI Fix π οΈ
Date: 26 Jun 2025
A quick patch to restore live audience sync and correct city-management labels.
π§ Whatβs Fixed
- π Audience Display (WebSocket)
β’updateAudienceDisplaynow sends the fullRoundobject instead of just its ID
β’ Back-end persists{ display, round }inElectionState.audienceDisplay
β’ Updated handler signature, TS types & client payload - ποΈ CitiesManagementForm Labels
β’ Corrected Hebrew text for βNew Cityβ, βCity Nameβ & snackbars - π§ Updated election manager round view to allow easier assign to voting stands
π οΈ Files Changed
- apps/backend/src/websocket/handlers.ts
- apps/frontend/components/admin/CitiesManagementForm.tsx
- apps/frontend/components/mtes/audience/audience-control.tsx
- libs/types/src/lib/schemas/election-state.ts
Full Changelog: V0.5.1...V0.5.2
V0.5.1
π MTES v0.5.1 β Deployment Fix π οΈ
π§ Fixed wrong import that caused error in deployment
V0.5.0
π MTES v0.5.0 β Audience Display & Live Presence! π
Whatβs Changed
- π¬ Audience Mode
β NewAudienceControl,AudiencePresence,AudienceRoundDisplay
&AudienceVotingDisplaycomponents for βroundβ, βpresenceβ & βvotingβ views - π‘ Real-time Updates
β WS handlers/eventsupdateMemberPresence&updateAudienceDisplay
β Frontend emits presence/display changes with callbacks - π Roles & Types
β Addedaudience-displayrole, extendedAudienceDisplayScreenTypes
β UpdatedElectionStateschema to includeaudienceDisplay - π₯οΈ UI Refinements
β Redesigned users-table, member cards & waiting-state visuals
β Scalable audience display container & marquee animations - π οΈ API Enhancements
β Improvedmm-membersPUT validation & error handling
β InitializedaudienceDisplayin division state - π¦ Libs & Hooks
β NewuseKeyboardShortcut&useWindowSizehooks
β Updated websocket/client types
PR's
- Enchanced user passwords table by @TheCommandCat in #54
- π― Support Multiple White Vote Options & Improved Round UI by @TheCommandCat in #57
- Audience display by @TheCommandCat in #58
Full Changelog: V0.4.1...V0.5.0
V0.4.1
π MTES v0.4.1 β Deployment Fix π οΈ
- π§ Fixed run command in the deploy script