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
TypeScript: split() on an awaited Promise<string> result resolves to an unrelated class method (v1.6.0) #1840
With CodeGraph 1.6.0 and a fresh two-file TypeScript index, calling split() on the awaited result of a function explicitly returning Promise<string> creates a false call edge to an unrelated project class's split() method.
The unrelated class is not imported or instantiated by the caller. The incorrect edge is persisted in SQLite, so this is not just a display problem.
Keep the real snapshot → listPaths edge. Do not create snapshot → PaneManager::split: listed is a string, and this call invokes the built-in string method.
If the resolver cannot infer the awaited return type, leaving this member call unresolved is preferable to asserting a call into an unrelated class. Actual calls on a PaneManager receiver should still resolve normally.
Impact and related work
This gives callers/callees and downstream dependency or impact analysis a nonexistent relationship. I initially encountered it while inspecting a filesystem snapshot function, which appeared to call an unrelated terminal-pane splitting method.
Related: #1566 and its fix #1790 address built-in collection calls resolving to project methods. This report provides a fresh-index reproduction involving an awaited Promise<string> return value. I have not tested this fixture against current main, so I am not claiming the earlier fix regressed. #1794 also highlights why broadly suppressing project receiver calls would be undesirable.
Fixed in #1885 (merged as d0996a2), incorporating @maxmilian's work from #1855 with additional scope/import and edit/sync guards. Your original two-file reproduction now keeps snapshot → listPaths without the false PaneManager::split edge on both native and WASM indexing. Valid awaited project-type method calls are covered as well. This will be included in the next release.
Activity
fix(resolution): resolve awaited TypeScript receivers safely (#1885)
colbymchenry commentedon Sep 16, 2026
Fixed in #1885 (merged as d0996a2), incorporating @maxmilian's work from #1855 with additional scope/import and edit/sync guards. Your original two-file reproduction now keeps
snapshot → listPathswithout the falsePaneManager::splitedge on both native and WASM indexing. Valid awaited project-type method calls are covered as well. This will be included in the next release.