Dante Troubleshooter

What's new.

Every release, straight from the source. No marketing gloss — what shipped, what got fixed.

v0.4.0

Added

  • The update toast now has a "What's new in vN.N.N" expander showing the release notes for the version you're about to install
  • App version number displayed under the sidebar credit ("Made by Brandon Lopez")
  • Yamaha I/O rack knowledge base ("Can't see Dante devices" → no-devices screen), covering the whole Tio/Rio/Ri family:
  • Generation split first: Tio1608-D and older Rio3224-D / Rio1608-D / Ri8-D are configured by physical DIP switches, while the newer Rio-D2/D3 racks have NO functional rear DIPs (unassigned "future expansion") — their UNIT ID lives in the front-panel SETUP menu
  • Full Tio1608-D switch map: unit ID, initialize, SECONDARY port mode (redundant vs daisy-chain), control-IP mode, refresh/resume startup
  • The power-off rule: DIPs are read only at power-on; changes made while running are silently ignored
  • Quick Config trap: auto-patch mode forces daisy-chain wiring — redundancy requires QC OFF + DIP 4 down
  • Older Rio/Ri: rear DIP bank + front UNIT ID rotary interaction, INITIALIZE dip, leftover-tour-ID diagnosis, static-IP workflow via R Remote/Dante Controller
  • Yamaha consoles patch Dante directly on the board ("Routing and audio problems" → downstream screen): CL/QL/DM/TF PATCH pages assign DANTE ports like local I/O — check input patch before blaming the network; scope caveat for device-to-device routes; TF + Tio Quick Config patches follow the rack's unit ID
  • Clock-sync Yamaha note: Tio1608-D boot personality (refresh vs resume) explains racks waking with stale head-amp gains/patch
  • Windows guidance throughout the troubleshooting flows: firewall and static-IP screens now cover Windows paths (Defender allow-rules, Public-network classification trap), DVS microphone-permission steps cover both OSes, and Mac-specific copy is now platform-neutral

Fixed

  • Update toast no longer fights you: dismissing it during a download sticks; failed downloads show a retryable error instead of vanishing or hanging at "Downloading…"
  • Vendor identification on macOS fixed: ARP MAC addresses are zero-padded before OUI lookup, so vendors (Yamaha, Shure, Audinate…) display correctly for adapters like 4:11:22:…
  • Ping parsing on Windows survives locales that translate "TTL"; clicking during a slow check can no longer corrupt results or navigation
  • A stale saved interface (unplugged adapter, changed network) is cleared on Dashboard refresh instead of silently pinging dead addresses
  • Scenario picker shows a loading state instead of a blank grid while scenarios load

Changed

  • Troubleshooting scenarios now load on demand when opened from the picker — smaller app bundle, faster startup
  • Hardened app shell: external links restricted to known URLs, in-window navigation locked down, malformed mDNS traffic can't take the main process down

v0.3.0

Added

  • Windows support: first official Windows installer (x64 NSIS, assisted setup with configurable install directory, per-user install). All core diagnostics were rewired behind per-platform service modules — ping parsing now tolerates localized ping output, ARP table parsing handles multi-interface output and dashed MAC normalization, interfaces/gateway detection reads route print with junk-adapter filtering, and the subnet scanner runs through platform-dispatched ping/ARP
  • Automatic updates (macOS): the app now checks GitHub's release feed ~5 seconds after launch using electron-updater. When a new version exists, a toast offers an in-app download with progress percentage, then restart-to-apply. Background check failures stay silent so offline users aren't nagged; manual retries surface errors. Disabled entirely in dev/unpackaged runs
  • Update plumbing exposed to the UI over sandbox-safe IPC (update:check / update:download / update:install / status events), with differential ("delta") downloads enabled by uploading .blockmap files alongside each zip

Changed

  • Release pipeline: mac DMG/zip artifacts renamed to stable per-arch names (Dante-Troubleshooter-mac-arm64.zip, etc.) so update metadata (latest-mac.yml) stays consistent between releases; publishing now also uploads the zips, blockmaps, and update metadata to each release automatically (scripts/publish-updates.sh)

v0.2.0

Added

  • Intel Mac support: releases now ship both Apple silicon (arm64) and Intel (x64) DMGs built separately (no universal binary), published together under one release with stable per-arch download permalinks so old download links never break
  • Per-screen sources field in scenario JSON: renders as a collapsed "Sources" footer on any troubleshooting screen, letting screens cite Audinate docs/vendor manuals inline. Sources accumulate across the session and are appended to Copy Report output (deduplicated), so tickets include the references the user actually saw. lint:content validates the shape and rejects non-http(s) URLs

v0.1.1

Added

  • Switch knowledge base on the "Switch configuration" screen, expanding the IGMP/querier guidance with per-manufacturer field notes:
  • Netgear — model-suffix trap (not every "smart" model does real IGMP snooping) and Block Unknown Multicast setting
  • Cisco — Small Business vs Catalyst configuration paths and DSCP trust behavior on uplinks
  • UniFi — full Dante-appropriate settings require Pro-series gear; lower tiers silently lack the needed controls
  • Yamaha — SWP1 series purpose-built DIP-switch "Dante preset" (QoS/multicast preconfigured)
  • Luminex — GigaCore Dante profiles and PTP filtering defaults
  • Q-SYS — core/peripheral switching guidance for Dante networks
  • Device knowledge base on the discovery screen: Midas / Behringer (DN32-Dante card gotchas) and Shure (port strictness at 100 Mbps/EEE, AES256 encryption mismatch masquerading as dead devices)

v0.1.0

Added

  • macOS builds are now signed and notarized by Apple — first launch opens normally instead of requiring the right-click → Open workaround
  • Sidebar credit ("Made by Brandon Lopez") linking to the developer site
  • Tip link at the end of every session report
  • Links now open in your default browser instead of inside the app