Skip to content

Search Filters Sorting and Selection

QenTerra edited this page Jul 29, 2026 · 1 revision

Search, Filters, Sorting, and Selection

All discovery controls operate on the active chat's attachment array. Filters combine with logical AND: a row must pass every active constraint.

Filename search

Search trims leading and trailing whitespace and performs a case-insensitive substring match against the resolved filename. It does not search captions, artists, message text, or chat content.

Quick categories

The quick category bar selects one of:

  • All
  • Audio
  • Video
  • Images
  • Documents
  • Other

Category is a browsing aid, not a format restriction. Choosing All retains arbitrary formats and extensionless files.

Advanced filters

Filter Behavior
Extension Normalizes case, a leading dot, and surrounding whitespace
Minimum size Includes files at or above the parsed byte threshold
Maximum size Includes files at or below the parsed byte threshold
Sent After Includes attachments at or after the selected date value
Sent Before Includes attachments at or before the selected date value
New since last scan Includes identities absent from the refresh baseline

An attachment with unknown size cannot satisfy an active size constraint. Invalid or empty size input does not invent a byte value.

Active advanced filters appear as removable tokens. Clear Filters resets search, category, extension, size, date, and new-only state. It does not change the selected Telegram chat or delete a cached scan.

Sorting

The sort menu supports:

  • Newest First
  • Oldest First
  • Filename using localized standard comparison
  • File Type using extension, then category when extension is missing
  • File Size with known larger files first

Column headers can invoke the relevant sort. Date sorting uses newest as the primary header action; the full menu exposes oldest.

Selection model

Selection stores attachment identities, not row indexes. That keeps selection stable while sorting and protects against two rows with similar display names.

Mouse and keyboard behavior

  • A normal row action selects the row.
  • Command-click toggles a row without clearing the rest.
  • Shift-click selects the visible range from the current anchor.
  • Command-A adds all visible eligible rows.
  • Escape clears selection and the range anchor.

Range selection follows the current filtered and sorted order. Ineligible rows inside the range are ignored.

Visible and hidden selection

Changing filters can hide an already selected item. The summary distinguishes:

  • total selected;
  • selected and currently visible;
  • selected but hidden by filters;
  • total known byte count.

This makes a filtered batch explicit instead of quietly dropping previously selected rows. Changing chats always clears the active selection boundary.

Context actions

Rows expose actions appropriate to their state, including:

  • select or deselect;
  • copy original filename;
  • reveal a completed file when a known destination exists;
  • retry or Download Again through download history.

Clone this wiki locally