feat(app,android,ios): search across episodes and people

A search now also finds, with posters and descriptions on, the directors
and studios and the genres whose names hold it, as chips that open their
page, and the episodes whose provider names hold it, which play from the
result (pstr_core::discover::find). The titles it found follow under
their own heading.

The last eight searches are kept in recent-searches.json on this device
only (pstr_core::recent), written only when a search led somewhere, and
offered under the empty search box with a way to clear them. The bridge
exposes search_extras, recent_searches, remember_search and
forget_searches.

On Android and iOS the library's titles are now the whole library
whatever is searched for; the grid narrows through the arrangement, as
it already did. A title opened from an episode result can then always be
shown, and History and Downloads no longer shrink to the search.
This commit is contained in:
nvrl committed 2026-10-30 23:07:51 +01:00
1 parent fafe0c3087
commit 87ccaf26e1
16 files changed
+869 -20

No files matched your search

+4 -1
View File
@@ -47,7 +47,7 @@ player is handed an opaque token, not a link, so no secret ends up in its log or
| What | Where on Linux |
|---|---|
| Settings and the share list (without secrets) | `~/.config/proton-stream/` |
| Settings, the share list (without secrets), My List and your last eight searches (`recent-searches.json`) | `~/.config/proton-stream/` |
| The library and watch history (`catalog.db`) and downloads (`offline/`) | `~/.local/share/proton-stream/` |
| Streamed video (`blocks/`), thumbnails and posters | `~/.cache/proton-stream/` |
@@ -62,6 +62,9 @@ can play them. Empty the cache in **Settings → Storage**, and delete downloads
The library database holds file names and your watch history, in plain text. It holds no
secrets.
Recent searches are saved only when you open something a search found, are never synced, and
**Clear recent searches** under the empty search box deletes them.
## Other people on the same computer
- A share link given on the command line, as in `proton-stream 'https://…#key'`, is visible in
+10 -1
View File
@@ -50,7 +50,16 @@ devices ([Account and sync](ACCOUNT_AND_SYNC.md)).
It is on by default, and needs posters and descriptions to know what belongs together.
**Search** with **Ctrl+F** or **/**. It matches every name a title has: the English one, the
romaji one and the name of its folder.
romaji one and the name of its folder. With posters and descriptions on, it also finds:
- **People and studios**: directors and studios whose names match. Choose one to see all their
titles.
- **Genres** whose names match.
- **Episodes** whose names match. Choose one to play it.
The titles it finds come after these. Click the empty search box to see your last eight
searches. A search is kept only when you open something it found. **Clear recent searches**
removes the list. The list stays on this device and does not sync.
**Refresh** (or **F5**) reads every share again. The app also does this by itself when a share
has not been read for 6 hours.