Only Gold is visible in the resource bar by default. Clicking the gold
display opens a dropdown showing Gold/s, Essence, Crystals, Runestones,
and Combat Power. An orange alert dot appears on the gold toggle when
Essence or Crystals are capped, so the player always knows to check
even with the panel closed.
isTrusted is false for click events in user agents, so the guard would
have blocked all legitimate user clicks. Client-side autoclicking also
has no meaningful server-side impact since gold is bounded by save syncs.
Adds fetchDiscordUserById (bot token) to the Discord service and calls it
in parallel with the DB queries on game load. When the returned hash
differs from the stored value the Player record is updated and the hash
is immediately synced into the returned game state, so the resource bar
always shows the player's current Discord avatar.
Also adds onError fallback: if the avatar URL is stale before the next
load, the resource bar component now derives the URL fresh from state on
every render rather than caching it.
Condenses the Donate, Discord, Support, View Profile, and Edit Profile
buttons into a single avatar image button. Clicking it opens a dropdown
menu with all five actions, significantly decluttering the resource bar.
Auto-boss was calling the boss API directly without first flushing
pending game state to the server. This inlines a saveGame call (using
refs, matching the existing auto-save pattern) before the challenge so
the server sees up-to-date state, consistent with the manual challenge
flow.