diff --git a/.vscode/settings.json b/.vscode/settings.json
index 3f6094cbb..6be9a138b 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,11 +1,8 @@
{
"objectscript.conn": {
"active": true,
- "docker-compose": {
- "service": "iris"
- },
- "username": "_system",
- "password": "SYS",
+ "host": "localhost",
+ "server": "docker-iris",
"ns": "USER"
},
// Non-default export settings needed so Testing Manager extension can find sources when doing coverage runs
@@ -28,5 +25,17 @@
"editor.detectIndentation": false,
"editor.insertSpaces": true,
"editor.formatOnSave": true,
- "files.trimTrailingWhitespace": true
+ "files.trimTrailingWhitespace": true,
+ "intersystems.servers": {
+ "docker-iris": {
+ "webServer": {
+ "scheme": "http",
+ "host": "localhost",
+ "port": 52774,
+ "pathPrefix": ""
+ },
+ "username": "_SYSTEM",
+ "password": "SYS"
+ }
+ }
}
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 213665c64..5edddaf3c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed
- Performance: Studio project creation on package load in dev mode is now 80% faster.
- #994: Prevent crash in `zn` command when target namespace lacks IPM mappings
+- #1215: installer is synchronous rather than jobbed for simplified logging/debugging
## [0.10.9] - 2026-08-05
diff --git a/preload/cls/IPM/Installer.cls b/preload/cls/IPM/Installer.cls
index 94b4d3ab0..836605167 100644
--- a/preload/cls/IPM/Installer.cls
+++ b/preload/cls/IPM/Installer.cls
@@ -29,6 +29,7 @@ XData PM [ XMLNamespace = INSTALLER ]
+
@@ -42,6 +43,13 @@ XData PM [ XMLNamespace = INSTALLER ]
}
+ClassMethod ForceCompileEvenInSYS()
+{
+ $$$RemoveClsTempNodes
+ do $system.OBJ.CompilePackage("%IPM","ckf")
+ $$$AddClsTempNodes
+}
+
XData MapOnly [ XMLNamespace = INSTALLER ]
{
@@ -95,16 +103,6 @@ ClassMethod Map(
quit ##class(%Installer.Manifest).%Generate(%compiledclass, %code, "MapOnly")
}
-ClassMethod AsyncSetup(Args...)
-{
- try {
- set tSC = ..setup(Args...)
- } catch ex {
- set tSC = ex.AsStatus()
- }
- do $system.Event.Signal($zparent, tSC)
-}
-
ClassMethod ZPMInit(
pRegistry As %String = "",
pAnalyticsTrackingID As %String = "")
@@ -214,31 +212,10 @@ ClassMethod EndCompile(qstruct) As %Status
write !,"Installing ZPM"
set ts = $zhorolog
- set logFile=##class(%File).TempFilename()
- job ..AsyncSetup(tModDir, 3):(:::logFile):0
- if '$test {
- quit $$$ERROR($$$GeneralError, "Job did not start")
- }
-
- #; Wait setup
- set child=$zchild
- set tSC = $$$OK
- do {
- hang 1
- set $listbuild(res, tSC) = $system.Event.WaitMsg("", 10)
- quit:res=1
- } while $data(^$job(child))
-
- set fs=##class(%Stream.FileCharacter).%New()
- set fs.Filename=logFile
- while 'fs.AtEnd {
- write !,fs.ReadLine()
- }
- if ##class(%File).Delete(logFile)
-
+ set sc = ..setup(tModDir, 3)
write !,"Time spent ",$zhorolog - ts
- quit tSC
+ quit sc
}
/// Check currently installed version, if any