* Clear search criteria on loading aHelp window
* Pinning technology.
* Relay to aHelp window and discord if a user disconnect/reconnect
* Fix pinning localization
* Log disconnect, reconnects, bans to relay and admin in aHelp
* Drop to 5min to hold active conversations
* Update Content.Server/Administration/Systems/BwoinkSystem.cs
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* discord text styling if diconnect,reconnect,banned message.
* Pin icons instead of text
* Better Icons
* space
* Move button generation in to its own XAML
* List entry control
* Fix spaces
* Remove from active conversations on banned
* Discord if else block cleanup
* Better pin icons
* Move icons to stylesheet styleclass
* Better field order.
* PR review fixes
* fixes
---------
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* admin Object tab sorting and searchable
* Fix for showing disconnected players on player admin tab
* Fix namespace and search bar location.
* Change linq to loop.
* No more Linq to sort
* Fix item click vv menu
* Added refresh button and refresh on opening tab.
* Clear spaces.
* Move tab magic numbers to enums
* Get rid of old unused xaml
* Fix code style issues and button event type.
* Merge in baby jail
* More style cleanup and move cast around.
* Make the localization a little more easy to read, same loc var names.
* Missed Loc for label
* Fix class field order
* Over zelous delete.
* Small updates.
* Min syntax issues fix
* Make banpanel respect CCVars. Add CCVars for default ip/hwid/use last
details checkboxes.
* Move severity handling for server/role ban to another function
* Save sawmill
* Line goofyness
---------
Co-authored-by: Vasilis <vasilis@pikachu.systems>
(cherry picked from commit f96f92f54fe169d2e3a21356e07dfa50eca8b5d9)
Fixes#26211
Admin messages now have separate "seen" and "dismissed" fields. The idea is that an admin should be able to tell whether a user pressed the "dismiss for now" button. Instead of using "seen" as "show this message to players when they join", "dismissed" is now used for this.
Existing notes in the database will automatically be marked as dismissed on migration. A note cannot be dismissed without being seen (enforced via constraint in the database too, aren't I fancy).
As part of this, it has become impossible for a player to play without dismissing the message in some form. Instead of a shitty popup window, the popup is now a fullscreen overlay that blocks clicks behind it, making the game unplayable. Also, if a user somehow has multiple messages they will be combined into one popup.
Also I had enough respect for the codebase to make it look better and clean up the code somewhat. Yippee.
(cherry picked from commit d776c4b392a082dba7539d77cfa20fc904ed4091)
* Add option for admins to disable bwoink
In a vain attempt to get people to ahelp more, provide the possibility
for admins to not play the bwoink sound if they don't want to scare the
player.
* Add silent indicator to discord relay
* Use string interpolation
(cherry picked from commit a3c93b0bd7478c0f75daaa2f7d0bd8b88565b27e)
Now we just skip duplicate "item pressed" events from the ListContainer.
This caused the ahelp window to unfocus the message box after sending something. Flow is something like this: you send ahelp -> bwoink window refreshes player list due to new bwoink -> repopulated player list -> sent selection change -> repopulates right pane -> line edit gets unfocused.
(cherry picked from commit 84d455b9f862dcbfdffd5827ceab4890dcf653cc)
* PlayerListControl fixes.
Fix a button being selected by default always, which then can't be selected properly for real. This affected multiple admin UIs.
This broke due to upstream RT changes but ButtonGroup was always kinda busted so whatever. Uses the new IsNoneSetAllowed to implement everything properly.
Also make sure the selected player STAYS selected when filtering the list and stuff.
Also this PlayerInfo record has been changed to only do equality on the User ID because otherwise it'd need to compare each field individually which would be weird.
* Revert changes to ListContainer
This change was made default in the engine, no longer necessary here.
(cherry picked from commit 74a31ac5f3316cc865ab9f39f39efff4e0b9e748)
God bloody christ. There's like three layers of shit here.
So firstly, apparently we were still using Npgsql.EnableLegacyTimestampBehavior. This means that time values (which are stored UTC in the database) were converted to local time when read out. This meant they were passed around as kind Local to clients (instead of UTC in the case of SQLite). That's easy enough to fix just turn off the flag and fix the couple spots we're passing a local DateTime ez.
Oh but it turns out there's a DIFFERENT problem with SQLite: See SQLite we definitely store the DateTimes as UTC, but when Microsoft.Data.Sqlite reads them it reads them as Kind Unspecified instead of Utc.
Why are these so bad? Because the admin notes system passes DateTime instances from EF Core straight to the rest of the game code. And that means it's a PAIN IN THE ASS to run the necessary conversions to fix the DateTime instances. GOD DAMNIT now I have to make a whole new set of "Record" entities so we avoid leaking the EF Core model entities. WAAAAAAA.
Fixes#19897
(cherry picked from commit 2e6eaa45c57c7f5ba561d1fb1ef6712d2432a8fa)
* Use new Subs.CVar helper
Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.
This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.
* Fix a bunch of warnings
* More warning fixes
* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.
* Get rid of some more ISerializationHooks for enums
* And a little more
* Apply suggestions from code review
Co-authored-by: 0x6273 <0x40@keemail.me>
---------
Co-authored-by: 0x6273 <0x40@keemail.me>
(cherry picked from commit 68ce53ae17985876d6d112b764b2144964a9f42e)
* add Placeholder and make default buttons flags consistent w old behaviour
* DialogWindow ops
* make QuickDialog use DialogWindow
* Update Content.Client/UserInterface/Controls/DialogWindow.xaml
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 6b03aaaec78bd50c8f4730c9aa7d0f5cea76e782)
Fixes#23645
The problem is that the solution editor UI is an EUI, so the UI updates before the game states are applied.
A correct fix would be to move it to a BUI in some way, but that's a little involved as we don't really have pre-existing code that uses BUIs in a manner good for this. I decided against this because I realized we'd want to have more tools similar to this and tbh I kinda figured integrating it with VV would be a better fix instead, so...
This is a bad workaround to manually synchronize the UI updates against game timing. It's not pretty but it works.
(cherry picked from commit 3a2cd95d7f8d2b6975ebfda715b4cbf858e74668)
* Fix chat filter button
Oh look, the popup code was copy pasted between chat filter and channel selector.
Hilarious.
Anyways same stuff as 995f506aafd770dd6572dfc9e7bf9e18186e485a. I pulled it all out into a base class so NO MORE COPY PASTE.
Fixes#22360
* Remove all further EnableAllKeybinds buttons.
Fixes#22346
Yeah none of these are valid use cases, why is this set...
* Fix editing a watchlist temporarily making it appear as a low severity note
* Change condition to check that the note type is anything other than note
* Revert "Change condition to check that the note type is anything other than note"
This reverts commit 5c12d89fe8b3547dc11b19bb04e980fe4e7bf206.
* Update Content.Client/Administration/UI/Notes/AdminNotesLine.xaml.cs
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* Check that the note type doesn't have a special icon instead
---------
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* Add ahelp typing indicator for admins
* Lower typing updates throttle from 3 seconds to 1
* Add stopping typing when sending a message
* Lower typing indicator timeout from 15 to 10 seconds
* Fix next never sending logs for rounds outside the cache
* Show round's total log count on the ui
* Disable next button when waiting for a next response
* Cleanup AdminLogsEui.CurrentRoundId
* Fix popout window width
* add include non-players button to log viewer
* breakout player filter check
* fix sending player logs with no players selected
* fix default not returning player logs, causing test issue