v1.3.0
Changelog
TL;DR:
- we stream data in block( contains many write requests in one block )
- Now users watching the stream will be delayed with the actual stream
- Much smoother and less lagging for both streamer and viewer
Technical note
In the previous version, any single change on the streamer's terminal is sent to the viewer. There are some problems with this approach:
- Many changes are very small ( I.e: newline ) => inefficient use of request
- In a short period of time we have many changes => too many requests
With this version, we send messages by block. Each block is all messages generated in a period. This block is also being gzipped before being sent. This way we have some advantages: - fewer requests since we send a block of data every x (3) seconds.
- By gzipped we reduced the message's size by around 7 folds. also, gzip is very fast so it's not a problem.
But this prevents users from watching the stream in super near real-time.
But I think 3 seconds lag is fine, it's how youtube and twitch works anw.
2f4c2bf client now read from blcok of data and schedule message according to offset
794dddb fix bug timing in message offset time
8dfa944 home page auto refresh every 15 seconds
b03f53d increase streampreview load time
38477bb smaller chat text on mobile
e780eb5 terminal are now exchanging block of message