* 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>
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.
* 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.
* Fix chat filter button
Oh look, the popup code was copy pasted between chat filter and channel selector.
Hilarious.
Anyways same stuff as 995f506aaf. 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 some bugs in stations and do a little cleanup.
* Begin backporting the guidebook.
* wow that's a lot of work.
* More work, gives the monkey some more interactions.
* disco monkye.
* monky
* jobs entry.
* more writing.
* disco
* im being harassed
* fix spacing.
* i hate writing.
* Update Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* builds again
* a
* pilfer changes from AL
* fix and remove unused code
* pilfer actual guide changes from AL
* localization
* more error logs & safety checks
* replace controls button with command
* add test
* todos
* pidgin parsing
* remove old parser
* Move files and change tree sorting
* add localization and public methods.
* Add help component/verb
* rename ITag to IDocumentTag
* Fix yml and tweak tooltips
* autoclose tooltip
* Split container
* Fancier-tree
* Hover color
* txt to xml
* oops
* Curse you hidden merge conflicts
* Rename parsing manager
* Stricter arg parsing
tag args must now be of the form key="value"
* Change default args
* Moar tests
* nullable enable
* Even fancier tree
* extremely fancy trees
* better indent icons
* stricter xml and subheadings
* tweak embed margin
* Fix parsing bugs
* quick fixes.
* spain.
* ogh
* hn bmvdsyc
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* Clean up EntityListDisplay
* Rename EntityListDisplay to ListContainer
* Rename stuff
* Rework ListContainer
* Add tests
* Replace IControlData with record ListData
* Make _data non-nullable
* Fix test record items being duplicates
* Split filter method from populate
* Rename UpdateList to DirtyList
* Replace _count with _data.Count
* Clarify local variable toRemove
* Cleanup
* Add data selection to ListContainer
* Add selection test
* Fix comments and test name
* Fix ListContainer layout hiding items when scaled
* Add test for ListContainer top item
* Toggle fix
* Ensure buttons are re-generated
* Update unread count on select
* a
* Fix toggle test
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
* Adds three new smites, headstand, locker stuff, and reptilian species swap.
* Localize all the smites.
* save work
* More smites...
* Final tweaks.
* oops
* !PLEH
* Adds disarm prone and improved hand removal options.
* fix chances.
* take out the trash.
* Add some admin TRICKS instead of more smites.
* oop
* Implements the admin test arena and associated trick.
* Tricks for granting/revoking access.
* e
* mfw
* Implement quick dialogs, for when you don't want to spend 20 minutes writing a simple dialog prompt.
* Forgot the rejuv icon.
* E
* docs
* augh
* Add rename/redescribe buttons.
* Adds objects menu, implements a couple tricks for stations.
* 1984
* Adds a trick for effectively infinite power.
* fixes some icon uggo.
* a
* HALT!
* Pause/unpause buttons.
* Forgor the textures.
* they broke every bone in their body.
* i added more
* more battery actions, touch up battery icon.
* Address reviews.
* starter API
* network ID cards
* Port more stuff from old identity
* Re-implement identity representation + name updating
* move
* proper name returning for `IdentityName`
* move everything important to server, give in to temptation
* shared / server / client split sadly. move ensure to shared and spawn to server
* identity update queueing + identityblocker
* fixes
* and just like that it's usable for admins
* huge identity pass
* pass dos
* jesus christ
* figs :D
* fuck u
* fix bad merge.
Co-authored-by: Moony <moonheart08@users.noreply.github.com>
* Add admin logging, models, migrations
* Add logging damage changes
* Add Log admin flag, LogFilter, Logs admin menu tab, message
Refactor admin logging API
* Change admin log get method names
* Fix the name again
* Minute amount of reorganization
* Reset Postgres db snapshot
* Reset Sqlite db snapshot
* Make AdminLog have a composite primary key of round, id
* Minute cleanup
* Change admin system to do a type check instead of index check
* Make admin logs use C# 10 interpolated string handlers
* Implement UI on its own window
Custom controls
Searching
Add admin log converters
* Implement limits into the query
* Change logs to be put into an OutputPanel instead for text wrapping
* Add log <-> player m2m relationship back
* UI improvements, make text wrap, add separators
* Remove entity prefix from damaged log
* Add explicit m2m model, fix any players filter
* Add debug command to test bulk adding logs
* Admin logs now just kinda go
* Add histogram for database update time
* Make admin log system update run every 5 seconds
* Add a cap to the log queue and a metric for how many times it has been reached
* Add metric for logs sent in a round
* Make cvars out of admin logs queue send delay and cap
* Merge fixes
* Reset some changes
* Add test for adding and getting a single log
* Add tests for bulk adding logs
* Add test for querying logs
* Add CallerArgumentExpression to LogStringHandler methods and test
* Improve UI, fix SQLite, add searching by round
* Add entities to admin logs
* Move distinct after orderby
* Add migrations
* ef core eat my ass
* Add cvar for client logs batch size
* Sort logs from newest to oldest by default
* Merge fixes
* Reorganize tests and add one for date ordering
* Add note to log types to not change their numeric values
* Add impacts to logs, better UI filtering
* Make log add callable from shared for convenience
* Get current round id directly from game ticker
* Revert namespace change for DamageableSystem
* Remove the unnecessary NetID property from ComponentState.
* Remove Component.NetworkSynchronizeExistence.
* Removed Component.NetID.
* Adds component netID automatic generation.
* Removed NetIdAttribute from serverside components with no corresponding clientside registration.
* Completely remove static NetIds.
* Renamed NetIDAttribute to NetworkedComponentAttribute.
* Add GenerateNetIds calls to client and server entry points.
Add test to make sure auto generated NetIds are identical.
* Component changes when rebasing that I am too lazy to rewrite into the branch.
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>