Skip to content

Conversation

@isc-kiyer
Copy link
Collaborator

@isc-kiyer isc-kiyer commented Sep 17, 2025

Summary of changes:

  • Remove InstallContext which was used to keep track of modules being loaded across processes but now everything is in the parent process.
  • Remove calls to LoadDependencies() from anywhere other than module installation since the side effect causes more confusion than assistance since the user is not expecting dependencies to change out from under them.
  • Remove $$$IsISCWorker references and temp global tracking of modules being loaded in other processes
  • Deprecate the synchronous flag (add generic CLI support for deprecating modifiers/parameters)
  • Remove logic where repo cache is always rebuild when GetPackageService() is called which slows down builds

resolves #885

Copy link
Collaborator

@isc-dchui isc-dchui left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a couple nits and a question

// If it does, always use it
// Particularly relevant for compilation of dependencies
// The "clean" phase can be used to bypass this (by removing modules from the current namespace)
// Forcing an update from disk can also override this, although we ensure that the same module is
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: could also remove this comment about forcing an update from disk since it looks like it refers to tForceSnapshotReload

// Check for valid license key prior to top-level module load
// This may throw an exception.
if '$data($$$ZPMHandledModules($namespace)) {
set tLicenseIsValid = ..CheckLicenseKey()
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we not need to check the license key anymore? If so, could probably just remove the ClassMethod entirely

}
} else {
// Common: name, required, description
// Common to bother modifier and parameter
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: typo?

@isc-jili
Copy link
Collaborator

isc-jili commented Oct 24, 2025

Just wondering out loud if there is a way to attach "doc" to code changes on Github (probably not). But a reminder to update the Wiki with the new CLI changes once live!

### Fixed

### Security

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry but I think my recent merge to main has made your CHANGELOG stale so would require another pull from main

set tResults(tCommands,"modifiers","tree")=""

set tCommands($increment(tCommands)) = "install SomeModule"
set tCommands($increment(tCommands)) = "install SomeModule -synchronous"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this check that there's a warning displayed for the deprecation?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove multi threaded load of dependencies Failed to acquire exclusive lock on instance of '%IPM.Storage.ResourceReference'

4 participants