BeeStation-Hornet icon indicating copy to clipboard operation
BeeStation-Hornet copied to clipboard

Refactor mentors to use admin ticketing system

Open itsmeow opened this issue 1 year ago • 19 comments

About The Pull Request

  • Completely abstracts admin ticketing system into a new system that can be extended for mentors.
  • Cleans up some shitty hippiestation mentor code that uses spaces instead of tabs
  • Does not remove the current mentor permission system. This can be rewritten in another mentor PR (I think there was one to make R_MENTOR a thing, but at the moment this uses the old system)
  • Removes some unused mentor code (memos, the weird mob name config)
  • Mentors now have their own ticket management panel that doesn't show ahelps, with an escalate button that auto-transfers the ticket to an ahelp with the history attached
  • Admins can see mentorhelps in the admin ticket panel (with [MENTOR] before it)
  • Admins can automatically de-escalate ahelps into mhelps, copying the ticket history

Partially fixes #6738

Almost definitely needs a testmerge due to the size of the PR and its impact on ahelps, plus the difficulty of testing with non-admin / non-mentor players

Why It's Good For The Game

Mentor code bad, now mentors can have tickets and claim them

Testing Photographs and Procedure

Screenshots&Videos

Latest interface

image

(Old) functionality display

image

image

Changelog

:cl: refactor: Refactored and abstracted the admin ticketing system for use by mentors add: Mentor ticketing panel add: Mentorhelps can now be escalated to adminhelps add: Adminhelp de-escalation to mhelp button is now automatic and will create a corresponding ticket tweak: Admins can now see mentorhelp tickets in the admin ticket manager code: Removed unused mentor code tweak: Admin Ticket Manager now has collapsible Closed and Resolved sections tweak: All close actions on tickets now have a confirmation prompt fix: Fix a runtime caused by admin-following from the ticket panel for a player that has disconnected. fix: Overriding a claim on a ticket no longer shows the admin's IC name in the admin log, but their CKEY instead. /:cl:

itsmeow avatar Aug 04 '22 07:08 itsmeow

Mentor related stuff being reworked in any way is nice to see, although I do have a few concerns for the admin related part of this.

Admins can see mentorhelps in the admin ticket panel (with [MENTOR] before it)

This honestly seems like it'd be pretty annoying when glancing at the ticket browser. Is it not possible for them to have their own section like how unclaimed/claimed/resolved/closed tickets do?

Admins can automatically de-escalate ahelps into mhelps, copying the ticket history

Please give this a confirmation prompt if it doesn't already have one. I don't look forward to the day some fresh mod accidentally hits mhelp instead of resolve and doesn't notice.

Tyranicranger4 avatar Aug 04 '22 12:08 Tyranicranger4

I've much improved the UI side of things, mentors is its own group of sections below the admin one. Resolved/Closed ticket sections are now collapsible, the entire mentor section can also be collapsed. All close (reject, close, IC, mhelp, ahelp) actions other than resolve have a confirmation prompt.

itsmeow avatar Aug 04 '22 23:08 itsmeow

I also got rid of the weird unused title section with the admin name and made it a regular heading.

Here's what it's like all collapsed, plus an example of the confirmation prompt.

image

itsmeow avatar Aug 04 '22 23:08 itsmeow

Documenting my feedback here as well; I think tabulating the browser over cramming everything into the one window would make for a much better UX

Crossedfall avatar Aug 16 '22 15:08 Crossedfall

Feedback from the TM

  • Flw button was left in for mentors
  • Remove the Close and IC buttons from mentor tickets
  • When claiming over someone else's ticket it puts your character name instead of your CKEY
  • could possibly remove claiming as a feature from mentor tickets

itsmeow avatar Sep 04 '22 20:09 itsmeow

First three addressed, claiming remains a thing for now.

itsmeow avatar Sep 04 '22 21:09 itsmeow

First impressions were a bit daunting with the new amount of buttons. Wasn't sure what most of the buttons did and am still unclear on a couple. What does the reject button on an unclaimed ticket do? Is it for when just mhelps "how charge batong" or is it for when I don't know the answer and leave it for other mentors? Also it seems we now have access to a mentor log (neat), but in the chat filters it's under unsorted (for reference, pointing, AI laws when inspected as a ghost, welding actions and binary go all under unsorted, while there's already a debug log and admin log filters).

Gilgaxx avatar Sep 04 '22 21:09 Gilgaxx

What does the reject button on an unclaimed ticket do? Is it for when just mhelps "how charge batong" or is it for when I don't know the answer and leave it for other mentors?

Reject tells the user that the mhelp was rejected and closes the mhelp for all mentors. This is for troll mhelps basically.

Also it seems we now have access to a mentor log (neat), but in the chat filters it's under unsorted (for reference, pointing, AI laws when inspected as a ghost, welding actions and binary go all under unsorted, while there's already a debug log and admin log filters).

I can add a chat filter type, I've never used chat tabs personally so I have to figure that out.

itsmeow avatar Sep 04 '22 22:09 itsmeow

image

itsmeow avatar Sep 04 '22 22:09 itsmeow

God damn that was fast, very nice!

Gilgaxx avatar Sep 04 '22 22:09 Gilgaxx

Oh I'll also add that if you claim a ticket by replying to someone using their name in chat (like it used to work with old mhelps) you'll claim the ticket as soon as you send a message, but the "claim" button will still be there in the ticket manager.

Gilgaxx avatar Sep 05 '22 05:09 Gilgaxx

Oh I'll also add that if you claim a ticket by replying to someone using their name in chat (like it used to work with old mhelps) you'll claim the ticket as soon as you send a message, but the "claim" button will still be there in the ticket manager.

This is because you can't "unclaim" a ticket, you can only override claims.

itsmeow avatar Sep 07 '22 18:09 itsmeow

My observations for when I was in the round for this: 1: Its much harder to reply via the chat (Mentor questions are quick responses that don't need a long term messenging system, the ability to be able to avoid the messenging system entirely should be a priority for these types of messages) 2: A lot of the messages have no formatting and just show as white boxes. There was also a lot more clutter in the chat with the things that pop up when you start replying or interact with the ticket. Also mentor tickets probably shouldn't have the ability to reject or resolve, just the ability to close the ticket, reply and transfer to ahelp (thats a nice feature). While extremely basic, the mentor system is very useable even while you are playing, which is important for mentors since unlike admins, they will be in the game a lot of the time too.

PowerfulBacon avatar Sep 11 '22 10:09 PowerfulBacon

A lot of the messages have no formatting and just show as white boxes.

I'm not sure what this means

itsmeow avatar Sep 19 '22 04:09 itsmeow

The more I look into and think about removing claiming and reject/resolve the less I think that is necessary.

As for the general "difficulty" of use - I think it's just a lack of being used to the system.

You click on the name of the person mhelping to reply, there is not a "Reply" button like there used to, so that can be confusing at first but overall I think it's fine. You can still completely avoid using the ticket manager by just using the clickable chat buttons.

I think we should try it out in regular round use where you get 1-2 mhelps, it does just fine.

itsmeow avatar Sep 24 '22 22:09 itsmeow

I'm not sure what this means

They have no spans

As for the general "difficulty" of use - I think it's just a lack of being used to the system.

Its not more difficult to use, its less convenient. Mentorhelps are just a question and an answer most of the time, having the ability to send it up to ahelp is nice but the message box isn't really needed. The easiest thing to do from chat should be able to instantly reply without having the ticket box open at all (Unlike admins, mentors can answer while playing too so shouldnt be accidentally opening ticket UIs). There should be a clear (REPLY) button, or preferable clicking the name of the sender will trigger a reply.

PowerfulBacon avatar Sep 29 '22 14:09 PowerfulBacon

Yes, clicking the name of the sender opens a reply window very similar to the old one. No ticket UI needed

itsmeow avatar Sep 29 '22 17:09 itsmeow

I think it needs another TM to find said spanless messages and iron out what is and is not an issue, especially with the changes

itsmeow avatar Sep 29 '22 17:09 itsmeow

This pull request has conflicts, please resolve those before we can evaluate the pull request.

github-actions[bot] avatar Oct 06 '22 09:10 github-actions[bot]

MENTOR LOG and PM to-Mentors (mentorhelp) are both spanless. Ticket #1 resolved by... and claimed by... are spanless but reopened is not.

itsmeow avatar Oct 11 '22 07:10 itsmeow

image

The "Mentor Ticket #\6" message should not appear at all. It should also not increment the ticket counter.

itsmeow avatar Oct 11 '22 07:10 itsmeow

Screenshot (1237) - Copy Screenshot (1237)

Redundant buttons, can re-open a already open ticket (well, you can't but the button is there), and claim a claimed ticket.

Screenshot (1238) A spacer of some kind would be nice? Messages get a little squished.

WhereAmO avatar Oct 11 '22 07:10 WhereAmO

Default window size is too large now, about a third of it is empty space. Me no like.

Tyranicranger4 avatar Oct 11 '22 07:10 Tyranicranger4

image kill the HTML entities

itsmeow avatar Oct 11 '22 07:10 itsmeow

This pull request has conflicts, please resolve those before we can evaluate the pull request.

github-actions[bot] avatar Oct 11 '22 22:10 github-actions[bot]

@WhereAmO Redundant "Claim" button is not redundant, it's for overriding claims.

itsmeow avatar Oct 13 '22 22:10 itsmeow

All above issues addressed

itsmeow avatar Oct 13 '22 23:10 itsmeow

runtime if clicking null client href

itsmeow avatar Oct 15 '22 01:10 itsmeow

Also, when an mhelp is resolved, people get the big bubble with the "Ticket resolved" and whatnot, but that includes "If your ticket was a report, then the appropriate action has been taken where necessary.". Is that on purpose?

Gilgaxx avatar Oct 15 '22 18:10 Gilgaxx

Current state of clicking on a ticket results in this: image Everyone mhelping shows up as Antag as well ass the many many buttons

Shiraizawa avatar Oct 19 '22 15:10 Shiraizawa