- View Diff
- Nothing yet
- View Diff
- #19 - Move render actioncable partial into view layout file to fix issues with 404s and general board bugginess after updating the page content via Javascript (introduced in #16)
- View Diff
- #16 - Improve board manipulation
- #15 - Require Rails 6+ and Ruby 2.7+
- #14 - Remove bootstrap-sprockets and sassc dependency
- #12 - On boards#show page, if someone else makes changes to the board while you are simultaneously viewing the board, show javascript alert to reload the page. Implemented using ActionCable.
- #11 - Do not automatically load migrations and instead require an explicit migration install step
- Release to Rubygems
- Move input for "Num Iterations to Track" to be inline with the stats description text
- Remove unnecessary controller exception handling
- Improve UX by disabling text selection when attempting to drag people/roles
- Fix javascript UI bug on sweep where it would duplicate roles
- Fix javascript UI bug on create person
- Fix issue with dragging items within a group after lock/unlock
- Revert: Update stats when groups have not changed in last hour
- Update stats when groups have not changed in last hour
- Fix drag-and-drop after creating new group
- CSS fixes for smaller screen widths
- Add "Recently Accessed Boards" stored in session variable
- Improve highlighting for lock buttons on locked people and groups
- Change colors of sweep button
- Add missing Javascript DOM manipulations after "Sweep" action
- Fix exception on boards#show page after people are deleted
- Dont add new person to list in JS when not created successfully
- Fix issue with shuffle and groups with locked person(s)
- Remove unnecessary JS libraries
- Add
Pairer.config
- Change
Pairer.allowed_org_ids
toPairer.config.allowed_org_ids
- Change
Pairer.max_number_of_iterations
toPairer.config.max_number_of_iterations
- Add
Pairer.config.hash_id_salt
to ensure apps can customize their public_id generation
- Ensure roles dont allow duplicates with uppercase/lowercase
- Ensure persons name uniqueness validation is case-insensitive
- Add configuration value
Pairer.max_number_of_iterations = 100
- Add better validation error for number of iterations to track
- Increase alert/error message hide timeout for better UX
- Add Test Suite with Github Actions for all Ruby, Rails and DB versions
- Change Shuffle Algorithm to more deterministicly choose the most unique groups
- Score of each set of people is from the following formula. We generate all possible group combinations of people, given what we have left/available. We choose the group combination by selecting the minimum sum of the number of occurences of all 2-person combinations within te group combination.
- The algorithm is naive in that it does not attempt to enumerate the very best combinations based on all possible outcomes. It just selects the best combinations for whatever groups are created first, so future iterations of the combinations may not be fully optimal. Non-full unlocked groups with locked-people are assigned people first, then secondly the completely new groups.
- Remove zeros from stats, having zeros is not sustainable because it will make the list massive for larger team sizes
- Attempt to make shuffle algorithm stronger by generating 5 candidate groupings and then choosing the least-common of these groupings based on the stats
- Show solo groupings in the stats
- Write unit tests for Pairer::Board#shuffle and #stats
- Fix bug where recently re-shuffled groups were being included in the stats
- Ensure the position of locked people in existing groups are preserved across shuffle
- Improve shuffling algorithm by shuffling 3 times, like a card dealer we shuffle a few times to improve the shuffle
- Add namespace/prefix for session variables to avoid conflicts
- Rename org_name --> org_id
- Organization Name --> Organization ID
- Pairer.allowed_org_names --> Pairer.config.allowed_org_ids
- pairer_boards.org_name --> pairer_boards.org_id
- To upgrade from a previous version, add the following to your
config/initializers/pairer.rb
require Pairer.root.join("app/models/pairer/board"); ActiveRecord::Migration.new.rename_column(:pairer_boards, :org_name, :org_id) if Pairer::Board.column_names.include?("org_name")
- Style improvements
- Add another button for "Add Group" below group list for more intuitive feel
- Style improvements
- Hide person/role delete buttons within the groups section
- Remove data-confirm on group delete/sweep
- Change group delete icon to a broom/sweep icon
- Ensure stats do not contain bogus entries caused by re-shuffling, groups created less than 1 minute ago are deleted upon shuffle
- Extract sessions actions from MainController to SessionsController
- Rename MainController to BoardsController
- Remove "View Password" button, can use the view password feature within "Change Password" instead
- Initial Release