[PAID] Discourse Chat Bug Fixes + Enhancements

I’m looking for some help with 4 issues on Discourse Chat. If you think you can help with any of these please get in touch:

1. Bug: Text Can’t be Selected in Chat Composer on iOS

In the chat composer window, if you type in a message and select text it will highlight a word but then not allow you to adjust your selection by moving the dots on either end of the word.

2. Bug: Video Thumbnails Do Not Appear in Chat on iOS

On iOS when MP4s or other video files are uploaded no thumbnail appears.

3. Feature: Read Only Chat Channels

On channel settings, create a new setting to mark a channel as “Read Only”. Once set, only Staff can post to the channel.

If possible, it would be good to restrict posting but still allow anyone in the channel to reply to the post in a thread.

4. Feature: Turn off Emails when @all is used on Chat

When @all is used we want to prevent an email from being sent out but we’d like for push notifications to continue functioning as they do.


Budget for these in $ USD is negotiable.

5 Likes

Sending a PM :+1:

7 Likes

I will work on this in the next weeks, we have similar issue in topics too.

9 Likes

That’s great news and thank you so much. We’ve heard about this bug from a few of our users and it would be wonderful to have it fixed for all discourse users.

2 Likes

@joffreyjaffeux this looks like a bug in Safari browser to me?

When opened in Firefox or Chrome, with the exact same video attachment, the video tag renders correctly with “a preview”, would you concur? (in quotes as I don’t believe it relies upon Discourse app thumbnail processing).

That suggests there isn’t anything we can do app side?

@blake knows much more than me on this

1 Like

Is the approach discussed here an option?
https://forums.developer.apple.com/forums/thread/129377

you can see this in action on this page if you load it on your iphone in safari:

I note the issue only occurs in chat which uses the <video html tag prior to watching.

On Posts, in which the preview is rendered correctly on Safari, Discourse appears to employ a <div class"video-placeholder-container" … and a “faked” video poster placeholder before you click at which point it switches to the <video version.

Perhaps there was a reason for that …

… yes there was:

So justified for a different reason? Two birds with one stone?

If there’s appetite, happy to PR a version of the Post approach?

2 Likes

As a bit of background we never implemented video placeholders for chat, it just relies on HTML5 video tag features to make it work. We implemented our own placeholder logic originally for topic/posts because videos were auto “downloading” data on every single topic load even if they weren’t being played chewing up cdn costs on popular sites.

I don’t think we need to re-implement the same placeholder logic we have for topics in chat just yet, but there still may be some ios/safari tweaks we will need to make in order for things to work on iOS. I thought just having the preload="metadata" attribute would do the trick, but looks like that is already present.

<video class="chat-video-upload" preload="metadata" height="150" controls="">
        <source src="https://actual-url.MOV">
      </video>
5 Likes

That will be fixed by this commit:

Note there’s a chance I have to revert this and find a different solution, but at least I know the root cause now.

10 Likes