Skip to content

Clarion Assistant v4.6.2

Choose a tag to compare

@peterparker57 peterparker57 released this 19 May 17:15

LSP CodeGraph fix + Settings polish + /clarion knowledge updates

v4.6.2 fixes the LSP CodeGraphBridge self-disable on end-user installs and folds in the v4.6.1 Settings UI work that hadn't shipped as a public release.

LSP CodeGraph fix (issue #33)

better-sqlite3 was missing from the bundled lsp-server/node_modules in both the installer and the from-source deploy path. The LSP server's CodeGraphBridge would log [CodeGraphBridge] ❌ ERROR: better-sqlite3 not available — CodeGraph features disabled at boot and fall back to the disabled state. Core LSP features (definition / references / hover / diagnostics / rename) still worked; only the in-LSP CodeGraph integration was off.

  • The installer now ships better-sqlite3 plus its two runtime deps (bindings, file-uri-to-path) for each Clarion-version install (C10/C11/C12).
  • ClarionAssistant/deploy.ps1 $LspNodeModules was extended to match, so contributor builds also pick them up.
  • Cold-verified against the deployed install: require('better-sqlite3') resolves, the prebuilt native binding loads under Node v24.13.0 (no ABI mismatch), DB roundtrip works (SQLite 3.51.3).

Reported by Dinko while smoke-testing a from-source build on a clean machine.

Settings UI polish (rolled in from v4.6.1)

  • Persist Version dropdown across IDE reload (#32) — the Clarion version selector on the Launch tab now remembers your last selection between IDE sessions.
  • Align Plan label / dropdown with Backend on Launch tab (#31) — visual alignment fix.

/clarion knowledge additions

The bundled /clarion and /stringtheory skills picked up three new entries from community-reported gotchas:

  • #AT cannot be nested inside #IF in template authoring — parser rejects with #ENDIF expected. The fix is to invert the nesting (#IF goes inside the #AT body). (issue #25)
  • OMITTED() only works in the scope where the parameter is declared — silently returns 1 (TRUE = omitted) from inside nested ABC class methods even when the parameter was passed. Workaround: stash params at procedure top-level via #AT(%BeforeWindowManagerRun). (issue #25)
  • StringTheory.MakeGuid() is destructive — it overwrites the receiver's value as a side effect, destroying any payload (JSON, PDF binary, etc.) the instance was holding. Detection heuristic + dedicated-GUID-instance fix pattern documented in the stringtheory skill. (issue #23)

Installer

ClarionAssistant-4.6.2-Setup.exe is EV-signed (Kennewick Computer Company / Sectigo) with an RFC 3161 timestamp countersignature, so SmartScreen reputation transfers immediately.

Closes #33, #32, #31, #25, #23.