Standardize picker failure rows #650

Merged
barrettruth merged 1 commit from fix/638-picker-failure-rows into main 2026-05-06 21:35:50 +00:00
Owner

Closes #638

Summary

  • Format picker command failure rows/logs as context: detail instead of raw CLI output only.
  • Label JSON decode failures as decode failures by rewriting fetch contexts to decode contexts.
  • Keep stale request behavior unchanged and continue forwarding structured failure objects to callbacks.
  • Cover picker-session formatting, PR picker command/decode rows, and checks picker command rows.

Messaging

Before After
boom in a PR picker error row Failed to fetch PRs: boom
boom in PR picker logs failed to fetch PRs: boom
Expected object key string but found T_END at character 2 in a PR picker error row Failed to decode PRs: Expected object key string but found T_END at character 2
boom in a checks picker error row Failed to fetch checks for #42: boom

Verification

  • Before repro: system nvim v0.12.2, isolated XDG dirs, vim.pack, and lz.n against 2ad28fe reproduced picker rows as raw boom and raw JSON decoder text.
  • After repro: same system nvim/vim.pack/lz.n flow against 8e00717 produced Failed to fetch PRs: boom and Failed to decode PRs: Expected object key string but found T_END at character 2.
  • just test spec/picker_session_spec.lua spec/pickers_spec.lua
  • just test
  • just lint
  • nix develop .#ci --command just ci
Closes #638 ## Summary - Format picker command failure rows/logs as `context: detail` instead of raw CLI output only. - Label JSON decode failures as decode failures by rewriting fetch contexts to decode contexts. - Keep stale request behavior unchanged and continue forwarding structured failure objects to callbacks. - Cover picker-session formatting, PR picker command/decode rows, and checks picker command rows. ## Messaging | Before | After | | --- | --- | | `boom` in a PR picker error row | `Failed to fetch PRs: boom` | | `boom` in PR picker logs | `failed to fetch PRs: boom` | | `Expected object key string but found T_END at character 2` in a PR picker error row | `Failed to decode PRs: Expected object key string but found T_END at character 2` | | `boom` in a checks picker error row | `Failed to fetch checks for #42: boom` | ## Verification - Before repro: system `nvim` v0.12.2, isolated XDG dirs, `vim.pack`, and `lz.n` against `2ad28fe` reproduced picker rows as raw `boom` and raw JSON decoder text. - After repro: same system `nvim`/`vim.pack`/`lz.n` flow against `8e00717` produced `Failed to fetch PRs: boom` and `Failed to decode PRs: Expected object key string but found T_END at character 2`. - `just test spec/picker_session_spec.lua spec/pickers_spec.lua` - `just test` - `just lint` - `nix develop .#ci --command just ci`
Standardize picker failure rows
All checks were successful
quality / Test (pull_request) Successful in 10s
quality / Format (pull_request) Successful in 13s
quality / Lint (pull_request) Successful in 15s
8e00717871
barrettruth deleted branch fix/638-picker-failure-rows 2026-05-06 21:35:51 +00:00
Sign in to join this conversation.
No description provided.