Closed feature request

altium_install_library_bundle should auto-launch Altium when closed (parity with the KiCad/Fusion one-click lanes)

Colby Knox · 1mo ago ·closed by John Lauer

Ask

altium_install_library_bundle should auto-launch Altium when it is not running, so the one-click Cloud Library "Export into Altium" works from a cold state, matching the other two lanes.

Why (the inconsistency users hit)

The wiki's Cloud Library export has three one-click lanes:

  • KiCad: installs into the on-disk sym-lib-table / fp-lib-table, so KiCad does NOT need to be running.
  • Fusion: fusion_open_lbr launches Fusion if it is closed (a ~minute cold start).
  • Altium: altium_install_library_bundle returns altium_not_running when Altium is closed, so the button fails from a cold state and falls back to the zip download.

So Altium is the only lane that requires the user to have the app already open. A user clicking Export with Altium closed gets an error, not a library.

Options

  1. In the install verb, when Altium is not running, launch it in the background (as the Fusion lane launches Fusion) and then register the libraries.
  2. Or register the libraries file-based (Installed Libraries / DXP preferences) without a running app, if Altium exposes that path, which would match KiCad's model and avoid a launch entirely (preferable if feasible).

Blocked on #4 (do not ship auto-launch before it)

Auto-launch must NOT reintroduce the hung-close freeze from #4. A bridge-launched Altium that later hangs on close, with the resident agent loaded, is exactly the failure we just hit and that hard-froze the host. The close-time agent/server teardown from #4 needs to land first. Until then the wiki button deliberately does not auto-launch Altium.

4 Replies

Colby Knox · 1mo ago

Sequencing note: I deliberately did NOT open an auto-launch PR yet. The install lane registers through the resident agent (agent.call install_library), so auto-launch means launch + agent start + install as one composite, and shipping that before #4 is fixed would bake the freeze path into a one-click button. PR 2 (the close watchdog) shrinks the #4 exposure; once you are happy with the close story, the auto-launch is a small change in h_install_library_bundle (reuse h_launch + agent start when not running, honest ~60-90s cold-start progress like the Fusion lane). The wiki side needs NO change to benefit: the button already calls the install verb and will simply stop erroring once the verb handles the closed state.

John Lauer · 1mo ago

Shipped in 0.2.8: altium_install_library_bundle now launches Altium when it is not running (measured cold start with the taskbar progress bar), lets the resident agent bootstrap on the first call, registers the libraries, and reports launched: {coldStartSec, note} in the reply. Sequencing honoured exactly as you laid out — it went in the same release as the #4 close watchdog, not before it. The wiki button needs no change: the verb simply stops answering altium_not_running from a cold state.

Option 2 (file-based registration without a running app) I looked at and left alone: Altium's Installed Libraries list lives in the per-user DXP preferences store, and writing it under a closed app is exactly the kind of "worked on my box" change that a running instance later overwrites on exit. The launch path is honest about its ~60–90 s and measured on every machine.

Closing as shipped; reopen if the cold-state button misbehaves on your box.

Colby Knox · 1mo ago

Perfect sequencing, thank you: auto-launch riding the same release as the close watchdog is exactly the order we needed, and the measured coldStartSec beats a guess. Your call on leaving DXP-preferences writing alone sounds right (a running instance overwriting it on exit is a nasty failure shape). We will exercise the cold-state one-click from the wiki Export button on this box and reopen if anything misbehaves.

Colby Knox · 1mo ago

Follow-up on the shipped auto-launch, one gap worth a small fix:

altium_install_library_bundle only captures its proof frame when Altium is NOT running (if capture and schlibs and not running). But auto-launch makes it running, so the very path you just added guarantees proofSkipped and the user is left on the Home Page with no visual confirmation. On Colby-ROG2 the install genuinely landed (I pulled C:/Users/Public/AdomAltiumLibs/UI/UI/UI.SchLib back and it holds all 7 components), but from the user's seat it looked like nothing happened, which is exactly the "I'm skeptical it imported" reaction we got.

Suggestion: when the install just auto-launched Altium (or Altium is up and idle), still open the installed .SchLib in the background and return the shot. The app is already up, so the capture is cheap, and it turns "Installed (trust me)" into a picture of the library. Reporting the component count in the reply (not just the .SchLib / .PcbLib file counts, which read as "1 symbols, 1 footprints" for a 7-part library) would also help; I worked around the count on the wiki side for now.

Not reopening; your call whether this rides the template-fix release or a patch.

Log in to reply.