intersystems / intersystems/ipm
FindHomeModule() returns null for mapped items
- Dominant language
- ObjectScript
- Stars
- 41
- Forks
- 29
- Avg merge
- 23h 54m
- Merged PRs (30d)
- 4
Description
## Describe the bug
If code is mapped from an IPM package that is installed in a separate namespace, this method in IPM's API will say that it does not belong to any IPM package: `##class(%IPM.ExtensionBase.Utils).FindHomeModule()`
## To Reproduce
Steps to reproduce the behavior:
1. `zpm "install git-source-control"`
2. `do ##class(SourceControl.Git.API).MapEverywhere()`
3. Switch to another namespace
4. `write ##class(%IPM.ExtensionBase.Utils).FindHomeModule("SourceControl.Git.API.cls")` should write an IPM module object, but it writes nothing.
## Expected behavior
`FindHomeModule` should follow the item to its mapped namespace and give me the appropriate module reference.
## System information (please complete the following information):
- IPM version: 0.10.9
- IRIS version: IRIS for UNIX (Ubuntu Server LTS for x86-64 Containers) 2026.1 (Build 234U) Fri Mar 27 2026 14:07:14 EDT
## Additional context
This is root cause of an Embedded Git bug: https://github.com/intersystems/git-source-control/issues/997
Contributor guide
Research direction
Start by reproducing the issue with zpm install git-source-control, MapEverywhere(), and a namespace switch, then inspect %IPM.ExtensionBase.Utils.FindHomeModule(). Done means FindHomeModule("SourceControl.Git.API.cls") returns the appropriate IPM module reference for code mapped from a package installed in another namespace.
Written by the indexing model from the issue text.
Assessment
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 70/100