Real-Time Group Walls

I remember the real-time wall on the LuaLearners website was absolutely fantastic. You could see posts being posted so you weren’t ninja’d, not have to refresh the page every second (pages take longer to load than to click – at least with my connection), and conversations would be easier to carry out.

plz plz plz

So basically turning them into a chatroom?

Support

But I also want to see that feature they discussed about having your own “forums” on the site for your specific game/ group. I cannot tell you how AMAZING it’d be; I would be using it all day.

[quote] Support

But I also want to see that feature they discussed about having your own “forums” on the site for your specific game/ group. I cannot tell you how AMAZING it’d be; I would be using it all day. [/quote]Yespls

Forums for the groups would be glorious. Could actually sort out the bug reports from general discussions.

The wall on the LuaLearners website was sometimes very slow. It was lagging sometimes. And turning super clans their group walls into chat rooms is a bad idea in my opinion :confused:

[quote] Support

But I also want to see that feature they discussed about having your own “forums” on the site for your specific game/ group. I cannot tell you how AMAZING it’d be; I would be using it all day. [/quote]

I was working on a system/site like that, group owners could create their forum for their group and make it only visible for certain ranks. But then I thought “pft who would use this”. And then I banished it.

It’d be nice if group walls consisted of chatrooms! Multiple channels that can be controlled via rank.

I would love to see the ‘Wall’ by updated asap using AJAX for example.

I’m not sure how LL did it, or even if they did it the best way. I’m also not a web developer, but shouldn’t it be as easy as:
client:

lastUpdate = 0

OnChatted(msg)
	sendChatToServer(msg)
end

while wait(1) do
	local messages = requestUpdate(lastUpdate, pageNum)
	if messages then
		lastUpdate = tick()
		updateWall(messages)
	end
end

Server:

local lastUpdate = tick()
local chats = {}

server.OnNewChat(msg)
	table.insert(chats, msg, 1)
	chats[1].timestamp = tick()
end

server.requestedUpdate(lastClientUpdate, pageNum)
	local reportedMessages = {}
	for i=1,#chats do
		if chats[i].timestamp > lastClientUpdate then
			table.insert(reportedMessages, chats[i], 1)
		else
			break
		end
	end
end

Basically, only send the client new messages – don’t see how for the client that’s going to get laggy.

I feel like it would be as inconsistent as Chat and Parties

I’m not sure how LL did it, or even if they did it the best way. I’m also not a web developer, but shouldn’t it be as easy as:
client:

-snip-

Basically, only send the client new messages – don’t see how for the client that’s going to get laggy.[/quote]

Well it’s the way you make it and organize your MySQL/Postgres database. You should limit queries as much as possible in chats and always use the limit in my opinion. SELECT msg, sender, id FROM chat LIMIT 0,10 for example and not SELECT * FROM chat.
I’ve neither an idea how LL made it, but I know it was slow sometimes.

In PHP/Javascript/Python you will not be able to use tables (it are arrays) for the chat. You use too much Lua xD

And speed also depends on server RAM, disk IO.

This would be EPIC if done right on RBXDev forums. It would be super cool to see an animation on the forum page to show us when a post had been made, like a flash or something, or a green ring that animates into the new post notification.

On the topic of ‘new posts’, the forum forgets when I’ve seen posts, and it gets rather annoying because I end up finding threads I’ve never seen before marked as read.