Repository navigation
Fix Forever Wowhead tooltips, ruleset names, and Retail avatars - #38
Merged
Merged
Conversation
Forever gear uses Wowhead's Forever item path and dataEnv 16. Characters group and display under the ruleset name (for example PvP) instead of Unknown server, without writing the ruleset into realm. Additive migration 0063 seeds the official US and EU Forever rulesets and maps characters only when ruleset_id is still null. Under-10 Forever popups stay open with local data and a short Armory note. Retail cards, manager rows and the popup use the same character-media avatar and crop as Forever.
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.
Change
Fixes two live Forever bugs, plus the under-10 popup close, Retail avatar fallback, and Forever ruleset display/storage on the same branch.
Wowhead tooltips. Forever gear now uses Wowhead's Forever item path (
https://www.wowhead.com/forever/item=ID),data-wowheaddomain=forever, and netherdataEnv=16. Retail hover links stay on the live path (dataEnv=1). Verified with Forever-only item 284716 (Band of the Better Half):dataEnv=16returns 200,dataEnv=1returns 404.Ruleset is the server name. Forever has no realms (addon stores
realm="", profile hasrulesetand no realm object). View all and the manager now group under the ruleset name (for example PvP) instead of "Unknown server". The popup subtitle isPvP · Forever · US. List JSON exposesruleset;wow_characters.realmstays empty so Forever identity (AND realm='') is unchanged. Unmapped Forever characters group as "Forever", never "Unknown".Reference data. Additive migration
0063_wow_forever_rulesetsseeds the official US and EU list and adds nullablewow_characters.ruleset_idandbnet_characters.ruleset_blizzard_id. Mapping only fills a nullruleset_id(from the public profile for level 10+, or from the account listing on verify, which works under 10). No existing character or hour rows are rewritten.Seeded list, verified 11 November 2026 (AEDT) with client-credentials
GET /data/wow/ruleset/indexandGET /data/wow/ruleset/{id}underdynamic-forever-usanddynamic-forever-eu(en_US names). Realm and connected-realm indexes under those namespaces returned 404.Sources: Choose Your Ruleset in World of Warcraft: Forever; Battle.net Game Data ruleset index above. US IDs 4–14 and 16 returned 404. Hardcore is announced for after launch and is not in the index, so it is not seeded. KR and TW indexes contain only PvP (1) and Normal (2) and are not seeded here.
Captured profile for Lucrona Ashborne (1119743) also carries
ruleset: {id: 1, name: "PvP"}.Under-10 popup. Lucroena Ashborne (level 4) no longer opens and immediately closes. The public Forever profile is a 404 below level 10 (same public-profile gate as Retail); the official Armory URL returned HTTP 500 for that character (200 for level-18 Lucrona Ashborne). The popup now stays open with local data, hides View on Armory, and shows a short note: "The Armory doesn't list this character yet." A later transient Blizzard error keeps the last good full cache.
Retail avatars. Public Retail cards for Lucrona and Lucroena on Frostmourne were falling back to the Dracthyr race icon (
ability_racial_wingbuffet, the generic dragon). Cards, View all, manager rows and the popup now use the same character-mediaavatarasset, 64px popup header, andobject-fit: cover/object-position: center 20%crop as Forever. The avatar endpoint works for both versions (Forever still gated byBNET_FOREVER_LOOKUP).Data safety
Migration 0063 is additive only: a seed-only reference table, nullable FKs, and a partial index. No backfill, no hour changes, no identity rewrites, and
realmis never set to a ruleset name. Base:389388c4from latest wow-played.Validation
cargo fmt --all -- --check: passed.cargo clippy -p fraglink-server -p fraglink-core -p fraglink-sync --all-targets -- -D warnings: passed. Box cannot build desktop (missing webkit/pkg-config); Linux CI covers the whole workspace including desktop.apps/site-web/tests/wow-*.cjs): 23 passed, including Forever Wowhead path/domain/dataEnv=16, Retail path unchanged, ruleset grouping (never "Unknown server"), under-10 Armory note, and shared avatar crop.cargo test -p fraglink-server -p fraglink-core -p fraglink-sync -- --test-threads=2against box-only Postgres: all passed (core 110 passed / 1 ignored; server lib and integration suites includingwow_forever_rulesetsand wowchar; sync 8 passed). Linux CI runs whole-workspace tests; Windows CI covers its platform paths.No merge, deployment or live flag changes performed.