Skip to content

feat(velocity): give party messages colour, clickable help and open translations - #18

Merged
TheMeinerLP merged 1 commit into
mainfrom
feat/polish-plugin-messages
Oct 28, 2026
Merged

TheMeinerLP merged 1 commit into
mainfrom
feat/polish-plugin-messages

Conversation

@TheMeinerLP

Copy link
Copy Markdown
Contributor

Proposed changes

The first real test of Quelea on the team proxy worked end to end: create, invite, a click on [Accept], and following the leader into Bounce. But the messages felt flat. /party printed a grey wall of text, nothing could be clicked, success and failure looked alike, and several actions answered twice ("Party created." plus "TheMeinerLP created the party.", or "You joined the party." two times).

Now every message follows one palette: the brand gradient for the prefix and headers, green for success, red for problems, amber for hints, and a gold ★ for the leader. Each /party help line can be clicked, which puts the command into the chat input, and hovering explains it. [Accept] and [Deny] explain themselves on hover. Party chat has its own coloured line.

The player who runs a command reads only the command's answer. The event that follows notifies the other members, not the actor again. This covers create, accept, deny, leave, kick, promote, and a disband by the leader. Clicking an old [Accept] after joining now says "You are already in this party." instead of "no pending invites".

Translations are no longer locked in the jar. The plugin chooses the bundle by client language and country (de_AT → de → en). Operators can drop messages_<tag>.properties into plugins/quelea/lang/ in the proxy template to add a language or recolour a single message. Missing keys and templates that fail to parse fall back to English, with one log line.

Implements the OpenSpec change polish-plugin-messages.

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation Update (if none of the other choices apply)

Checklist

  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation (if appropriate)

Further comments

Plugin only: 117 tests green (./gradlew :velocity:test). The .self variants of joined, denied and left were dropped because the actor no longer receives those events. A disband caused by the last member leaving still tells the leaver that the party ended, which is intended. Redirecting normal chat into the party with @ is out of scope and needs SignedVelocity plus a Minestom backend part.

@github-actions

Copy link
Copy Markdown
Contributor

Test results

102 files  102 suites   1m 3s ⏱️
387 tests 387 ✅  0 💤 0 ❌
774 runs  737 ✅ 37 💤 0 ❌

Results for commit fdf50da.

@TheMeinerLP
TheMeinerLP merged commit f3c89e2 into main Oct 28, 2026
11 of 12 checks passed
@TheMeinerLP
TheMeinerLP deleted the feat/polish-plugin-messages branch October 28, 2026 21:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant