* cabana: refactor message id from QString to struct
* fix tabbar
* fix findsimilarbits
* optimize hash function
* cleanup sorting
* use in updateLastMsgsTo
* support live streaming
* update live stream's time
* cleanup stream classes
* disable video control in live streaming mode
* emit streamStarted() in LiveStream::streamThread
* disable some features in live streaming mode
* refactor charts to support live streaming mode
* disable dynamic mode checkbox in live streaming mode
* updateDispalyRange
* thread safe events
* TODO: add support for ZMQ
* atomic time stamp
* only keep settings.cached_segment_limit*60 seconds data in liveStream
* make charts work better in live mode
* cleanup ChartView
* fix toolbar
* cleanup
cleanup
* disable openpilotPrefix and useOpenGL on macos
* add comment
* exit gracefully
* support ZMQ
* use ::operator new/delete
* cleanup streams
* cleanup
* align stream buffers
* check looping back
* check if series is empty
* cleanup
* add TODO: write stream to log file to replay it
* upper_bound
* remove class member event_range
* change default settings value
* cleanup updateDisplayrange
* fix merge error