- Resolve gameServerRegistry.json's null deep_link entries against the
live drop-db catalog (WoW, EverQuest, Among Us match real Game rows;
OpenDAoC and the Goldberg relay genuinely have none, left null and
documented why).
- Fix the "0 online now" panel bug: the community landing page's
persistent-world quick-strip was inferring presence from PlaySession
name-matching (presenceService.getServerPresence), which hardcodes
available=true even with zero matches -- always showing a fake "0"
for EQEmu instead of the honest unavailable state. Switched it to the
same probe-backed GameServer feed ServerStatusPanel already uses
(joined by the shared wow/eqemu/daoc slug), so known-zero and
count-unavailable never render the same.
- Header people icon now opens a friends flyout (list, incoming
requests with accept/decline, entry into chat with a friend) instead
of going nowhere, mirroring the existing notifications bell's
Menu/MenuButton/MenuItems pattern; badge shows pending request count.
Mobile sidebar links it straight to /community/friends.
- Community gets a hover submenu in the main nav (desktop) / inline
sublist (mobile) listing Friends, Chat, Devices, Mods, Servers,
Issues, Achievements.
- User dropdown menu gets a "Your profile" entry resolved from the
signed-in user's own username (/community/profile/<username>), not
hardcoded.
* feat: set lang in html head
* fix: add # in front of git ref
* fix: remove unused vars from example env
* fix: package name and license field
* fix: enable sourcemap for client and server
* fix: emojis not showing in prod
this is extremely cursed, but it works
* chore: refactor auth manager
* feat: disable invitations if simple auth disabled
* feat: add drop version to footer
* feat: translate auth endpoints
* chore: move oidc module
* feat: add weekly tasks
enabled object cleanup as weekly task
* feat: add timestamp to task log msgs
* feat: add guard to prevent invalid progress %
* fix: add missing global scope to i18n components
* feat: set base url for i18n
* feat: switch task log to json format
* ci: run ci on develop branch only
* fix: UserWidget text not updating #109
* fix: EXTERNAL_URL being computed at build
* feat: add basic language outlines for translation
* feat: add more english dialects
* fix: release workflow
* feat: move mostly to internal tasks system
* feat: migrate object clean to new task system
* fix: release not getting good base version
* chore: set version v0.3.0
* chore: style
* feat: basic task concurrency
* feat: temp pages to fill in page links
* feat: inital i18n support
* feat: localize store page
* chore: style
* fix: weblate doesn't like multifile thing
* fix: update nuxt
* feat: improved error logging
* fix: using old task api
* feat: basic translation docs
* feat: add i18n eslint plugin
* feat: translate store and auth pages
* feat: more translation progress
* feat: admin dash i18n progress
* feat: enable update check by default in prod
* fix: using wrong i18n keys
* fix: crash in library sources page
* feat: finish i18n work
* fix: missing i18n translations
* feat: use twemoji for emojis
* feat: sanatize object ids
* fix: EmojiText's alt text
* fix: UserWidget not using links
* feat: cache and auth for emoji api
* fix: add more missing translations