* Notify a user when their highscore is beaten
* formatting
Co-authored-by: sudokoko <sudo@koko.rip>
* noPrefix -> prefix
* documentation and fix closing tag
* better documentation
---------
Co-authored-by: sudokoko <sudo@koko.rip>
Co-authored-by: Josh <josh@slendy.pw>
* 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>
* 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
* Changed missing digest message to more accurately reflect what will be wrong if it's not set
* Update ProjectLighthouse.Servers.GameServer/Startup/GameServerStartup.cs
Grammar is difficult.
Co-authored-by: sudokoko <koko@drones.gay>
---------
Co-authored-by: sudokoko <koko@drones.gay>
* 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
* Add the ability for moderators to forcibly lock levels
* Prevent forcibly locking an already locked level
I had to rollback and re-commit this because I was getting some weird error within Rider.
* Correct moderation notice header styling & remove errant text
* Allow moderators to view story levels on website
Show comments to moderators on in-game story levels that show the levels id
* Only show LH ID comment on the first page
* Improve game server announce by using StringBuilder
* Implement web announcements (condensed commit)
* Implement discord webhook support
* Display a separate message if there are no announcements
* Fix announcement string unit tests
* Fix header admin button unit test
* Clarify announcement id variable name
* Increase webhook truncation limit to 250 chars
* Convert announce text to string when returning 200
* Fix announcement unit tests ... again
* Make announcement text input a textarea rather than a simple input
* Fix styling discrepancy
* Clarify submission button
* Improve announcement webhook & set default textarea row amount
* Remove most non DI usages of DbContext
* Optimize website queries and refactor startup to use top level statements
* Remove unused functions in UserEntity and SlotEntity
* Optimize LBP1 LevelTags
* Move censor/msg logging to MessageController & separate LogAreas/config
* Correct LBP character limit to 95
* Log filtered comments as well
* Remove two unnecessary variables from CensorHelper
* Add censor logging to SlotPage/UserPage controllers and improve logging slightly
* Remove accidental dollar sign in log
* Grammatical nitpick in CommentController.cs
* Contextual nitpick in MessageController.cs
* Add escaped quotes in CommentController log to match the rest
* Increase limit to account for descriptions, magic mouth, etc.
* Consolidate LogChatMessages logging into Filter log area to prevent confusion
* Apply code review suggestions
* Refactor RepeatingTaskHandler into an ASP.NET service
* Add unit tests for RepeatingTaskService
* Make repeating task unit tests work independent of time
* Fix weird behavior when task is canceled
* Simplify filters and make cross control slots not show by default
Also sort author levels by oldest levels first rather than newest levels first.
* Fix unit test expecting slots to sorted by timestamp descending
* Remove errant whitespace