You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
lsfusion_find_elements: finish a module-name search promptly and report unknown IDEA module names in scope #99
Two behaviours of names searches on a large multi-module project (plugin 1.0.315, a workspace of about 30 IDEA modules):
A search supplied with a module's full name — names = "<ModuleName>", elementTypes = "module" — without scope returns the module, but only after the whole time budget is spent: the answer carries "meta": "too long - timeout hit" even with timeoutSeconds = 30, and the same with scope = "project". With scope = "<the IDEA module that holds the file>" the answer is immediate. The time such a search takes should not depend on the size of the project.
scope is project, project and libraries or a comma-separated list of IDEA module names. A name that is not an IDEA module (for example, an lsFusion module name or a Maven artifact id) is skipped silently; when none of the listed names is an IDEA module, the search scope is empty and the tool answers {"items": []}, which cannot be told apart from "the element does not exist".
An agent that looks a module up by name reads the timeout flag as "the search is incomplete" and falls back to a text search, and reads the empty answer under a wrong scope as "no such module". The report that prompted this issue did exactly that and located the module by file instead.
Fix
A search supplied with a full module name completes promptly and still returns every match the name filter allows (the filter matches by occurrence of the name, so other modules whose names contain it are returned as well).
A scope whose IDEA module names match nothing is rejected with an error naming the unknown names, or the unresolved names are reported in meta.
Activity