pyronear / pyronear/pyro-annotator

Localize queue: add filters (backend params + FilterPopover)

Open
#245 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
0
Forks
1
Avg merge
1d 2h
Merged PRs (30d)
2

Description

Context

While restyling the localize tables (#241), we agreed the /localize queue should get a Filters button like /classify and /localize/done. Postponed to its own PR because it needs backend work — GET /api/v1/sequences/localization-queue currently accepts only pagination params.

Scope

Backend — filter parameters on the localization-queue endpoint. Rows are alert-grouped ((source_api, platform_alert_id)), so filters apply to alert-level attributes:

  • camera, organisation, source_api
  • recorded_at date range

Frontend — reuse the FilterPopover UI on /localize (DetectionAnnotatePage), persisted via usePersistedFilters like the other list pages. Hide the sections that don't apply to a pre-annotation queue (model accuracy, FP types).

Decision record: chosen over client-side-only filtering (misleading with pagination) during the #241 design discussion.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with GET /api/v1/sequences/localization-queue, then inspect DetectionAnnotatePage, the shared FilterPopover, and usePersistedFilters as used by /classify and /localize/done. Done means alert-level camera, organisation, source_api, and recorded_at range filters work with pagination, persist on /localize, and omit model-accuracy and FP-type sections.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
full-stack
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.