v1.6 — Slack + Telegram delivery
v1.6 — Slack + Telegram channels для уведомлений
Стаффские уведомления (interview-reminders, document-expiring, AI-runs, applicant stage changes) теперь летят не только в БД и email, но и в Slack и Telegram.
Что подключается
- Slack — per-user incoming webhook. Юзер сам создаёт Slack-app, генерит webhook URL для нужного канала, пастит в `/profile/integrations`.
- Telegram — company-wide бот (создаётся через @Botfather, токен сохраняется в `/settings/communications`) + личный chat_id юзера.
Архитектура
- `app/notifiers/delivery_methods/{slack,telegram}.rb` — кастомные Noticed v3 DeliveryMethods с per-recipient URL/auth.
- `ApplicationNotifier` дополняет deliver_by `:slack` / `:telegram` с conditional `if:` через computed `event_kind` + `user.notify_for?(kind, channel)`.
- `User::NOTIFICATION_CHANNELS = [in_app, email, slack, telegram]` — единый каталог. Все 6 существующих kinds (`ai_run_completed`, `interview_*`, `applicant_stage_change`, `document_expiring`) получают slack/telegram = false по дефолту.
UI
- /profile/integrations (новая вкладка профиля) — Slack webhook + Telegram chat_id. Кнопки Тест реально шлют тестовое сообщение и репортят результат.
- /profile/notifications — две новые колонки (Slack / Telegram), disabled и со ссылкой "подключить" пока канал не настроен.
- /settings/communications — секция для Bot Token компании (BotFather → 123456:ABC-DEF...).
Migration
- `users.slack_webhook_url` + `users.telegram_chat_id`
i18n
- +27 ключей × 3 локали → паритет 2269/2269/2269
Mobile
Inherits v1.5 — формы интеграций, таблица уведомлений, settings-страницы responsive из коробки.
Bonus fix
- `bundle update nokogiri 1.19.2 → 1.19.3` (CVE patches, blocked CI)