Support wildcards in the title search

This commit is contained in:
Fisto
2026-09-17 13:43:27 +02:00
parent 0fb93c4830
commit 8befc05591
8 changed files with 91 additions and 15 deletions
+3 -1
View File
@@ -103,7 +103,9 @@ indexed watch URL folds into it (preview/file fields merge, message links move o
Discord's `title` (YouTube and friends) plus `title_key`, the lowercased, punctuation-collapsed
form used by the title search: multi-word prefix tokens by default ("Ma Ca Ju" finds *Man who jumps
over car*), one phrase with the exact-match toggle, and rows without a title drop out while a
title query is set. Filter presets live in
title query is set. `*` is a wildcard anywhere in a token: `*car` matches inside words (*scar*,
*discard*), `c*r*` matches between letters, `car*` behaves like the plain prefix. Literal `%` and
`_` are escaped, so they only match themselves. Filter presets live in
`media-scrape/src/filter-presets.ts`: aspect buckets (vertical, square, 4:3, 16:9, 21:9, other) and
resolution buckets by the shortest side (SD, HD, FHD, QHD, 4K+, unknown). A missing resolution is
filled with `ffprobe` after a download when `VESKSLOP_FFPROBE` is available.
+1 -1
View File
@@ -150,7 +150,7 @@ that deletion is irreversible. The delete button is disabled for a 5 second coun
source channel, posted-date range, file-type chips, cached-only, a default-on hide for 4chan
links (they 404 almost always), a sort select (newest, oldest, user, size, length), and a **Do not
include** and **Must include** groups with nested collapsibles, a title search for embed titles
(multi-word prefix matching, with an **Exact match (quotes)** toggle) for sources (the common
(multi-word prefix matching with `*` wildcards, and an **Exact match (quotes)** toggle) for sources (the common
providers
in the archive plus embeds, attachments, and stickers), file types, size (with B/KB/MB/GB units),
and length (seconds), with **Apply filters** / **Reset** in the bar. Size and length ranges drop
+2 -1
View File
@@ -139,7 +139,8 @@ box live in Chat, not Call, and the connection stats are not chips yet.
bounds with B/KB/MB/GB units or seconds). A provider entry may carry several substrings, shown as
`Giphy/Tenor`. A title field searches embed titles (YouTube): default is multi-word prefix
matching (each token must start a word of the title, order-free), and **Exact match (quotes)**
treats the input as one phrase. A sort select orders the grid by newest, oldest, user, size, or
treats the input as one phrase. `*` acts as a wildcard in both modes (`*car` matches *scar*,
`c*r*` between letters); literal `%` and `_` are escaped. A sort select orders the grid by newest, oldest, user, size, or
length. Size and
length bounds drop rows with no known value. The filter bar and the drawer are hidden on the Bot
tab. Filters do not