Я потратил более 6 часов, читая сообщения с 2018 года в Discourse Meta, общаясь с ботом Discourse AI, используя несколько моделей для глубокого исследования и тестирования. Я пытаюсь подтвердить своё понимание. Спасибо за ваше терпение; понимаю, что этот вопрос может задаваться часто.
Высокоуровневый успех: я ценю отличный UX. Отличный UX требует, чтобы пользователь думал как можно меньше для достижения своей цели. Я ожидаю уведомлений о новых сообщениях в стиле WhatsApp на моём устройстве iOS (iPhone 15 Pro, iOS 26.2).
На высшем уровне кажется, что «лучшим ответом» на эту дилемму/ограничения iOS является Discourse Hub. Он использует опрос (polling), поэтому есть небольшая задержка, но это текущий лучший/наиболее стабильный способ получения push-уведомлений на iOS/Android от самохостингового экземпляра Discourse (в Docker). Если это так, знает ли кто-нибудь, о какой задержке идёт речь — минутах или часах? Я не могу найти конкретных данных об этом.
Если пункт 1 верен, похоже, что push-уведомления ограничиваются чатами, если я правильно понял?
Я потратил много часов на тестирование между Mac OS X Safari, Chrome, Safari в режиме инкогнито, Chrome в режиме инкогнито в моей тестовой среде среди множества пользователей. Вдобавок было около 20+ попыток настройки и переустановки PWA. Я трижды перепроверил настройки уведомлений в PWA. Я тестировал с несколькими учётными записями в разных браузерах, всё через отправку сообщений в чате Discourse. Я намеренно вышел из всех сессий, чтобы убедиться, что ни одна учётная запись не активна. За исключением начального push-уведомления «уведомления включены», после более чем 3 часов тестирования и 20+ различных переустановок PWA среди нескольких учётных записей я не могу получить ни одного push-уведомления от Pushover или значка на PWA. Звучит ли это как точное состояние push-уведомлений PWA на iOS в январе 2026 года? У меня нет Android-телефона для тестирования.
Похоже, что основной причиной такого непостоянного поведения push-уведомлений являются «технические моменты» уведомлений в Safari на iOS. На данный момент света в конце туннеля не видно.
Есть вариант с приложением Pushover, хотя это требует создания учётной записи и оплаты 5 долларов в месяц. Если я стремлюсь создать отличный UX для моих пользователей, что-то вроде Pushover, безусловно, не подходит. Я не пробовал ntfy, возможно, это проще. Даже в этом случае я, вероятно, не стал бы просить моих пользователей делать это. Это социальная группа нетехнических людей.
У меня работают push-уведомления на десктопном Safari. Электронная почта также работает нормально.
Если бы пользователи могли самостоятельно авторизоваться для получения уведомлений в стороннем приложении по своему выбору, например, Telegram или WhatsApp, это могло бы иметь потенциал. Я вижу плагин https://www.discourse.org/plugins/chat-integration для Telegram. Это могло бы стать обходным путём… хотя, вероятно, единственным приложением, которое есть у людей в моём случае, будет Telegram.
Я не против интеграции с Twilio, даже если мне придётся платить за текстовые сообщения через Twilio. Я не вижу такой опции или плагина. Этот шаг был бы продиктован отчаянием. И мне пришлось бы взимать подписку в размере 1–3 цента за сообщение или столько, сколько взимает Twilio.
Создание «нативного приложения Discourse для iOS», скорее всего, нереалистично и с высокой вероятностью будет отклонено в App Store Apple, подтверждаю? Я видел множество отчётов об этом.
Возможно, push-уведомления работают лучше и более стабильно/надёжно на Android?
Кратко: в январе 2026 года единственно лучшим, наиболее надёжным и стабильным способом получения push-уведомлений на iOS/Android, как в нативном приложении, является использование Discourse Hub.
PS. Я действительно тайно надеюсь, что что-то упустил, и мой опыт неточен.
На Android PWA работает очень хорошо. Несколько сотрудников ежедневно используют PWA.
На iOS сайты, размещённые на Discourse, получают полные push-уведомления в DiscourseHub. Самохостеры получают push-уведомления через опрос (polling), да.
К сожалению, опрос в DiscourseHub для самохостеров зависит от фоновых задач системы. Их выполнение в определённое время не гарантируется… поэтому никто не знает, какие именно задержки возникают. Это решает операционная система. Если вы используете приложение регулярно, я думаю (с очень небольшой уверенностью), что опрос происходит примерно каждые 15 минут. Если вы не используете приложение регулярно, интервал может быть значительно больше.
Нет, они должны работать для тем, чатов и личных сообщений.
Приложение-обёртка на основе WebView с высокой вероятностью будет отклонено, да. Полноценное нативное приложение, скорее всего, нет. Но создание полноценного нативного приложения значительно сложнее.
Наш хостинг не накладывает никаких ограничений и хорошо работает с уведомлениями на iOS.
Однако он в целом довольно нестабелен, особенно когда вы являетесь администратором — имитация других учётных записей, похоже, нарушает настройку уведомлений.
Это нужно для предотвращения редких случаев, когда вы не хотите, чтобы push-уведомления отправлялись на устройства, где пользователь вышел из системы. У вас включены push-уведомления, но вы завершили работу и вышли из аккаунта.
Затем кто-то позже отправляет вам конфиденциальное сообщение через личные сообщения. Push-уведомление отправляется всем зарегистрированным устройствам. Устройство, с которого вы вышли, всё ещё технически зарегистрировано, поэтому оно продолжает получать полный предпросмотр уведомления. Ой.
При первоначальной отправке я перестраховался и просто очистил все ключи, что, очевидно, излишне и раздражает. Возможно, нам стоит начать привязывать подписки на push-уведомления к конкретной сессии пользователя или каким-то образом подтверждать, что ожидаемый пользователь всё ещё находится в системе?
Хорошо, похоже, мы все согласны с тем, что в Discourse с последним обновлением iOS уведомления исправлены? Я могу войти в режиме инкогнито под другим аккаунтом и отправить сообщение на телефон — всё работает отлично. Мне пришлось только переустановить приложение. Отлично.
Это здорово. Следующий шаг — исправить уведомления, чтобы я мог упоминать группу и, возможно, подключить Twilio.