Problem
fizzy search calls defaultBoard(searchBoard) which falls back to the configured default board when --board is not passed. This silently scopes every search to a single board, making --tag and --assignee filters appear broken when matching cards exist on other boards.
Example: Card #504 is on the "Delta Scope" board and tagged delta-scope. With default board set to "Dev":
# Returns 0 results — searches only Dev board
fizzy search "progressive" --tag 03fm8v7rpvvjnt2y7swbkfqos
# Works — explicitly targets the right board
fizzy search "progressive" --board 03f78lv1yjoyyz65hd6c3k557 --tag 03fm8v7rpvvjnt2y7swbkfqos
The API itself supports cross-board search (confirmed via direct curl).
Root cause
internal/commands/search.go line 46:
boardID := defaultBoard(searchBoard)
defaultBoard() returns the config default when the flag is empty. For card list this makes sense (list needs a board). For search, it should be cross-board by default.
Fix
Only add board_ids[] when --board is explicitly passed:
// Before
boardID := defaultBoard(searchBoard)
if boardID != "" {
params = append(params, "board_ids[]="+boardID)
}
// After
if searchBoard != "" {
params = append(params, "board_ids[]="+searchBoard)
}
PR incoming.
Problem
fizzy searchcallsdefaultBoard(searchBoard)which falls back to the configured default board when--boardis not passed. This silently scopes every search to a single board, making--tagand--assigneefilters appear broken when matching cards exist on other boards.Example: Card #504 is on the "Delta Scope" board and tagged
delta-scope. With default board set to "Dev":The API itself supports cross-board search (confirmed via direct curl).
Root cause
internal/commands/search.goline 46:defaultBoard()returns the config default when the flag is empty. Forcard listthis makes sense (list needs a board). Forsearch, it should be cross-board by default.Fix
Only add
board_ids[]when--boardis explicitly passed:PR incoming.