Skip to content

Clicking a report with no culprit frame silently does nothing, and the resolved log path is never shown #6

Description

@GabrielBBaldez

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggood first issueGood for newcomers

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions