Skip to content

[MegaThread] Outstanding issues, fixes and planned improvements #160

Description

@lili7h

This thread is for tracking extant or outstanding items which I believe should be broken down and worked on to improve the quality of MAC prior to open beta release


Client Backend

  • SourceBans/steamhistory.net integration
  • auto-updater/auto-poller for reminding users of a new release being available
  • Pesky ephemeral bugs:
    • Team assignments sometimes not working
    • New players sometimes not appearing in the UI (as above, likely G15 output parsing failures)
    • Being able to display errors and warnings in the UI (SSE for console output)
    • Surpress output into the console a la TF2BD
  • Desired features:
    • Send messages to the player using party chat
    • Absorb additional messages from console to enrich SSE stream
    • A robust and dev-friendly framework for adding additional data sources for enriching player records

Client Frontend

  • Display received SSE messagees
  • More customisation for layout, colours, schemes (allow font customisation, colour scheme changes for accessibility)
  • Get accessibility code scanning with A11y for React
  • Pesky bugs
    • Hard-coded timeouts on backend querying causes ephemeral timeouts on delayed networks (i.e. forwarding the client backend via ssh or across large enough networks)
    • Long enough player notes go off screen (no text wrap on display modal)
    • Still no ability to edit player notes from the player history
    • Changing MAC API port in backend will not modify the existing built frontend. Need to find a way to have this self heal transparently

Progress

Add fields here or modify existing fields as tasks are picked up and completed

SteamHistory integration

  • A preferences item in the client preferences to toggle SourceBan lookups (using steamhistory's API)
  • A dispatcher that asynchronously batches and sends API requests for groups of players to the proxied steamhistory.net endpoint that masterbase will host
  • A processer group to read in the response results and append data to the PlayerRecords
  • A cache kind of like the steam user cache to cache SourceBan results in (I think more than 3 hours is fine, since SourceBans is slower, maybe a day? 7 days?) (this is for improving performance)
  • A modification to the API spec to allow the backend to ship this data back to the frontend. The hacky way is to ship it in the customData field for Player Records. Realistically these additions are what the customData field was designed for

And for the frontend, we would need:

  • Modifications to the player objects to house SourceBans information
  • Modifications to the API response handlers to extract SourceBans information from the customData field
  • Modifications to the player information modal to display the SourceBans information

Decisions that need to be made:

  • A concrete specification on how to provide the SourceBans information to the front end. I.e. what format does it appear in the customData field? It has to be JSON, and has to be consistent and well-documented.

Additional SSE messages

  • Additional console regex's for extracting player killbinds
  • Additional console regex's for events that preface joining or leaving servers
  • Additional console regex's for events that preface starting or ending queues
  • Additional console regex's for events that preface leaving or joining parties

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions