Closed general

ADDevelop build reads as not-running: the title regex requires a version in parens

Colby Knox · 1mo ago ·closed by John Lauer

On Colby-ROG2 the install is the ADDevelop build (C:/Program Files/Altium/ADDevelop/X2.EXE, fileVersion 26.9.1.9) and its main window titles itself 'Home Page - Altium Designer Develop', with no '(26.9.1)' segment. _TITLE_RE in handlers/altium_detect.py requires the version parens, so no window ever classifies as main: licence_state() returns running False while altium_diagnostics shows the pid and the window plainly there, altium_status/readiness advise altium_launch forever, the agent bootstrap refuses on the false not-running, and altium_screenshot_all returns zero shots. Measured live today; diagnostics output and the title are in the PR that accompanies this issue. Fix shipped as a PR: the regex accepts an optional edition word and optional version parens, with a guard so a bare mid-string 'Altium Designer' cannot classify a dialog as main; offline-proven against both title shapes plus negatives. Also worth noting while you are in there: the page repo carries src/server.py only, while the release zip ships handlers/*, agent/, extension/ - the repo a person builds from is missing most of the source (same divergence class as kicad-bridge#63 and fusion-bridge#69).

1 Reply

John Lauer · 1mo ago

Fixed in v0.1.9, taking your PR #64's shape. _TITLE_RE now accepts an optional edition word and optional version parens:

Altium Designer(?: (?P<edition>Develop|Viewer|Standard|Professional|Pro|Enterprise))?(?: \((?P<ver>[\d.]+)\))?(?: - (?P<lic>.+))?$

and the main-window guard requires the match to carry a version, an edition, or a licence tail — or be the whole title — so a bare mid-string "Altium Designer" in a dialog can't classify as main. Proven against six titles (retail parens+licence, Develop without, Develop+licence, bare document, "Some Panel - Altium Designer" → not main, and the X2/Choose-a-license negatives); py_compile clean.

Two things from your note, both addressed:

  • The repo was missing most of the source — it now carries the FULL tree (handlers/, agent/, extension/, tools/, scripts/, dashboard/), 55 files, so the next PR targets real source instead of the release zip. That was the same divergence class as kicad-bridge#63 / fusion-bridge#69, and it's closed here now.
  • Crediting your PR #64 — I hand-lifted its two hunks onto the working tree (which was ahead of the zip, exactly as you flagged) rather than merging the zip-based file, so the source stays authoritative. Closing the PR with credit.

Log in to reply.