Implement media rule editor and enhance gallery functionality

- Introduced a rule editor in the gallery for users to define actions when a media item is found again, allowing for better management of media rules.
- Updated `GalleryViewModel` to handle rule actions, including saving, editing, and removing rules, with appropriate UI bindings.
- Enhanced UI components in `GalleryView.axaml` to support rule editing, including action selection and source management.
- Added localization strings for new rule-related features in both English and Russian.
- Improved unit tests to cover new rule management functionalities, ensuring robust behavior during rule creation and editing.

These changes significantly enhance the user experience by providing a more interactive and flexible way to manage media items in the gallery.
This commit is contained in:
Leonid Pershin
2026-08-15 16:03:02 +03:00
parent 0fa8fb89f6
commit 0aa3a7cf11
10 changed files with 463 additions and 12 deletions
+3
View File
@@ -24,6 +24,9 @@
всего набора — то есть из пары тысяч непроверенных адресов, и почти каждый запрос платил полный
connect-таймаут, чтобы это выяснить. Теперь «живых N» на странице и то, куда реально ходит сбор, —
одно и то же число.
- **`AcquireAsync(excludedCountries)` — для правила «попробовать из другой страны».** Записи, у
которых фид не назвал страну, остаются в игре: неизвестная страна — не совпадение, и отбрасывать их
значит сужать пул из-за пустого поля.
- **Фолбэк на всё доступное, когда живых нет.** Непроверенная ≠ мёртвая: на холодном пуле строгий
фильтр не выдал бы ничего и сбор просто встал бы, не попробовав. Ответившая на этом пути прокси
сама себя переводит в живые.