Yet another web chat I have created with meteor

Hey, check out what I’ve created with meteor: www.heahy.com - web chat (yeah another one), but it has 4chan like reply system, easy sharing of media and you can even record video with you webcam.

I had initial version quite a while ago (~meteor 1.10) then had a pause and later came back and finished it. Let me know what you think :slight_smile:

2 Likes

I haven’t clicked on the link, but I am interested in your product.

Is this project Open Source?
It’s not clear what it does - You might need to add some kind of intro, so that new visitors (like me) can understand what they are looking at

It’s not open source right now.It’s just an online chat platform. Here is the thread with some explanation on how reply system works: https://www.heahy.com/channel/homepage/thread/3900adb9e441a09abc757461
Basically you can create channels, threads and in threads have text based chat or share various media. I guess closest thing to it would be Discord.

Hi,

Is there any specific package used for chatting or you are doing using pub/sub normally?

I was using Rocket chat streaming for implementing chatting in our App but the platform lags sometimes. Not happy as per performance is concerned.

Also, doesn’t find any way to use socket io along with Meteor Framework.

Just normal pus/sub, no need for package for something that’s so easy. I set indexes for collections, use redis-oplog and had done some light profiling to eliminate performance bottlenecks on rendering and back-end.
Fun fact - the application was feeling really slow and besides a few other smaller things I found biggest one was Font Awesome 5. I used it with this dom tracking which felt really weird for me at a time. In general it seemed so complicated for something so simple - icons, but I got it working and forgot about it. After finally checking performance I found that it’s really slowing down rendering (we talking seconds here), so I just removed it completely and simply pasted boostrap-icons svgs into html and application started flying. That also had another benefit of cutting down on bundle size because even though I imported only icons I needed it still added more that a fair share for such a simple need.

1 Like

Regarding sockets.io, there are couple PRs I am tracking for better websockets performace:
https://github.com/meteor/meteor/pull/10118 and https://github.com/meteor/meteor/pull/10120

ClusterWS seems like a risky library when reading comments, but could be worth a try if we get modular DDP stream server. Maybe then it would be also possible to use sockets.io too if someone implements it. I don’t think it would be much faster than current solution though.

1 Like

Can you share any code reference too for setting the redis oplog & how its different from normal behaviour.

Also what does light profiling exactly meant?

I did not do anything special for redis-oplog, just quick setup as written in their github repo.
Light profiling is simply quickly checking in browser devtools performance tab and in kadira profiler if there aren’t any glaring issues there, but not diving deep into it. Hopefully some time in the future I will setup load tests and check everything much deeper.