Two ways the extension currently does nothing without saying so.
1. Clicking a report can be a silent no-op
extension.ts:91-97 only attaches a command to the tree item when a culprit frame was found. When there is not one, the row looks identical to a clickable row and clicking produces nothing — no message, no feedback.
This is not an edge case. It happens for:
ERROR (no exception): ... reports, an explicitly documented report class in FORMAT.md with no stack at all — see the no-throwable golden file in the main repo;
- every case in the parser-conformance issue: a
-1 line number, a non-ASCII file name, a truncated block.
Fix: always attach the command; inside it, when there is no culprit, show report #<id> has no source frame to open. The extension already has exactly that message at extension.ts:105-108 — it is simply unreachable, because the command is never attached.
2. You cannot tell which errors-ai.log you are looking at
locateLogFile() auto-detects the first **/errors-ai.log in the workspace and never displays which one it picked. In a monorepo with services/orders/errors-ai.log and services/billing/errors-ai.log, you can be debugging the wrong service with no way to notice.
Fix: set TreeView.description (or the view title) to the workspace-relative path of the resolved file. The stacktale.file setting already exists as the override — this just makes the default visible.
Related: opening the raw file is #4.
Also worth fixing here
stacktale.copyForAI is contributed with a category, so it appears in the Command Palette, where it is invoked with no argument and returns silently at extension.ts:124-127. Either hide it from the palette with a commandPalette menu entry whose when is false, or make it fall back to the tree's current selection.
Verify
F5 into an Extension Development Host with a report that has no frame: clicking now explains itself, and the view header shows the resolved path.
Two ways the extension currently does nothing without saying so.
1. Clicking a report can be a silent no-op
extension.ts:91-97only attaches acommandto the tree item when a culprit frame was found. When there is not one, the row looks identical to a clickable row and clicking produces nothing — no message, no feedback.This is not an edge case. It happens for:
ERROR (no exception): ...reports, an explicitly documented report class in FORMAT.md with no stack at all — see theno-throwablegolden file in the main repo;-1line number, a non-ASCII file name, a truncated block.Fix: always attach the command; inside it, when there is no culprit, show
report #<id> has no source frame to open. The extension already has exactly that message atextension.ts:105-108— it is simply unreachable, because the command is never attached.2. You cannot tell which errors-ai.log you are looking at
locateLogFile()auto-detects the first**/errors-ai.login the workspace and never displays which one it picked. In a monorepo withservices/orders/errors-ai.logandservices/billing/errors-ai.log, you can be debugging the wrong service with no way to notice.Fix: set
TreeView.description(or the view title) to the workspace-relative path of the resolved file. Thestacktale.filesetting already exists as the override — this just makes the default visible.Related: opening the raw file is #4.
Also worth fixing here
stacktale.copyForAIis contributed with acategory, so it appears in the Command Palette, where it is invoked with no argument and returns silently atextension.ts:124-127. Either hide it from the palette with acommandPalettemenu entry whosewhenisfalse, or make it fall back to the tree's current selection.Verify
F5 into an Extension Development Host with a report that has no frame: clicking now explains itself, and the view header shows the resolved path.