Repository navigation
Open WoW Forever /played imports - #26
Merged
Merged
Conversation
The addon records Forever as first name and surname, and quarantines a beta or unconfirmed client instead of guessing. The server stores those characters without writing an imported game total, so tracked Forever sessions are not added to /played. Co-authored-by: Lucrona <Lucrona@users.noreply.github.com>
Accepted Forever characters count on wow_forever only. Display still keeps the higher of tracked time and the imported total plus play after the snapshot, so the two lifetimes are not added. An older import row with no stored inputs no longer fails the total. Co-authored-by: Lucrona <Lucrona@users.noreply.github.com>
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.
Do not merge yet. PR 24 stays the parked design reference.
Forever /played can be uploaded from the addon file. Retail uploads keep their current checks. An accepted Forever upload writes an imported total the same way Retail does, on
wow_foreveronly. It does not write Retail orwow_forever_beta.Shown hours, for both games, are the higher of app-tracked time and the latest imported total plus menu time
/playedmissed (carry_min) plus tracked play after that snapshot. Lifetime tracked time and lifetime/playedare not added together. A duplicate Forever snapshot does not add another total. A lower total is rejected and the stored value stays. Beta and ambiguous files stay quarantined.The addon is 1.1.0. Retail still uses realm, name, and signature version 1 files. A Forever client records
WOW_PROJECT_ID, the build, and whetherIsBetaBuild,IsPublicTestClient, orIsTestBuildcould be asked. Live Forever is project 18, those APIs present, and all of them false, with a first name and a surname and no realm. A beta/test client, or a project 18 client whose beta APIs are missing, is quarantined. Interface 16001 is not treated as proof._Forever.tocand_Camelot.tocare Interface 16001.The website Forever radio is on. A Retail-shaped file sent as Forever is quarantined and creates no character. A new surname is a second character; the old row stays. Hiding and showing the row does not change
/played. Forever characters are not verified, but an accepted one still counts in the Forever imported total.BNET_FOREVER_ACCOUNTandBNET_FOREVER_LOOKUPare off. Turning lookup on later usesprofile-forever-{region}and/profile/wow/character/{first}-{surname}, keeps the last good profile fields, and does not delete a character or any hours on a miss.An older imported row with empty
inputsno longer makes the total crash.Migration
0056_wow_forever_imports.sqladds nullable columns onwow_characters(flavour,project_id,client_build,first_name,surname) and creates emptywow_played_quarantine. Existing rows are not updated or deleted. There is no change tosessionsorsteam_playtime.No Battle.net credentials were available here, so these calls were not made. Before either flag is turned on, the deploy worker should record, from this server, the HTTP status and JSON shape of:
GET https://{region}.api.blizzard.com/data/wow/ruleset/index?namespace=static-forever-{region}GET https://{region}.api.blizzard.com/profile/wow/character/{first}-{surname}?namespace=profile-forever-{region}&locale=en_USfor one public Forever characterGET https://{region}.api.blizzard.com/profile/user/wow?namespace=profile-forever-{region}&locale=en_USwith a user token that haswow.profileLeave both flags off until those responses show the expected namespace and a first-surname character. Live addon QA still needs a Forever client in game.
The compact public profile panel is not in this pull request.
Checks before this push:
cargo fmt --all,cargo clippy --workspace --all-targets -- -D warnings, andcargo test --workspacepassed. Head4af682d. No installer was built.