Skip to content

search injects default board, breaking cross-board tag/assignee filters #113

Description

@waynemsmith

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions