Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Initial groundwork for reports rewrite. * Add reports service and fix service registration tech debt. * More iteration on reports revamp * Checkpoint for reports revamp * More reports backend * Use challenge specs instead of challenges for reporting. * More reports plumbing * More report plumbing * Add support report to db * Work on support report * Polishing support report * Add reports and initial unit tests * More work on reports * Refactor - move SimpleEntity into Gameboard.Api.Features.Common. * Don't bootstrap JobsService in integration test env * Address an issue where Gameboard was incorrectly evaluating whether a challenge has a deployed gamespace after destroy. Resolves #182. * Add registration date range to challenges report * Fix player report bugs * Server-side hardening for illegal mime type upload. Removed bare repositories. Updated recommended extensions. * Add improved file upload validation. Add editor config to suppress private member warnings. * Update unit tests * Remove server-side html escaping of user input (handled client side). * Resolved an issue that prevented assignees from being display in the support ticket list. * Remove unnecessary dependency injection from the app hub. * Fix build error in ticket service * Fix merge issue from main * Resolve changes from the merge * Initial version of enrollment report and refactor * Add minimal unit tests for enrollment report * Additional refinements to enrollment report * Remove gamebrain schema generator (no longer needed) * Add WhenCreated to player table. * Added export for enrollment report. * Remove unnecessary pragma warning for new C# tools, unbreak player service tests. * More work on enrollment report * Clarify comments on Enrollment report query * Fix line chart for enrollment, update validation strategies, add new query extension to deal with nullish dates. * Page to default values when illegal paging is requested. Add Challenges Attempted to enrollment csv export. * Refactor of practice backend * Add new user fields for created on, last login date, and login count. Pruned unused code and store implementations that weren't really doing much. Resolves #196. * Rename reports folder * Add tests for query extensions * Started work on practice report * Code cleanup * Fix failing integration tests * Fix a bug with date processing for the enrollment report * Work on practice mode report * Add metadata query * Improvements to practice report * Update practice report models * Add player performance tab to practice mode report * Wrapping up a draft of practice mode * Fix integration test issues * Direct dotnet restore command in Github Action to src * Update GH actions config for correct solutions file config. * Delete extra sln file * Fix stackoverflow in captain resolution * Improvements to support report and solution tooling. * Improvements to support report filters * Code cleanup in engine service * Automatically sort string filters for reports * fixed an issue with the sponsor filter on the enrollment report * Guard against orphaned specIds in the practice mode report * Add games filter to enrollment service. * Guard against unexpected nulls in practice mode report * Guard against unexpected sponsor nulls in practice mode report * Fix criteria processing for practice mode report * PlayerMode to challenges - Add "PlayerMode" to challenges. Resolves #218 - Sort support service by created date by default. * Query practice mode report based on the challenge-level PlayerMode flag rather than the game-level one. * Code cleanup in game engine service * Code cleanup * Fix PlayerService constructor signature to remove unused injections * Code cleanup * Align parameter names * Add stat summary for enrollment report * Code cleanup * Fix build * Guard against null sponsors in enrollment report. Hide practice games on home screen. * Present percentile for Practice Mode report as a 0-100 value (up from 0-1). * Add challenge result to practice mode report * Optimize sponsor count stat for the enrollment report * Code cleanup * Remove unused property of game model * Improvements to practice mode workflow (allow detection of active practice session * Change model shape for user active practice challenge. * Enhance information available for an active practice challenge to support new launch path. * Improvement to practice mode/playcomponent * More support for auto-deploy of practice challenges/ new 'play' component. * More work on autolaunch/play component * Finish autolaunch. Resolves #227 * Fix a bug in practice report where player count per sponsor was not computed correctly. * Fix test game engine service interface sig * Fix failing test * Corrected resolution of json options for integration tests. * Code cleanup * Allow API key authentication to resolve grader keys as well as standard user api keys. - Moved GetUserFromApiKey to service level - Added tests to verify resolution of user and grader keys - Resolved an issue where integration tests were inadvertently depending on our internal test Gamebrain instance * set default solution path * Additional test for grader/apikey authentication. * Revert "Additional test for grader/apikey authentication." This reverts commit b75727d. * Additional test for grader api key resolution. * Added revised grader key authentication and modified _Controller to represent an authenticated grader key separately from an authenticated user. * Remove incorrect tests * Update game engine mapper to reflect existing mapping in ChallengeMaps between Vm count and IsActive * Add practice admin stuff * Improvements to practice admin * Set default topo timeout to 300 sec (up from 100). * Finished up practice certificates * Fixed broken constructor sig intests * Fixed hours/minutes display for practice certificates and added supporting unit tests. * Always archive team challenges on reset * Removed test (the rule is no longer true) * Playing with various pdf rendering options? * Various code cleanup * Do server-side rendering of certificates in PNG format. * Update tests * Finish server side generation of html for both practice and competitive. * Fix test signatures * Make published certificate collections on User default to empty lists * Bug fixes for various practice mode session end things. * Test fixes * Bug fixes to practice mode. * Fix test types * Update dockerfile for chromium install. * Update Dockerfile - move chromium install to production multistage. * Accommodate docker execution of chromium with --no-sandbox * Disable use of dev shared memory for chromium image generation. * Request full challenge doc from Topomojo during spec sync. * Fix for challenge doc text in practice mode * Try wkhtmltopdf as alternate image generation tool. * Use correct version of wkhtmltopdf binary * Remove stray pdf * Decrease quality of images rendered by wkhtmltoimage * Set wkhtmltoimage quality to 30 * Rename player-facing 'Practice Mode' to 'Practice Area' * Fix practice area report routes * Fix count issue on the player prac/competitive report * Fix a count issue on the 'by challenge' grouping of the practice area report. * allow authenticated users to retrieve practice mode settings * Fix grouping issue with per-mode practice area report * Code cleanup * Fix typo in Enrollment report desc * Correct calculation of users per sponsor in Enrollment report. * Change roles who can access reporting. * Improve summary info on report cards to better reflect the corresponding reports. * - corrected an issue that caused practice challenges to appear as though they were created a million years ago in challenge admin. - The search box on Challenge Admin now automatically trims whitespace. (Resolves #247) * Resolved an issue which caused the enrollment report to fail to report challenges assigned to games which are in practice mode (even if the challenge was played competitively. * Fix failing unit test and add a new one for prac/comp challenge/game fiasco on Enrollment report. * Resolved an issue that prevented non-registrars from extending/resetting their practice sessions.
- Loading branch information