review-followups-2: nav, shared patterns, logging, test stub, CI check#12
Closed
dmartinochoa wants to merge 1 commit into
Closed
review-followups-2: nav, shared patterns, logging, test stub, CI check#12dmartinochoa wants to merge 1 commit into
dmartinochoa wants to merge 1 commit into
Conversation
Stacked on review-followups (#11). Lands the next batch of items from the post-v0.1.1 review: R12, R14, R16, R18, R20. R12 — next/previous finding navigation: - src/navigate.ts: collectFindingLocations enumerates every pipeline-check diagnostic across the workspace, sorted by fsPath then by line. pickNextIndex picks the neighbouring finding relative to the editor cursor, wrapping at both ends. goToFinding pulls the active editor's location, calls pickNextIndex, and reveals the target via showTextDocument. - src/extension.ts: registers pipelineCheck.goToNextFinding and pipelineCheck.goToPreviousFinding. - package.json: declares both commands and binds Alt+F8 / Shift+Alt+F8 (the F8 family is VS Code's "next problem" muscle memory; Alt+F8 stays out of conflict with the global binding). - src/navigate.test.ts: 11 tests pinning the sort order, the wrap behaviour at both ends, the no-cursor case, and the strict-after / strict-before semantics that keep "next" from pinning when the cursor sits exactly on a finding. R14 — single source of truth for trigger patterns: - src/providers.ts: TRIGGER_PATTERNS + TRIGGER_DOCUMENT_SELECTOR. The activationEvents in package.json cannot import this module (VS Code reads the manifest before any code runs), so the events list duplicates the patterns intentionally. - src/providers.test.ts: locks the documentSelector list to the package.json activationEvents — every workspaceContains: event must correspond to a pattern, and vice versa, with brace-glob expansion. Catches drift before it ships. - src/extension.ts: documentSelector now reads from providers.ts. R16 — client-side structured logging: - src/log.ts: appendLine into the LanguageClient's outputChannel with a [client] HH:MM:SS.mmm <level> prefix. info/warn/error helpers and a withTiming wrapper that brackets a thunk with start/ok/failed lines. Silent no-op until setLogChannel is called, so activation-order edge cases don't throw. - src/extension.ts: pointed setLogChannel at outputChannel after the client is constructed; logs "starting" / "started" / "failed to start — <reason>" around the LSP boot. - src/log.test.ts: 7 tests covering timestamp formatting, level preservation, the pre-setLogChannel no-op path, and withTiming's success / failure branches. R18 — shared vscode test stub: - src/__testStubs__/vscode.ts: extracted the 93-line vi.mock factory out of findingsView.test.ts. Each test file now reads: vi.mock("vscode", async () => { const { vscodeStub } = await import("./__testStubs__/vscode"); return vscodeStub(); }); vi.mock's hoisting forbids referencing outer-scope bindings, so the async-import pattern is the only way to share. Returns a fresh object per call so tests don't leak state into each other. - src/findingsView.test.ts: collapsed to the shared stub. R20 — marketplace description length CI gate: - .github/workflows/ci.yml: a "Marketplace description length" step (Linux only) fails the build if package.json#description exceeds 145 characters — the marketplace's search-results truncation point. Today's description is 141 chars; the gate keeps future edits honest. Total: 75 tests pass (was 53 on review-followups). Lint, compile, smoke all green. Three-OS CI matrix on every push. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This was referenced May 19, 2026
Member
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Second batch of items from the post-v0.1.1 review. Stacked on #11, so this PR's base is `review-followups` and the diff shows only this batch's work. Lands R12, R14, R16, R18, R20 from ROADMAP.md.
What changed
R12 — Go to next / previous finding
R14 — Single source of truth for trigger patterns
R16 — Client-side structured logging
R18 — Shared vscode test stub
R20 — Marketplace description length CI gate
Test plan
Notes
🤖 Generated with Claude Code