Frontend(-GNOME): ChatViewSyncManager's internals refactored into a state-machine
Frontend: /rejoin didn't work with ChatViewSyncManager due calling Sync while already synced
Frontend: moved private methods into worker dispatch context as they won't be reused
Frontend: fixed leaking ChatViewSyncManager.Chats
Frontend: catch all exceptions in thread pool workers to prevent AppDomain shutdowns
Frontend: avoid logic in State ctors
Frontend: make ChatViewSyncManager.SetState() internal

(Not called from outside.)
Frontend: stop using Activator.CreateInstance()

This could have blown up at runtime, as it was reflectionish.
Frontend: coding standards fixes
Frontend: updated copyright info
Frontend: fixed logger calls
Frontend: fixed SyncInfo.SyncRoot being never initialized
Frontend: removed unreachable code from State.ctor()