The Setup Guide tells a user whose rule is on and refused to switch one on

Closed Beginner friendly
#213 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

A pull request for this has already been merged.

  • #233 by @JWhite212 — merged

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
67/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
macos, swift

Research direction

Start with SetupText.swift:555 and :746 to trace how the first-rule step and rule counts produce the misleading message. For .loadedWithProblems and .notReloaded(.everyRuleRefused), use the proposed separate sentence directing users to Edit Rules… to see why. Update the sanctioned assertion in FirstRuleWayOnTests.swift:52-56 and check the wording against SetupTextTests; done means the affected cases show the new sentence and the other cases stay unchanged.

Written by the indexing model from the issue text.

Description

bug

Audit row: B30, Defects (added by #193). Line numbers are those of 4553590. Owner decision: the fix changes what a test asserts.

What is wrong. A user whose only rule is on, sounds, and is refused (for example, a blank final Shortcut name) is told by the Setup Guide's first-rule step: "You have rules, and none is switched on and makes a sound or speaks. Choose Edit Rules… to switch one on and give it a sound, or make another." The rule is on and does make a sound. firstRuleHasRules (SetupText.swift:555) is shown when hasRules counts refused rules (:746), while "makes a sound" counts only rules in effect. The status line above it is right.

Options

  1. (Recommended) For .loadedWithProblems and .notReloaded(.everyRuleRefused) the step says a sentence of its own: that the rules that are on could not be used, and Edit Rules… shows why. The sanctioned test edit is FirstRuleWayOnTests.swift:52-56, whose loop asserts firstRuleHasRules for .loadedWithProblems; that status would assert the new sentence. :58-60 (the sentence's own words) and every other case stay.
  2. Leave it.

Pins: grep -rn 'firstRuleHasRules' Tests | wc -l → 4; SetupTextTests checks every step's words, so the new sentence must pass those checks.

Hold: not merged before v1.1.0 is tagged (owner, 2026-11-06).

Prevention: Guard added: the edited assertion.

Size: S.

Dominant language
Swift
Stars
2
Forks
0
Avg merge
1h 7m
Merged PRs (30d)
152

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from JWhite212/SignalLadder

All issues in JWhite212/SignalLadder

Similar issues

More Swift issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.