Chat: bigger text option, and don't keep old matches' chat around

Aberta
#68 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 2 dias

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
35/100
Tipo de issue
Funcionalidade
Clareza
Precisa de esclarecimento
Status de atividade
Ativa
Stack de tecnologia
lua
Domínio
frontend

Direção de pesquisa

Start with lib/debugplus/console.lua, compatibility/debugplus.lua, and api/chat.lua to trace chat rendering, font use, and lobby cleanup. The issue leaves the old-message behavior and defaults undecided, so first resolve the listed UX questions; then add the agreed text-size and history options and verify they apply to the open console and fading messages.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

What we want

  1. Bigger chat text. A setting for the chat text size.
  2. Old messages shouldn't hang around. Some option so chat from earlier matches doesn't stay on screen and in the log forever, for example clearing it when a new match is found, or hiding it. The right UX still needs deciding (see below).

Today

  • Chat is the console in lib/debugplus/console.lua (or DebugPlus's own console when that mod is loaded, compatibility/debugplus.lua).
  • Text is drawn with LÖVE's current font (love.graphics.getFont()), so its size is fixed: there is no setting for it.
  • The log keeps the last 500 messages (console.lua, #messages > 500) and is never cleared. Leaving a lobby (MPAPI.chat.cleanup in api/chat.lua) unhooks sending but keeps every message, so the last match's chat is still there in the next one.
  • With the console closed, new messages show for 5 seconds and fade over 1 second (showTime, fadeTime).

Text size

  • A size option in the mod's settings, for example Small / Medium / Large (or a slider), applied to both the open console and the fading messages.
  • Line wrapping and scrolling already measure with the font (font:getWrap, font:getHeight), so they should follow a bigger font, but the input line and window size need checking.
  • When DebugPlus is loaded its own console draws the text; we may only be able to size ours.

Old chat: options to decide between

Option Upside Downside
Clear the log when a new match is found Each match starts clean; simplest to explain Can't scroll back to what someone said last game (for a report, say)
Divider instead of clearing ("--- New match vs X ---") Keeps history, makes it clear what is old Old messages still fill the log
Hide old matches' messages, keep them in memory (show with a toggle or command, e.g. /history) Clean by default, nothing lost More to build and explain
Clear when leaving the lobby Matches the lobby lifecycle Same downside as clearing
A /clear command Player decides Doesn't help anyone who doesn't know about it

Open questions:

  • Default on or off? Which option is the default?
  • Should the fading on-screen messages (console closed) ever show a message from a previous match?
  • Reports: if a player wants to report chat from a finished match, does the server's copy cover that, so clearing the client log is safe?
  • Should the same setting cover system notices (yellow) or only player messages?
Linguagem predominante
Lua
Estrelas
10
Forks
8
Merge médio
1d 18h
PRs com merge (30d)
20

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de Balatro-Multiplayer/BalatroMultiplayerAPI

Todas as issues de Balatro-Multiplayer/BalatroMultiplayerAPI

Issues semelhantes

Mais issues de Lua

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.