Skip to content

Добавить настройку "Показывать уведомление сложной расшифровки?" #22

@Scream034

Description

@Scream034

Суть проблемы

Обход ограничений YouTube требует регулярной дешифровки сигнатур и n-токенов (SigCipherDecryptor, NTokenDecryptor). Сейчас при запуске сложной дешифровки система отправляет визуальные уведомления (Toasts).

  • Минус для UX: Частые всплывающие уведомления во время прослушивания отвлекают пользователя.
  • Минус для отладки: Полностью удалять эти уведомления нельзя, так как они служат важной частью логов и помогают понять, почему трек запускается дольше обычного.

Возможное решение (Теория и архитектура)

  1. Внедрение флага тишины: Добавить булево свойство IsSilent в модель Notification и сущность базы данных NotificationEntity.
  2. Разделение логики вывода: Если уведомление помечено как IsSilent:
    • Оно записывается в базу данных через NotificationRepository (для истории логов).
    • Оно не передаётся в ToastOverlayViewModel (всплывающее окно не показывается).
    • Оно не инкрементирует счётчик UnreadCount в PlayerControlService (колокольчик уведомлений не загорается красным).
  3. Настройка в UI:
    • Добавить в AudioSettings и AppSettings свойство SilentDecryptionNotifications (по умолчанию true).
    • В SettingsViewModel связать это свойство с чекбоксом на странице настроек звука (AudioPage.axaml).
    • При сборке уведомления в дешифраторах проверять эту настройку и выставлять IsSilent = true.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions