Skip to content

v1.6.3: fourth-review fixes (15 bugs + 5 polish, 22 new tests) - #1

Merged
rokogan merged 1 commit into
masterfrom
claude/pedantic-gould-130db7
May 9, 2026
Merged

v1.6.3: fourth-review fixes (15 bugs + 5 polish, 22 new tests)#1
rokogan merged 1 commit into
masterfrom
claude/pedantic-gould-130db7

Conversation

@rokogan

@rokogan rokogan commented May 9, 2026

Copy link
Copy Markdown
Contributor

Detection

  • ColorCodeDetector + ConvertColor: HSL accepts deg/rad/grad/turn (B1)
  • MathExprDetector: IsoDateShape requires 4-digit year so "1-2-3" parses (B2)
  • EmailDetector: relax TLD regex + MailAddress.TryCreate gate (B14)
  • UrlDetector: "www.x" with no TLD no longer classifies (B15)
  • Removed unused CodeSnippet detector + type + badge (B13)

Math

  • ^ is right-associative: 2^3^2 = 512 (B3)
  • Scientific notation: 1e10, 2.5e-3 (B4)

UI

  • Clipboard.SetText wrapped in try/catch with failure toast (B7)
  • ResultPopup.ShowAt setup-time exceptions logged instead of escaping (B8)
  • 64-bit-safe GetWindowLongPtr/SetWindowLongPtr (B6)
  • Debug.Assert dispatcher access in ShowNearCursor (I4)
  • ScreenHelper logs first DPI failure per session (I8)

Other

  • MyMemory langpair pipe URL-encoded (B5)
  • MouseHook event-handler catches now log instead of swallowing (B11)
  • Moved Delete/PastePlainText to TransformActions/ (B12)
  • UnitConverter: stale degree-sign comment replaced (B10)
  • SetAutoStart serialized to avoid registry races (I9)
  • README privacy section now lists QR + IP Lookup as browser-handoff (B9)

Tests

  • Color: HSL deg/rad/grad/turn + CSS4 space-form alpha round-trips (I7)
  • Math: right-associative ^, scientific notation, e-constant disambiguation
  • Detector: 1-2-3 arithmetic, sci-notation in expressions, www.x rejection, email leading-dot rejection, hyphen-TLD acceptance
  • New ResultPopupTests.cs: DetectSourceCurrency proximity rules (I6)

All 243 tests green. 0 build warnings on -warnaserror.

Detection
- ColorCodeDetector + ConvertColor: HSL accepts deg/rad/grad/turn (B1)
- MathExprDetector: IsoDateShape requires 4-digit year so "1-2-3" parses (B2)
- EmailDetector: relax TLD regex + MailAddress.TryCreate gate (B14)
- UrlDetector: "www.x" with no TLD no longer classifies (B15)
- Removed unused CodeSnippet detector + type + badge (B13)

Math
- ^ is right-associative: 2^3^2 = 512 (B3)
- Scientific notation: 1e10, 2.5e-3 (B4)

UI
- Clipboard.SetText wrapped in try/catch with failure toast (B7)
- ResultPopup.ShowAt setup-time exceptions logged instead of escaping (B8)
- 64-bit-safe GetWindowLongPtr/SetWindowLongPtr (B6)
- Debug.Assert dispatcher access in ShowNearCursor (I4)
- ScreenHelper logs first DPI failure per session (I8)

Other
- MyMemory langpair pipe URL-encoded (B5)
- MouseHook event-handler catches now log instead of swallowing (B11)
- Moved Delete/PastePlainText to TransformActions/ (B12)
- UnitConverter: stale degree-sign comment replaced (B10)
- SetAutoStart serialized to avoid registry races (I9)
- README privacy section now lists QR + IP Lookup as browser-handoff (B9)

Tests
- Color: HSL deg/rad/grad/turn + CSS4 space-form alpha round-trips (I7)
- Math: right-associative ^, scientific notation, e-constant disambiguation
- Detector: 1-2-3 arithmetic, sci-notation in expressions, www.x rejection,
  email leading-dot rejection, hyphen-TLD acceptance
- New ResultPopupTests.cs: DetectSourceCurrency proximity rules (I6)

All 243 tests green. 0 build warnings on -warnaserror.
@rokogan
rokogan merged commit bbc9f3c into master May 9, 2026
1 check passed
rokogan added a commit that referenced this pull request Jun 29, 2026
From an adversarial review of the v2.0.0 diff:
- TextCapture: only restore the clipboard if its sequence number still
  equals the one right after our copy — if a third party wrote in the
  meantime, they own it now; don't clobber them. [review #1]
- ResultPopup: broaden the online-lookup consent wording so it's accurate
  for custom "fetch" recipe actions (which send to their own host), not
  just the three built-in services. [review #6]
- SelectionTracker: claim the Ctrl+C debounce slot before the 100ms await
  so a rapid second Ctrl+C is dropped instead of double-firing. [review #2]
- MouseHook/KeyboardHook: null _hookThread in Uninstall so a later
  Install() isn't no-op'd by the non-null guard. [review #7]
- SettingsManager: prune stale IDs from AppHiddenActions too, dropping
  now-empty per-app entries. [review #13]

Release build clean; 289 tests pass.
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