Skip to content

Report a problem with the guide (v1.8.0): the flag, the window, the text for GitHub - #60

Merged
moust4ki merged 8 commits into
mainfrom
claude/bug-report-3111c3
Oct 15, 2026
Merged

moust4ki merged 8 commits into
mainfrom
claude/bug-report-3111c3

Conversation

@moust4ki

Copy link
Copy Markdown
Owner

For v1.8.0. Players can send precise problem reports that the authors read on GitHub issues.

What the player sees

  • An orange flag in the guide window's title bar, right beside the NPC directory's pin. Its
    tooltip says "Problem with this step?" and, below, "Tell the people who make the guide: Ding!
    writes the report for you." The orange fill is a new theme token (report / onReport) in
    each of the four themes. The flag is at least 6.5:1 on its fill, and the fill at least 6.5:1
    on the window. The fill is unlike each theme's accent. The color never carries the meaning
    alone. The button is icon only: a word on it would cut the guide's title at the window's usual
    width.

  • Other ways in: in focus mode, up from the first row reaches the pin, then the flag (or Left
    / Right between the two); A opens it. There is a key binding "Report a problem with the guide"
    (DING_REPORT, in Bindings.xml and the Keybinds tab, chord-able like the others) and
    /ding bug (also /ding report), listed in /ding help in all 8 languages and in the README.

  • The window "Ding! · Report a problem with the guide" (a Ding dialog, DingPadInput
    navigation) shows in plain words what the report will contain, before anything is made:

    • the guide, the step ("Step 19 / 161") and its index in the guide's file, its summary;
    • where you are, your character;
    • the quests with their counters ("and 2 more");
    • what the arrow points at, the route settings, the versions;
    • "Never your character's name, your realm or your account."
  • What went wrong: four ready reasons with a radio ring: "The NPC is not there", "The arrow
    points to the wrong place", "The quest is not offered", "Something else". With a gamepad, A
    picks one and the focus moves to "Create the text". "In your words (optional)" is a box. With
    a keyboard it takes the focus at once, but never from the chat: after /ding bug typed in the
    chat, it waits and says so (same fix as the export popup, Import window: never take the keyboard from the game's chat (the "AddOn blocked" popup on /ding export) #20).

  • "Create the text", in the order the player goes:

    1. the address of the GitHub form, shown whole and selected first;
    2. the report, in a read-only box.

    "Select the link" and "Select the text" (Y) each select their box. A line says Ctrl+C copies
    and that an addon cannot write the clipboard. Each control shows one gamepad glyph: A on the
    focused one, Y back on "Select the text" once the focus leaves.

  • Kept reports: Ding keeps the last 20 reports in DingDB.reports. They are not a setting,
    so "Restore all defaults" keeps them. The window tells a player without a keyboard where the
    file is (WTF\Account\<account>\SavedVariables\Ding.lua).

The text (GitHub Markdown, English labels, the player's words as typed)

Ding! report: Step 2/24 of Shadowglen (1-6): The NPC is not there

**What went wrong:** The NPC is not there

**In the player's words:**
> Ilthalaine is not next to the moonwell.

### Guide
- Pack: Ding! - Zones (`ding-zones`)
- Section: Shadowglen (1-6) (`nightelf-01-shadowglen`)
- Step: 2 / 24, index 2 of 24 in the guide's file
- Summary: Complete The Balance of Nature
- Keys: `{ complete = 456 }`

### Player
- Map: Teldrassil, UiMap 1438
- Position: 58.7, 44.3
- Level 3 NightElf HUNTER, Alliance

### Quests
- [456] The Balance of Nature, level 2: in the log (this step)
  - Young Nightsaber slain: 3/7 (3/7)
  - Young Thistle Boar slain: 0/1 (0/1)
- [458] The Woodland Protector, level 1: ready to turn in (step 4)

### Arrow
- Points to: Young Thistle Boar, NPC 1984 at 59.0, 44.4, UiMap 1438 (Teldrassil), 15 yards away
- Candidate points for this step: 49

### Settings
- Route: elites off, dungeons off, hearth on, deathSkip off, skipGrey off, serviceSteps on, trainerSteps on, flightSteps on
- Theme: halo; TomTom: off

### Client
- Ding! 1.8.0, locale frFR, game 1.60.x (build)
- 2026-10-15 13:53 UTC

The first line can be the issue's title. Quest names are in English, plus the client's name when
it differs. The step's keys are written as a guide writes them (Import:StepText, without
text, note or why).

In the repository

  • .github/ISSUE_TEMPLATE/ding-report.yml: an issue form with "Paste the text Ding made here"
    (required) and "What happened?" (optional). There is no config.yml, so blank issues stay
    allowed. The link opens the form once this is on main.
  • New code: Ding/Core/Report.lua (the facts, the text, the kept reports) and
    Ding/UI/Report.lua (the window). The flag is added in Panel.lua. New helpers:
    Data:QuestEnglishName, Import:StepText, GuideText.Write { inline = true }.
  • Texts: all new texts in the 8 languages. README has a "Report a problem" section.
  • Docs: SPEC, architecture, UI handoff and UI themes.
  • CHANGELOG has the ## v1.8.0 entry.

Tests

  • report_test (15 tests): the flag beside the pin, its look in every theme (fill, ink,
    contrast, focus ring) and its tooltip; the focus order; the binding, the chord, the Keybinds
    row, /ding bug and /ding help; the parts in plain words; the text (step, position,
    objectives with counters, comment, title line; no character name, realm or raw |); the
    reasons with a gamepad; the chat keeping the keyboard; mouse versus gamepad chips; the 20 kept
    reports; no guide or no position; combat; the GitHub address's width read from the shipped
    Noto Sans metrics; no "bug" in any player-facing report text.
  • dialog_layout_test: both pages in every language, gamepad and mouse: nothing overlaps,
    nothing leaves the window.
  • single_action_test: each action shows once with one glyph per control, at every stop, under
    the mouse, in every language.
  • Smoke: a gamepad-only scenario (flag, reason, Create, text checked, kept, B closes).
  • Mock: GetBuildInfo, GetRealmName, H.player.name.

Full suite tools/check_all.sh on a clean QuestieDB v1.0.6 export, with origin/main (v1.7.1)
merged in: ALL GREEN (83 unit test files, 12 smoke runs, 0 problems).

To check in game

  • The flag in each theme.
  • /ding bug from the chat with the gamepad interface on: no "AddOn blocked" popup.
  • Ctrl+C from both boxes.
  • DingDB.reports in the SavedVariables file after /reload.

🤖 Generated with Claude Code

moust4ki and others added 8 commits October 15, 2026 16:13
The guide window's flag (beside the NPC directory's pin, reached up from the
pin in focus mode), the DING_REPORT binding and its chord, and /ding bug open
a Ding window that shows in plain words what the report will contain: the
guide, the step as the window numbers it and its index in the guide's file,
its summary and keys, the position, the character, the step's quests and the
log's quests the next 3 steps name with their counters, the arrow's target,
the route settings, the theme, TomTom, the versions and the date (UTC). Never
the character's name, the realm or the account.

Four ready reasons for a gamepad, the player's words with a keyboard (the box
never takes the keyboard from the chat), then "Create the text": GitHub
Markdown with English labels, selected for Ctrl+C, with the issue form's link.
The last 20 reports stay in DingDB.reports ("Restore all defaults" keeps
them) for a player who can only send the file.

Tests: report_test, the report window in dialog_layout_test and
single_action_test (every language, gamepad and mouse), a smoke scenario
with the gamepad alone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
.github/ISSUE_TEMPLATE/ding-report.yml: "Paste the text Ding made here" and
"What happened?". README: the feature, /ding bug and how to report a
problem. CHANGELOG: the v1.8.0 entry. SPEC, architecture and UI handoff:
the window, the text, DingDB.reports, the flag in focus mode.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Yendi: players must notice the button and feel invited to press it, and it
must read as a problem with the guide, not a technical bug report. The flag
now sits on a warm fill of its own in every theme (tokens report and
onReport: Halo and Ardoise #FF6A3D, Bandes #FF7A50, Ding dark #FF7043; the
flag at 6.5:1 or more on it, the fill at 6.5:1 or more on the window, unlike
the accent), a lighter veil under the mouse, its tooltip in words: "Problem
with this step?" and a line under it. The window's title and the binding:
"Report a problem with the guide". No player-facing text says "bug" (the
/ding bug command apart). Icon only: a word on it would cut the guide's
title at the window's usual widths.

Tests: every theme's fill, ink, contrast and focus ring; the tooltip; no
"bug" in the report texts of the 8 languages.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Yendi, in game: the address first ("1. Open this address on GitHub:"),
selected first with its button on the left, then the text ("2. Copy this
text and paste it into the report:"), then how to copy and where the
reports are kept. The address was cut in its box ("...ding-repor"): 475
units in Noto Sans at 11 for a 488-unit box. It is now in 10 (432) and the
window is 560 wide like the import window (a 528-unit box).

Tests: the order, the buttons' order and chips, the address's width read
from the shipped font's own metrics.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s leaves

Yendi, in game: the focused "Select the text" showed "A Y Select the text".
A focused button now carries A alone; its own key (Y) comes back once the
focus leaves, and still works meanwhile. Each button keeps room for the
wider of the two chips, so nothing moves with the focus.

single_action_test: no control of the report window shows two glyphs, at
every stop, under the mouse, in every language; report_test: the chips and
the width of "Select the text" focused and not.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ayer" is a heading)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@moust4ki moust4ki mentioned this pull request Oct 15, 2026
@moust4ki
moust4ki merged commit 63c868c into main Oct 15, 2026
3 checks passed
@moust4ki moust4ki mentioned this pull request Oct 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant