* [skip ci] Update the localization files
* Make website work with languages without an associated CultureInfo
---------
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: Slendy <josh@slendy.pw>
* Add button and controller to remove user avatar
* Update ProjectLighthouse.Servers.Website/Controllers/Admin/AdminUserController.cs
Suggestion provided to add logging, a return, and sending a notification to the affected user
Co-authored-by: Josh <josh@slendy.pw>
* Update ProjectLighthouse.Servers.Website/Controllers/Admin/AdminUserController.cs
Co-authored-by: Josh <josh@slendy.pw>
---------
Co-authored-by: Josh <josh@slendy.pw>
* Implement delete all scores/comments
* Fix formatting in AdminUserController.cs
* Move logging out of loop
* Batch delete scores based on UserId
* Batch update comments instead of using a foreach
* Use html entity instead of apostrophe character
* Confirm before deleting all comments/scores
* Remove unnecessary database.SaveChanges
* Implement read-only mode
* Use localized string under default language for announce text
* Redirect to user page rather than returning blank 400
* Protect call to `ParseBase64Image`
* Add protections to SlotSettingsPage and nitpick format
* Display the latest announcement (if any) on the landing page
* Fix a kokoism
Accidentally tried to use markdown within the landing page... I'm rather smart aren't I
* Prevent possible XSS
* Separate truncated announcement text and link with "..."
* Apply suggestion from code review
* Add read-only check to /postComment in slot page controller
* Fix inconsistent tabbing
* Initial SDK and dependency bumps
* Bump Pomelo.EntityFrameworkCore.MySql to 8.0.0-beta.2
Should fix the MissingMethodException error in unit tests
* Update CI workflow to use .NET 8
* Apply suggested change from compile time warnings
* Fix digest tests
* Bump dependencies once more
* Update xunit
* Remove obsolete ISystemClock from TokenAuthHandler
* Update dependencies
* Add digest debug preprocessors back
* Maybe don't break #966
* Bump EF Driver and update various NET7 references
* Fix warnings in digest middleware tests
---------
Co-authored-by: Slendy <josh@slendy.pw>
* Migrate to GitInfo for embedding git information
* Adjust gitignore to reflect new git system
* Fix changes from broken merge
* Remove vestigial code in VersionHelper
---------
Co-authored-by: sudokoko <koko@drones.gay>
* Add missing moderation notifications
* Shorten temporary variable "commentEntity" to "c" for consistency
Didn't catch this when rider inserted these include statements
* Fix incorrect access of TargetUser
* Remove excess indent and random semicolon
* Implement notifications logic, basic calls, and admin command
* Remove unnecessary code
* Add ability to stack notifications and return manually created XML
* Remove test that is no longer needed and is causing failures
* Apply suggestions from code review
* Merge notifications with existing announcements page
* Order notifications by descending ID instead of ascending ID
* Move notification send task to moderation options under user
Also restyles the buttons to line up next to each other like in the slot pages.
* Style/position fixes with granted slots/notification partials
* Fix incorrect form POST route
* Prevent notification text area from breaking out of container
* Actually use builder result for notification text
* Minor restructuring of the notifications page
* Add notifications for team picks, publish issues, and moderation
* Mark notifications as dismissed instead of deleting them
* Add XMLdoc to SendNotification method
* Fix incorrect URL in announcements webhook
* Remove unnecessary inline style from granted slots partial
* Apply suggestions from code review
* Apply first batch of suggestions from code review
* Apply second batch of suggestions from code review
* Change notification icon depending on if user has unread notifications
* Show unread notification icon if there is an announcement posted
* Remove "potential" wording from definitive fixes in error docs
* Remove "Error code:" from publish notifications
* Send notification if user tries to unlock a mod-locked level
* Change notification timestamp format to include date
* Add clarification to level mod-lock notification message
* Change team pick notifications to moderation notifications
Apparently the MMPick type doesn't show a visual notification.
* Apply suggestions from code review
* Add obsolete to notification types that display nothing in-game
* Remove unused imports and remove icon switch case in favor of bell icon
* Last minute fixes
* Send notification upon earth wipe and clarify moderation case notifications
* Add check for empty/too long notification text
* Display link to source code and license in footer
* Remove " (fetch)" suffix in remote URL
* Use split instead of replace for getting the clean remote URL
* Open license link in new tab as well
* LINQ-ify things and handle potential errors
* Properly detect remote URL type and parse accordingly
Squashed 3 commits:
* Properly detect remote URL type and parse accordingly
* Actually fix broken source code link...maybe
* Attempt to fix broken source code link
* Fix a kokoism
Perhaps we should actually utilize the firstRemoteUnparsedUrl variable instead of getting the FirstOrDefault remote over and over
* Fix missing slash when using an SSH remote
* Assign null to parsed URL variable by default
Thank you clyde discord
* Only perform the null check on the unparsed URL once
Thank you again clyde discord
* Handle exception when there are no defined remotes
* Move remote determination to VersionHelper and format file
Squashed 4 commits:
* Nitpick variable naming and add XML doc
* Use preferred braces style
* Return null directly if unparsed URL is null
* Move remote determination to VersionHelper and format file
* Add param to include HTTPS prefix in DetermineRemoteUrl method
* Remove warnings from XML doc
Not needed as of c63284cb37
* Properly insert HTTPS prefix into SSH remotes
* Fix license layout and improve git remote parsing
---------
Co-authored-by: Slendy <josh@slendy.pw>
* Add pagination to moderation cases list and tweak case dismissal task
* Clean up case partial and add extended case status indicators
* Redirect back to cases list after dismissing a case
* Fix typo on cases list queue counter
* Fix dismissal queue counter
* Convert dismiss button check into pattern
* Turn down case dismissal task repeat interval to every 1 hour
* Use page 0 for case searching
* Implement pagination on the admin users list <3
* Fix pagination button padding and update colors to match existing role colors
* Fix typo in admin search placeholder
* Make cases searchable by user/slot ID instead of reason
Due to the current state of the moderation case entity, I can't directly query against the affected user name, so I've added the ability to search for the affected user/slot ID instead of reason.
* Actually apply the desired changes instead of just fixing the counts
* Grammatical nitpick in the search box placeholder
* Simplify website rank badges to use semantic classes
* Fix ambiguity between partial display types
* Add profile vanity tags and needed migration
* Make form field read only to non-administrators
* Display lock icon if user is not admin to minimize confusion
* Also display lock icon for username field since it's readonly
* Fix up naming consistency issues and edit migration accordingly
* Apply suggestions from code review
* Add space between placeholder property and ternary operator
* Initial work for score migration
* Finish score migration
* Implement suggested changes from code review
* Make Score Timestamp default the current time
* Chunk insertions to reduce packet size and give all scores the same Timestamp
* Fix serialization of GameScore
* Break score ties by time then scoreId
* Make lighthouse score migration not dependent on current score implementation
* Redesign case creation page
* Fix user id placeholder text
* Handle empty moderation history
* Mod history dropdown nitpick
* Fix styling issue with dropdown
ui fluid dropdown inherits from ui form
* Potentially fix NRE
* Un-require reason/mod notes
* Display username in moderation history view
* Order mod history by creation time descending
* Nitpick no moderation history string
* Handle AffectedUser null check within controller
* Fix styling issues
* Move moderation history segment above create case button segment
* Link back to affected user
* Move expiration field in with the other entries
* Grammatical consistency nitpick in history dropdown
* Handle empty case reasons in mod history
* This is the last nitpick, I swear!
* I lied. Variable naming consistency :trollface:
* Consolidate setPermanent function into button onclick
* Use HTML details and Fomantic list instead of dropdown
* Fix padding issue with details list
* Format history and user/id nicely
* Styling fixes and nitpicks of list items/links
* Apply suggestions from code review
* Clarification with code review suggestion