[ПЛАТНО] Исправление ошибок и улучшения для Discourse Chat

Мне нужна помощь с четырьмя проблемами в Discourse Chat. Если вы считаете, что можете помочь с чем-либо из этого, пожалуйста, свяжитесь со мной:

1. Ошибка: Невозможно выделить текст в редакторе чата на iOS

В окне редактора чата, если вы вводите сообщение и выделяете текст, он подсвечивает слово, но не позволяет изменить выделение, перемещая маркеры по краям слова.

2. Ошибка: Миниатюры видео не отображаются в чате на iOS

На iOS при загрузке файлов MP4 или других видеофайлов миниатюра не появляется.

3. Функция: Каналы чата только для чтения

В настройках канала создайте новую опцию для пометки канала как «Только для чтения». После установки только сотрудники смогут публиковать сообщения в канале.

Если возможно, было бы хорошо ограничить публикацию, но при этом разрешить всем участникам канала отвечать на сообщения в теме.

4. Функция: Отключить электронную почту при использовании @all в чате

При использовании @all мы хотим предотвратить отправку электронных писем, но при этом хотим, чтобы push-уведомления продолжали работать как обычно.


Бюджет на это в долларах США подлежит обсуждению.

6 лайков

Отправка ЛС :+1:

7 лайков

Я займусь этим в ближайшие недели; у нас есть похожая проблема и в темах.

10 лайков

Это отличная новость, и большое спасибо. Мы уже слышали об этой ошибке от нескольких наших пользователей, и было бы замечательно, если бы её исправили для всех пользователей Discourse.

2 лайка

@j.jaffeux, похоже, это ошибка в браузере Safari?

Когда тот же самый видеофайл открывается в Firefox или Chrome, тег video отображается корректно с «предварительным просмотром» (в кавычках, так как, по моему мнению, это не зависит от обработки превью в приложении Discourse). Вы согласны?

Это означает, что с нашей стороны (на стороне приложения) мы ничего не можем сделать?

1 лайк

@blake знает об этом гораздо больше, чем я

2 лайка

Является ли обсуждаемый здесь подход вариантом?

Вы можете увидеть это в действии на этой странице, если загрузите её на свой iPhone в Safari:

2 лайка

Я заметил, что проблема возникает только в чатах, где используется HTML-тег <video до начала воспроизведения.

В постах, где превью корректно отображается в Safari, Discourse, по-видимому, использует <div class="video-placeholder-container" и «фейковый» постер видео-заглушки до момента клика, после чего происходит переключение на версию с тегом <video.

Возможно, для этого была причина…

… да, была:

Так что это было оправдано по другой причине? Убить двух зайцев одним выстрелом?

Если есть интерес, я с радостью подготовлю PR с реализацией подхода из постов.

3 лайка

Для справки: мы никогда не реализовывали заглушки для видео в чате — всё работает за счёт возможностей HTML5-тега video. Собственную логику заглушек мы изначально внедрили для тем/постов, потому что видео автоматически «загружали» данные при каждой загрузке темы, даже если не воспроизводились, что приводило к росту расходов на CDN на популярных сайтах.

Пока я не считаю необходимым повторно внедрять в чате ту же логику заглушек, что есть для тем, но, возможно, нам всё же потребуются некоторые правки для iOS/Safari, чтобы всё работало на iOS. Я думал, что атрибут preload="metadata" решит проблему, но, похоже, он уже присутствует.

<video class="chat-video-upload" preload="metadata" height="150" controls="">
        <source src="https://actual-url.MOV">
      </video>
7 лайков

Это будет исправлено в этом коммите:

Обратите внимание, что есть вероятность, что мне придётся откатить это и найти другое решение, но теперь я знаю корневую причину.

11 лайков

Есть какие-то новости по этому вопросу?

3 лайка

Привет, @blake — хотел бы также вернуться к этому вопросу. Если это уже было исправлено в другом месте и это можно применить к чату, это было бы отлично.

У нас в сообществе многие пользователи делятся видео, и когда превью отсутствуют, многие считают, что функция видео не работает, поскольку на всех других платформах (SMS, Slack, Discord и т. д.) при публикации видео всегда отображается превью.

Любая помощь будет очень ценной.

3 лайка

Давайте проверим, сработает ли это

4 лайка

:partying_face: Выглядите очень, очень хорошо!

4 лайка

Огромное спасибо, @blake. Очень ценим. Обязательно проверим.

3 лайка