Skip to content

v2.2.7

Choose a tag to compare

@github-actions github-actions released this 18 May 09:32

Fixed

  • Three high-DPI / dark-mode issues from real-world v2.2.6 use, all in the Settings dialog. v2.2.6 tried to fix the hint-label clip and footer collision with MaximumSize wrap + a cascade-hide guard; at 125% DPI the guard kept hiding "Check for updates" and the hint kept clipping. v2.2.7 replaces both indirect fixes with structural ones, and adds the dark-mode icon-button visibility fix that surfaced in the same report.
    • "Toggle Mute: mutes / unmutes your mic. In Push-to-Talk mode, hold to talk." clipping mid-word at 125% DPI. v2.2.6 relied on MaximumSize-driven wrap, but under the combination of Per-Monitor-V2 DPI scaling + Windows accessibility text-size override, the AutoSize measurement and the MaximumSize scaling diverge — the label measured as fitting on one line at the form's CurrentAutoScaleDimensions but rendered wider than the dialog at draw time. v2.2.7 puts a literal \n between the two sentences in the source string. The wrap is now in the data, not the layout pass, so no measurement quirk can defeat it. Same shape would help the Deafen hint if it ever grows; today its single sentence still fits.
    • "Check for updates" link disappearing entirely at 125% DPI. Root cause was the v2.2.4 cascade-hide guard: if (lnkUpdate.Right > btnOK.Left - BtnGap) lnkUpdate.Visible = false;. lnkUpdate.Right was measured at live-monitor DPI (AutoSize LinkLabel) while btnOK.Left was design-space (96-DPI constant). At 125% DPI the mixed coordinate system made the link measure as overlapping the buttons when it wasn't, and the guard hid it. v2.2.7 restructures the footer: the GitHub / Help / Check-for-updates links now sit on their own row ABOVE the action buttons. With separate horizontal axes for the two groups, collision is impossible regardless of DPI or accessibility text-scaling, and the hide guard is removed (no longer needed).
    • Dark-mode × clear buttons (4 of them — Toggle hotkey, Deafen hotkey, Mute sound, Unmute sound) borderless and near-illegible. Two issues compounded in dark mode:
      • The button border used Theme.DividerColor (#404050) against form Bg #1E1E2E — only a 30-unit channel jump, below the threshold where the eye picks out a 1px outline at typical viewing distance. The 22×23 button looked like a floating glyph with no enclosing rectangle. Added Theme.IconButtonBorder (an 80-unit jump in dark mode via FgDisabled #808095; light mode keeps the Divider grey since the white form Bg + dark glyph already give the control a strong silhouette).
      • The disabled glyph (Deafen empty by default + custom files unset by default = 3 of the 4 buttons disabled on a fresh install) used FlatStyle.Flat's built-in disabled renderer, which falls back to a system grey near-invisible on the dark Mocha Bg. Added a Paint event handler in MakeIconButton that repaints the disabled glyph in Theme.FgDisabledColor so the × stays readable in both palettes. Enabled-state rendering already used Theme.FgColor and looked fine.
      • Also changed the button BackColor from form Bg to EditBg so each × visually integrates with its adjacent TextBox as part of a single input strip, instead of reading as a disconnected button floating on the form background.

Full Changelog: v2.2.6...v2.2.7