You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
domain available/domain suggest parsed pricing but never read the API's inventory/fees fields, so a premium domain's one-time acquisition surcharge (e.g. an Afternic fast-transfer domain) was invisible until quote time.
domain quote already computed inventory/fees correctly, but they were missing from default_fields — which cli-engine projects every default output (human table and default --output json alike) down to. Same masking bug previously fixed for renewalPrice (GDDEVPLAT-133). Even a genuine premium quote showed only the base registration price, silently omitting a surcharge that can run into the thousands of dollars.
Shares the existing fees_to_json helper (moved from quote into domain::common) across all three commands.
(Refined during review) domain suggest's human table had no columns for fees1Year/fees2Year either — added, so the surcharge is visible there too, not just in --output json. Also corrected the inventory field's schema comment across all three commands: it's present whenever the API returns an inventory source at all (REGISTRY/REGISTRY_PREMIUM/PREMIUM), not only for premium domains.
Test plan
cargo check --workspace
cargo clippy --workspace -- -D warnings
cargo test --workspace (976 passed)
cargo fmt --check
./rust/scripts/check-module-size.sh
Verified live against a real premium domain (bingoboard.com): before the fix, gddy domain quote/domain available showed only the $22.99 base price; after the fix, both surface the $3,500.00 ONE_TIME_PREMIUM_DOMAIN_PURCHASE fee and inventory: PREMIUM, in both human and JSON output.
`domain available` and `domain suggest` parsed pricing but never read
the API's `inventory`/`fees` fields, so a premium domain's one-time
acquisition surcharge (e.g. an Afternic fast-transfer domain) was
completely invisible until `quote` time.
`domain quote` already computed `inventory`/`fees` correctly, but they
were missing from `default_fields`, which `cli-engine` projects every
default output (human table and default `--output json` alike) down
to — the same masking bug previously fixed for `renewalPrice`
(GDDEVPLAT-133). So even a genuine premium quote showed only the base
registration price, silently omitting a surcharge that can run into
the thousands of dollars.
Shares the existing `fees_to_json` helper (moved from `quote` into
`domain::common`) across all three commands.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
`fees1Year`/`fees2Year` were emitted into JSON but had no
corresponding view_columns() entry, so the human table silently
dropped a premium suggestion's surcharge even though `--output json`
carried it.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This description is narrower than the value emitted by the handler and the API contract: body.inventory is copied for every returned inventory type, including ordinary REGISTRY (and REGISTRY_PREMIUM), not only premium domains. Since this comment is exposed as output/schema guidance, please describe the three possible inventory values accurately.
Clarify inventory is not premium-only
rust/src/domain/suggest.rs:33
This says inventory is only present for premium suggestions, but suggestion_to_json emits any API inventory value and the API includes ordinary REGISTRY suggestions. The schema/help comment should match the actual output rather than implying this field is absent for standard domains.
`inventory` is present whenever the API returns an inventory source
at all — REGISTRY, REGISTRY_PREMIUM, or PREMIUM — not only for
premium domains. The prior wording implied the field itself was
absent for an ordinary domain, when only the surcharge is.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Fixed in 859a8e4: addressed the two "Previously missed" findings from Copilot's review body (no separate resolvable thread existed for these):
available.rs/suggest.rs/quote.rs: corrected the inventory field's schema comment — it's present whenever the API returns an inventory source at all (REGISTRY, REGISTRY_PREMIUM, or PREMIUM), not only for premium domains. Only the latter two carry a surcharge, in fees. Fixed quote.rs's pre-existing comment too, for consistency, since it had the same inaccuracy and I was already touching the file.
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
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.
Summary
domain available/domain suggestparsed pricing but never read the API'sinventory/feesfields, so a premium domain's one-time acquisition surcharge (e.g. an Afternic fast-transfer domain) was invisible untilquotetime.domain quotealready computedinventory/feescorrectly, but they were missing fromdefault_fields— whichcli-engineprojects every default output (human table and default--output jsonalike) down to. Same masking bug previously fixed forrenewalPrice(GDDEVPLAT-133). Even a genuine premium quote showed only the base registration price, silently omitting a surcharge that can run into the thousands of dollars.fees_to_jsonhelper (moved fromquoteintodomain::common) across all three commands.domain suggest's human table had no columns forfees1Year/fees2Yeareither — added, so the surcharge is visible there too, not just in--output json. Also corrected theinventoryfield's schema comment across all three commands: it's present whenever the API returns an inventory source at all (REGISTRY/REGISTRY_PREMIUM/PREMIUM), not only for premium domains.Test plan
cargo check --workspacecargo clippy --workspace -- -D warningscargo test --workspace(976 passed)cargo fmt --check./rust/scripts/check-module-size.shbingoboard.com): before the fix,gddy domain quote/domain availableshowed only the $22.99 base price; after the fix, both surface the $3,500.00ONE_TIME_PREMIUM_DOMAIN_PURCHASEfee andinventory: PREMIUM, in both human and JSON output.🤖 Generated with Claude Code