Offer the Bridge plugin where an operator actually looks (#118) - #123
Merged
Conversation
On a Paper server with no bridge jar, neither the app nor the panel offered to install one. The offer existed — in the live map's empty state, which turns out to be the one place it cannot do its job. That state renders only when there are **no players to draw**. A server with people on it and no bridge showed an empty-looking map, no explanation and no button, because `mapDraw` returns before the empty state on any frame with markers. It also required opening the map tab at all: `bridgeStatus` was fetched by `mapStart()` and nowhere else, so an operator who never went there was never told that half the features were switched off for want of a 6 KB jar. The desktop gets a `BridgeNotice` component, shown above the live map **and** in the Plugins/Mods view — it is a plugin, and a missing plugin belongs in the list of plugins. The panel gets the same banner outside the tab panels entirely, so it is visible on console, stats, timeline or anywhere else, fetched once when a server is opened rather than once per map visit. It also says what the jar unlocks. "Install MSMS-Bridge" is not a reason to click anything; "true TPS, live positions and the world map need this, and it reports over the server console so no extra port is opened" is. The map's empty state keeps only the part that is genuinely about the map — why the canvas is blank, and the note that this server type cannot run the plugin at all. Asserted on the case the old placement could not reach: a supported server with a jar available renders the banner, it says both what is missing and why it matters, and every state nobody can act on — current, unsupported, or missing with nothing to install — renders nothing, because a permanent banner is noise.
…tween servers I placed the panel notice among the tab panels. Those are siblings, so it rendered below the console on the console tab and at the top on every other one — a banner that moves depending on where you are is worse than one that is always in the same place. It sits above the tabs now, next to the server header it belongs to. The install result also outlived its server: switching servers left "Installed 1.0.0. Restart the server to load it." sitting under the new server's notice, attributing one server's outcome to another. loadBridgeNotice clears it, and the install path writes the message after that call rather than before.
Owner
Author
|
Self-review: put the banner in one place, and don't carry a result between servers I placed the panel notice among the tab panels. Those are siblings, so it The install result also outlived its server: switching servers left "Installed |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Offer the Bridge plugin where an operator actually looks (#118)
On a Paper server with no bridge jar, neither the app nor the panel offered to
install one. The offer existed — in the live map's empty state, which turns out
to be the one place it cannot do its job.
That state renders only when there are no players to draw. A server with
people on it and no bridge showed an empty-looking map, no explanation and no
button, because
mapDrawreturns before the empty state on any frame withmarkers. It also required opening the map tab at all:
bridgeStatuswas fetchedby
mapStart()and nowhere else, so an operator who never went there was nevertold that half the features were switched off for want of a 6 KB jar.
The desktop gets a
BridgeNoticecomponent, shown above the live map and inthe Plugins/Mods view — it is a plugin, and a missing plugin belongs in the list
of plugins. The panel gets the same banner outside the tab panels entirely, so
it is visible on console, stats, timeline or anywhere else, fetched once when a
server is opened rather than once per map visit.
It also says what the jar unlocks. "Install MSMS-Bridge" is not a reason to
click anything; "true TPS, live positions and the world map need this, and it
reports over the server console so no extra port is opened" is.
The map's empty state keeps only the part that is genuinely about the map — why
the canvas is blank, and the note that this server type cannot run the plugin at
all.
Asserted on the case the old placement could not reach: a supported server with
a jar available renders the banner, it says both what is missing and why it
matters, and every state nobody can act on — current, unsupported, or missing
with nothing to install — renders nothing, because a permanent banner is noise.