Skip to content

Migrate to server-side log filtering for Pi-hole v6 #352

@tsutsu3

Description

@tsutsu3

Context

Currently, the log viewer fetches log entries in fixed-size batches (e.g., 500 entries) and performs all filtering — such as log level, keywords, and time range — locally within the Flutter client.

Background

While local filtering is straightforward to implement, it presents the following issues when log volume grows:

  • Specific filtering conditions result in sparse hits
  • UX suffers when few or no results appear after multiple scrolls, making the UI feel unresponsive
  • Large volumes of logs are transferred and stored locally even if most are irrelevant

Goal

Introduce server-side filtering in Pi-hole v6 to:

  • Improve log filtering responsiveness
  • Reduce client memory and CPU usage
  • Lower network usage by avoiding unnecessary log transfers

Note: Pi-hole v5 will remain on local filtering for simplicity and backward compatibility.

Behavior by version

Pi-hole version Filtering Notes
v5 Local (Flutter client) No changes, current model retained
v6 Server-side filtering -

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions